MAIA bb96820c
Multiphysics at AIA
|
The following guide is an exemplary recipe to setup a basic simulation with the DG solver. For general settings (e.g. I/O), which are not specific to DG, see general application control. Properties in angle brackets '''< >''' indicate all possible choices. It is also encouraged to examine the testcases. The link to the repository can be found in the references.
Activate the DG solver and set the dimension of the spatial discretization:
The DG solver supports space discretizations in 2D and 3D. The first step is to choose the right system of equations to solve
For the properties specific to the available particular system of equations, continue here. The space discretization by the DG method and the Runge-Kutta time integration can be controlled separately and are outlined in the next section.
The solver operates on a Cartesian mesh and supports local grid refinements, which in the DG terminology is called h-refinement. Additionally, the spatial resolution can be controlled by the choice of the basis function, which for the collocation type approach also controls the numerical quadrature
As a rule of thumb Gauss DGSEM has superior dispersion properties (cf. Gassner2011) and is preferred for acoustic application. DG_INTEGRATE_GAUSS_LOBATTO
satisfies the summation-by-parts property (SBP) and might be superior in terms of numerical stability. One advantage of the DG method is the ability to locally control the spatial discretization order by adjusting the degree of the polynomial basis functions in each cell, called p-refinement
This example defines one p-refinement patch with index zero. Multiple p-refinement patches can be combined. Note that the time step \(\Delta t\) is a function of the polynomial degree of the basis functions, see here.
The (temporal) integration method to be used in the DG solver can be set by
A complete list of all available integration schemes are listed here: dgTimeIntegrationScheme. The conversion from the cfl
number to the time step \(\Delta t\) is scaled for all combinations of dgSystemEquations
and basis functions to get for most applications the stability limit for cfl = 1.0
. Note, that in general it is recommended to adapt the spatial and temporal order of accuracy. For coupled simulations an optimal interleaving of all solvers is achived with matching stage numbers of the Runge Kutta schemes.
The DG solver is designed for the solution of time dependent systems of first order convection dominated PDEs. Besides the common configuration of the DG solver described in the previous sections, depending on the underlying system of equations to be solved, further configuration is required in particular for the initial and boundary conditions.
The acoustic perturbation equations in the APE-4 variant require the specification of mean variables, so called nodeVars
, which are time independent in addition to the initial acoustic field, both set in DgSysEqnAcousticPerturb<nDim>::calcInitialCondition(). The type of initial condition can be controlled by the property initialCondition
. A list of all possible values can be found here.
The acoustic waves can be excited by noise sources, which can be analytically described or taken from a CFD solution. The property sourceTerm
selects the source formulation. A list of all possible values can be found here.
To fully define the physical problem proper boundary conditions must be specified in geometry.toml
. A list of all possible boundary conditions can be found here.
The APE-4 system can be solved with prescribed noise sources for benchmarking and testing new DG features.
In the directly coupled setup the noise sources are exchanged in memory from a concurrently running CFD simulation. The mean quantities and the source terms in the APE-4 are extracted from the respective CFD simulation, and hence
For more technical details about the coupling, see here.
A list of all possible values for initialCondition
can be found here.
A list of all possible values for sourceTerm
can be found here.
The theory to linear advection equations can be found here.