Generate the simple single level mesh of a slice in the full cube.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_global_type), | intent(out) | :: | me |
Structure to load the mesh to |
||
type(flu_State) | :: | conf |
Directory containing the mesh informations |
|||
integer, | intent(in) | :: | thandle |
Handle for the table to read the description of the mesh from. |
||
integer, | intent(in) | :: | myPart |
Partition to use on the calling process (= MPI Rank in comm) |
||
integer, | intent(in) | :: | nParts |
Number of partitions, the mesh is partitioned into (= Number of MPI processes in comm). |
||
integer, | intent(in) | :: | comm |
MPI Communicator to use |
subroutine gen_treelm_slice_global( me, conf, thandle, myPart, nParts, comm ) ! -------------------------------------------------------------------- ! !> Structure to load the mesh to type(tem_global_type), intent(out) :: me !> Directory containing the mesh informations type(flu_State) :: conf !> Handle for the table to read the description !! of the mesh from. integer, intent(in) :: thandle !> Partition to use on the calling process (= MPI Rank in comm) integer, intent(in) :: myPart !> Number of partitions, the mesh is partitioned into (= Number of MPI !! processes in comm). integer, intent(in) :: nParts !> MPI Communicator to use integer, intent(in) :: comm ! -------------------------------------------------------------------- ! integer :: iError integer :: orig_err(3) ! -------------------------------------------------------------------- ! write(logUnit(1),*)'Creating HEADER for a slice mesh without boundaries' me%nParts = nParts me%myPart = myPart me%comm = comm ! Get the origin of the cube: call aot_get_val( L = conf, & & thandle = thandle, & & key = 'origin', & & val = me%origin, & & ErrCode = orig_err, & & default = [0.0_rk, 0.0_rk, 0.0_rk] ) ! Get the length of the cube: call aot_get_val( L = conf, & & thandle = thandle, & & val = me%BoundingCubeLength, & & ErrCode = iError, & & key = 'length', & & default = 1.0_rk ) ! Get the refinement level: call aot_get_val( L = conf, & & thandle = thandle, & & val = me%minlevel, & & ErrCode = iError, & & key = 'refinementLevel' ) me%label = 'Generic_Slice' me%predefined = 'slice' if (me%minlevel == 0) then me%BoundingCubeLength = me%BoundingCubeLength*2 me%minlevel = 1 me%label = 'Generic_Single' me%predefined = 'single' end if me%maxLevel = me%minLevel write(me%comment,'(a15,i7,a16,i2,a1)') & & 'Generated with ', nParts, ' parts on Level ', me%minlevel, '.' me%dirname = './' ! Only boundary property in this mesh. me%nProperties = 1 if (associated(me%Property)) deallocate(me%property) allocate(me%Property(me%nProperties)) end subroutine gen_treelm_slice_global