cdifs_obj_PrepareSolverOutput Subroutine

subroutine cdifs_obj_PrepareSolverOutput(this)

Prepares output list used by CDIFS.

Arguments

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

CDIFS solver


Calls

proc~~cdifs_obj_preparesolveroutput~~CallsGraph proc~cdifs_obj_preparesolveroutput cdifs_obj_PrepareSolverOutput none~get~4 parser_obj%Get proc~cdifs_obj_preparesolveroutput->none~get~4 proc~parser_obj_isdefined parser_obj%parser_obj_IsDefined proc~cdifs_obj_preparesolveroutput->proc~parser_obj_isdefined 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~parser_obj_fetchlabelid parser_obj%parser_obj_FetchLabelID proc~parser_obj_isdefined->proc~parser_obj_fetchlabelid proc~parser_obj_read0d->proc~parser_obj_fetchlabelid none~assigndefault parser_obj%AssignDefault proc~parser_obj_read0d->none~assigndefault proc~parser_obj_read1d->proc~parser_obj_fetchlabelid proc~parser_obj_read1d->none~assigndefault 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

Called by

proc~~cdifs_obj_preparesolveroutput~~CalledByGraph proc~cdifs_obj_preparesolveroutput cdifs_obj_PrepareSolverOutput proc~cdifs_obj_preparesolver cdifs_obj_PrepareSolver proc~cdifs_obj_preparesolver->proc~cdifs_obj_preparesolveroutput interface~cdifs_obj_preparesolver cdifs_obj%cdifs_obj_PrepareSolver interface~cdifs_obj_preparesolver->proc~cdifs_obj_preparesolver

Source Code

    subroutine cdifs_obj_PrepareSolverOutput(this)
      !> Prepares output list used by CDIFS.
      implicit none
      class(cdifs_obj), intent(inout) :: this                                  !! CDIFS solver
      ! Work variables
      character(len=str256) :: str
      integer               :: count
      integer               :: n

      if (.not.this%parser%IsDefined("Output data")) return

      ! Parse the output string
      ! Count number of outputs
      call this%parser%Get("Output data",  str )
      count = 0
      n     = 1
      do while (n.ne.0)
        count = count + 1
        str   = adjustl(str(n:len_trim(str)))
        n     = scan(trim(str),' ')
      end do

      ! Read the outputs
      allocate(this%outputs(count))
      call this%parser%Get("Output data",  this%outputs)

      ! Get names of fields to output
      ! Note: field names must match the actual names
      ! given in cdifs_obj_PrepareSolverFields
      this%output_var = [character(str8)::]
      do n=1,size(this%outputs)
       select case (this%outputs(n))
       case ('Vel')
         this%output_var = [character(str8) :: this%output_var(:), 'V1m', 'V2m', 'V3m']
       case ('P')
         this%output_var = [character(str8) :: this%output_var(:), 'P']
       case ('DIV')
         this%output_var = [character(str8) :: this%output_var(:), 'div']
       case ('ibS')
         if (this%use_RP .or. this%use_IB) &
           this%output_var = [character(str8) :: this%output_var(:), 'ibS']
       case ('ibF')
         if (this%use_RP .or. this%use_IB) &
           this%output_var = [character(str8) :: this%output_var(:), 'ibF1', 'ibF2', 'ibF3']
       case ('ibN')
         if (this%use_RP .or. this%use_IB) &
           this%output_var = [character(str8) :: this%output_var(:), 'ibN1', 'ibN2', 'ibN3']
       case ('ibVF')
         if (this%use_RP .or. this%use_IB) &
           this%output_var = [character(str8) :: this%output_var(:), 'ibVF']
       case ('ResPart')
         this%output_var = [character(str8) :: this%output_var(:), 'id', 'd','rho','u','v', 'w']
       case default
         call this%parallel%Stop("Unknown output variables in CDIFS: "//this%outputs(n))
       end select
      end do

      return
    end subroutine cdifs_obj_PrepareSolverOutput