Peano
Loading...
Searching...
No Matches
peano4.datamodel.DaStGen2.DaStGen2 Class Reference

Default superclass for any data model in Peano which is stored within the grid. More...

Inheritance diagram for peano4.datamodel.DaStGen2.DaStGen2:
Collaboration diagram for peano4.datamodel.DaStGen2.DaStGen2:

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="")
 I always need the MPI aspect, but I can't add the right one before I don't know whether this DaStGen model is used for vertices, faces or cells.
 
 additional_load_and_store_arguments (self)
 
 additional_load_and_store_arguments (self, new_arguments)
 
- Public Member Functions inherited from peano4.datamodel.DoF.DoF
 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_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

 generator
 
 data
 
 peano4_mpi_and_storage_aspect
 
- Data Fields inherited from peano4.datamodel.DoF.DoF
 association
 
 name
 
 namespace
 
 subdirectory
 

Static Public Attributes

str readme_descriptor
 
str readme_package_descriptor
 

Protected Attributes

 _additional_load_and_store_arguments
 
- Protected Attributes inherited from peano4.datamodel.DoF.DoF
 _additional_load_and_store_arguments
 

Detailed Description

Default superclass for any data model in Peano which is stored within the grid.

A DaStGen2 data type generator. To add fields to this object, just use the DaStGen2 instance data of this field, i.e. data.add_attribute().

Attributes

data: dastgen2.DataModel Add elements to this guy to enrich your data model.

peano4_mpi_and_storage_aspect: peano4.dastgen2.MPIAndStorageAspect This aspect adds the Peano-specific MPI routines to the data type, i.e. routines used for boundary and re-balancing exchange. Modify this one if you want to control certain data exchange or merge patterns.

Data storage

I can control when to store data through the peano4_mpi_and_storage_aspect.

MPI

If you want to add your own MPI merge implementation, you have to alter the attribute peano4_mpi_and_storage_aspect.

Arguments

name: String Name (unqualified)

Definition at line 47 of file DaStGen2.py.

Constructor & Destructor Documentation

◆ __init__()

peano4.datamodel.DaStGen2.DaStGen2.__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 from peano4.datamodel.DoF.DoF.

Reimplemented in 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, and swift2.particle.tests.DastgenTestDummyParticle.DastgenTestDummyParticle.

Definition at line 132 of file DaStGen2.py.

References peano4.datamodel.DaStGen2.DaStGen2.__init__().

Referenced by peano4.datamodel.DaStGen2.DaStGen2.__init__().

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

Member Function Documentation

◆ additional_load_and_store_arguments() [1/2]

◆ additional_load_and_store_arguments() [2/2]

peano4.datamodel.DaStGen2.DaStGen2.additional_load_and_store_arguments ( self,
new_arguments )

◆ configure()

peano4.datamodel.DaStGen2.DaStGen2.configure ( self,
namespace,
association,
subdirectory = "" )

I always need the MPI aspect, but I can't add the right one before I don't know whether this DaStGen model is used for vertices, faces or cells.

To I hook into this routine. In theory, I could add the DaStGen2 MPI aspect straightaway (in the constructor), but I decided to do so in one place.

Implementation detail

It is important that we add the aspect once when we initialise the code and then reconfigure it. I had the commented out version before, but that one adds an aspect everytime configure() is called and thus causes issues as aspects might be added multiple times.

Reimplemented from peano4.datamodel.DoF.DoF.

Definition at line 146 of file DaStGen2.py.

References peano4.datamodel.DaStGen2.DaStGen2.configure(), and peano4.datamodel.DaStGen2.DaStGen2.peano4_mpi_and_storage_aspect.

Referenced by peano4.datamodel.DaStGen2.DaStGen2.configure().

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

Field Documentation

◆ _additional_load_and_store_arguments

◆ data

peano4.datamodel.DaStGen2.DaStGen2.data

Definition at line 136 of file DaStGen2.py.

Referenced by peano4.datamodel.DaStGenToLegacyTool.DaStGenToLegacyTool.__generate_dastgen_input_file(), peano4.datamodel.DaStGenToLegacyTool.DaStGenToLegacyTool.__get_file_name(), peano4.datamodel.DaStGenToLegacyTool.DaStGenToLegacyTool.__get_full_qualified_file_name(), swift2.particle.Particle.Particle.__init__(), swift2.particle.Particle.Particle._add_dependency_checks(), swift2.particle.Particle.Particle._dependency_checks_modify_steps(), swift2.particle.tests.DastgenTestDummyParticle.DastgenTestDummyParticle._generate_boolean_array_attributes(), swift2.particle.tests.DastgenTestDummyParticle.DastgenTestDummyParticle._generate_boolean_attributes(), swift2.particle.tests.DastgenTestDummyParticle.DastgenTestDummyParticle._generate_double_array_attributes(), swift2.particle.tests.DastgenTestDummyParticle.DastgenTestDummyParticle._generate_double_attributes(), swift2.particle.tests.DastgenTestDummyParticle.DastgenTestDummyParticle._generate_enum_attributes(), swift2.particle.tests.DastgenTestDummyParticle.DastgenTestDummyParticle._generate_integer_array_attributes(), swift2.particle.tests.DastgenTestDummyParticle.DastgenTestDummyParticle._generate_integer_attributes(), swift2.particle.tests.DastgenTestDummyParticle.DastgenTestDummyParticle._generate_peano_double_array_attributes(), swift2.particle.tests.DastgenTestDummyParticle.DastgenTestDummyParticle._generate_peano_integer_array_attributes(), swift2.particle.tests.DastgenTestDummyParticle.DastgenTestDummyParticle._generate_string_attributes(), swift2.particle.tests.DastgenTestDummyParticle.DastgenTestDummyParticle._generate_user_defined_attributes(), peano4.datamodel.PatchToDoubleArray.PatchToDoubleArray._get_dictionary_for_output(), peano4.datamodel.DaStGenToLegacyTool.DaStGenToLegacyTool.construct_output(), peano4.datamodel.DynamicArrayOverPrimitivesToStdVector.DynamicArrayOverPrimitivesToStdVector.construct_output(), peano4.datamodel.PatchToDoubleArray.PatchToDoubleArray.construct_output(), peano4.datamodel.PatchToDoubleArrayOnHeap.PatchToDoubleArrayOnHeap.construct_output(), peano4.datamodel.PatchToDoubleArrayWithSmartPointer.PatchToDoubleArrayWithSmartPointer.construct_output(), peano4.datamodel.DaStGenToLegacyTool.DaStGenToLegacyTool.get_header_file_include(), peano4.datamodel.DynamicArrayOverPrimitivesToStdVector.DynamicArrayOverPrimitivesToStdVector.get_header_file_include(), peano4.datamodel.PatchToDoubleArray.PatchToDoubleArray.get_header_file_include(), peano4.datamodel.PatchToDoubleArrayOnHeap.PatchToDoubleArrayOnHeap.get_header_file_include(), peano4.datamodel.PatchToDoubleArrayWithSmartPointer.PatchToDoubleArrayWithSmartPointer.get_header_file_include(), peano4.datamodel.DaStGenToLegacyTool.DaStGenToLegacyTool.get_stack_container(), peano4.datamodel.PatchToDoubleArray.PatchToDoubleArray.get_stack_container(), peano4.datamodel.PatchToDoubleArrayOnHeap.PatchToDoubleArrayOnHeap.get_stack_container(), peano4.datamodel.PatchToDoubleArrayWithSmartPointer.PatchToDoubleArrayWithSmartPointer.get_stack_container(), swift2.particle.Particle.Particle.readme_descriptor(), swift2.particle.SPHLeapfrogFixedSearchRadius.SPHLeapfrogFixedSearchRadius.set_parameters(), swift2.particle.SPHParticle.SPHParticle.set_parameters(), and swift2.particle.tests.testLeapfrogFixedTimeStepSize.testLeapfrogFixedTimeStepSize.set_parameters().

◆ generator

◆ peano4_mpi_and_storage_aspect

peano4.datamodel.DaStGen2.DaStGen2.peano4_mpi_and_storage_aspect

◆ readme_descriptor

◆ readme_package_descriptor

str peano4.datamodel.DaStGen2.DaStGen2.readme_package_descriptor
static

Definition at line 92 of file DaStGen2.py.


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