Peano
Loading...
Searching...
No Matches
peano4.datamodel.DoF.DoF Class Reference
Inheritance diagram for peano4.datamodel.DoF.DoF:
Collaboration diagram for peano4.datamodel.DoF.DoF:

Public Member Functions

 __init__ (self, name)
 Both the association and the namespace are not to be set directly, but through the operation configure().
 
 configure (self, namespace, association, subdirectory="")
 Typically called by model as soon as you add an object to it.
 
 get_full_qualified_type (self)
 
 get_logical_type_name (self)
 What should the data type be called within the data repository, or within action sets.
 
 get_enumeration_type (self)
 What should the data type be called within the data repository.
 
 additional_load_and_store_arguments (self)
 
 additional_load_and_store_arguments_for_other_dof (self, argument_name, use_dof_association=None)
 You can make Peano's store and load arguments of any DoF depend on other DoFs that you have loaded before.
 
 subnamespace (self)
 

Data Fields

 association
 
 name
 
 namespace
 
 subdirectory
 

Protected Attributes

 _additional_load_and_store_arguments
 

Detailed Description

Definition at line 56 of file DoF.py.

Constructor & Destructor Documentation

◆ __init__()

peano4.datamodel.DoF.DoF.__init__ ( self,
name )

Both the association and the namespace are not to be set directly, but through the operation configure().

Additional store/load/send/receive arguments

  • The first entry of this triple is the expression that you want the observer to pass in.
  • The second one is the C++ type of this expression.
  • The third one is the name that you wanna use in the dof signatures for this argument.

    It is the responsibility of the DoF subclass to ensure that the second entry is properly used to initialise the store and load routines. Most define an additional setter for property.

Attributes

association: DoFAssociation

name: String Has to be a fit to the C++ naming conventions

namespace: [String] Sequence of namespaces.

additional_load_and_store_arguments: [(String,String,String)] This flag is, by default, an empty list. If you add an entry to this list, each store and load routine will get an additional parameter. Consult documentation above for the semantics of the list entries.

Reimplemented in peano4.datamodel.Patch.Patch, peano4.datamodel.DaStGen.DaStGen, peano4.datamodel.DaStGen2.DaStGen2, peano4.toolbox.particles.Particle.Particle, swift2.particle.tests.testLeapfrogFixedTimeStepSize.testLeapfrogFixedTimeStepSize, swift2.particle.ExplicitEulerFixedSearchRadius.ExplicitEulerFixedSearchRadius, swift2.particle.LeapfrogFixedSearchRadius.LeapfrogFixedSearchRadius, swift2.particle.tests.DisappearingParticleTest.DisappearingParticleTest, swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius, swift2.particle.tests.testDensityCalculation.testDensityCalculation, swift2.particle.SPHLeapfrogFixedSearchRadius.SPHLeapfrogFixedSearchRadius, swift2.particle.SPHParticle.SPHParticle, swift2.particle.Particle.Particle, swift2.particle.tests.DastgenTestDummyParticle.DastgenTestDummyParticle, peano4.datamodel.DynamicArrayOverPrimitives.DynamicArrayOverPrimitives, and peano4.toolbox.particles.ParticleSet.ParticleSet.

Definition at line 57 of file DoF.py.

Member Function Documentation

◆ additional_load_and_store_arguments()

◆ additional_load_and_store_arguments_for_other_dof()

peano4.datamodel.DoF.DoF.additional_load_and_store_arguments_for_other_dof ( self,
argument_name,
use_dof_association = None )

You can make Peano's store and load arguments of any DoF depend on other DoFs that you have loaded before.

So you can load X and then make Y later on depend on the state of X. For this, you have to add a tuple to Y's additional_load_and_store_arguments. It is a very technical tuple. This routine helps you to construct it for X.

use_dof_association: DoFAssociation Set this one to None and the routine will pick up self._association. However, there are cases where we want to construct the string and the association is not yet set properly. In this case, you have to supplement the information manually.

Definition at line 147 of file DoF.py.

References peano4.datamodel.DoF.DoF.association, peano4.datamodel.DoF.get_logical_type_name_for_association(), peano4.datamodel.DoF.get_subnamespace_for_association(), dastgen2.attributes.Attribute.Attribute.name(), exahype2.solvers.aderdg.kernels.Gemms.Gemms.name, exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.name(), exahype2.solvers.fv.FV.FV.name(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.name(), peano4.datamodel.DoF.DoF.name, peano4.solversteps.Step.Step.name, peano4.solversteps.UserActionSet.UserActionSet.name, peano4.toolbox.particles.Particle.Particle.name, swift2.particle.AlgorithmStep.AlgorithmStep.name, swift2.particle.Particle.Particle.name, swift2.particle.tests.DisappearingParticleTest.DisappearingParticleTest.name, swift2.particle.tests.testLeapfrogFixedTimeStepSize.testLeapfrogFixedTimeStepSize.name, convert::data::Variable.name, solvers.api.Solver.Solver.name(), and api.solvers.Solver.Solver.name().

Here is the call graph for this function:

◆ configure()

◆ get_enumeration_type()

peano4.datamodel.DoF.DoF.get_enumeration_type ( self)

What should the data type be called within the data repository.

Definition at line 126 of file DoF.py.

References peano4.datamodel.DoF.DoF.association, and peano4.datamodel.DoF.DoF.get_full_qualified_type().

Here is the call graph for this function:

◆ get_full_qualified_type()

peano4.datamodel.DoF.DoF.get_full_qualified_type ( self)

Definition at line 109 of file DoF.py.

References dastgen2.attributes.Attribute.Attribute.name(), exahype2.solvers.aderdg.kernels.Gemms.Gemms.name, exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.name(), exahype2.solvers.fv.FV.FV.name(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.name(), peano4.datamodel.DoF.DoF.name, peano4.solversteps.Step.Step.name, peano4.solversteps.UserActionSet.UserActionSet.name, peano4.toolbox.particles.Particle.Particle.name, swift2.particle.AlgorithmStep.AlgorithmStep.name, swift2.particle.Particle.Particle.name, swift2.particle.tests.DisappearingParticleTest.DisappearingParticleTest.name, swift2.particle.tests.testLeapfrogFixedTimeStepSize.testLeapfrogFixedTimeStepSize.name, convert::data::Variable.name, solvers.api.Solver.Solver.name(), api.solvers.Solver.Solver.name(), peano4.datamodel.DoF.DoF.namespace, peano4.datamodel.Model.Model.namespace, peano4.output.ActionSet.ActionSet.namespace, peano4.output.Jinja2TemplatedHeaderFile.Jinja2TemplatedHeaderFile.namespace, peano4.output.Jinja2TemplatedHeaderImplementationFilePair.Jinja2TemplatedHeaderImplementationFilePair.namespace, peano4.output.Observer.Observer.namespace, peano4.output.TemplatedHeaderFile.TemplatedHeaderFile.namespace, peano4.output.TemplatedHeaderImplementationFilePair.TemplatedHeaderImplementationFilePair.namespace, peano4.Project.Project.namespace, peano4.solversteps.Step.Step.namespace, and kernel_impl.impl.namespace().

Referenced by peano4.datamodel.DoF.DoF.get_enumeration_type().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_logical_type_name()

◆ subnamespace()

Field Documentation

◆ _additional_load_and_store_arguments

◆ association

◆ name

◆ namespace

◆ subdirectory


The documentation for this class was generated from the following file: