solid_set Derived Type

type, public :: solid_set

Collection of solids


Inherits

type~~solid_set~~InheritsGraph type~solid_set solid_set type~block_obj block_obj type~solid_set->type~block_obj block type~parallel_obj parallel_obj type~solid_set->type~parallel_obj parallel type~solid_obj solid_obj type~solid_set->type~solid_obj p type~block_obj->type~parallel_obj parallel MPI_Datatype MPI_Datatype type~block_obj->MPI_Datatype gc_slab_r, gc_slab_i type~axis_obj axis_obj type~block_obj->type~axis_obj axis, axis_partition type~hdf5_obj hdf5_obj type~block_obj->type~hdf5_obj hdf5 type~parallel_obj->MPI_Datatype REAL_SP, REAL_DP, REAL_WP, COMPLEX_SP, COMPLEX_DP, COMPLEX_WP, INTEGER, INT8, LOGICAL type~communicators communicators type~parallel_obj->type~communicators comm type~patch patch type~parallel_obj->type~patch rank type~marker_set marker_set type~solid_obj->type~marker_set MPI_Comm MPI_Comm type~communicators->MPI_Comm w, g type~hdf5_obj->type~parallel_obj parallel type~hashtbl_obj hashtbl_obj type~hdf5_obj->type~hashtbl_obj tbl type~bc_set bc_set type~marker_set->type~bc_set bcs type~lagrangian_set lagrangian_set type~marker_set->type~lagrangian_set type~monitor_set monitor_set type~marker_set->type~monitor_set monitors type~op_obj op_obj type~marker_set->type~op_obj op type~parser_obj parser_obj type~marker_set->type~parser_obj parser type~timer_obj timer_obj type~marker_set->type~timer_obj timer type~bc_set->type~block_obj block type~bc_set->type~parallel_obj parallel type~bc_set->type~hdf5_obj hdf5 type~bc_set->type~hashtbl_obj tbl type~region_obj region_obj type~bc_set->type~region_obj region type~sllist_obj sllist_obj type~hashtbl_obj->type~sllist_obj vec type~lagrangian_set->type~block_obj block type~lagrangian_set->type~parallel_obj parallel type~lagrangian_set->MPI_Datatype MPI_TYPE type~lagrangian_obj lagrangian_obj type~lagrangian_set->type~lagrangian_obj p, sample type~monitor_set->type~parallel_obj parallel type~monitor_set->type~hashtbl_obj tbl type~monitor_obj monitor_obj type~monitor_set->type~monitor_obj m type~op_obj->type~block_obj block type~op_obj->type~parallel_obj parallel type~entry_obj entry_obj type~parser_obj->type~entry_obj entries type~timer_obj->type~parallel_obj parallel type~timer_obj->type~hashtbl_obj tbl type~timer_obj->type~parser_obj parser type~column_obj column_obj type~monitor_obj->type~column_obj col type~region_obj->type~block_obj region type~region_obj->type~hashtbl_obj tbl type~bc_obj bc_obj type~region_obj->type~bc_obj BC type~sllist_obj->type~sllist_obj child

Components

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


Type-Bound Procedures

procedure, public :: Communicate => solid_set_Communicate

  • private impure subroutine solid_set_Communicate(this)

    Communicates markers of all solids in this set.

    Arguments

    Type IntentOptional Attributes Name
    class(solid_set), intent(inout) :: this

    A collection of solids

procedure, public :: Filter => solid_set_Filter

  • private impure subroutine solid_set_Filter(this, var, field)

    Filters a quantity to the Eulerian grid.

    Arguments

    Type IntentOptional Attributes Name
    class(solid_set), intent(inout) :: this

    A collection of solids

    character(len=*), intent(in) :: var

    Variable to compute

    type(eulerian_obj_r), intent(inout) :: field

    Filtered quantity

procedure, public :: Finalize => solid_set_Final

  • private impure subroutine solid_set_Final(this)

    Finalizes object and frees memory.

    Arguments

    Type IntentOptional Attributes Name
    class(solid_set), intent(inout) :: this

    A collection of solids

procedure, public :: Initialize => solid_set_Init

  • private impure subroutine solid_set_Init(this, name, nobj, block, parallel)

    Initializes a collection of solids.

    Arguments

    Type IntentOptional Attributes Name
    class(solid_set), intent(inout) :: this

    A collection of solids

    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 to link with

procedure, public :: Localize => solid_set_Localize

  • private impure subroutine solid_set_Localize(this)

    Localizes markers of all solids in this set on the grid.

    Arguments

    Type IntentOptional Attributes Name
    class(solid_set), intent(inout) :: this

    A collection of solids

procedure, public :: Read => solid_set_ReadH5HUT

  • private impure subroutine solid_set_ReadH5HUT(this, iter, time)

    Reads all solids from disk using H5HUT.

    Arguments

    Type IntentOptional Attributes Name
    class(solid_set), intent(inout) :: this

    A collection of solids

    integer, intent(out) :: iter

    Iteration at write

    real(kind=wp), intent(out) :: time

    Time at write

procedure, public :: ReadH5HUT => solid_set_ReadH5HUT

  • private impure subroutine solid_set_ReadH5HUT(this, iter, time)

    Reads all solids from disk using H5HUT.

    Arguments

    Type IntentOptional Attributes Name
    class(solid_set), intent(inout) :: this

    A collection of solids

    integer, intent(out) :: iter

    Iteration at write

    real(kind=wp), intent(out) :: time

    Time at write

procedure, public :: ReadHDF5 => solid_set_ReadHDF5

  • private impure subroutine solid_set_ReadHDF5(this, iter, time)

    Reads all solids from disk using HDF5.

    Arguments

    Type IntentOptional Attributes Name
    class(solid_set), intent(inout) :: this

    A collection of solids

    integer, intent(out) :: iter

    Iteration at write

    real(kind=wp), intent(out) :: time

    Time at write

procedure, public :: SetFilterKernel => solid_set_SetFilterKernel

  • private impure subroutine solid_set_SetFilterKernel(this, kernel_interp, kernel_extrap)

    Selects interpolation and extrapolation kernels.

    Arguments

    Type IntentOptional Attributes Name
    class(solid_set), intent(inout) :: this

    A collection of solids

    integer, intent(in) :: kernel_interp

    Filter kernel for interpolations

    integer, intent(in) :: kernel_extrap

    Filter kernel for extrapolations

procedure, public :: SetFilterSize => solid_set_SetFilterSize

  • private impure subroutine solid_set_SetFilterSize(this, l_filter)

    Changes filter size to desired value.

    Arguments

    Type IntentOptional Attributes Name
    class(solid_set), intent(inout) :: this

    A collection of solids

    real(kind=wp), intent(in) :: l_filter

    Filter size

procedure, public :: SetOverwrite => solid_set_SetOverwrite

  • private pure subroutine solid_set_SetOverwrite(this, overwrite)

    Sets file overwritting

    Arguments

    Type IntentOptional Attributes Name
    class(solid_set), intent(inout) :: this

    A collection of solids

    logical, intent(in) :: overwrite

    Toggle

procedure, public :: SetReadFileName => solid_set_SetReadFileName

  • private pure subroutine solid_set_SetReadFileName(this, name)

    Sets the names of files to read.

    Arguments

    Type IntentOptional Attributes Name
    class(solid_set), intent(inout) :: this

    A collection of solids

    character(len=*), intent(in) :: name

    Name of file

procedure, public :: SetWriteFileName => solid_set_SetWriteFileName

  • private pure subroutine solid_set_SetWriteFileName(this, name)

    Sets the names of files to write.

    Arguments

    Type IntentOptional Attributes Name
    class(solid_set), intent(inout) :: this

    A collection of solids

    character(len=*), intent(in) :: name

    Name of file

procedure, public :: Write => solid_set_WriteH5HUT

  • private impure subroutine solid_set_WriteH5HUT(this, iter, time)

    Writes all solids to disk using H5HUT.

    Arguments

    Type IntentOptional Attributes Name
    class(solid_set), intent(inout) :: this

    A collection of solids

    integer, intent(in) :: iter

    Iteration at write

    real(kind=wp), intent(in) :: time

    Time at write

procedure, public :: WriteH5HUT => solid_set_WriteH5HUT

  • private impure subroutine solid_set_WriteH5HUT(this, iter, time)

    Writes all solids to disk using H5HUT.

    Arguments

    Type IntentOptional Attributes Name
    class(solid_set), intent(inout) :: this

    A collection of solids

    integer, intent(in) :: iter

    Iteration at write

    real(kind=wp), intent(in) :: time

    Time at write

procedure, public :: WriteHDF5 => solid_set_WriteHDF5

  • private impure subroutine solid_set_WriteHDF5(this, iter, time)

    Writes all solids to disk using HDF5. Add some attributes

    Arguments

    Type IntentOptional Attributes Name
    class(solid_set), intent(inout) :: this

    A collection of solids

    integer, intent(in) :: iter

    Iteration at write

    real(kind=wp), intent(in) :: time

    Time at write