ResPart_set_Init Subroutine

private impure subroutine ResPart_set_Init(this, name, block, parallel)

Initializes the ResPart_set type. This subourtine replaces the inheritted lagrangian_init.

Type Bound

ResPart_set

Arguments

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

Set of resolved partilces

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

Name of instance

type(block_obj), intent(in), target :: block

A block object

type(parallel_obj), intent(in), target :: parallel

Parallel structure to link with


Calls

proc~~respart_set_init~~CallsGraph proc~respart_set_init ResPart_set%ResPart_set_Init none~initialize~27 marker_set%Initialize proc~respart_set_init->none~initialize~27 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~27->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

Called by

proc~~respart_set_init~~CalledByGraph proc~respart_set_init ResPart_set%ResPart_set_Init none~initialize~27 marker_set%Initialize proc~respart_set_init->none~initialize~27 none~initialize~26 ResPart_set%Initialize none~initialize~26->proc~respart_set_init none~initialize~27->proc~respart_set_init none~initialize~28 particle_set%Initialize none~initialize~28->proc~respart_set_init none~initialize~29 solid_obj%Initialize none~initialize~29->proc~respart_set_init proc~cdifs_obj_preparesolver cdifs_obj_PrepareSolver proc~cdifs_obj_preparesolver->none~initialize~26 proc~grans_obj_preparesolver grans_obj_PrepareSolver proc~grans_obj_preparesolver->none~initialize~27 proc~setupcaseib SetUpCaseIB proc~setupcaseib->none~initialize~27 proc~setupcaseib~2 SetUpCaseIB proc~setupcaseib~2->none~initialize~27 proc~setupcaseib~3 SetUpCaseIB proc~setupcaseib~3->none~initialize~27 proc~setupcaseib~4 SetUpCaseIB proc~setupcaseib~4->none~initialize~27 proc~setupcasepp SetUpCasePP proc~setupcasepp->none~initialize~28 proc~setupcasepp~2 SetUpCasePP proc~setupcasepp~2->none~initialize~28 proc~setupcaserespart SetUpCaseResPart proc~setupcaserespart->none~initialize~26 proc~setupcaserespart~2 SetUpCaseResPart proc~setupcaserespart~2->none~initialize~26 proc~setupcaserp SetUpCaseRP proc~setupcaserp->none~initialize~26 proc~setupcaserp~2 SetUpCaseRP proc~setupcaserp~2->none~initialize~26 proc~setupcaserp~3 SetUpCaseRP proc~setupcaserp~3->none~initialize~26 proc~solid_set_init solid_set%solid_set_Init proc~solid_set_init->none~initialize~29 interface~cdifs_obj_preparesolver cdifs_obj%cdifs_obj_PrepareSolver interface~cdifs_obj_preparesolver->proc~cdifs_obj_preparesolver interface~grans_obj_preparesolver grans_obj%grans_obj_PrepareSolver interface~grans_obj_preparesolver->proc~grans_obj_preparesolver program~main main program~main->proc~setupcaserespart program~main~14 main program~main~14->proc~setupcaseib~4 program~main~2 main program~main~2->proc~setupcaseib program~main~2->proc~setupcaserp program~main~4 main program~main~4->proc~setupcaseib~2 program~main~4->proc~setupcaserp~2 program~main~6 main program~main~6->proc~setupcasepp program~main~6->proc~setupcaserp~3 program~main~7 main program~main~7->proc~setupcasepp~2 program~main~9 main program~main~9->proc~setupcaseib~3 program~main~9->proc~setupcaserespart~2

Source Code

    impure subroutine ResPart_set_Init(this,name,block,parallel)
      !> Initializes the ResPart_set type.
      ! This subourtine replaces the inheritted lagrangian_init.
      class(ResPart_set), intent(inout) :: this                                !! Set of resolved partilces
      character(len=*),   intent(in)    :: name                                !! Name of instance
      type(block_obj),    intent(in),    &
                                 target :: block                               !! A block object
      type(parallel_obj), intent(in),    &
                                 target :: parallel                            !! Parallel structure to link with

      ! Point to the master objects
      this%parallel => parallel
      this%block    => block

      ! Allocate arrays
      allocate(this%count_proc(this%parallel%nproc))
      this%count_proc(:)=0

      ! Set name of variable
      this%name=trim(adjustl(name))

      ! Set sample type
      call this%SetObjectType()

      ! Initialize array with length zero
      this%count_ = 0
      call this%Resize(this%count_)

      ! Create MPI type
      call this%CreateMPIType

      ! Initialize immersed boundary
      call this%ib%Initialize(trim(adjustl(this%name))//'_markers',this%block,this%parallel)

      ! Turn on flag
      this%is_initialized = .true.

      return
    end subroutine ResPart_set_Init