Peano
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
exahype2.symhype.PDE.PDE Class Reference
Inheritance diagram for exahype2.symhype.PDE.PDE:
Collaboration diagram for exahype2.symhype.PDE.PDE:

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.
 

Detailed Description

Definition at line 7 of file PDE.py.

Constructor & Destructor Documentation

◆ __init__()

exahype2.symhype.PDE.PDE.__init__ ( self,
unknowns,
auxiliary_variables,
dimensions )

Member Function Documentation

◆ _implementation_of_mapping_onto_named_quantities()

exahype2.symhype.PDE.PDE._implementation_of_mapping_onto_named_quantities ( self,
is_cell_mapping = True,
is_boundary = False,
has_delta = False )
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().

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

◆ grad()

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.

◆ implementation_of_boundary_conditions()

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.

Here is the call graph for this function:

◆ implementation_of_homogeneous_Neumann_BC()

exahype2.symhype.PDE.PDE.implementation_of_homogeneous_Neumann_BC ( self)

◆ implementation_of_initial_conditions()

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.

Here is the call graph for this function:

◆ name_auxiliary_variable()

◆ name_Q_entries()

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.

◆ name_Q_entry()

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.

See also
name_auxiliary_variable

Definition at line 79 of file PDE.py.

References exahype2.symhype.PDE.PDE.Q.

◆ unknown_identifier_for_plotter()

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.

Here is the call graph for this function:

Field Documentation

◆ auxiliary_variables

◆ boundary_values

exahype2.symhype.PDE.PDE.boundary_values

◆ delta_Q

exahype2.symhype.PDE.PDE.delta_Q

◆ dimensions

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().

◆ h

exahype2.symhype.PDE.PDE.h

Definition at line 17 of file PDE.py.

Referenced by exahypype.kernel.Evaluate(), and exahypype.kernel.halo().

◆ initial_values

exahype2.symhype.PDE.PDE.initial_values

◆ Q

◆ unknowns

◆ x

exahype2.symhype.PDE.PDE.x

Definition at line 16 of file PDE.py.


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