solid_set_Init Subroutine

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

Initializes a collection of solids.

Type Bound

solid_set

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


Calls

proc~~solid_set_init~~CallsGraph proc~solid_set_init solid_set%solid_set_Init none~initialize~27 solid_obj%Initialize proc~solid_set_init->none~initialize~27 proc~solid_set_setoverwrite solid_set%solid_set_SetOverwrite proc~solid_set_init->proc~solid_set_setoverwrite proc~solid_set_setreadfilename solid_set%solid_set_SetReadFileName proc~solid_set_init->proc~solid_set_setreadfilename proc~solid_set_setwritefilename solid_set%solid_set_SetWriteFileName proc~solid_set_init->proc~solid_set_setwritefilename proc~respart_set_init ResPart_set%ResPart_set_Init none~initialize~27->proc~respart_set_init none~initialize~26 marker_set%Initialize proc~respart_set_init->none~initialize~26 proc~lagrangian_set_creatempitype lagrangian_set%lagrangian_set_CreateMPIType proc~respart_set_init->proc~lagrangian_set_creatempitype proc~lagrangian_set_resize lagrangian_set%lagrangian_set_Resize proc~respart_set_init->proc~lagrangian_set_resize proc~respart_set_setobjecttype ResPart_set%ResPart_set_SetObjectType proc~respart_set_init->proc~respart_set_setobjecttype none~initialize~26->proc~respart_set_init SetMPIDataTypeParams SetMPIDataTypeParams proc~lagrangian_set_creatempitype->SetMPIDataTypeParams mpi_type_commit mpi_type_commit proc~lagrangian_set_creatempitype->mpi_type_commit mpi_type_create_resized mpi_type_create_resized proc~lagrangian_set_creatempitype->mpi_type_create_resized mpi_type_create_struct mpi_type_create_struct proc~lagrangian_set_creatempitype->mpi_type_create_struct mpi_type_get_extent mpi_type_get_extent proc~lagrangian_set_creatempitype->mpi_type_get_extent mpi_type_size mpi_type_size proc~lagrangian_set_creatempitype->mpi_type_size

Source Code

    impure subroutine solid_set_Init(this,name,nobj,block,parallel)
      !> Initializes a collection of solids.
      implicit none
      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
      ! Work variables
      integer :: n
      character(len=str64)  :: my_name

      ! Associate
      this%block    => block
      this%parallel => parallel

      this%name      = trim(adjustl(name))

      ! Set default values for IO files
      call this%SetWriteFileName(this%name)
      call this%SetReadFileName(this%name)
      call this%SetOverwrite(.true.)

      ! Set number of solids
      this%count=nobj
      allocate(this%p(this%count))

      ! Store name
      do n=1,this%count
        write(my_name,fmt='(a,i6.6)') trim(adjustl(name))//'_',n
        call this%p(n)%Initialize(trim(adjustl(my_name)), this%block,this%parallel)
      end do

      return
    end subroutine solid_set_Init