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 | ||
type(field_t), | public, | pointer | :: | ep1 | => | null() |
private function init (backend, mesh, host_allocator) | Initialize the basic IBM |
procedure, public :: body |