| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(base_backend_t), | intent(inout), | target | :: | backend | ||
| type(mesh_t), | intent(inout), | target | :: | mesh | ||
| type(allocator_t), | intent(inout), | target | :: | host_allocator | 
solver class defines the Incompact3D algorithm at a very high level.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=dp), | public | :: | dt | ||||
| real(kind=dp), | public | :: | nu | ||||
| real(kind=dp), | public, | dimension(:), allocatable | :: | nu_species | |||
| integer, | public | :: | n_iters | ||||
| integer, | public | :: | n_output | ||||
| integer, | public | :: | current_iter | = | 0 | ||
| integer, | public | :: | ngrid | ||||
| integer, | public | :: | nvars | = | 3 | ||
| integer, | public | :: | nspecies | = | 0 | ||
| class(field_t), | public, | pointer | :: | u | |||
| class(field_t), | public, | pointer | :: | v | |||
| class(field_t), | public, | pointer | :: | w | |||
| type(flist_t), | public, | dimension(:), pointer | :: | species | => | null() | |
| class(base_backend_t), | public, | pointer | :: | backend | |||
| type(mesh_t), | public, | pointer | :: | mesh | |||
| type(time_intg_t), | public | :: | time_integrator | ||||
| type(allocator_t), | public, | pointer | :: | host_allocator | |||
| type(dirps_t), | public, | pointer | :: | xdirps | |||
| type(dirps_t), | public, | pointer | :: | ydirps | |||
| type(dirps_t), | public, | pointer | :: | zdirps | |||
| type(vector_calculus_t), | public | :: | vector_calculus | ||||
| type(ibm_t), | public | :: | ibm | ||||
| logical, | public | :: | ibm_on | ||||
| procedure(poisson_solver), | public, | pointer | :: | poisson | => | null() | |
| procedure(transport_equation), | public, | pointer | :: | transeq | => | null() | 
| public function init (backend, mesh, host_allocator) | 
| procedure, public :: transeq_species | |
| procedure, public :: pressure_correction | |
| procedure, public :: divergence_v2p | |
| procedure, public :: gradient_p2v | |
| procedure, public :: curl | 
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(base_backend_t), | intent(inout), | target | :: | backend | ||
| type(mesh_t), | intent(inout), | target | :: | mesh | ||
| type(allocator_t), | intent(inout), | target | :: | host_allocator | 
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(dirps_t), | intent(inout) | :: | dirps | |||
| class(base_backend_t), | intent(in) | :: | backend | |||
| type(mesh_t), | intent(in) | :: | mesh | |||
| character(len=*), | intent(in) | :: | der1st_scheme | |||
| character(len=*), | intent(in) | :: | der2nd_scheme | |||
| character(len=*), | intent(in) | :: | interpl_scheme | |||
| character(len=*), | intent(in) | :: | stagder_scheme | 
Skew-symmetric form of convection-diffusion terms in the incompressible Navier-Stokes momemtum equations, excluding pressure terms. Inputs from velocity grid and outputs to velocity grid.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solver_t) | :: | self | ||||
| type(flist_t), | intent(inout) | :: | rhs(:) | |||
| type(flist_t), | intent(inout) | :: | variables(:) | 
Wrapper for curl
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solver_t) | :: | self | ||||
| class(field_t), | intent(inout) | :: | o_i_hat | Vector components of the output vector field Omega | ||
| class(field_t), | intent(inout) | :: | o_j_hat | Vector components of the output vector field Omega | ||
| class(field_t), | intent(inout) | :: | o_k_hat | Vector components of the output vector field Omega | ||
| class(field_t), | intent(in) | :: | u | |||
| class(field_t), | intent(in) | :: | v | |||
| class(field_t), | intent(in) | :: | w |