Initialize lagrangian objects related IO.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(lagrangian_set), | intent(inout) | :: | this |
A set of Lagrangian objects |
||
| character(len=*), | intent(in) | :: | name |
Variable name |
||
| type(block_obj), | intent(in), | target | :: | block |
A block object |
|
| type(parallel_obj), | intent(in), | target | :: | parallel |
Parallel structure to link with |
impure subroutine lagrangian_set_Init(this,name,block,parallel) !> Initialize lagrangian objects related IO. implicit none class(lagrangian_set), intent(inout) :: this !! A set of Lagrangian objects character(len=*), intent(in) :: name !! Variable name 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 call this%Resize(0) ! Create MPI type this%MPI_TYPE = MPI_DATATYPE_NULL call this%CreateMPIType ! Turn on flag this%is_initialized = .true. return end subroutine lagrangian_set_Init