Abstract immersed boundary module to set boundary conditions at targets
Writes immersed boundary data to NetCDF id
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(immersed_t), | intent(in) | :: | self |
Instance of class |
||
| integer, | intent(in) | :: | fgid |
NetCDF file or group id |
Reads immersed boundary data from NetCDF id
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(immersed_t), | intent(inout) | :: | self |
Instance of class |
||
| integer, | intent(in) | :: | fgid |
NetCDF file or group id |
Initialises the immersed boundary fields charfun and dirind, depending on specialised implementation
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(immersed_t), | intent(inout) | :: | self |
Instance of type |
||
| class(equilibrium_t), | intent(inout) | :: | equi |
Equilibrium |
||
| type(mesh_cart_t), | intent(in) | :: | mesh |
Mesh |
||
| character(len=*), | intent(in), | optional | :: | filename |
Filename, where to read parameters from, if not provided default parameters will be used |
Writes basic information of immersed boundary to stdout
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(immersed_t), | intent(in) | :: | self |
Instance of type |
Abstract immersed boundary type
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=FP), | public, | allocatable, dimension(:) | :: | charfun |
Characteristic function of immersed boundary, commonly referred chi |
||
| real(kind=FP), | public, | allocatable, dimension(:) | :: | dirindfun |
Function indicating direction of magnetic field (towards/away from target), commonly referred xi |
||
| integer, | public, | allocatable, dimension(:) | :: | inds |
Mesh indices which lie in immersed boundary region |
||
| integer, | public | :: | n_inds |
Size of inds |
|||
| integer, | public, | allocatable, dimension(:) | :: | adj_inds |
Mesh indices, which are adjacent to the immersed boundary region |
||
| integer, | public | :: | n_adj_inds |
Size of adj_inds |
| procedure(init), public, deferred :: init | |
| procedure(display), public, deferred :: display | |
| procedure, public :: build_inds | |
| procedure, public :: build_adj_inds | |
| procedure, public :: write_netcdf => write_netcdf_immersed | |
| procedure, public :: read_netcdf => read_netcdf_immersed |
Computes inds. The construction is common to all derived immersed types
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(immersed_t), | intent(inout) | :: | self |
Instance of type |
||
| type(mesh_cart_t), | intent(in) | :: | mesh |
Mesh |
Computes adj_inds. The construction is common to all derived immersed types
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(immersed_t), | intent(inout) | :: | self |
Instance of type |
||
| type(mesh_cart_t), | intent(in) | :: | mesh |
Mesh |