Definition of Euler 1D class for FORESEER test.
Abstract interfaces of euler_1d pointer methods.
Reconstruct interface states.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(euler_1d), | intent(in) | :: | self | Euler field. |
||
| type(conservative_compressible), | intent(in) | :: | conservative(1-self%Ng:) | Conservative variables. |
||
| type(conservative_compressible), | intent(inout) | :: | r_conservative(1:,0:) | Reconstructed conservative variables. |
Euler 1D PDEs system field.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=:), | public, | allocatable | :: | BC_L | Left boundary condition type. |
||
| character(len=:), | public, | allocatable | :: | BC_R | Right boundary condition type. |
||
| real(kind=R8P), | public | :: | Dx | = | 0._R8P | Space step. |
|
| integer(kind=I4P), | public | :: | Ng | = | 0 | Ghost cells number. |
|
| integer(kind=I4P), | public | :: | Ni | = | 0 | Space dimension. |
|
| type(conservative_compressible), | public, | allocatable | :: | U(:) | Integrand (state) variables. |
||
| type(eos_compressible), | public | :: | eos | Equation of state. |
|||
| class(interpolator_object), | public, | allocatable | :: | interpolator | WENO interpolator. |
||
| procedure(reconstruct_interfaces_), | public, | pointer | :: | reconstruct_interfaces | => | reconstruct_interfaces_characteristic | Reconstruct interface states. |
| class(riemann_solver_object), | public, | allocatable | :: | riemann_solver | Riemann solver. |
||
| integer(kind=I4P), | public | :: | weno_order | = | 0 | WENO reconstruction order. |
| procedure, public, pass(lhs) :: add => add_euler | Operator |
| procedure, public, pass(lhs) :: assign_integrand => euler_assign_euler | Operator |
| procedure, public, pass(lhs) :: assign_real => euler_assign_real | Operator |
| procedure, public, pass(self) :: destroy | Destroy field. |
| procedure, public, pass(self) :: dt => compute_dt | Compute the current time step, by means of CFL condition. |
| procedure, private, pass(self) :: impose_boundary_conditions | Impose boundary conditions. |
| procedure, public, pass(self) :: initialize | Initialize field. |
| procedure, public, pass(lhs) :: integrand_multiply_integrand => euler_multiply_euler | Operator |
| procedure, public, pass(lhs) :: integrand_multiply_real => euler_multiply_real | Operator |
| procedure, public, pass(lhs) :: local_error => euler_local_error | Operator |
| procedure, public, pass(self) :: output | Extract Euler field. |
| procedure, public, pass(rhs) :: real_multiply_integrand => real_multiply_euler | Operator |
| procedure, private, pass(self) :: reconstruct_interfaces_characteristic | Reconstruct (charc.) interface states. |
| procedure, private, pass(self) :: reconstruct_interfaces_conservative | Reconstruct (cons.) interface states. |
| procedure, private, pass(self) :: reconstruct_interfaces_primitive | Reconstruct (prim.) interface states. |
| procedure, public, pass(lhs) :: sub => sub_euler | Operator |
| procedure, public, pass(self) :: t => dEuler_dt | Time derivative, residuals function. |
Add two Euler fields.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(euler_1d), | intent(in) | :: | lhs | Left hand side. |
||
| class(integrand), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Compute the current time step by means of CFL condition.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(euler_1d), | intent(in) | :: | self | Euler field. |
||
| integer(kind=I4P), | intent(in) | :: | steps_max | Maximun number of time steps. |
||
| real(kind=R8P), | intent(in) | :: | t_max | Maximum integration time. |
||
| real(kind=R8P), | intent(in) | :: | t | Time. |
||
| real(kind=R8P), | intent(in) | :: | CFL | CFL value. |
Time step.
Time derivative of Euler field, the residuals function.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(euler_1d), | intent(in) | :: | self | Euler field. |
||
| real(kind=R8P), | intent(in), | optional | :: | t | Time. |
Euler field time derivative.
Estimate local truncation error between 2 euler approximations.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(euler_1d), | intent(in) | :: | lhs | Left hand side. |
||
| class(integrand), | intent(in) | :: | rhs | Right hand side. |
Error estimation.
Multiply an Euler field by another one.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(euler_1d), | intent(in) | :: | lhs | Left hand side. |
||
| class(integrand), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Multiply an Euler field by a real scalar.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(euler_1d), | intent(in) | :: | lhs | Left hand side. |
||
| real(kind=R8P), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Output the Euler field state.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(euler_1d), | intent(in) | :: | self | Euler field. |
||
| logical, | intent(in), | optional | :: | is_primitive | Output in primitive variables. |
Euler state vector.
Multiply a real scalar by an Euler field.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=R8P), | intent(in) | :: | lhs | Left hand side. |
||
| class(euler_1d), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Destroy field.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(euler_1d), | intent(inout) | :: | self | Euler field. |
Assign one Euler field to another.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(euler_1d), | intent(inout) | :: | lhs | Left hand side. |
||
| class(integrand), | intent(in) | :: | rhs | Right hand side. |
Assign one real to an Euler field.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(euler_1d), | intent(inout) | :: | lhs | Left hand side. |
||
| real(kind=R8P), | intent(in) | :: | rhs | Right hand side. |
Impose boundary conditions.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(euler_1d), | intent(in) | :: | self | Euler field. |
||
| type(conservative_compressible), | intent(inout) | :: | U(1-self%Ng:) | Conservative variables. |
Initialize field.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(euler_1d), | intent(inout) | :: | self | Euler field. |
||
| integer(kind=I4P), | intent(in) | :: | Ni | Space dimension. |
||
| real(kind=R8P), | intent(in) | :: | Dx | Space step. |
||
| character(len=*), | intent(in) | :: | BC_L | Left boundary condition type. |
||
| character(len=*), | intent(in) | :: | BC_R | Right boundary condition type. |
||
| type(primitive_compressible), | intent(in) | :: | initial_state(1:) | Initial state of primitive variables. |
||
| type(eos_compressible), | intent(in) | :: | eos | Equation of state. |
||
| integer(kind=I4P), | intent(in), | optional | :: | weno_order | WENO reconstruction order. |
|
| character(len=*), | intent(in), | optional | :: | weno_variables | Variables on which WENO reconstruction is done. |
|
| character(len=*), | intent(in), | optional | :: | riemann_solver_scheme | Riemann solver scheme. |
Reconstruct interfaces states.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(euler_1d), | intent(in) | :: | self | Euler field. |
||
| type(conservative_compressible), | intent(in) | :: | conservative(1-self%Ng:) | Conservative variables. |
||
| type(conservative_compressible), | intent(inout) | :: | r_conservative(1:,0:) | Reconstructed conservative vars. |
Reconstruct interfaces states.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(euler_1d), | intent(in) | :: | self | Euler field. |
||
| type(conservative_compressible), | intent(in) | :: | conservative(1-self%Ng:) | Conservative variables. |
||
| type(conservative_compressible), | intent(inout) | :: | r_conservative(1:,0:) | Reconstructed conservative vars. |
Reconstruct interfaces states.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(euler_1d), | intent(in) | :: | self | Euler field. |
||
| type(conservative_compressible), | intent(in) | :: | conservative(1-self%Ng:) | Conservative variables. |
||
| type(conservative_compressible), | intent(inout) | :: | r_conservative(1:,0:) | Reconstructed conservative vars. |