mus_auxField_module Module

This module contains routine to retrieve auxiliary field variables for getElement, getPoint, setupIndices and getValOfIndex. Auxilary field variables are: * density and velocity for fluid * species desity and velocity for multispecies * potential for poisson


Uses

  • module~~mus_auxfield_module~~UsesGraph module~mus_auxfield_module mus_auxField_module module~mus_scheme_header_module mus_scheme_header_module module~mus_auxfield_module->module~mus_scheme_header_module module~tem_comm_module tem_comm_module module~mus_auxfield_module->module~tem_comm_module module~tem_varsys_module tem_varSys_module module~mus_auxfield_module->module~tem_varsys_module module~tem_stencil_module tem_stencil_module module~mus_auxfield_module->module~tem_stencil_module module~mus_dervarpos_module mus_derVarPos_module module~mus_auxfield_module->module~mus_dervarpos_module module~tem_construction_module tem_construction_module module~mus_auxfield_module->module~tem_construction_module module~env_module env_module module~mus_auxfield_module->module~env_module module~tem_param_module tem_param_module module~mus_auxfield_module->module~tem_param_module module~treelmesh_module treelmesh_module module~mus_auxfield_module->module~treelmesh_module module~tem_time_module tem_time_module module~mus_auxfield_module->module~tem_time_module module~mus_scheme_header_module->module~env_module module~tem_logging_module tem_logging_module module~mus_scheme_header_module->module~tem_logging_module module~tem_tools_module tem_tools_module module~mus_scheme_header_module->module~tem_tools_module module~aot_table_module aot_table_module module~mus_scheme_header_module->module~aot_table_module module~aotus_module aotus_module module~mus_scheme_header_module->module~aotus_module module~aot_out_module aot_out_module module~mus_scheme_header_module->module~aot_out_module module~tem_aux_module tem_aux_module module~mus_scheme_header_module->module~tem_aux_module module~mus_dervarpos_module->module~tem_varsys_module module~mus_dervarpos_module->module~tem_stencil_module module~mus_dervarpos_module->module~env_module module~mus_dervarpos_module->module~tem_aux_module module~mus_scheme_layout_module mus_scheme_layout_module module~mus_dervarpos_module->module~mus_scheme_layout_module module~mus_scheme_layout_module->module~tem_stencil_module module~mus_scheme_layout_module->module~env_module module~mus_scheme_layout_module->module~tem_param_module module~mus_scheme_layout_module->module~tem_logging_module module~mus_scheme_layout_module->module~tem_tools_module module~mus_scheme_layout_module->module~aot_table_module module~mus_scheme_layout_module->module~aotus_module module~mus_scheme_layout_module->module~aot_out_module module~mus_scheme_layout_module->module~tem_aux_module module~tem_grow_array_module tem_grow_array_module module~mus_scheme_layout_module->module~tem_grow_array_module mpi mpi module~mus_scheme_layout_module->mpi module~tem_comm_env_module tem_comm_env_module module~mus_scheme_layout_module->module~tem_comm_env_module module~tem_dyn_array_module tem_dyn_array_module module~mus_scheme_layout_module->module~tem_dyn_array_module module~mus_moments_type_module mus_moments_type_module module~mus_scheme_layout_module->module~mus_moments_type_module module~mus_moments_type_module->module~env_module module~tem_matrix_module tem_matrix_module module~mus_moments_type_module->module~tem_matrix_module

Used by

  • module~~mus_auxfield_module~~UsedByGraph module~mus_auxfield_module mus_auxField_module module~mus_control_module mus_control_module module~mus_control_module->module~mus_auxfield_module module~mus_auxfieldvar_module mus_auxFieldVar_module module~mus_auxfieldvar_module->module~mus_auxfield_module module~mus_scheme_type_module mus_scheme_type_module module~mus_scheme_type_module->module~mus_auxfield_module module~mus_construction_module mus_construction_module module~mus_construction_module->module~mus_auxfield_module

Contents


Abstract Interfaces

abstract interface

  • public subroutine mus_proc_calcAuxField(auxField, state, neigh, nSize, nSolve, iLevel, stencil, varSys, derVarPos)

    Interface to compute auxField vars i.e. conserved macroscopic moments from pre-collision PDF for fluid and ghostFromCoarser. auxField on GhostFromFiner elements are interpolated and halo elements are exchanged For Multicomponent models: in calcAuxField function, the velocity is computed on transformed PDF such that force term can be added to it in addSrcToAuxField routine. The auxField is updated with correct velocity field in compute kernel i.e. velocity of original PDF is obtained by solving linear equation system in compute kernel

    Arguments

    TypeIntentOptionalAttributesName
    real(kind=rk), intent(inout) :: auxField(:)

    output auxField array

    real(kind=rk), intent(in) :: state(:)

    input state array

    integer, intent(in) :: neigh(:)

    connectivity array

    integer, intent(in) :: nSize

    number of elements in the state array

    integer, intent(in) :: nSolve

    number of fluid elements + ghostFromCoarser

    integer, intent(in) :: iLevel

    current level

    type(tem_stencilHeader_type), intent(in) :: stencil

    stencil header

    type(tem_varSys_type), intent(in) :: varSys

    variable system definition

    type(mus_derVarPos_type), intent(in) :: derVarPos(:)

    position of derived quantities in varsys


Derived Types

type, public :: mus_auxFieldVar_type

Contains auxiliary field variable values per level and communication buffers

Components

TypeVisibilityAttributesNameInitial
real(kind=rk), private, allocatable:: val(:)

auxiliary field variable values computed from pre-collision PDF after PDF exchange Size: nSizenScalars Element order is same as state array Access: (iElem-1)nScalars + varSys%method%val(iVar)%auxField_varPos See mus_append_auxField for the name of the variable stored in this array as it depends on the scheme kind.

type(tem_communication_type), private :: sendBuffer

Local Fluids required by remote processes

type(tem_communication_type), private :: sendBufferFromCoarser

Local ghostFromCoarser required by remote processes

type(tem_communication_type), private :: sendBufferFromFiner

Local ghostFromFiner required by remote processes

type(tem_communication_type), private :: recvBuffer

My halos which are fluids on remote processes

type(tem_communication_type), private :: recvBufferFromCoarser

My halos which are ghostFromCoarser on remote processes

type(tem_communication_type), private :: recvBufferFromFiner

My halos which are ghostFromFiner on remote processes


Subroutines

public subroutine mus_init_auxFieldArrays(me, levelDesc, pattern, nSize, nAuxScalars)

This routine initialize auxField var val array and communication buffers

Arguments

TypeIntentOptionalAttributesName
type(mus_auxFieldVar_type), intent(out) :: me

Auxiliary field variable

type(tem_levelDesc_type), intent(in) :: levelDesc

levelDesc to access communication buffers of state array

type(tem_commPattern_type), intent(in) :: pattern

communication pattern

integer, intent(in) :: nSize

Number of elements in state array

integer, intent(in) :: nAuxScalars

Number of scalars in auxiliary variables