|
Peano
|
Abstract base class for matrix free solvers. More...

Public Member Functions | |
| __init__ (self, name, min_h, max_h) | |
| add_to_Peano4_datamodel (self, datamodel, verbose) | |
| add_use_statements (self, observer) | |
| This routine should still be called even if overwritten in child class. | |
| typename (self) | |
| instance_name (self) | |
| Return the name of the object that will be created for this solver. | |
| create_readme_descriptor (self) | |
| add_to_abstract_solver (self, header, implementation) | |
| add_to_vertex_data (self, name, size) | |
| Add in extra attributes on the fly. | |
| add_to_cell_data (self, name, size) | |
| Add in extra attributes on the fly. | |
| add_to_face_data (self, name, size) | |
| Add in extra attributes on the fly. | |
| name (self) | |
| __str__ (self) | |
Data Fields | |
| min_h = min_h | |
| max_h = max_h | |
Protected Attributes | |
| _name = name | |
| _vertex_data = peano4.datamodel.DaStGen2( name ) | |
| _face_data = peano4.datamodel.DaStGen2( name ) | |
| _cell_data = peano4.datamodel.DaStGen2( name ) | |
| str | _abstract_solver_header_extras = """ """ |
| str | _abstract_solver_implementation_extras = """ """ |
Abstract base class for matrix free solvers.
We always assign data to vertices, cells and faces, even though your particular solver subclass might not require those guys.
| solvers.api.Solver.Solver.__init__ | ( | self, | |
| name, | |||
| min_h, | |||
| max_h ) |
| solvers.api.Solver.Solver.__str__ | ( | self | ) |
Definition at line 101 of file Solver.py.
References _name, solvers.api.CollocatedDLinearDiscretisationWithPointJacobi.CollocatedDLinearDiscretisationWithPointJacobi.max_h, solvers.api.CollocatedMG.CollocatedMG.max_h, solvers.api.ContinuousGalerkinDiscretisationGaussLobattoWithBlockJacobi.ContinuousGalerkinDiscretisationGaussLobattoWithBlockJacobi.max_h, max_h, and min_h.
Referenced by peano4.toolbox.particles.postprocessing.ParticleVTUReader.VTUParticleSet.__repr__().

| solvers.api.Solver.Solver.add_to_abstract_solver | ( | self, | |
| header, | |||
| implementation ) |
Definition at line 75 of file Solver.py.
References _abstract_solver_header_extras, and _abstract_solver_implementation_extras.
| solvers.api.Solver.Solver.add_to_cell_data | ( | self, | |
| name, | |||
| size ) |
| solvers.api.Solver.Solver.add_to_face_data | ( | self, | |
| name, | |||
| size ) |
| solvers.api.Solver.Solver.add_to_Peano4_datamodel | ( | self, | |
| datamodel, | |||
| verbose ) |
Reimplemented in solvers.api.CollocatedDLinearDiscretisationWithPointJacobi.CollocatedDLinearDiscretisationWithPointJacobi, solvers.api.CollocatedMG.CollocatedMG, and solvers.api.DiscontinuousGalerkinDiscretisationPointWiseRiemannSolver_Tasks.DiscontinuousGalerkinDiscretisationPointWiseRiemannSolver_Tasks.
Definition at line 43 of file Solver.py.
References _cell_data, _face_data, and _vertex_data.
| solvers.api.Solver.Solver.add_to_vertex_data | ( | self, | |
| name, | |||
| size ) |
Add in extra attributes on the fly.
Definition at line 79 of file Solver.py.
References _vertex_data.
| solvers.api.Solver.Solver.add_use_statements | ( | self, | |
| observer ) |
This routine should still be called even if overwritten in child class.
Reimplemented in solvers.api.CollocatedDLinearDiscretisationWithPointJacobi.CollocatedDLinearDiscretisationWithPointJacobi, solvers.api.CollocatedMG.CollocatedMG, and solvers.api.DiscontinuousGalerkinDiscretisationPointWiseRiemannSolver_Tasks.DiscontinuousGalerkinDiscretisationPointWiseRiemannSolver_Tasks.
Definition at line 48 of file Solver.py.
References _cell_data, _face_data, and _vertex_data.
| solvers.api.Solver.Solver.instance_name | ( | self | ) |
Return the name of the object that will be created for this solver.
Definition at line 63 of file Solver.py.
References typename().
Referenced by solvers.api.CollocatedMG.CollocatedMG.get_vertex_merge_method().


| solvers.api.Solver.Solver.name | ( | self | ) |
Definition at line 98 of file Solver.py.
References _name.
Referenced by dastgen2.attributes.Enumeration.Enumeration.get_to_string().

| solvers.api.Solver.Solver.typename | ( | self | ) |
Definition at line 60 of file Solver.py.
References _name.
Referenced by solvers.api.CollocatedDLinearDiscretisationWithPointJacobi.CollocatedDLinearDiscretisationWithPointJacobi.add_implementation_files_to_project(), solvers.api.CollocatedMG.CollocatedMG.add_implementation_files_to_project(), solvers.api.ContinuousGalerkinDiscretisationGaussLobattoWithBlockJacobi.ContinuousGalerkinDiscretisationGaussLobattoWithBlockJacobi.add_implementation_files_to_project(), solvers.api.CollocatedDLinearDiscretisationWithPointJacobi.CollocatedDLinearDiscretisationWithPointJacobi.get_vertex_merge_method(), api.solvers.Solver.Solver.instance_name(), and instance_name().

|
protected |
Definition at line 38 of file Solver.py.
Referenced by solvers.api.CollocatedDLinearDiscretisationWithPointJacobi.CollocatedDLinearDiscretisationWithPointJacobi.add_implementation_files_to_project(), solvers.api.ContinuousGalerkinDiscretisationGaussLobattoWithBlockJacobi.ContinuousGalerkinDiscretisationGaussLobattoWithBlockJacobi.add_implementation_files_to_project(), and add_to_abstract_solver().
|
protected |
Definition at line 39 of file Solver.py.
Referenced by solvers.api.CollocatedDLinearDiscretisationWithPointJacobi.CollocatedDLinearDiscretisationWithPointJacobi.add_implementation_files_to_project(), solvers.api.ContinuousGalerkinDiscretisationGaussLobattoWithBlockJacobi.ContinuousGalerkinDiscretisationGaussLobattoWithBlockJacobi.add_implementation_files_to_project(), and add_to_abstract_solver().
|
protected |
|
protected |
Definition at line 30 of file Solver.py.
Referenced by add_to_face_data(), add_to_Peano4_datamodel(), and add_use_statements().
|
protected |
Definition at line 25 of file Solver.py.
Referenced by api.Tree.Tree.__str__(), exahype2.solvers.aderdg.ADERDG.ADERDG.__str__(), exahype2.solvers.elliptic.AMRMarker.AMRMarker.__str__(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.__str__(), exahype2.solvers.fv.FV.FV.__str__(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.__str__(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.__str__(), __str__(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking._enclave_task_name(), exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._enclave_task_name(), dastgen2.attributes.Enumeration.Enumeration._enum_name(), exahype2.solvers.aderdg.ADERDG.ADERDG._generate_kernels(), exahype2.solvers.aderdg.ADERDG.ADERDG._init_dictionary_with_default_parameters(), exahype2.solvers.fv.FV.FV._init_dictionary_with_default_parameters(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._init_dictionary_with_default_parameters(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._init_dictionary_with_default_parameters(), exahype2.solvers.aderdg.ADERDG.ADERDG._interpolate_face_data_default_guard(), exahype2.solvers.aderdg.SingleSweep.SingleSweep._interpolate_face_data_default_guard(), exahype2.solvers.aderdg.ADERDG.ADERDG._load_cell_data_default_guard(), exahype2.solvers.fv.FV.FV._load_cell_data_default_guard(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._load_cell_data_default_guard(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._load_cell_data_default_guard(), SBH.Limiter._load_cell_data_default_guard(), exahype2.solvers.aderdg.ADERDG.ADERDG._load_face_data_default_guard(), exahype2.solvers.fv.FV.FV._load_face_data_default_guard(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._load_face_data_default_guard(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._load_face_data_default_guard(), SBH.Limiter._load_face_data_default_guard(), exahype2.solvers.aderdg.ADERDG.ADERDG._provide_cell_data_to_compute_kernels_default_guard(), exahype2.solvers.fv.FV.FV._provide_cell_data_to_compute_kernels_default_guard(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._provide_cell_data_to_compute_kernels_default_guard(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._provide_cell_data_to_compute_kernels_default_guard(), SBH.Limiter._provide_cell_data_to_compute_kernels_default_guard(), exahype2.solvers.aderdg.ADERDG.ADERDG._provide_face_data_to_compute_kernels_default_guard(), exahype2.solvers.fv.FV.FV._provide_face_data_to_compute_kernels_default_guard(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._provide_face_data_to_compute_kernels_default_guard(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._provide_face_data_to_compute_kernels_default_guard(), exahype2.solvers.aderdg.SingleSweep.SingleSweep._restrict_face_data_default_guard(), exahype2.solvers.aderdg.ADERDG.ADERDG._store_boundary_data_default_guard(), exahype2.solvers.aderdg.ADERDG.ADERDG._store_cell_data_default_guard(), exahype2.solvers.fv.FV.FV._store_cell_data_default_guard(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._store_cell_data_default_guard(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._store_cell_data_default_guard(), SBH.Limiter._store_cell_data_default_guard(), exahype2.solvers.aderdg.ADERDG.ADERDG._store_face_data_default_guard(), exahype2.solvers.fv.FV.FV._store_face_data_default_guard(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._store_face_data_default_guard(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._store_face_data_default_guard(), SBH.Limiter._store_face_data_default_guard(), exahype2.solvers.aderdg.ADERDG.ADERDG._unknown_identifier(), exahype2.solvers.elliptic.AMRMarker.AMRMarker._unknown_identifier(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells._unknown_identifier(), exahype2.solvers.fv.FV.FV._unknown_identifier(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._unknown_identifier(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._unknown_identifier(), exahype2.solvers.fv.FV.FV.add_actions_to_checkpoint_solution(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.add_actions_to_checkpoint_solution(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.add_actions_to_create_grid(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.add_actions_to_init_grid(), exahype2.solvers.aderdg.ADERDG.ADERDG.add_actions_to_plot_solution(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.add_actions_to_plot_solution(), exahype2.solvers.fv.FV.FV.add_actions_to_plot_solution(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.add_actions_to_plot_solution(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.add_actions_to_plot_solution(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.add_entries_to_text_replacement_dictionary(), exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_entries_to_text_replacement_dictionary(), exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_entries_to_text_replacement_dictionary(), exahype2.solvers.aderdg.ADERDG.ADERDG.add_implementation_files_to_project(), solvers.api.CollocatedDLinearDiscretisationWithPointJacobi.CollocatedDLinearDiscretisationWithPointJacobi.add_implementation_files_to_project(), solvers.api.CollocatedMG.CollocatedMG.add_implementation_files_to_project(), solvers.api.ContinuousGalerkinDiscretisationGaussLobattoWithBlockJacobi.ContinuousGalerkinDiscretisationGaussLobattoWithBlockJacobi.add_implementation_files_to_project(), exahype2.solvers.elliptic.AMRMarker.AMRMarker.add_to_Peano4_datamodel(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.add_to_Peano4_datamodel(), CCZ4Solver.CCZ4Solver_FD4_SecondOrderFormulation_GlobalAdaptiveTimeStepWithEnclaveTasking.add_tracer(), exahype2.solvers.aderdg.SingleSweep.SingleSweep.create_action_sets(), exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking.create_action_sets(), exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking.create_action_sets(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep.create_action_sets(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking.create_action_sets(), exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps.create_action_sets(), SBH.Limiter.create_action_sets(), exahype2.solvers.fv.SingleSweep.SingleSweep.create_data_structures(), exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep.create_data_structures(), exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps.create_data_structures(), exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_data_structures(), dastgen2.attributes.Attribute.Attribute.get_accessor_name(), dastgen2.attributes.BooleanArray.BooleanArray.get_constructor_arguments(), peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray.get_constructor_arguments(), peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray.get_constructor_arguments(), peano4.dastgen2.Peano4SmartPointerDoubleArray.Peano4SmartPointerDoubleArray.get_constructor_arguments(), api.solvers.CollocatedLowOrderDiscretisation.AssemblePetscMatrix.get_constructor_body(), dastgen2.attributes.BooleanArray.BooleanArray.get_first_plain_C_attribute(), dastgen2.attributes.DoubleArray.DoubleArray.get_first_plain_C_attribute(), dastgen2.attributes.IntegerArray.IntegerArray.get_first_plain_C_attribute(), peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray.get_first_plain_C_attribute(), peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray.get_first_plain_C_attribute(), peano4.dastgen2.Peano4SmartPointerDoubleArray.Peano4SmartPointerDoubleArray.get_first_plain_C_attribute(), dastgen2.attributes.String.String.get_method_body(), dastgen2.attributes.BooleanArray.BooleanArray.get_methods(), dastgen2.attributes.DoubleArray.DoubleArray.get_methods(), dastgen2.attributes.IntegerArray.IntegerArray.get_methods(), peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray.get_methods(), peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray.get_methods(), peano4.dastgen2.Peano4SmartPointerDoubleArray.Peano4SmartPointerDoubleArray.get_methods(), exahype2.solvers.aderdg.ADERDG.ADERDG.get_name_of_global_instance(), exahype2.solvers.elliptic.AMRMarker.AMRMarker.get_name_of_global_instance(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.get_name_of_global_instance(), exahype2.solvers.fv.FV.FV.get_name_of_global_instance(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.get_name_of_global_instance(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.get_name_of_global_instance(), dastgen2.attributes.Boolean.Boolean.get_plain_C_attributes(), dastgen2.attributes.BooleanArray.BooleanArray.get_plain_C_attributes(), dastgen2.attributes.Double.Double.get_plain_C_attributes(), dastgen2.attributes.DoubleArray.DoubleArray.get_plain_C_attributes(), dastgen2.attributes.DoublePointer.DoublePointer.get_plain_C_attributes(), dastgen2.attributes.Integer.Integer.get_plain_C_attributes(), dastgen2.attributes.IntegerArray.IntegerArray.get_plain_C_attributes(), dastgen2.attributes.String.String.get_plain_C_attributes(), dastgen2.attributes.UserDefinedType.UserDefinedType.get_plain_C_attributes(), peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray.get_plain_C_attributes(), dastgen2.attributes.String.String.get_setter_getter_name(), dastgen2.attributes.Boolean.Boolean.get_to_string(), dastgen2.attributes.BooleanArray.BooleanArray.get_to_string(), dastgen2.attributes.Double.Double.get_to_string(), dastgen2.attributes.DoubleArray.DoubleArray.get_to_string(), dastgen2.attributes.DoublePointer.DoublePointer.get_to_string(), dastgen2.attributes.Enumeration.Enumeration.get_to_string(), dastgen2.attributes.Integer.Integer.get_to_string(), dastgen2.attributes.IntegerArray.IntegerArray.get_to_string(), dastgen2.attributes.UserDefinedType.UserDefinedType.get_to_string(), peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray.get_to_string(), peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray.get_to_string(), peano4.dastgen2.Peano4SmartPointerDoubleArray.Peano4SmartPointerDoubleArray.get_to_string(), api.solvers.Solver.Solver.name(), dastgen2.attributes.Attribute.Attribute.name(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.name(), exahype2.solvers.fv.FV.FV.name(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.name(), name(), api.solvers.Solver.Solver.typename(), and typename().
|
protected |
Definition at line 29 of file Solver.py.
Referenced by solvers.api.CollocatedDLinearDiscretisationWithPointJacobi.CollocatedDLinearDiscretisationWithPointJacobi.__init__(), add_to_Peano4_datamodel(), add_to_vertex_data(), and add_use_statements().
| solvers.api.Solver.Solver.max_h = max_h |
Definition at line 27 of file Solver.py.
Referenced by __str__(), api.solvers.CollocatedLowOrderDiscretisation.AssemblePetscMatrix.get_constructor_body(), api.solvers.DiscontinuousGalerkinDiscretisation.AssemblePetscMatrix.get_constructor_body(), swift2.particle.Particle.Particle.readme_descriptor(), and peano4.visualisation.filters.ExtractMeshResolution.ExtractMeshResolution.render().
| solvers.api.Solver.Solver.min_h = min_h |
Definition at line 26 of file Solver.py.
Referenced by __str__(), solvers.api.CollocatedDLinearDiscretisationWithPointJacobi.CollocatedDLinearDiscretisationWithPointJacobi.add_implementation_files_to_project(), solvers.api.CollocatedMG.CollocatedMG.add_implementation_files_to_project(), solvers.api.ContinuousGalerkinDiscretisationGaussLobattoWithBlockJacobi.ContinuousGalerkinDiscretisationGaussLobattoWithBlockJacobi.add_implementation_files_to_project(), swift2.particle.Particle.Particle.readme_descriptor(), and peano4.visualisation.filters.ExtractMeshResolution.ExtractMeshResolution.render().