grans_obj_PrepareSolverFields Subroutine

subroutine grans_obj_PrepareSolverFields(this)

Prepares fields used by the GRANS solver.

Arguments

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

GRANS solver


Calls

proc~~grans_obj_preparesolverfields~~CallsGraph proc~grans_obj_preparesolverfields grans_obj_PrepareSolverFields none~get~4 parser_obj%Get proc~grans_obj_preparesolverfields->none~get~4 proc~eulerian_set_add eulerian_set%eulerian_set_Add proc~grans_obj_preparesolverfields->proc~eulerian_set_add proc~eulerian_set_init eulerian_set%eulerian_set_Init proc~grans_obj_preparesolverfields->proc~eulerian_set_init proc~eulerian_set_setoverwrite eulerian_set%eulerian_set_SetOverwrite proc~grans_obj_preparesolverfields->proc~eulerian_set_setoverwrite proc~eulerian_set_setwritefilename eulerian_set%eulerian_set_SetWriteFileName proc~grans_obj_preparesolverfields->proc~eulerian_set_setwritefilename proc~parser_obj_read0d parser_obj%parser_obj_read0D none~get~4->proc~parser_obj_read0d proc~parser_obj_read1d parser_obj%parser_obj_read1D none~get~4->proc~parser_obj_read1d proc~eulerian_obj_init eulerian_obj_base%eulerian_obj_Init proc~eulerian_set_add->proc~eulerian_obj_init proc~hashtbl_obj_hashstring hashtbl_obj%hashtbl_obj_HashString proc~eulerian_set_add->proc~hashtbl_obj_hashstring proc~hashtbl_obj_put hashtbl_obj%hashtbl_obj_Put proc~eulerian_set_add->proc~hashtbl_obj_put proc~hashtbl_obj_init hashtbl_obj%hashtbl_obj_Init proc~eulerian_set_init->proc~hashtbl_obj_init proc~sllist_obj_put sllist_obj%sllist_obj_Put proc~hashtbl_obj_put->proc~sllist_obj_put none~assigndefault parser_obj%AssignDefault proc~parser_obj_read0d->none~assigndefault proc~parser_obj_fetchlabelid parser_obj%parser_obj_FetchLabelID proc~parser_obj_read0d->proc~parser_obj_fetchlabelid proc~parser_obj_read1d->none~assigndefault proc~parser_obj_read1d->proc~parser_obj_fetchlabelid proc~parser_obj_assigndefault0d parser_obj%parser_obj_AssignDefault0D none~assigndefault->proc~parser_obj_assigndefault0d proc~parser_obj_assigndefault1d parser_obj%parser_obj_AssignDefault1D none~assigndefault->proc~parser_obj_assigndefault1d proc~sllist_obj_put->proc~sllist_obj_put

Called by

proc~~grans_obj_preparesolverfields~~CalledByGraph proc~grans_obj_preparesolverfields grans_obj_PrepareSolverFields proc~grans_obj_preparesolver grans_obj_PrepareSolver proc~grans_obj_preparesolver->proc~grans_obj_preparesolverfields interface~grans_obj_preparesolver grans_obj%grans_obj_PrepareSolver interface~grans_obj_preparesolver->proc~grans_obj_preparesolver

Source Code

    subroutine grans_obj_PrepareSolverFields(this)
      !> Prepares fields used by the GRANS solver.
      implicit none
      class(grans_obj), intent(inout) :: this                                  !! GRANS solver
      ! Work variables
      character(len=str64) :: filename
      logical              :: overwrite

      call this%parser%Get('Fields write file',  filename)
      call this%parser%Get('Fields overwrite ',  overwrite, default=.true.)

      ! Initialize fields container
      call this%fields%Initialize(this%block,this%parallel)

      ! Set IO parameters
      call this%fields%SetWriteFileName(filename)
      call this%fields%SetOverwrite(overwrite)

      ! Add each field to main container.
      ! This will allocate the underlying arrays
      ! and facilitate IO.

      if (this%use_RP .or. this%use_IB) then
        call this%fields%Add('rhs',  0,this%rhs    )
        call this%fields%Add('ibS',  0, this%ibS   )
        call this%fields%Add('ibVF', 0, this%ibVF  )
        call this%fields%Add('ibF1', 1, this%ibF(1))
        call this%fields%Add('ibF2', 2, this%ibF(2))
        call this%fields%Add('ibF3', 3, this%ibF(3))
        call this%fields%Add('ibN1', 1, this%ibN(1))
        call this%fields%Add('ibN2', 2, this%ibN(2))
        call this%fields%Add('ibN3', 3, this%ibN(3))

        ! Intialize IB vol frac and ibS
        this%ibVF%cell = 0.0_wp
        this%ibS%cell  = 0.0_wp
      end if

      ! Initialize particle vol frac
      call this%fields%Add('PVF', 0,this%PVF  )
      this%PVF%cell  = 0.0_wp

      return
    end subroutine grans_obj_PrepareSolverFields