This module implements the IBM capabilities.
When iibm = 0, the IBM object is never used.
When iibm = 1, the basic IBM capability is used. It only requires ep1, a 3D field, as input. This field should be one (zero) in the fluid (solid) domain.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public, | parameter | :: | iibm_basic | = | 1 |
Initialize the basic IBM
| 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 | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| class(base_backend_t), | public, | pointer | :: | backend | => | null() | |
| class(mesh_t), | public, | pointer | :: | mesh | => | null() | |
| type(allocator_t), | public, | pointer | :: | host_allocator | => | null() | |
| integer, | public | :: | iibm | = | 0 | ||
| class(field_t), | public, | pointer | :: | ep1 | => | null() |
| private function init (backend, mesh, host_allocator) | Initialize the basic IBM |
| procedure, public :: body |