![]() |
Peano
|
A very simple Poisson equation system solver to identify AMR transitions. More...
Public Member Functions | |
__init__ (self, name, relaxation_coefficient=0.6, right_hand_side=-10.0, flag_domain_boundary=True, plot=False) | |
name: string A unique name for the solver. | |
__str__ (self) | |
create_readme_descriptor (self, domain_offset, domain_size) | |
create_data_structures (self) | |
create_action_sets (self) | |
Overwrite in subclasses if you wanna create different action sets. | |
couple_with_FV_solver (self, FV_solver, auxiliary_variable) | |
FV_solver: exahype2.solver.fv.Solver Instance of the solver you want to couple this marker to. | |
get_name_of_global_instance (self) | |
add_to_Peano4_datamodel (self, datamodel, verbose) | |
Add all required data to the Peano4 project's datamodel so it is properly built up. | |
add_use_data_statements_to_Peano4_solver_step (self, step) | |
Tell Peano what data to move around. | |
Protected Member Functions | |
_unknown_identifier (self) | |
Protected Attributes | |
_name | |
_relaxation_coefficient | |
_flag_domain_boundary | |
_right_hand_side | |
_plot | |
_volumetric_coupling_term | |
_data_model | |
_action_set_smoother | |
Static Private Attributes | |
__repr__ = __str__ | |
A very simple Poisson equation system solver to identify AMR transitions.
Some codes need to know where AMR transitions are and want to flag the areas around these transitions. This class implements a simple finite differences diffusion implementation which eventually will become stationary if your mesh does not change anymore. The code solves
\( - \Delta u = f \)
for a fixed right-hand side f with a Jacobi solver. The solution is subject to the constraints
\( 0 \leq u \leq 1 \)
and Dirichlet boundary conditions. Finally, the PDE has prescribed interior values of 1 for every hanging vertex. So we have 1 at AMR transitions (and the boundary if that's wanted) and we see the solution u fade away once we move away from the boundary, until is eventually becomes 0.
As we use a Jacobi iterative solver, using this marker within ExaHyPE is equivalent to a heat equation solver which becomes stationary eventually if the grid does not change. Regions with a small solution value (remember that all solution values are between 0 and 1) are far away from any AMR boundary. Regions with a value close to 1 are close to an AMR boundary.
Before you start, you have to reconfigure and add
--enable-fem
to your configuration call. Run make afterwards to build the FEM toolbox of Peano.
To use the marker within your project, add a new solver to your project:
amr_label = exahype2.solvers.elliptic.AMRMarker( name="AMRMarker" ) project.add_solver( amr_label )
Take your ExaHyPE solver of choice and add one more auxiliary variable. This variable will, from now on, hold a copy of the actual iterate value of the elliptic solver.
Call the couple_with_FV_solver() operation on the AMRMarker so ensure that the AMR marker pipes its data into the auxiliary variable. So if you solve Euler with 5 unknowns, you add one auxiliary variable. The additional statement
amr_label.couple_with_FV_solver( thesolver, 0 )
then makes the elliptic solver write the patch average of its marker into the first (aka index 0) auxiliary quantity per volume.
ExaHyPE codes usually use this for some damping or smearing close to the AMR boundaries where instabilities due to reflecting waves can arise. There might be other use cases.
In ExaHyPE, you add the AMRMarker and you project (couple) it onto an auxiliary variable. When you evaluate the Poisson operator effectively delivering a damping, you can now multiply the impact of this operator with the auxiliary variable. This way, it is active near AMR boundaries, but it disappears far away from there.
Ensure that you initialise all additional auxiliary variables properly in ExaHyPE. If you don't initialise them, they will contain garbage will will likely mess up follow-up calculations.
The same holds for the boundary data. Even though we don't exchange auxiliary data between patches, you have to set boundary data for them to satisfy ExaHyPE's data correctness checks.
Definition at line 24 of file AMRMarker.py.
exahype2.solvers.elliptic.AMRMarker.AMRMarker.__init__ | ( | self, | |
name, | |||
relaxation_coefficient = 0.6, | |||
right_hand_side = -10.0, | |||
flag_domain_boundary = True, | |||
plot = False ) |
name: string A unique name for the solver.
This one will be used for all generated classes.
plot: Boolean Clarifies whether a dump of the data should be enriched with grid info (such as enclave status flags), too.
relaxation_coefficient: Double (0< value <1) How quickly should the solution be relaxed against real solution. This is the damping parameter in the Jacobi update scheme and thus has to be bigger than 0 and smaller than 1. If the coefficient approaches 1, you might see oscillations.
right_hand_side: Double (negative) Basically describes how fast the solution is pulled down to 0 once we go away from the AMR transition area.
Definition at line 110 of file AMRMarker.py.
exahype2.solvers.elliptic.AMRMarker.AMRMarker.__str__ | ( | self | ) |
Definition at line 144 of file AMRMarker.py.
References peano4.output.ActionSet.ActionSet.__class__, peano4.output.Jinja2TemplatedHeaderImplementationFilePair.Jinja2TemplatedHeaderImplementationFilePair.__class__, peano4.output.Observer.Observer.__class__, peano4.output.TemplatedHeaderFile.TemplatedHeaderFile.__class__, peano4.output.TemplatedHeaderImplementationFilePair.TemplatedHeaderImplementationFilePair.__class__, SBH.Limiter._name, dastgen2.attributes.Attribute.Attribute._name, dastgen2.attributes.BooleanArray.BooleanArray._name, dastgen2.attributes.Enumeration.Enumeration._name, exahype2.solvers.aderdg.ADERDG.ADERDG._name, exahype2.solvers.elliptic.AMRMarker.AMRMarker._name, exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells._name, exahype2.solvers.fv.EnclaveTasking.EnclaveTasking._name, exahype2.solvers.fv.FV.FV._name, exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting._name, exahype2.solvers.limiting.StaticLimiting.StaticLimiting._name, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._name, exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps._name, exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._name, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._name, exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep._name, exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps._name, exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._name, peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray._name, peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray._name, solvers.api.Solver.Solver._name, mghype::matrixfree::solvers::Solver._name, api.solvers.Solver.Solver._name, tarch::services::ServiceRepository::ServiceEntry._name, exahype2.solvers.elliptic.AMRMarker.AMRMarker._relaxation_coefficient, and exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells._relaxation_coefficient.
Referenced by peano4.toolbox.particles.postprocessing.ParticleVTUReader.VTUParticleSet.__repr__().
|
protected |
Definition at line 278 of file AMRMarker.py.
References SBH.Limiter._name, dastgen2.attributes.Attribute.Attribute._name, dastgen2.attributes.BooleanArray.BooleanArray._name, dastgen2.attributes.Enumeration.Enumeration._name, exahype2.solvers.aderdg.ADERDG.ADERDG._name, exahype2.solvers.elliptic.AMRMarker.AMRMarker._name, exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells._name, exahype2.solvers.fv.EnclaveTasking.EnclaveTasking._name, exahype2.solvers.fv.FV.FV._name, exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting._name, exahype2.solvers.limiting.StaticLimiting.StaticLimiting._name, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._name, exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps._name, exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._name, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._name, exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep._name, exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps._name, exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._name, peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray._name, peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray._name, solvers.api.Solver.Solver._name, mghype::matrixfree::solvers::Solver._name, api.solvers.Solver.Solver._name, and tarch::services::ServiceRepository::ServiceEntry._name.
Referenced by 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.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(), and exahype2.solvers.elliptic.AMRMarker.AMRMarker.couple_with_FV_solver().
exahype2.solvers.elliptic.AMRMarker.AMRMarker.add_to_Peano4_datamodel | ( | self, | |
datamodel, | |||
verbose ) |
Add all required data to the Peano4 project's datamodel so it is properly built up.
Definition at line 286 of file AMRMarker.py.
References dastgen2.aspects.MPI.MPI._data_model, exahype2.solvers.elliptic.AMRMarker.AMRMarker._data_model, swift2.particle.Particle.Particle.SpeciesAspect._data_model, SBH.Limiter._name, dastgen2.attributes.Attribute.Attribute._name, dastgen2.attributes.BooleanArray.BooleanArray._name, dastgen2.attributes.Enumeration.Enumeration._name, exahype2.solvers.aderdg.ADERDG.ADERDG._name, exahype2.solvers.elliptic.AMRMarker.AMRMarker._name, exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells._name, exahype2.solvers.fv.EnclaveTasking.EnclaveTasking._name, exahype2.solvers.fv.FV.FV._name, exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting._name, exahype2.solvers.limiting.StaticLimiting.StaticLimiting._name, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._name, exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps._name, exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._name, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._name, exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep._name, exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps._name, exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._name, peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray._name, peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray._name, solvers.api.Solver.Solver._name, mghype::matrixfree::solvers::Solver._name, api.solvers.Solver.Solver._name, and tarch::services::ServiceRepository::ServiceEntry._name.
exahype2.solvers.elliptic.AMRMarker.AMRMarker.add_use_data_statements_to_Peano4_solver_step | ( | self, | |
step ) |
Tell Peano what data to move around.
Inform Peano4 step which data are to be moved around via the use_cell and use_face commands. This operation is generic from ExaHyPE's point of view, i.e. I use it for all grid sweep types.
Definition at line 300 of file AMRMarker.py.
References dastgen2.aspects.MPI.MPI._data_model, exahype2.solvers.elliptic.AMRMarker.AMRMarker._data_model, and swift2.particle.Particle.Particle.SpeciesAspect._data_model.
exahype2.solvers.elliptic.AMRMarker.AMRMarker.couple_with_FV_solver | ( | self, | |
FV_solver, | |||
auxiliary_variable ) |
FV_solver: exahype2.solver.fv.Solver Instance of the solver you want to couple this marker to.
auxiliary_variable: Integer index of the auxiliary variable that you want this class to dump its output to.
Definition at line 249 of file AMRMarker.py.
References 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.limiting.PosterioriLimiting.PosterioriLimiting._unknown_identifier(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting._unknown_identifier(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._unknown_identifier(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._unknown_identifier(), exahype2.solvers.elliptic.AMRMarker.AMRMarker._volumetric_coupling_term, ccz4.CCZ4Solver.create_action_sets(), kernel_testbed.CCZ4Solver.create_action_sets(), performance_testbed.CCZ4Solver.create_action_sets(), SBH.Limiter.create_action_sets(), SBH.FD4SolverWithLimiter.create_action_sets(), SBH.FD4SolverWithoutLimiter.create_action_sets(), SBH.FVSolver.create_action_sets(), exahype2.solvers.aderdg.ADERDG.ADERDG.create_action_sets(), exahype2.solvers.aderdg.SingleSweep.SingleSweep.create_action_sets(), exahype2.solvers.elliptic.AMRMarker.AMRMarker.create_action_sets(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.create_action_sets(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.create_action_sets(), exahype2.solvers.fv.FV.FV.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.fv.SingleSweep.SingleSweep.create_action_sets(), exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting.create_action_sets(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting.create_action_sets(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.create_action_sets(), exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps.create_action_sets(), exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_action_sets(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.create_action_sets(), exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep.create_action_sets(), exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps.create_action_sets(), and exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_action_sets().
exahype2.solvers.elliptic.AMRMarker.AMRMarker.create_action_sets | ( | self | ) |
Overwrite in subclasses if you wanna create different action sets.
:: Call order and ownership
This operation can be called multiple times. However, only the very last call matters. All previous calls are wiped out.
If you have a hierarchy of solvers, every create_data_structure() should first(!) call its parent version. This way, you always ensure that all data are in place before you continue to alter the more specialised versions. So it is (logically) a top-down (general to specialised) run through all create_data_structure() variants within the inheritance tree.
Definition at line 188 of file AMRMarker.py.
Referenced by mgccz4.MGCCZ4Solver.add_derivative_calculation(), exahype2.solvers.aderdg.ADERDG.ADERDG.add_kernel_optimisations(), ccz4.CCZ4Solver.add_Psi4W(), exahype2.solvers.fv.FV.FV.auxiliary_variables(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.auxiliary_variables(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.auxiliary_variables(), exahype2.solvers.elliptic.AMRMarker.AMRMarker.couple_with_FV_solver(), exahype2.solvers.fv.FV.FV.interpolation(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.interpolation(), exahype2.solvers.fv.FV.FV.overlap(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.overlap(), exahype2.solvers.fv.FV.FV.patch_size(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.patch_size(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.postprocess_updated_cell(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.postprocess_updated_cell_after_final_linear_combination(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.postprocess_updated_cell_after_Runge_Kutta_step(), exahype2.solvers.aderdg.ADERDG.ADERDG.postprocess_updated_patch(), exahype2.solvers.fv.FV.FV.postprocess_updated_patch(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.postprocess_updated_patch(), exahype2.solvers.aderdg.ADERDG.ADERDG.preprocess_reconstructed_patch(), exahype2.solvers.fv.FV.FV.preprocess_reconstructed_patch(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.preprocess_reconstructed_patch(), exahype2.solvers.fv.FV.FV.restriction(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.restriction(), exahype2.solvers.aderdg.ADERDG.ADERDG.set_implementation(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.set_implementation(), exahype2.solvers.aderdg.ADERDG.ADERDG.switch_storage_scheme(), exahype2.solvers.fv.FV.FV.switch_storage_scheme(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.switch_storage_scheme(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.switch_storage_scheme(), exahype2.solvers.fv.FV.FV.unknowns(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.unknowns(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.unknowns().
exahype2.solvers.elliptic.AMRMarker.AMRMarker.create_data_structures | ( | self | ) |
Definition at line 166 of file AMRMarker.py.
Referenced by mgccz4.MGCCZ4Solver.add_derivative_calculation(), exahype2.solvers.aderdg.ADERDG.ADERDG.add_kernel_optimisations(), ccz4.CCZ4Solver.add_Psi4W(), exahype2.solvers.fv.FV.FV.auxiliary_variables(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.auxiliary_variables(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.auxiliary_variables(), exahype2.solvers.fv.FV.FV.interpolation(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.interpolation(), exahype2.solvers.fv.FV.FV.overlap(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.overlap(), exahype2.solvers.fv.FV.FV.patch_size(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.patch_size(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.postprocess_updated_cell(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.postprocess_updated_cell_after_final_linear_combination(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.postprocess_updated_cell_after_Runge_Kutta_step(), exahype2.solvers.aderdg.ADERDG.ADERDG.postprocess_updated_patch(), exahype2.solvers.fv.FV.FV.postprocess_updated_patch(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.postprocess_updated_patch(), exahype2.solvers.aderdg.ADERDG.ADERDG.preprocess_reconstructed_patch(), exahype2.solvers.fv.FV.FV.preprocess_reconstructed_patch(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.preprocess_reconstructed_patch(), exahype2.solvers.fv.FV.FV.restriction(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.restriction(), exahype2.solvers.aderdg.ADERDG.ADERDG.set_implementation(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.set_implementation(), exahype2.solvers.aderdg.ADERDG.ADERDG.switch_storage_scheme(), exahype2.solvers.fv.FV.FV.switch_storage_scheme(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.switch_storage_scheme(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.switch_storage_scheme(), exahype2.solvers.fv.FV.FV.unknowns(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.unknowns(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.unknowns().
exahype2.solvers.elliptic.AMRMarker.AMRMarker.create_readme_descriptor | ( | self, | |
domain_offset, | |||
domain_size ) |
Definition at line 159 of file AMRMarker.py.
exahype2.solvers.elliptic.AMRMarker.AMRMarker.get_name_of_global_instance | ( | self | ) |
Definition at line 282 of file AMRMarker.py.
References SBH.Limiter._name, dastgen2.attributes.Attribute.Attribute._name, dastgen2.attributes.BooleanArray.BooleanArray._name, dastgen2.attributes.Enumeration.Enumeration._name, exahype2.solvers.aderdg.ADERDG.ADERDG._name, exahype2.solvers.elliptic.AMRMarker.AMRMarker._name, exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells._name, exahype2.solvers.fv.EnclaveTasking.EnclaveTasking._name, exahype2.solvers.fv.FV.FV._name, exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting._name, exahype2.solvers.limiting.StaticLimiting.StaticLimiting._name, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._name, exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps._name, exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._name, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._name, exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep._name, exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps._name, exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._name, peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray._name, peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray._name, solvers.api.Solver.Solver._name, mghype::matrixfree::solvers::Solver._name, api.solvers.Solver.Solver._name, and tarch::services::ServiceRepository::ServiceEntry._name.
Referenced by exahype2.solvers.aderdg.SingleSweep.SingleSweep._delete_face_data_default_guard(), 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(), 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(), 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(), 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.SingleSweep.SingleSweep._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(), 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(), exahype2.solvers.aderdg.SingleSweep.SingleSweep.create_action_sets(), exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps.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(), and exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_data_structures().
|
staticprivate |
Definition at line 156 of file AMRMarker.py.
|
protected |
Definition at line 207 of file AMRMarker.py.
Referenced by exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.add_actions_to_create_grid(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.add_actions_to_init_grid(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.add_actions_to_perform_time_step(), and exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.add_actions_to_plot_solution().
|
protected |
|
protected |
Definition at line 134 of file AMRMarker.py.
|
protected |
Definition at line 132 of file AMRMarker.py.
Referenced by 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__(), solvers.api.Solver.Solver.__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(), SBH.Limiter._load_cell_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_face_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._provide_cell_data_to_compute_kernels_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(), 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(), SBH.Limiter._store_cell_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_face_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(), 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.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(), exahype2.solvers.elliptic.AMRMarker.AMRMarker.add_to_Peano4_datamodel(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.add_to_Peano4_datamodel(), SBH.Limiter.create_action_sets(), 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(), 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(), 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(), dastgen2.attributes.Boolean.Boolean.get_method_body(), dastgen2.attributes.BooleanArray.BooleanArray.get_method_body(), dastgen2.attributes.Double.Double.get_method_body(), dastgen2.attributes.DoubleArray.DoubleArray.get_method_body(), dastgen2.attributes.Enumeration.Enumeration.get_method_body(), dastgen2.attributes.Integer.Integer.get_method_body(), dastgen2.attributes.IntegerArray.IntegerArray.get_method_body(), dastgen2.attributes.String.String.get_method_body(), dastgen2.attributes.UserDefinedType.UserDefinedType.get_method_body(), peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray.get_method_body(), peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray.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(), 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.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(), peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray.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.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(), dastgen2.attributes.Attribute.Attribute.name(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.name(), exahype2.solvers.fv.FV.FV.name(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.name(), solvers.api.Solver.Solver.name(), api.solvers.Solver.Solver.name(), solvers.api.Solver.Solver.typename(), and api.solvers.Solver.Solver.typename().
|
protected |
Definition at line 136 of file AMRMarker.py.
|
protected |
Definition at line 133 of file AMRMarker.py.
Referenced by exahype2.solvers.elliptic.AMRMarker.AMRMarker.__str__(), and exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.__str__().
|
protected |
Definition at line 135 of file AMRMarker.py.
|
protected |
Definition at line 138 of file AMRMarker.py.
Referenced by exahype2.solvers.elliptic.AMRMarker.AMRMarker.couple_with_FV_solver().