![]() |
Peano
|
Public Member Functions | |
__init__ (self, unknowns, auxiliary_variables, dimensions) | |
unknown_identifier_for_plotter (self) | |
Returns identifier for the unknowns. | |
name_Q_entry (self, offset_in_Q, name) | |
Q covers both unknowns plus auxiliary variables. | |
name_auxiliary_variable (self, number, name) | |
name_Q_entries (self, offset_in_Q, cardinality, name) | |
grad (self, Q) | |
implementation_of_homogeneous_Neumann_BC (self) | |
implementation_of_boundary_conditions (self, invoke_evalf_before_output=False) | |
invoke_evalf_before_output: boolean If your expression is a symbolic expression (default) then we use evalf before we pipe it into the output. | |
implementation_of_initial_conditions (self, invoke_evalf_before_output=False) | |
invoke_evalf_before_output: boolean If your expression is a symbolic expression (default) then we use evalf before we pipe it into the output. | |
Data Fields | |
unknowns | |
auxiliary_variables | |
dimensions | |
Q | |
delta_Q | |
initial_values | |
boundary_values | |
x | |
h | |
Protected Member Functions | |
_implementation_of_mapping_onto_named_quantities (self, is_cell_mapping=True, is_boundary=False, has_delta=False) | |
Return the C code that maps the quantities from Q onto properly labelled quantities. | |
exahype2.symhype.PDE.PDE.__init__ | ( | self, | |
unknowns, | |||
auxiliary_variables, | |||
dimensions ) |
|
protected |
Return the C code that maps the quantities from Q onto properly labelled quantities.
Definition at line 32 of file PDE.py.
References CCZ4Solver.CCZ4Solver_FD4_SecondOrderFormulation_GlobalAdaptiveTimeStepWithEnclaveTasking.auxiliary_variables, exahype2.solvers.aderdg.ADERDG.ADERDG.auxiliary_variables(), 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.auxiliary_variables(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.auxiliary_variables(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.auxiliary_variables(), exahype2.symhype.PDE.PDE.auxiliary_variables, exahype2.symhype.PDE.PDE.delta_Q, exahype2.symhype.FirstOrderConservativePDEFormulation.FirstOrderConservativePDEFormulation.dimensions, exahype2.symhype.PDE.PDE.dimensions, peano4.visualisation.input.PatchFileParser.UnknownAttributes.dimensions, peano4.visualisation.input.PatchFileParser.PatchFileParser.dimensions, convert::data::PatchData.dimensions, convert::data::Variable.dimensions, mghype.api.matrixgenerators.DLinear.DLinear.dimensions, mghype.api.matrixgenerators.DLinearMassIdentity.DLinearMassIdentity.dimensions, mghype.api.matrixgenerators.GaussLobatto.GaussLobatto.dimensions, mghype.api.matrixgenerators.GaussLobatto.GLMatrixFree.dimensions, mghype.api.matrixgenerators.MatrixGenerator.MatrixGenerator.dimensions, equations.acoustic.Acoustic.dimensions, equations.advection.Advection.dimensions, equations.elastic.Elastic.dimensions, equations.equation.Equation.dimensions, equations.euler.Euler.dimensions, equations.swe.SWE_W_Bathymetry.dimensions, equations.swe.SWE_WO_Bathymetry.dimensions, exahype2.symhype.PDE.PDE.Q, exahype2.solvers.aderdg.ADERDG.ADERDG.unknowns(), exahype2.solvers.fv.FV.FV.unknowns(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.unknowns(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.unknowns(), exahype2.solvers.fv.FV.FV.unknowns(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.unknowns(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.unknowns(), exahype2.symhype.FirstOrderConservativePDEFormulation.FirstOrderConservativePDEFormulation.unknowns, exahype2.symhype.PDE.PDE.unknowns, peano4.visualisation.input.Patch.Patch.unknowns, peano4.visualisation.input.PatchFileParser.UnknownAttributes.unknowns, and convert::data::Variable.unknowns.
Referenced by exahype2.symhype.PDE.PDE.implementation_of_boundary_conditions(), exahype2.symhype.FirstOrderConservativePDEFormulation.FirstOrderConservativePDEFormulation.implementation_of_eigenvalues(), exahype2.symhype.FirstOrderConservativePDEFormulation.FirstOrderConservativePDEFormulation.implementation_of_flux(), exahype2.symhype.PDE.PDE.implementation_of_initial_conditions(), exahype2.symhype.FirstOrderConservativePDEFormulation.FirstOrderConservativePDEFormulation.implementation_of_max_eigenvalue(), exahype2.symhype.FirstOrderConservativePDEFormulation.FirstOrderConservativePDEFormulation.implementation_of_ncp(), and exahype2.symhype.FirstOrderConservativePDEFormulation.FirstOrderConservativePDEFormulation.implementation_of_sources().
exahype2.symhype.PDE.PDE.grad | ( | self, | |
Q ) |
Definition at line 100 of file PDE.py.
References exahype2.symhype.PDE.PDE.delta_Q, and exahype2.symhype.PDE.PDE.Q.
exahype2.symhype.PDE.PDE.implementation_of_boundary_conditions | ( | self, | |
invoke_evalf_before_output = False ) |
invoke_evalf_before_output: boolean If your expression is a symbolic expression (default) then we use evalf before we pipe it into the output.
If your expression is something numeric, then evalf will fail (as it is not defined for scalar quantities).
Definition at line 127 of file PDE.py.
References exahype2.symhype.PDE.PDE._implementation_of_mapping_onto_named_quantities(), CCZ4Solver.CCZ4Solver_FD4_SecondOrderFormulation_GlobalAdaptiveTimeStepWithEnclaveTasking.auxiliary_variables, exahype2.solvers.aderdg.ADERDG.ADERDG.auxiliary_variables(), 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.auxiliary_variables(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.auxiliary_variables(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.auxiliary_variables(), exahype2.symhype.PDE.PDE.auxiliary_variables, exahype2.symhype.PDE.PDE.boundary_values, exahype2.solvers.aderdg.ADERDG.ADERDG.unknowns(), exahype2.solvers.fv.FV.FV.unknowns(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.unknowns(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.unknowns(), exahype2.solvers.fv.FV.FV.unknowns(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.unknowns(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.unknowns(), exahype2.symhype.FirstOrderConservativePDEFormulation.FirstOrderConservativePDEFormulation.unknowns, exahype2.symhype.PDE.PDE.unknowns, peano4.visualisation.input.Patch.Patch.unknowns, peano4.visualisation.input.PatchFileParser.UnknownAttributes.unknowns, and convert::data::Variable.unknowns.
exahype2.symhype.PDE.PDE.implementation_of_homogeneous_Neumann_BC | ( | self | ) |
Definition at line 116 of file PDE.py.
References CCZ4Solver.CCZ4Solver_FD4_SecondOrderFormulation_GlobalAdaptiveTimeStepWithEnclaveTasking.auxiliary_variables, exahype2.solvers.aderdg.ADERDG.ADERDG.auxiliary_variables(), 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.auxiliary_variables(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.auxiliary_variables(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.auxiliary_variables(), exahype2.symhype.PDE.PDE.auxiliary_variables, exahype2.solvers.aderdg.ADERDG.ADERDG.unknowns(), exahype2.solvers.fv.FV.FV.unknowns(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.unknowns(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.unknowns(), exahype2.solvers.fv.FV.FV.unknowns(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.unknowns(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.unknowns(), exahype2.symhype.FirstOrderConservativePDEFormulation.FirstOrderConservativePDEFormulation.unknowns, exahype2.symhype.PDE.PDE.unknowns, peano4.visualisation.input.Patch.Patch.unknowns, peano4.visualisation.input.PatchFileParser.UnknownAttributes.unknowns, and convert::data::Variable.unknowns.
exahype2.symhype.PDE.PDE.implementation_of_initial_conditions | ( | self, | |
invoke_evalf_before_output = False ) |
invoke_evalf_before_output: boolean If your expression is a symbolic expression (default) then we use evalf before we pipe it into the output.
If your expression is something numeric, then evalf will fail (as it is not defined for scalar quantities).
Definition at line 155 of file PDE.py.
References exahype2.symhype.PDE.PDE._implementation_of_mapping_onto_named_quantities(), CCZ4Solver.CCZ4Solver_FD4_SecondOrderFormulation_GlobalAdaptiveTimeStepWithEnclaveTasking.auxiliary_variables, exahype2.solvers.aderdg.ADERDG.ADERDG.auxiliary_variables(), 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.auxiliary_variables(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.auxiliary_variables(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.auxiliary_variables(), exahype2.symhype.PDE.PDE.auxiliary_variables, exahype2.symhype.PDE.PDE.initial_values, exahype2.solvers.aderdg.ADERDG.ADERDG.unknowns(), exahype2.solvers.fv.FV.FV.unknowns(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.unknowns(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.unknowns(), exahype2.solvers.fv.FV.FV.unknowns(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.unknowns(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.unknowns(), exahype2.symhype.FirstOrderConservativePDEFormulation.FirstOrderConservativePDEFormulation.unknowns, exahype2.symhype.PDE.PDE.unknowns, peano4.visualisation.input.Patch.Patch.unknowns, peano4.visualisation.input.PatchFileParser.UnknownAttributes.unknowns, and convert::data::Variable.unknowns.
exahype2.symhype.PDE.PDE.name_auxiliary_variable | ( | self, | |
number, | |||
name ) |
Definition at line 90 of file PDE.py.
References exahype2.symhype.PDE.PDE.Q, exahype2.solvers.aderdg.ADERDG.ADERDG.unknowns(), exahype2.solvers.fv.FV.FV.unknowns(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.unknowns(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.unknowns(), exahype2.solvers.fv.FV.FV.unknowns(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.unknowns(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.unknowns(), exahype2.symhype.FirstOrderConservativePDEFormulation.FirstOrderConservativePDEFormulation.unknowns, exahype2.symhype.PDE.PDE.unknowns, peano4.visualisation.input.Patch.Patch.unknowns, peano4.visualisation.input.PatchFileParser.UnknownAttributes.unknowns, and convert::data::Variable.unknowns.
exahype2.symhype.PDE.PDE.name_Q_entries | ( | self, | |
offset_in_Q, | |||
cardinality, | |||
name ) |
Definition at line 94 of file PDE.py.
References exahype2.symhype.PDE.PDE.Q.
exahype2.symhype.PDE.PDE.name_Q_entry | ( | self, | |
offset_in_Q, | |||
name ) |
Q covers both unknowns plus auxiliary variables.
They simply are concatenated. So if you have 10 unknowns and 2 auxiliary variables, the name you assign the 10s Q entry is the one for the first auxiliary variable. There's also a dedicated routine for auxiliary variables if you prefer this one.
Definition at line 79 of file PDE.py.
References exahype2.symhype.PDE.PDE.Q.
exahype2.symhype.PDE.PDE.unknown_identifier_for_plotter | ( | self | ) |
Returns identifier for the unknowns.
Use this one to feed set_plot_description of your solver.
Definition at line 20 of file PDE.py.
References CCZ4Solver.CCZ4Solver_FD4_SecondOrderFormulation_GlobalAdaptiveTimeStepWithEnclaveTasking.auxiliary_variables, exahype2.solvers.aderdg.ADERDG.ADERDG.auxiliary_variables(), 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.auxiliary_variables(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.auxiliary_variables(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.auxiliary_variables(), exahype2.symhype.PDE.PDE.auxiliary_variables, exahype2.symhype.PDE.PDE.Q, exahype2.solvers.aderdg.ADERDG.ADERDG.unknowns(), exahype2.solvers.fv.FV.FV.unknowns(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.unknowns(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.unknowns(), exahype2.solvers.fv.FV.FV.unknowns(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.unknowns(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.unknowns(), exahype2.symhype.FirstOrderConservativePDEFormulation.FirstOrderConservativePDEFormulation.unknowns, exahype2.symhype.PDE.PDE.unknowns, peano4.visualisation.input.Patch.Patch.unknowns, peano4.visualisation.input.PatchFileParser.UnknownAttributes.unknowns, and convert::data::Variable.unknowns.
exahype2.symhype.PDE.PDE.auxiliary_variables |
Definition at line 10 of file PDE.py.
Referenced by exahype2.symhype.PDE.PDE._implementation_of_mapping_onto_named_quantities(), exahype2.symhype.PDE.PDE.implementation_of_boundary_conditions(), exahype2.symhype.PDE.PDE.implementation_of_homogeneous_Neumann_BC(), exahype2.symhype.PDE.PDE.implementation_of_initial_conditions(), and exahype2.symhype.PDE.PDE.unknown_identifier_for_plotter().
exahype2.symhype.PDE.PDE.boundary_values |
Definition at line 15 of file PDE.py.
Referenced by exahype2.symhype.PDE.PDE.implementation_of_boundary_conditions().
exahype2.symhype.PDE.PDE.delta_Q |
Definition at line 13 of file PDE.py.
Referenced by exahype2.symhype.PDE.PDE._implementation_of_mapping_onto_named_quantities(), and exahype2.symhype.PDE.PDE.grad().
exahype2.symhype.PDE.PDE.dimensions |
Definition at line 11 of file PDE.py.
Referenced by peano4.visualisation.input.PatchFileParser.PatchFileParser.__parse_meta_data_region(), peano4.visualisation.input.PatchFileParser.PatchFileParser.__parse_patch_region(), exahype2.symhype.PDE.PDE._implementation_of_mapping_onto_named_quantities(), peano4.visualisation.input.PatchFileParser.UnknownAttributes._initialise_default_mapping_if_no_mapping_specified(), mghype.api.matrixgenerators.MatrixGenerator.MatrixGenerator.convert_index_to_dim(), equations.euler.Euler.eigenvalues(), mghype.api.matrixgenerators.MatrixGenerator.MatrixGenerator.eval_integral(), equations.elastic.Elastic.flux(), equations.euler.Euler.flux(), mghype.api.matrixgenerators.GaussLobatto.GLMatrixFree.get_boundary_matrix(), mghype.api.matrixgenerators.GaussLobatto.GLMatrixFree.get_cell_from_face_matrix(), mghype.api.matrixgenerators.DLinear.DLinear.get_cell_identity_matrix(), mghype.api.matrixgenerators.DLinearMassIdentity.DLinearMassIdentity.get_cell_identity_matrix(), mghype.api.matrixgenerators.DLinear.DLinear.get_cell_mass_matrix(), mghype.api.matrixgenerators.DLinear.DLinear.get_cell_system_matrix_for_laplacian(), mghype.api.matrixgenerators.DLinearMassIdentity.DLinearMassIdentity.get_cell_system_matrix_for_laplacian(), api.solvers.DiscontinuousGalerkinDiscretisation.AssemblePetscMatrix.get_constructor_body(), mghype.api.matrixgenerators.MatrixGenerator.MatrixGenerator.get_deriv(), mghype.api.matrixgenerators.MatrixGenerator.MatrixGenerator.get_points_for_dimension(), mghype.api.matrixgenerators.MatrixGenerator.MatrixGenerator.get_polynomial(), mghype.api.matrixgenerators.GaussLobatto.GLMatrixFree.get_projection_matrices(), mghype.api.matrixgenerators.MatrixGenerator.MatrixGenerator.get_weights_for_dimension(), matrices.DgGenerator.getCellToFaceMatrix(), exahype2.symhype.FirstOrderConservativePDEFormulation.FirstOrderConservativePDEFormulation.implementation_of_eigenvalues(), exahype2.symhype.FirstOrderConservativePDEFormulation.FirstOrderConservativePDEFormulation.implementation_of_flux(), exahype2.symhype.FirstOrderConservativePDEFormulation.FirstOrderConservativePDEFormulation.implementation_of_max_eigenvalue(), exahype2.symhype.FirstOrderConservativePDEFormulation.FirstOrderConservativePDEFormulation.implementation_of_ncp(), and peano4.visualisation.input.PatchFileParser.PatchFileParser.parse_file().
exahype2.symhype.PDE.PDE.h |
Definition at line 17 of file PDE.py.
Referenced by exahypype.kernel.Evaluate(), and exahypype.kernel.halo().
exahype2.symhype.PDE.PDE.initial_values |
Definition at line 14 of file PDE.py.
Referenced by exahype2.symhype.PDE.PDE.implementation_of_initial_conditions().
exahype2.symhype.PDE.PDE.Q |
Definition at line 12 of file PDE.py.
Referenced by exahype2.symhype.PDE.PDE._implementation_of_mapping_onto_named_quantities(), exahype2.symhype.PDE.PDE.grad(), exahype2.symhype.FirstOrderConservativePDEFormulation.FirstOrderConservativePDEFormulation.LaTeX(), exahype2.symhype.PDE.PDE.name_auxiliary_variable(), exahype2.symhype.PDE.PDE.name_Q_entries(), exahype2.symhype.PDE.PDE.name_Q_entry(), and exahype2.symhype.PDE.PDE.unknown_identifier_for_plotter().
exahype2.symhype.PDE.PDE.unknowns |
Definition at line 9 of file PDE.py.
Referenced by exahype2.symhype.PDE.PDE._implementation_of_mapping_onto_named_quantities(), exahype2.symhype.PDE.PDE.implementation_of_boundary_conditions(), exahype2.symhype.FirstOrderConservativePDEFormulation.FirstOrderConservativePDEFormulation.implementation_of_eigenvalues(), exahype2.symhype.FirstOrderConservativePDEFormulation.FirstOrderConservativePDEFormulation.implementation_of_flux(), exahype2.symhype.PDE.PDE.implementation_of_homogeneous_Neumann_BC(), exahype2.symhype.PDE.PDE.implementation_of_initial_conditions(), exahype2.symhype.FirstOrderConservativePDEFormulation.FirstOrderConservativePDEFormulation.implementation_of_max_eigenvalue(), exahype2.symhype.FirstOrderConservativePDEFormulation.FirstOrderConservativePDEFormulation.implementation_of_ncp(), exahype2.symhype.FirstOrderConservativePDEFormulation.FirstOrderConservativePDEFormulation.implementation_of_sources(), exahype2.symhype.FirstOrderConservativePDEFormulation.FirstOrderConservativePDEFormulation.LaTeX(), exahype2.symhype.PDE.PDE.name_auxiliary_variable(), peano4.visualisation.input.PatchFileParser.UnknownAttributes.set_unknowns(), exahype2.symhype.FirstOrderConservativePDEFormulation.FirstOrderConservativePDEFormulation.substitute_expression(), and exahype2.symhype.PDE.PDE.unknown_identifier_for_plotter().