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


Public Member Functions | |
| __init__ (self, name) | |
| Construct a DaStGen2 object. | |
| configure (self, namespace, association, subdirectory="") | |
| Configure output. | |
| additional_load_and_store_arguments (self) | |
| additional_load_and_store_arguments (self, new_arguments) | |
| hosts_smart_pointer_attribute (self) | |
| Does class host a smart pointer attribute. | |
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 | |
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().
By default, we add x and h to the attributes. The DataModel object also can host aspects, i.e. classes which inject technical code snippets into each and every instance. By default, we add peano4.dastgen2.MPIAndStorageAspect and dastgen2.aspect.MPI, but yuo might want to add further ones.
The actual dump into a C++ file is not done by the DaStGen2 object. Instead, we hold a generator object which does this translation. In that sense, the DaStGen2 object is almost an empty wrapper which tailors the underlying data model, but adds no further specific behaviour.
There are two code generations: The default one, and then one that we have to employ if the underlying data object hosts a smart pointer.
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.
I can control when to store data through the peano4_mpi_and_storage_aspect.
If you want to add your own MPI merge implementation, you have to alter the attribute peano4_mpi_and_storage_aspect.
name: String Name (unqualified)
Definition at line 157 of file DaStGen2.py.
| peano4.datamodel.DaStGen2.DaStGen2.__init__ | ( | self, | |
| name ) |
Construct a DaStGen2 object.
We hold the data model and a dedicated data generator. By default, the data model is augmented with geometric debug information. Every Peano data object has an MPI aspect, i.e. can, in principle, be sent and received through MPI.
By default, each Peano dat model also realises the MPIAndStorageAspect which requires special treatment:
Normally, we just hold all the aspects in a long list and generate them one by one. The MPI and storage aspect is a little bit different: If we add the Peano-specific one, we still want later to modify parts of it. That is, we would have to run through all the aspects one by one, pick out the MPI and storage one, and then alter this one. So what we do instead is that we hold it as a dedicated attribute and also add it to the list.
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 257 of file DaStGen2.py.
References peano4.datamodel.DaStGen2.DaStGen2.__init__().
Referenced by peano4.datamodel.DaStGen2.DaStGen2.__init__().


| peano4.datamodel.DaStGen2.DaStGen2.additional_load_and_store_arguments | ( | self | ) |
Reimplemented from peano4.datamodel.DoF.DoF.
Definition at line 322 of file DaStGen2.py.
References peano4.datamodel.DaStGen2.DaStGen2._additional_load_and_store_arguments, peano4.datamodel.DoF.DoF._additional_load_and_store_arguments, and peano4.datamodel.Patch.Patch._additional_load_and_store_arguments.
| peano4.datamodel.DaStGen2.DaStGen2.additional_load_and_store_arguments | ( | self, | |
| new_arguments ) |
Reimplemented from peano4.datamodel.DoF.DoF.
Definition at line 327 of file DaStGen2.py.
References peano4.datamodel.DaStGen2.DaStGen2.peano4_mpi_and_storage_aspect.
| peano4.datamodel.DaStGen2.DaStGen2.configure | ( | self, | |
| namespace, | |||
| association, | |||
| subdirectory = "" ) |
Configure output.
Configuring an output means setting the right output directory and taking into account whether we are associated to a vertex, face or cell.
I always need the MPI aspect, but I can't add the right one in the constructor, as I don't know whether this DaStGen model is used for vertices, faces or cells. Such context however is important to generate the correct merge routines with the correct signature. Therefore, I hook into this routine.
Reimplemented from peano4.datamodel.DoF.DoF.
Definition at line 296 of file DaStGen2.py.
References peano4.datamodel.DaStGen2.DaStGen2.configure(), peano4.datamodel.DaStGen.DaStGen.generator, peano4.datamodel.DaStGen2.DaStGen2.generator, peano4.datamodel.DynamicArrayOverPrimitives.DynamicArrayOverPrimitives.generator, peano4.datamodel.Model.Model.generator, peano4.datamodel.Patch.Patch.generator, peano4.solversteps.Steps.Steps.generator, peano4.toolbox.particles.ParticleSet.ParticleSet.generator, peano4.datamodel.DaStGen2.DaStGen2.hosts_smart_pointer_attribute(), and peano4.datamodel.DaStGen2.DaStGen2.peano4_mpi_and_storage_aspect.
Referenced by peano4.datamodel.DaStGen2.DaStGen2.configure().


| peano4.datamodel.DaStGen2.DaStGen2.hosts_smart_pointer_attribute | ( | self | ) |
Does class host a smart pointer attribute.
The context is important when we pick the data generator, as objects with a smart poiner have to be handled differently compared to plain objects.
Definition at line 336 of file DaStGen2.py.
References peano4.datamodel.DaStGen2.DaStGen2.data, peano4.datamodel.DaStGenToLegacyTool.DaStGenToLegacyTool.data, peano4.datamodel.DynamicArrayOverPrimitivesToStdVector.DynamicArrayOverPrimitivesToStdVector.data, peano4.datamodel.PatchToDoubleArray.PatchToDoubleArray.data, convert::data::PatchData.data, exahype2::EnclaveBookkeeping::Entry.data, tarch::la::DynamicMatrix.data(), tarch::la::Matrix< Rows, Cols, Scalar >.data(), tarch::la::ShallowMatrix< Rows, Cols, Scalar >.data(), tarch::la::SmartPointerVector< 256, double >.data(), tarch::la::SmartPointerVector< Size, Scalar >.data(), tarch::la::Vector< 256, double >.data(), tarch::la::Vector< DimensionsTimesTwo, int >.data(), tarch::la::Vector< Dimensions, int >.data(), tarch::la::Vector< TwoPowerD, int >.data(), tarch::la::Vector< Size, Scalar >.data(), tarch::la::Vector< Dimensions, double >.data(), tarch::la::Vector< TwoTimesD, int >.data(), tarch::la::Vector< Dimensions, long long >.data(), tarch::la::DynamicMatrix.data(), tarch::la::Matrix< Rows, Cols, Scalar >.data(), tarch::la::ShallowMatrix< Rows, Cols, Scalar >.data(), tarch::la::SmartPointerVector< Size, Scalar >.data(), tarch::la::SmartPointerVector< 256, double >.data(), tarch::la::Vector< Size, Scalar >.data(), tarch::la::Vector< 256, double >.data(), tarch::la::Vector< TwoPowerD, int >.data(), tarch::la::Vector< DimensionsTimesTwo, int >.data(), tarch::la::Vector< Dimensions, double >.data(), tarch::la::Vector< Dimensions, int >.data(), tarch::la::Vector< Dimensions, long long >.data(), tarch::la::Vector< TwoTimesD, int >.data(), toolbox::blockstructured::GlobalDatabase::Entry.data, toolbox::curvi::Edge.data, toolbox::particles::memorypool::GlobalContinuousMemoryPool< T >::GlobalMemory.data, and toolbox::particles::TrajectoryDatabase::Entry.data.
Referenced by peano4.datamodel.DaStGen2.DaStGen2.configure().


|
protected |
| peano4.datamodel.DaStGen2.DaStGen2.data |
Definition at line 285 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(), peano4.datamodel.DaStGen2.DaStGen2.hosts_smart_pointer_attribute(), 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().
| peano4.datamodel.DaStGen2.DaStGen2.generator |
Definition at line 283 of file DaStGen2.py.
Referenced by peano4.datamodel.Patch.Patch.__str__(), peano4.toolbox.particles.ParticleSet.ParticleSet.__str__(), peano4.datamodel.Patch.Patch.additional_load_and_store_arguments(), peano4.solversteps.Steps.Steps.clear(), peano4.datamodel.DaStGen2.DaStGen2.configure(), peano4.datamodel.Model.Model.construct_output(), peano4.solversteps.Steps.Steps.construct_output(), and peano4.toolbox.particles.ParticleSet.ParticleSet.readme_descriptor().
| peano4.datamodel.DaStGen2.DaStGen2.peano4_mpi_and_storage_aspect |
Definition at line 290 of file DaStGen2.py.
Referenced by peano4.datamodel.DaStGen2.DaStGen2.additional_load_and_store_arguments(), and peano4.datamodel.DaStGen2.DaStGen2.configure().
|
static |
Reimplemented in swift2.particle.ExplicitEulerFixedSearchRadius.ExplicitEulerFixedSearchRadius, swift2.particle.LeapfrogFixedSearchRadius.LeapfrogFixedSearchRadius, swift2.particle.Particle.Particle, swift2.particle.SPHLeapfrogFixedSearchRadius.SPHLeapfrogFixedSearchRadius, swift2.particle.SPHParticle.SPHParticle, and swift2.particle.tests.DastgenTestDummyParticle.DastgenTestDummyParticle.
Definition at line 213 of file DaStGen2.py.
|
static |
Definition at line 217 of file DaStGen2.py.