Module keeping interfaces
Interface definition for elementwise timestepping routine.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(atl_timestep_type), | intent(inout) | :: | me |
The type of your timestepping. |
||
real(kind=rk), | intent(inout) | :: | state(:,:,:) |
The state of all cells on this level. This field will be updated ad the cell position. See kerneldata type for more explanations. |
||
integer, | intent(in) | :: | cell |
Position of the cell to update in the state vector. |
||
integer, | intent(in) | :: | dof |
The degree of freedom to update |
||
real(kind=rk), | intent(in) | :: | sideFlux(:) |
The flux for one of the sides of this cell. The length of this array is the number of conservative variables of your equation. |
Interface definition for vectorized elementwise timestepping routine.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(atl_timestep_type), | intent(inout) | :: | me |
The type of your timestepping. |
||
real(kind=rk), | intent(inout) | :: | state(:,:,:) |
The state of all cells on this level. This field will be updated ad the cell position. See kerneldata type for more explanations. |
||
type(atl_kerneldata_type), | intent(in) | :: | kerneldata |
Complete kerneldata to get the flux from with additional information. |
Interface definition for updating the timestep width.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(atl_timestep_type), | intent(inout) | :: | me |
The type of your timestepping. |
||
type(atl_local_timestep_type), | intent(in) | :: | timestepInfo |
Local timestepping information for that part of the mesh |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(atl_statedata_type), | public, | allocatable | :: | timestepData(:) |
Additional storage for timestepping algorithm. The usage is optional and some solvers do not use is, while others have to use it (e.g. multistep/multistage methods). This field is always passed as an argument to elementwise timestepping rotine (specified above as a pointer). The dimension of this array and its usage is left to the stepping algorithm and is therefore different for different timestepping schemes. |
||
type(atl_eulerTimestep_type), | public | :: | euler |
Information about the propagation speeds of the 3D Euler equation. |
|||
type(atl_eulerTimestep_type), | public | :: | euler_2d |
Information about the propagation speeds of the 2D Euler equation. |
|||
type(atl_eulerTimestep_type), | public | :: | euler_1d |
Information about the propagation speeds of the 1D Euler equation. |
|||
type(atl_LoclinEulerTimestep_type), | public | :: | LoclinEuler |
Information about the propagation speed of the local linear Euler equation |
|||
procedure(atl_elemental_timestep), | public, | pointer, nopass | :: | elemStep | => | null() |
Pointer to a subroutine implementing the elemental procedure of a timestepping algorithm. |
procedure(atl_elemental_timestep_vec), | public, | pointer, nopass | :: | elemStep_vec | => | null() | |
integer, | public, | allocatable | :: | timestepInfoInteger(:) |
Storage for additional information of the timestepping method. |
||
real(kind=rk), | public, | allocatable | :: | timestepInfoReal(:) | |||
procedure(atl_update_timestep), | public, | pointer, nopass | :: | updateStep | => | null() |
Pointer to bring information from timestep information to the timestepping scheme itself. |
Timestep information for Euler equation.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rk), | public, | allocatable | :: | maxVel(:) |
Modulus of the maximum velocity (for all elements on the current level). |
||
real(kind=rk), | public, | allocatable | :: | speedOfSound(:) |
Maximum speed of sound (for all elements on the current level). |
Timestep information for local linear Euler equation
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rk), | public, | allocatable | :: | meanVel(:) |
mean velocity for all elements |
||
real(kind=rk), | public, | allocatable | :: | speedOfSound(:) |
mean speed of sound for all elements |