Routines, functions and datatypes for Forward Euler (i.e. explicit Euler) timestepping.
Initialize explicit euler scheme for timestepping.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_global_timestep_type), | intent(inout) | :: | me |
The datatype to initialize. |
||
integer, | intent(in) | :: | minLevel |
The minimal level in the mesh. |
||
integer, | intent(in) | :: | maxLevel |
The maximal level in the mesh. |
Interface definition for levelwise updating of timestepping routine.
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 |
Interface definition for elementwise timestepping routine.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(atl_timestep_type), | intent(inout) | :: | me |
Description of the timestep integration method. |
||
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 elementwise timestepping routine.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(atl_timestep_type), | intent(inout) | :: | me |
Description of the timestep integration method. |
||
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. |
s u b r o u t i n e
f o r
t i m e s t e p p i n g
w i t h
e x p l i c i t
e u l e r .
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | minLevel |
The minimum refinement level of the mesh. |
||
integer, | intent(in) | :: | maxLevel |
The maximum refinement level of the mesh. |
||
integer, | intent(in) | :: | currentLevel |
The level the timestep has to be performed for. |
||
type(atl_cube_container_type), | intent(inout) | :: | cubes |
Container for the cubical elements. |
||
type(treelmesh_type), | intent(in) | :: | tree |
treelm mesh |
||
type(atl_timestep_type), | intent(inout) | :: | timestep_list(minLevel:) |
List of levelwise timestepping algorihtms |
||
integer, | intent(in) | :: | nSteps |
The number of steps of the time stepping scheme (assumed to be 1) |
||
type(atl_Equations_type), | intent(inout) | :: | equation |
The equation you are operating with. |
||
type(tem_general_type), | intent(inout) | :: | general |
General treelm settings |
||
integer, | intent(inout) | :: | commStateTimer |
Timer for measuring the communication time inside this routine. |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj_list(:) |
unique list for projection methods |