Advances template model by one timestep
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(static_data_struct), | intent(inout) | :: | static_object | |||
| type(runtime_data_struct), | intent(inout) | :: | runtime_object | |||
| type(state_data_struct), | intent(inout) | :: | state_object |
Applies changerates due to parallel transport model
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(comm_handler_t), | intent(in) | :: | comm_handler |
Communication handler |
Applies changerates due to perpendicular diffusive transport model
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(comm_handler_t), | intent(in) | :: | comm_handler |
Communication handler |
Applies changerates due to parallel diffusion
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(comm_handler_t), | intent(in) | :: | comm_handler |
Communication handler |
Applies changerates due to MMS sources
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(comm_handler_t), | intent(in) | :: | comm_handler |
Communication handler |
||
| real(kind=GP), | intent(in) | :: | tau |
Current time |
Applies boundaries according MMS solutions
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(comm_handler_t), | intent(in) | :: | comm_handler |
Communication handler |
||
| real(kind=GP), | intent(in) | :: | tau |
Current time |
This struct shall hold algorithm-relevant data structures that are fixed for a fixed numerical experiment (i.e. numerical solution). (e.g. mesh)
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(c_ptr), | public | :: | mesh_cano_data |
This struct shall hold fixed runtime data. mpi communicator. integer in fortran, MPI_Fint in C use MPI_Comm_f2c in C/C++ to get an MPI_Comm
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | mpi_communicator |
This struct shall hold data needed in a checkpoint (e.g. dynamical system state variables)
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer(kind=c_int64_t), | public | :: | npoints | ||||
| type(c_ptr), | public | :: | density | ||||
| real(kind=GP), | public | :: | tau |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(comm_handler_t), | target | :: | comm_handler |
Communication handler |
||
| real(kind=GP), | intent(inout) | :: | tau |
Current time |
Model template subroutine Yet a simple in-plane diffusion equation with first order explicit Euler scheme is implemented
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(comm_handler_t), | target | :: | comm_handler |
Communication handler |
||
| real(kind=GP), | intent(inout) | :: | tau |
Current time |
Computes explicit changerate at time tau
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(comm_handler_t), | intent(in) | :: | comm_handler |
Communication handler |
||
| real(kind=GP), | intent(inout) | :: | tau |
Time-point |
Applies boundaries
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(comm_handler_t), | intent(in) | :: | comm_handler |
Communication handler |
||
| real(kind=GP), | intent(in) | :: | tau |
Time-point |
Evaluates right hand side (explicit terms) for use in Runge-Kutta time-step integrator Be aware, that this function changes the state of the template model. For interface, see the corresponding Runge-Kutta module
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | ndim | |||
| real(kind=GP), | intent(in) | :: | tau | |||
| real(kind=GP), | intent(in), | dimension(ndim) | :: | y | ||
| real(kind=GP), | intent(out), | dimension(ndim) | :: | dy |