Tools to represent a collection of immersed solids using surface markers
An object that represents a solid
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=WP), | public | :: | Ac(3) |
Angluar velocity of center of mass |
|||
| integer, | public | :: | MPI_SIZE | = | 44 |
MPI size |
|
| type(MPI_Datatype), | public | :: | MPI_TYPE |
MPI variable type |
|||
| integer, | public | :: | R_chunk_size |
Read chunk size |
|||
| type(block_obj), | public, | pointer | :: | block | => | null() |
Associated block structure |
| integer, | public | :: | count | = | 0 |
Total count across all MPI ranks |
|
| integer, | public | :: | count_ | = | 0 |
Local count for this rank |
|
| integer, | public, | allocatable | :: | count_proc(:) |
|
||
| real(kind=WP), | public | :: | fr | = | 0.0_WP |
Frequency of oscillation |
|
| procedure(kernel_1D), | public, | nopass, pointer | :: | g1ex | => | int_g1_triangle |
1D kernel used in extrapolations |
| procedure(kernel_1D), | public, | nopass, pointer | :: | g1in | => | g1_triangle |
1D kernel used in interpolations |
| logical, | public | :: | is_initialized | = | .false. |
Flag to determine whether this has been initialized |
|
| real(kind=wp), | public | :: | l_filter |
Half filter width |
|||
| type(monitor_set), | public, | pointer | :: | monitors | => | null() |
Monitors to print to stdout and files |
| integer, | public | :: | motion | = | 0 |
Type of motion |
|
| character(len=:), | public, | allocatable | :: | name |
Name of the Lagrangian set |
||
| type(op_obj), | public, | pointer | :: | op | => | null() |
operators object |
| logical, | public | :: | overwrite | = | .true. |
Switch to overwrite IO files |
|
| class(lagrangian_obj), | public, | allocatable | :: | p(:) |
Array of Lagrangian_obj or any extended type |
||
| type(parallel_obj), | public, | pointer | :: | parallel | => | null() |
Associated parallel structure |
| type(parser_obj), | public, | pointer | :: | parser | => | null() |
Parser for input file |
| character(len=str64), | public | :: | read_file |
file to read |
|||
| class(lagrangian_obj), | public, | allocatable | :: | sample |
Sample used in allocation of polymorphic data |
||
| integer, | public | :: | stib | = | 3 |
Stencil size for filtering |
|
| type(timer_obj), | public, | pointer | :: | timer | => | null() |
Timer utility |
| real(kind=WP), | public | :: | vc(3) |
velocity of center of mass |
|||
| character(len=str64), | public | :: | write_file |
file to write |
|||
| real(kind=WP), | public | :: | xc(3) |
position of center of mass |
Collection of solid_obj
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(block_obj), | public, | pointer | :: | block | => | null() |
Associated block structure |
| integer, | public | :: | count | = | 0 |
Total count of solid_obj |
|
| character(len=:), | public, | allocatable | :: | name |
Name of the collection of solid_obj |
||
| logical, | public | :: | overwrite | = | .true. |
Switch to overwrite IO files |
|
| type(solid_obj), | public, | allocatable | :: | p(:) |
Array of solid_obj |
||
| type(parallel_obj), | public, | pointer | :: | parallel | => | null() |
Associated parallel structure |
| character(len=str64), | public | :: | read_file |
file to read |
|||
| character(len=str64), | public | :: | write_file |
file to write |
| procedure, public :: Communicate => solid_set_Communicate | |
| procedure, public :: Filter => solid_set_Filter | |
| procedure, public :: Finalize => solid_set_Final | |
| procedure, public :: Initialize => solid_set_Init | |
| procedure, public :: Localize => solid_set_Localize | |
| procedure, public :: Read => solid_set_Read | |
| procedure, public :: SetFilterKernel => solid_set_SetFilterKernel | |
| procedure, public :: SetFilterSize => solid_set_SetFilterSize | |
| procedure, public :: SetOverwrite => solid_set_SetOverwrite | |
| procedure, public :: SetReadFileName => solid_set_SetReadFileName | |
| procedure, public :: SetWriteFileName => solid_set_SetWriteFileName | |
| procedure, public :: Write => solid_set_Write |
Communicate markers contained in all solid_obj
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solid_set), | intent(inout) | :: | this |
A collection of solid_obj |
Filter a quantity to the Eulerian grid
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solid_set), | intent(inout) | :: | this |
A collection of solid_obj |
||
| character(len=*), | intent(in) | :: | var |
Variable to compute |
||
| type(eulerian_obj_r), | intent(inout) | :: | field |
Filtered quantity |
Finalize
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solid_set), | intent(inout) | :: | this |
A collection of solid_obj |
Initialize a collection of solid_obj
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solid_set), | intent(inout) | :: | this |
A collection of solid_obj |
||
| character(len=*), | intent(in) | :: | name |
Name of variable |
||
| integer, | intent(in) | :: | nobj |
Number of solid_obj |
||
| type(block_obj), | intent(in), | target | :: | block |
A block object |
|
| type(parallel_obj), | intent(in), | target | :: | parallel |
parallel structure from main program |
Localize markers on the gril for all solid_obj
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solid_set), | intent(inout) | :: | this |
A collection of solid_obj |
Read all solid_obj
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solid_set), | intent(inout) | :: | this |
A collection of solid_obj |
||
| integer, | intent(out) | :: | iter |
Iteration at write |
||
| real(kind=wp), | intent(out) | :: | time |
Time at write |
Select interp/extrap kernels
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solid_set), | intent(inout) | :: | this |
A collection of solid_obj |
||
| integer, | intent(in) | :: | kernel_interp |
Filter kernel for interpolations |
||
| integer, | intent(in) | :: | kernel_extrap |
Filter kernel for extrapolations |
Change filter size to desired value
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solid_set), | intent(inout) | :: | this |
A collection of solid_obj |
||
| real(kind=wp), | intent(in) | :: | l_filter |
Filter size |
Set file overwritting
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solid_set), | intent(inout) | :: | this |
A collection of solid_obj |
||
| logical, | intent(in) | :: | overwrite |
Toggle |
Set the names of files to read
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solid_set), | intent(inout) | :: | this |
A collection of solid_obj |
||
| character(len=*), | intent(in) | :: | name |
Name of file |
Set the names of files to write
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solid_set), | intent(inout) | :: | this |
A collection of solid_obj |
||
| character(len=*), | intent(in) | :: | name |
Name of file |
Write all solid_obj
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solid_set), | intent(inout) | :: | this |
A collection of solid_obj |
||
| integer, | intent(in) | :: | iter |
Iteration at write |
||
| real(kind=wp), | intent(in) | :: | time |
Time at write |