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

Realise patch via smart pointers. More...

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

Public Member Functions

 __init__ (self, patch, float_type="double")
 includes Includes to be added to the generated file.
 
 get_stack_container (self)
 
 construct_output (self, output)
 
 get_header_file_include (self)
 This is the include statement for the data container.
 
- Public Member Functions inherited from peano4.datamodel.PatchToDoubleArray.PatchToDoubleArray
 __str__ (self)
 

Additional Inherited Members

- Data Fields inherited from peano4.datamodel.PatchToDoubleArray.PatchToDoubleArray
 data
 
 merge_method_definition
 
 send_condition
 
 receive_and_merge_condition
 
 load_store_compute_flag
 
 includes
 
 float_type
 
- Protected Member Functions inherited from peano4.datamodel.PatchToDoubleArray.PatchToDoubleArray
 _get_dictionary_for_output (self)
 

Detailed Description

Realise patch via smart pointers.

Converter which maps the patch 1:1 onto a double array administered through a smart pointer. This is an alternative to the patch realisation on the call stack, which can become really costly and lead to call stack overflows.

Even though the name of the class does not highlight this, we use smart pointers here, i.e. we do not only store data on the heap. This means

Definition at line 11 of file PatchToDoubleArrayOnHeap.py.

Constructor & Destructor Documentation

◆ __init__()

peano4.datamodel.PatchToDoubleArrayOnHeap.PatchToDoubleArrayOnHeap.__init__ ( self,
patch,
float_type = "double" )

includes Includes to be added to the generated file.

This is something totally different than get_header_file_include(). You will need to set something here if your send/receive conditions, e.g., call other stuff.

Reimplemented from peano4.datamodel.PatchToDoubleArray.PatchToDoubleArray.

Definition at line 27 of file PatchToDoubleArrayOnHeap.py.

References peano4.datamodel.PatchToDoubleArrayOnHeap.PatchToDoubleArrayOnHeap.__init__().

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

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

Member Function Documentation

◆ construct_output()

peano4.datamodel.PatchToDoubleArrayOnHeap.PatchToDoubleArrayOnHeap.construct_output ( self,
output )

Reimplemented from peano4.datamodel.PatchToDoubleArray.PatchToDoubleArray.

Definition at line 38 of file PatchToDoubleArrayOnHeap.py.

References peano4.datamodel.PatchToDoubleArray.PatchToDoubleArray._get_dictionary_for_output(), tarch::la::DynamicMatrix.data(), tarch::la::Matrix< Rows, Cols, Scalar >.data(), tarch::la::Vector< TwoTimesD, int >.data(), tarch::la::Vector< TwoPowerD, int >.data(), tarch::la::Vector< Dimensions, int >.data(), tarch::la::Vector< Dimensions, double >.data(), tarch::la::Vector< DimensionsTimesTwo, int >.data(), tarch::la::Vector< Size, Scalar >.data(), Vec< ITEM, ALLOCATOR >.data(), peano4.datamodel.DaStGen2.DaStGen2.data, peano4.datamodel.DaStGenToLegacyTool.DaStGenToLegacyTool.data, peano4.datamodel.DynamicArrayOverPrimitivesToStdVector.DynamicArrayOverPrimitivesToStdVector.data, peano4.datamodel.PatchToDoubleArray.PatchToDoubleArray.data, convert::data::DataSet.data, convert::data::PatchData.data, exahype2::EnclaveBookkeeping::Entry.data, tarch::la::DynamicMatrix.data(), tarch::la::Matrix< Rows, Cols, Scalar >.data(), tarch::la::Vector< TwoPowerD, int >.data(), tarch::la::Vector< DimensionsTimesTwo, int >.data(), tarch::la::Vector< TwoTimesD, int >.data(), tarch::la::Vector< Dimensions, double >.data(), tarch::la::Vector< Dimensions, int >.data(), tarch::la::Vector< Size, Scalar >.data(), toolbox::blockstructured::GlobalDatabase::Entry.data, toolbox::particles::memorypool::GlobalContinuousMemoryPool< T >::GlobalMemory.data, and toolbox::particles::TrajectoryDatabase::Entry.data.

Here is the call graph for this function:

◆ get_header_file_include()

peano4.datamodel.PatchToDoubleArrayOnHeap.PatchToDoubleArrayOnHeap.get_header_file_include ( self)

This is the include statement for the data container.

It is not something directly generated but how to use the generated code.

Reimplemented from peano4.datamodel.PatchToDoubleArray.PatchToDoubleArray.

Definition at line 60 of file PatchToDoubleArrayOnHeap.py.

References peano4.datamodel.DaStGen2.DaStGen2.data, peano4.datamodel.DaStGenToLegacyTool.DaStGenToLegacyTool.data, peano4.datamodel.DynamicArrayOverPrimitivesToStdVector.DynamicArrayOverPrimitivesToStdVector.data, peano4.datamodel.PatchToDoubleArray.PatchToDoubleArray.data, convert::data::DataSet.data, convert::data::PatchData.data, exahype2::EnclaveBookkeeping::Entry.data, tarch::la::DynamicMatrix.data(), tarch::la::Matrix< Rows, Cols, Scalar >.data(), tarch::la::Vector< DimensionsTimesTwo, int >.data(), tarch::la::Vector< Dimensions, double >.data(), tarch::la::Vector< Size, Scalar >.data(), tarch::la::Vector< Dimensions, int >.data(), tarch::la::Vector< TwoPowerD, int >.data(), tarch::la::Vector< TwoTimesD, int >.data(), Vec< ITEM, ALLOCATOR >.data(), tarch::la::DynamicMatrix.data(), tarch::la::Matrix< Rows, Cols, Scalar >.data(), tarch::la::Vector< Size, Scalar >.data(), tarch::la::Vector< Dimensions, int >.data(), tarch::la::Vector< Dimensions, double >.data(), tarch::la::Vector< TwoPowerD, int >.data(), tarch::la::Vector< DimensionsTimesTwo, int >.data(), tarch::la::Vector< TwoTimesD, int >.data(), toolbox::blockstructured::GlobalDatabase::Entry.data, toolbox::particles::memorypool::GlobalContinuousMemoryPool< T >::GlobalMemory.data, and toolbox::particles::TrajectoryDatabase::Entry.data.

Here is the call graph for this function:

◆ get_stack_container()

peano4.datamodel.PatchToDoubleArrayOnHeap.PatchToDoubleArrayOnHeap.get_stack_container ( self)

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