eulerian_obj_Init Subroutine

private impure subroutine eulerian_obj_Init(this, name, block, parallel, stag)

Initializes an Eulerian field.

Type Bound

eulerian_obj_base

Arguments

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

An Eulerian object

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

Name of variable

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

A block object

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

Parallel structure to link with

integer, intent(in) :: stag

Staggering


Called by

proc~~eulerian_obj_init~~CalledByGraph proc~eulerian_obj_init eulerian_obj_base%eulerian_obj_Init proc~cdifs_advancesolutionmomentumrhs1 cdifs_AdvanceSolutionMomentumRHS1 proc~cdifs_advancesolutionmomentumrhs1->proc~eulerian_obj_init proc~cdifs_advancesolutionmomentumrhs2 cdifs_AdvanceSolutionMomentumRHS2 proc~cdifs_advancesolutionmomentumrhs2->proc~eulerian_obj_init proc~cdifs_advancesolutionmomentumrhs3 cdifs_AdvanceSolutionMomentumRHS3 proc~cdifs_advancesolutionmomentumrhs3->proc~eulerian_obj_init proc~eulerian_obj_addeulerianiobj eulerian_obj_base%eulerian_obj_AddEulerianIObj proc~eulerian_obj_addeulerianiobj->proc~eulerian_obj_init proc~eulerian_obj_addeulerianrobj eulerian_obj_base%eulerian_obj_AddEulerianRObj proc~eulerian_obj_addeulerianrobj->proc~eulerian_obj_init proc~eulerian_obj_mulint0d eulerian_obj_base%eulerian_obj_MulInt0D proc~eulerian_obj_mulint0d->proc~eulerian_obj_init proc~eulerian_obj_mulreal0d eulerian_obj_base%eulerian_obj_MulReal0D proc~eulerian_obj_mulreal0d->proc~eulerian_obj_init proc~eulerian_obj_subeulerianiobj eulerian_obj_base%eulerian_obj_SubEulerianIObj proc~eulerian_obj_subeulerianiobj->proc~eulerian_obj_init proc~eulerian_obj_subeulerianrobj eulerian_obj_base%eulerian_obj_SubEulerianRObj proc~eulerian_obj_subeulerianrobj->proc~eulerian_obj_init proc~eulerian_set_add eulerian_set%eulerian_set_Add proc~eulerian_set_add->proc~eulerian_obj_init proc~hypre_obj_setuprowsij hypre_obj%hypre_obj_SetupRowsIJ proc~hypre_obj_setuprowsij->proc~eulerian_obj_init proc~marker_set_getibforcing marker_set%marker_set_GetIBForcing proc~marker_set_getibforcing->proc~eulerian_obj_init proc~marker_set_updatenormals marker_set%marker_set_UpdateNormals proc~marker_set_updatenormals->proc~eulerian_obj_init proc~marker_set_updatesdf marker_set%marker_set_UpdateSDF proc~marker_set_updatesdf->proc~eulerian_obj_init proc~op_obj_conv11 op_obj%op_obj_conv11 proc~op_obj_conv11->proc~eulerian_obj_init proc~op_obj_intrp1 op_obj%op_obj_intrp1 proc~op_obj_conv11->proc~op_obj_intrp1 proc~op_obj_conv12 op_obj%op_obj_conv12 proc~op_obj_conv12->proc~eulerian_obj_init proc~op_obj_intrp2 op_obj%op_obj_intrp2 proc~op_obj_conv12->proc~op_obj_intrp2 proc~op_obj_conv13 op_obj%op_obj_conv13 proc~op_obj_conv13->proc~eulerian_obj_init proc~op_obj_intrp3 op_obj%op_obj_intrp3 proc~op_obj_conv13->proc~op_obj_intrp3 proc~op_obj_conv21 op_obj%op_obj_conv21 proc~op_obj_conv21->proc~eulerian_obj_init proc~op_obj_conv21->proc~op_obj_intrp1 proc~op_obj_conv22 op_obj%op_obj_conv22 proc~op_obj_conv22->proc~eulerian_obj_init proc~op_obj_conv22->proc~op_obj_intrp2 proc~op_obj_conv23 op_obj%op_obj_conv23 proc~op_obj_conv23->proc~eulerian_obj_init proc~op_obj_conv23->proc~op_obj_intrp3 proc~op_obj_conv31 op_obj%op_obj_conv31 proc~op_obj_conv31->proc~eulerian_obj_init proc~op_obj_conv31->proc~op_obj_intrp1 proc~op_obj_conv32 op_obj%op_obj_conv32 proc~op_obj_conv32->proc~eulerian_obj_init proc~op_obj_conv32->proc~op_obj_intrp2 proc~op_obj_conv33 op_obj%op_obj_conv33 proc~op_obj_conv33->proc~eulerian_obj_init proc~op_obj_conv33->proc~op_obj_intrp3 proc~op_obj_d1dx1 op_obj%op_obj_d1dx1 proc~op_obj_d1dx1->proc~eulerian_obj_init proc~op_obj_d1dx2 op_obj%op_obj_d1dx2 proc~op_obj_d1dx2->proc~eulerian_obj_init proc~op_obj_d1dx3 op_obj%op_obj_d1dx3 proc~op_obj_d1dx3->proc~eulerian_obj_init proc~op_obj_div op_obj%op_obj_div proc~op_obj_div->proc~eulerian_obj_init proc~op_obj_intrp1->proc~eulerian_obj_init proc~op_obj_intrp2->proc~eulerian_obj_init proc~op_obj_intrp3->proc~eulerian_obj_init proc~op_obj_strainrate op_obj%op_obj_StrainRate proc~op_obj_strainrate->proc~eulerian_obj_init proc~solid_set_filter solid_set%solid_set_Filter proc~solid_set_filter->proc~eulerian_obj_init proc~cdifs_obj_advancesolutionib cdifs_obj_AdvanceSolutionIB proc~cdifs_obj_advancesolutionib->proc~op_obj_intrp1 proc~cdifs_obj_advancesolutionib->proc~op_obj_intrp2 proc~cdifs_obj_advancesolutionib->proc~op_obj_intrp3 proc~respart_set_getibforcing ResPart_set%ResPart_set_GetIBForcing proc~cdifs_obj_advancesolutionib->proc~respart_set_getibforcing proc~respart_set_updatesdf ResPart_set%ResPart_set_UpdateSDF proc~cdifs_obj_advancesolutionib->proc~respart_set_updatesdf proc~cdifs_obj_advancesolutionpredictor cdifs_obj_AdvanceSolutionPredictor proc~cdifs_obj_advancesolutionpredictor->proc~cdifs_advancesolutionmomentumrhs1 proc~cdifs_obj_advancesolutionpredictor->proc~cdifs_advancesolutionmomentumrhs2 proc~cdifs_obj_advancesolutionpredictor->proc~cdifs_advancesolutionmomentumrhs3 proc~cdifs_obj_preparesolverfields cdifs_obj_PrepareSolverFields proc~cdifs_obj_preparesolverfields->proc~eulerian_set_add proc~cdifs_obj_writeoutputdata cdifs_obj_WriteOutputData proc~cdifs_obj_writeoutputdata->proc~op_obj_intrp1 proc~cdifs_obj_writeoutputdata->proc~op_obj_intrp2 proc~cdifs_obj_writeoutputdata->proc~op_obj_intrp3 proc~grans_obj_preparesolverfields grans_obj_PrepareSolverFields proc~grans_obj_preparesolverfields->proc~eulerian_set_add proc~hypre_obj_setup hypre_obj%hypre_obj_Setup proc~hypre_obj_setup->proc~hypre_obj_setuprowsij proc~marker_set_computesolidvolfrac marker_set%marker_set_ComputeSolidVolFrac proc~marker_set_computesolidvolfrac->proc~op_obj_div proc~marker_set_computesolidvolfrac->proc~hypre_obj_setup proc~respart_set_getibforcing->proc~marker_set_getibforcing proc~respart_set_getsurfacestresses ResPart_set%ResPart_set_GetSurfaceStresses proc~respart_set_getsurfacestresses->proc~op_obj_strainrate proc~respart_set_updatenormals ResPart_set%ResPart_set_UpdateNormals proc~respart_set_updatenormals->proc~marker_set_updatenormals proc~respart_set_updatesdf->proc~marker_set_updatesdf interface~cdifs_obj_writeoutputdata cdifs_obj%cdifs_obj_WriteOutputData interface~cdifs_obj_writeoutputdata->proc~cdifs_obj_writeoutputdata proc~cdifs_obj_advancesolution cdifs_obj_AdvanceSolution proc~cdifs_obj_advancesolution->proc~cdifs_obj_advancesolutionib proc~cdifs_obj_advancesolution->proc~cdifs_obj_advancesolutionpredictor proc~cdifs_obj_advancesolutionrp cdifs_obj_AdvanceSolutionRP proc~cdifs_obj_advancesolution->proc~cdifs_obj_advancesolutionrp proc~cdifs_obj_computesolidvf cdifs_obj%cdifs_obj_ComputeSolidVF proc~cdifs_obj_computesolidvf->proc~respart_set_updatenormals proc~cdifs_obj_preparesolver cdifs_obj_PrepareSolver proc~cdifs_obj_preparesolver->proc~cdifs_obj_preparesolverfields proc~cdifs_obj_preparesolver->proc~respart_set_updatesdf proc~cdifs_obj_preparesolver->interface~cdifs_obj_writeoutputdata proc~cdifs_obj_preparesolver->proc~cdifs_obj_computesolidvf proc~cdifs_obj_preparesolveroperators cdifs_obj_PrepareSolverOperators proc~cdifs_obj_preparesolver->proc~cdifs_obj_preparesolveroperators proc~cdifs_obj_preparesolveroperatorsplap cdifs_obj_PrepareSolverOperatorsPLAP proc~cdifs_obj_preparesolveroperatorsplap->proc~hypre_obj_setup proc~cdifs_obj_preparesolveroperatorsvflap cdifs_obj_PrepareSolverOperatorsVFLAP proc~cdifs_obj_preparesolveroperatorsvflap->proc~hypre_obj_setup proc~grans_obj_computesolidvf grans_obj%grans_obj_ComputeSolidVF proc~grans_obj_computesolidvf->proc~respart_set_updatenormals proc~grans_obj_preparesolver grans_obj_PrepareSolver proc~grans_obj_preparesolver->proc~grans_obj_preparesolverfields proc~grans_obj_preparesolver->proc~respart_set_updatesdf proc~grans_obj_preparesolver->proc~grans_obj_computesolidvf proc~grans_obj_preparesolveroperators grans_obj_PrepareSolverOperators proc~grans_obj_preparesolver->proc~grans_obj_preparesolveroperators interface~grans_obj_writeoutputdata grans_obj%grans_obj_WriteOutputData proc~grans_obj_preparesolver->interface~grans_obj_writeoutputdata proc~grans_obj_preparesolveroperators->proc~hypre_obj_setup proc~grans_obj_writeoutputdata grans_obj_WriteOutputData proc~grans_obj_writeoutputdata->proc~respart_set_updatesdf proc~grans_obj_writeoutputdata->proc~grans_obj_computesolidvf proc~respart_set_gethydroforces ResPart_set%ResPart_set_GetHydroForces proc~respart_set_gethydroforces->proc~respart_set_getsurfacestresses interface~cdifs_obj_advancesolution cdifs_obj%cdifs_obj_AdvanceSolution interface~cdifs_obj_advancesolution->proc~cdifs_obj_advancesolution 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 interface~grans_obj_writeoutputdata->proc~grans_obj_writeoutputdata proc~cdifs_obj_advancesolutionrp->proc~cdifs_obj_computesolidvf proc~cdifs_obj_advancesolutionrp->proc~respart_set_gethydroforces proc~cdifs_obj_preparesolveroperators->proc~cdifs_obj_preparesolveroperatorsplap proc~cdifs_obj_preparesolveroperators->proc~cdifs_obj_preparesolveroperatorsvflap

Source Code

    impure subroutine eulerian_obj_Init(this,name,block,parallel,stag)
      !> Initializes an Eulerian field.
      implicit none
      class(eulerian_obj_base), intent(inout) :: this                          !! An Eulerian object
      character(len=*),         intent(in)    :: name                          !! Name of variable
      type(block_obj),          intent(in),    &
                                       target :: block                         !! A block object
      type(parallel_obj),       intent(in),    &
                                       target :: parallel                      !! Parallel structure to link with
      integer,                  intent(in)    :: stag                          !! Staggering

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

      ! Set the staggering
      if (stag.lt.0.or.stag.gt.3) &
        call this%parallel%Stop("Unacceptable staggering value")
      this%staggering=stag

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

      ! Allocate data
      call this%Allocate

      return
    end subroutine eulerian_obj_Init