mus_scheme_derived_quantities_module Module

This module contains data types, function and routines for gradient computation.

author: Gregorio Gerardo Spinelli


Uses

  • module~~mus_scheme_derived_quantities_module~~UsesGraph module~mus_scheme_derived_quantities_module mus_scheme_derived_quantities_module env_module env_module module~mus_scheme_derived_quantities_module->env_module tem_aux_module tem_aux_module module~mus_scheme_derived_quantities_module->tem_aux_module tem_compileconf_module tem_compileconf_module module~mus_scheme_derived_quantities_module->tem_compileconf_module tem_logging_module tem_logging_module module~mus_scheme_derived_quantities_module->tem_logging_module tem_param_module tem_param_module module~mus_scheme_derived_quantities_module->tem_param_module

Used by

  • module~~mus_scheme_derived_quantities_module~~UsedByGraph module~mus_scheme_derived_quantities_module mus_scheme_derived_quantities_module module~mus_auxfield_module mus_auxField_module module~mus_auxfield_module->module~mus_scheme_derived_quantities_module module~mus_dervarpos_module mus_derVarPos_module module~mus_auxfield_module->module~mus_dervarpos_module module~mus_dervarpos_module->module~mus_scheme_derived_quantities_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~mus_scheme_derived_quantities_module module~mus_scheme_module mus_scheme_module module~mus_scheme_module->module~mus_scheme_derived_quantities_module module~mus_scheme_module->module~mus_scheme_layout_module module~mus_bc_nernstplanck_module mus_bc_nernstPlanck_module module~mus_bc_nernstplanck_module->module~mus_dervarpos_module module~mus_bc_nernstplanck_module->module~mus_scheme_layout_module module~mus_bc_poisson_module mus_bc_poisson_module module~mus_bc_poisson_module->module~mus_dervarpos_module module~mus_bc_poisson_module->module~mus_scheme_layout_module module~mus_config_module mus_config_module module~mus_config_module->module~mus_scheme_module module~mus_control_module mus_control_module module~mus_control_module->module~mus_auxfield_module module~mus_control_module->module~mus_dervarpos_module module~mus_dynloadbal_module mus_dynLoadBal_module module~mus_dynloadbal_module->module~mus_auxfield_module module~mus_dynloadbal_module->module~mus_scheme_layout_module module~mus_dynloadbal_module->module~mus_scheme_module module~mus_field_module mus_field_module module~mus_field_module->module~mus_scheme_layout_module module~mus_hrrinit_module mus_hrrInit_module module~mus_hrrinit_module->module~mus_scheme_layout_module module~mus_hvs_config_module mus_hvs_config_module module~mus_hvs_config_module->module~mus_scheme_module module~mus_hvs_construction_module mus_hvs_construction_module module~mus_hvs_construction_module->module~mus_scheme_layout_module module~mus_interpolate_header_module mus_interpolate_header_module module~mus_interpolate_header_module->module~mus_dervarpos_module module~mus_interpolate_header_module->module~mus_scheme_layout_module module~mus_relaxationparam_module mus_relaxationParam_module module~mus_relaxationparam_module->module~mus_dervarpos_module module~mus_relaxationparam_module->module~mus_scheme_layout_module module~mus_scheme_type_module mus_scheme_type_module module~mus_scheme_type_module->module~mus_auxfield_module module~mus_scheme_type_module->module~mus_dervarpos_module module~mus_scheme_type_module->module~mus_scheme_layout_module module~mus_source_module mus_source_module module~mus_source_module->module~mus_dervarpos_module module~mus_source_type_module mus_source_type_module module~mus_source_type_module->module~mus_dervarpos_module module~mus_source_var_module mus_source_var_module module~mus_source_var_module->module~mus_dervarpos_module module~mus_source_var_turbchanforce_module mus_source_var_turbChanForce_module module~mus_source_var_turbchanforce_module->module~mus_dervarpos_module module~mus_tools_module mus_tools_module module~mus_tools_module->module~mus_scheme_module module~mus_turb_viscosity_module mus_turb_viscosity_module module~mus_turb_viscosity_module->module~mus_scheme_layout_module module~mus_turbulence_module mus_turbulence_module module~mus_turbulence_module->module~mus_scheme_layout_module module~mus_variable_module mus_variable_module module~mus_variable_module->module~mus_dervarpos_module module~mus_variable_module->module~mus_scheme_layout_module program~mus_harvesting mus_harvesting program~mus_harvesting->module~mus_scheme_module

Abstract Interfaces

abstract interface

  • private pure function get_pdfEq(rho, vel, QQ, cxDirRK, weight) result(fEq)

    function pointer to get pdf equilibrium from vel and density

    Arguments

    Type IntentOptional Attributes Name
    real(kind=rk), intent(in) :: rho

    density

    real(kind=rk), intent(in) :: vel(3)

    velocity

    integer, intent(in) :: QQ

    size of the stencil

    real(kind=rk), intent(in), optional :: cxDirRK(:,:)

    velocity streaming normal along iDir

    real(kind=rk), intent(in), optional :: weight(:)

    weight along iDir

    Return Value real(kind=rk), (QQ)

abstract interface

  • private pure function get_pdfEq_iDir(rho, vel, iDir, cxDirRK, weight) result(fEq)

    function pointer to get pdf equilibrium from vel and density along a

    Arguments

    Type IntentOptional Attributes Name
    real(kind=rk), intent(in) :: rho

    density

    real(kind=rk), intent(in) :: vel(3)

    velocity

    integer, intent(in) :: iDir

    direction of the pdf

    real(kind=rk), intent(in) :: cxDirRK(3)

    velocity streaming normal along iDir

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

    weight along iDir

    Return Value real(kind=rk)

abstract interface

  • private pure function get_vel_from_pdf(pdf, dens, cxDirRK) result(vel)

    function pointer to get pdf equilibrium from vel and density

    Arguments

    Type IntentOptional Attributes Name
    real(kind=rk), intent(in) :: pdf(:)

    pdf

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

    density

    real(kind=rk), intent(in), optional :: cxDirRK(:,:)

    velocity streaming normal along iDir

    Return Value real(kind=rk), (3)

    velocity

abstract interface

  • private pure function get_vel_from_pdf_vectorized(pdf, dens, cxDirRK, nSolve) result(vel)

    function pointer to get pdf equilibrium from vel and density VECTORIZED

    Arguments

    Type IntentOptional Attributes Name
    real(kind=rk), intent(in) :: pdf(:,:)

    pdf

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

    density

    real(kind=rk), intent(in), optional :: cxDirRK(:,:)

    velocity streaming normal along iDir

    integer, intent(in) :: nSolve

    number of element to compute

    Return Value real(kind=rk), (3,vlen)

    velocity

abstract interface

  • private pure function get_vector_from_vel_dens(vel, dens) result(vector)

    function pointer to get pdf equilibrium from vel and density

    Arguments

    Type IntentOptional Attributes Name
    real(kind=rk), intent(in) :: vel(:)

    velocity

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

    density

    Return Value real(kind=rk), (3)

    momentum

abstract interface

  • private pure function get_scalar_from_vel_dens(vel, dens) result(scalar)

    function pointer to get pdf equilibrium from vel and density

    Arguments

    Type IntentOptional Attributes Name
    real(kind=rk), intent(in) :: vel(:)

    velocity

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

    density

    Return Value real(kind=rk)

    momentum

abstract interface

  • private pure function get_rho0Inv(dens) result(inv_rho0)

    function pointer to get 1/rho as a mask regardless incompressibility

    Arguments

    Type IntentOptional Attributes Name
    real(kind=rk), intent(in) :: dens

    density

    Return Value real(kind=rk)

    inverse of density regardless compressibility


Derived Types

collection of properties of the scheme derived quantities type

Components

Type Visibility Attributes Name Initial
procedure(get_pdfEq), public, nopass, pointer :: pdfEq_ptr => null()

function pointer to get pdf equilibrium from vel and density

procedure(get_pdfEq_iDir), public, nopass, pointer :: pdfEq_iDir_ptr => null()

function pointer to get pdf equilibrium in a specific direction

procedure(get_vel_from_pdf), public, nopass, pointer :: vel_from_pdf_ptr => null()

function pointer to get velocities from pdf

procedure(get_vel_from_pdf_vectorized), public, nopass, pointer :: vel_from_pdf_vectorized_ptr => null()

function pointer to get velocities from pdf VECTORIZED

procedure(get_vector_from_vel_dens), public, nopass, pointer :: momentum_from_vel_dens_ptr => null()

function pointer to get momentum

procedure(get_scalar_from_vel_dens), public, nopass, pointer :: kineticEnergy_from_vel_dens_ptr => null()

function pointer to get kinetic energy

procedure(get_rho0Inv), public, nopass, pointer :: rho0Inv_ptr => null()

function pointer to get 1/rho as a mask regardless incompressibility


Functions

public function mus_assign_derived_functions_ptr(label_stencil, label_fluid) result(getQuantities)

This function assigns the pointers for the respective derived function in

Arguments

Type IntentOptional Attributes Name
character(len=labelLen), intent(in) :: label_stencil

Scheme header information

character(len=labelLen), intent(in) :: label_fluid

Fluid label information

Return Value type(mus_scheme_derived_quantities_type)

getQuantities function

private pure function get_pdfEq_incompressible_iDir(rho, vel, iDir, cxDirRK, weight) result(fEq)

function pointer to get pdf equilibrium from vel and density along a

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: rho

density

real(kind=rk), intent(in) :: vel(3)

velocity

integer, intent(in) :: iDir

direction of the pdf

real(kind=rk), intent(in) :: cxDirRK(3)

velocity streaming normal along iDir

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

weight along iDir

Return Value real(kind=rk)

private pure function get_pdfEq_compressible_iDir(rho, vel, iDir, cxDirRK, weight) result(fEq)

function pointer to get pdf equilibrium from vel and density along a

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: rho

density

real(kind=rk), intent(in) :: vel(3)

velocity

integer, intent(in) :: iDir

direction of the pdf

real(kind=rk), intent(in) :: cxDirRK(3)

velocity streaming normal along iDir

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

weight along iDir

Return Value real(kind=rk)

private pure function get_pdfEq_incompressible(rho, vel, QQ, cxDirRK, weight) result(fEq)

function pointer to get pdf equilibrium from vel and density along a

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: rho

density

real(kind=rk), intent(in) :: vel(3)

velocity

integer, intent(in) :: QQ

size of the pdf

real(kind=rk), intent(in), optional :: cxDirRK(:,:)

velocity streaming normal along iDir

real(kind=rk), intent(in), optional :: weight(:)

weight along iDir

Return Value real(kind=rk), (QQ)

private pure function get_pdfEq_compressible(rho, vel, QQ, cxDirRK, weight) result(fEq)

function pointer to get pdf equilibrium from vel and density along a

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: rho

density

real(kind=rk), intent(in) :: vel(3)

velocity

integer, intent(in) :: QQ

size of the pdf

real(kind=rk), intent(in), optional :: cxDirRK(:,:)

velocity streaming normal along iDir

real(kind=rk), intent(in), optional :: weight(:)

weight along iDir

Return Value real(kind=rk), (QQ)

private pure function get_sigma_d2q9(vel) result(sigma)

This function computes the sigma vector necessary to get the

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: vel(3)

velocity

Return Value real(kind=rk), (9)

private pure function get_pdfEq_d2q9(rho, vel, QQ, cxDirRK, weight) result(fEq)

This function computes the equilibrium pdf from velocity

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: rho

density

real(kind=rk), intent(in) :: vel(3)

velocity

integer, intent(in) :: QQ

size of the pdf

real(kind=rk), intent(in), optional :: cxDirRK(:,:)

velocity streaming normal along iDir

real(kind=rk), intent(in), optional :: weight(:)

weight along iDir

Return Value real(kind=rk), (QQ)

private pure function get_pdfEq_incomp_d2q9(rho, vel, QQ, cxDirRK, weight) result(fEq)

This function computes the incompressible equilibrium pdf from velocity

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: rho

density

real(kind=rk), intent(in) :: vel(3)

velocity

integer, intent(in) :: QQ

size of the pdf

real(kind=rk), intent(in), optional :: cxDirRK(:,:)

velocity streaming normal along iDir

real(kind=rk), intent(in), optional :: weight(:)

weight along iDir

Return Value real(kind=rk), (QQ)

private pure function get_sigma_d3q19(vel) result(sigma)

This function computes the sigma vector necessary to get the

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: vel(3)

velocity

Return Value real(kind=rk), (22)

private pure function get_pdfEq_d3q19(rho, vel, QQ, cxDirRK, weight) result(fEq)

This function computes the equilibrium pdf from velocity

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: rho

density

real(kind=rk), intent(in) :: vel(3)

velocity

integer, intent(in) :: QQ

size of the pdf

real(kind=rk), intent(in), optional :: cxDirRK(:,:)

velocity streaming normal along iDir

real(kind=rk), intent(in), optional :: weight(:)

weight along iDir

Return Value real(kind=rk), (QQ)

private pure function get_pdfEq_incomp_d3q19(rho, vel, QQ, cxDirRK, weight) result(fEq)

This function computes the incompressible equilibrium pdf from velocity

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: rho

density

real(kind=rk), intent(in) :: vel(3)

velocity

integer, intent(in) :: QQ

size of the pdf

real(kind=rk), intent(in), optional :: cxDirRK(:,:)

velocity streaming normal along iDir

real(kind=rk), intent(in), optional :: weight(:)

weight along iDir

Return Value real(kind=rk), (QQ)

private pure function get_sigma_d3q27(vel) result(sigma)

This function computes the sigma vector necessary to get the

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: vel(3)

velocity

Return Value real(kind=rk), (34)

private pure function get_pdfEq_d3q27(rho, vel, QQ, cxDirRK, weight) result(fEq)

This function computes the equilibrium pdf from velocity

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: rho

density

real(kind=rk), intent(in) :: vel(3)

velocity

integer, intent(in) :: QQ

size of the pdf

real(kind=rk), intent(in), optional :: cxDirRK(:,:)

velocity streaming normal along iDir

real(kind=rk), intent(in), optional :: weight(:)

weight along iDir

Return Value real(kind=rk), (QQ)

private pure function get_pdfEq_incomp_d3q27(rho, vel, QQ, cxDirRK, weight) result(fEq)

This function computes the incompressible equilibrium pdf from velocity

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: rho

density

real(kind=rk), intent(in) :: vel(3)

velocity

integer, intent(in) :: QQ

size of the pdf

real(kind=rk), intent(in), optional :: cxDirRK(:,:)

velocity streaming normal along iDir

real(kind=rk), intent(in), optional :: weight(:)

weight along iDir

Return Value real(kind=rk), (QQ)

private pure function get_vel_from_pdf_compressible(pdf, dens, cxDirRK) result(vel)

function pointer to get pdf equilibrium from vel and density for any stencil

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: pdf(:)

pdf

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

density

real(kind=rk), intent(in), optional :: cxDirRK(:,:)

velocity streaming normal along iDir

Return Value real(kind=rk), (3)

velocity

private pure function get_vel_from_pdf_compressible_vectorized(pdf, dens, cxDirRK, nSolve) result(vel)

function pointer to get pdf equilibrium from vel and density for any stencil

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: pdf(:,:)

pdf

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

density

real(kind=rk), intent(in), optional :: cxDirRK(:,:)

velocity streaming normal along iDir

integer, intent(in) :: nSolve

number of element to compute

Return Value real(kind=rk), (3,vlen)

velocity

private pure function get_vel_from_pdf_incompressible(pdf, dens, cxDirRK) result(vel)

function pointer to get pdf equilibrium from vel and density for any stencil

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: pdf(:)

pdf

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

density

real(kind=rk), intent(in), optional :: cxDirRK(:,:)

velocity streaming normal along iDir

Return Value real(kind=rk), (3)

velocity

private pure function get_vel_from_pdf_incompressible_vectorized(pdf, dens, cxDirRK, nSolve) result(vel)

function pointer to get pdf equilibrium from vel and density for any stencil

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: pdf(:,:)

pdf

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

density

real(kind=rk), intent(in), optional :: cxDirRK(:,:)

velocity streaming normal along iDir

integer, intent(in) :: nSolve

number of element to compute

Return Value real(kind=rk), (3,vlen)

velocity

private pure function get_vel_from_pdf_d2q9(pdf, dens, cxDirRK) result(vel)

function pointer to get pdf equilibrium from vel and density for d2q9 stencil

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: pdf(:)

pdf

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

density

real(kind=rk), intent(in), optional :: cxDirRK(:,:)

velocity streaming normal along iDir

Return Value real(kind=rk), (3)

velocity

private pure function get_vel_from_pdf_d2q9_vectorized(pdf, dens, cxDirRK, nSolve) result(vel)

function pointer to get pdf equilibrium from vel and density for any stencil

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: pdf(:,:)

pdf

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

density

real(kind=rk), intent(in), optional :: cxDirRK(:,:)

velocity streaming normal along iDir

integer, intent(in) :: nSolve

number of element to compute

Return Value real(kind=rk), (3,vlen)

velocity

private pure function get_vel_from_pdf_d2q9_incompressible(pdf, dens, cxDirRK) result(vel)

function pointer to get pdf equilibrium from vel and density for d2q9 stencil

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: pdf(:)

pdf

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

density

real(kind=rk), intent(in), optional :: cxDirRK(:,:)

velocity streaming normal along iDir

Return Value real(kind=rk), (3)

velocity

private pure function get_vel_from_pdf_d2q9_vectorized_incompressible(pdf, dens, cxDirRK, nSolve) result(vel)

function pointer to get pdf equilibrium from vel and density for any stencil

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: pdf(:,:)

pdf

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

density

real(kind=rk), intent(in), optional :: cxDirRK(:,:)

velocity streaming normal along iDir

integer, intent(in) :: nSolve

number of element to compute

Return Value real(kind=rk), (3,vlen)

velocity

private pure function get_vel_from_pdf_d3q19(pdf, dens, cxDirRK) result(vel)

function pointer to get pdf equilibrium from vel and density for d3q19 stencil

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: pdf(:)

pdf

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

density

real(kind=rk), intent(in), optional :: cxDirRK(:,:)

velocity streaming normal along iDir

Return Value real(kind=rk), (3)

velocity

private pure function get_vel_from_pdf_d3q19_vectorized(pdf, dens, cxDirRK, nSolve) result(vel)

function pointer to get pdf equilibrium from vel and density for any stencil

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: pdf(:,:)

pdf

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

density

real(kind=rk), intent(in), optional :: cxDirRK(:,:)

velocity streaming normal along iDir

integer, intent(in) :: nSolve

number of element to compute

Return Value real(kind=rk), (3,vlen)

velocity

private pure function get_vel_from_pdf_d3q19_incompressible(pdf, dens, cxDirRK) result(vel)

function pointer to get pdf equilibrium from vel and density for d3q19 stencil

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: pdf(:)

pdf

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

density

real(kind=rk), intent(in), optional :: cxDirRK(:,:)

velocity streaming normal along iDir

Return Value real(kind=rk), (3)

velocity

private pure function get_vel_from_pdf_d3q19_vectorized_incompressible(pdf, dens, cxDirRK, nSolve) result(vel)

function pointer to get pdf equilibrium from vel and density for any stencil

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: pdf(:,:)

pdf

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

density

real(kind=rk), intent(in), optional :: cxDirRK(:,:)

velocity streaming normal along iDir

integer, intent(in) :: nSolve

number of element to compute

Return Value real(kind=rk), (3,vlen)

velocity

private pure function get_vel_from_pdf_d3q27(pdf, dens, cxDirRK) result(vel)

function pointer to get pdf equilibrium from vel and density for d3q27 stencil

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: pdf(:)

pdf

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

density

real(kind=rk), intent(in), optional :: cxDirRK(:,:)

velocity streaming normal along iDir

Return Value real(kind=rk), (3)

velocity

private pure function get_vel_from_pdf_d3q27_vectorized(pdf, dens, cxDirRK, nSolve) result(vel)

function pointer to get pdf equilibrium from vel and density for any stencil

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: pdf(:,:)

pdf

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

density

real(kind=rk), intent(in), optional :: cxDirRK(:,:)

velocity streaming normal along iDir

integer, intent(in) :: nSolve

number of element to compute

Return Value real(kind=rk), (3,vlen)

velocity

private pure function get_vel_from_pdf_d3q27_incompressible(pdf, dens, cxDirRK) result(vel)

function pointer to get pdf equilibrium from vel and density for d3q27 stencil

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: pdf(:)

pdf

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

density

real(kind=rk), intent(in), optional :: cxDirRK(:,:)

velocity streaming normal along iDir

Return Value real(kind=rk), (3)

velocity

private pure function get_vel_from_pdf_d3q27_vectorized_incompressible(pdf, dens, cxDirRK, nSolve) result(vel)

function pointer to get pdf equilibrium from vel and density for any stencil

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: pdf(:,:)

pdf

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

density

real(kind=rk), intent(in), optional :: cxDirRK(:,:)

velocity streaming normal along iDir

integer, intent(in) :: nSolve

number of element to compute

Return Value real(kind=rk), (3,vlen)

velocity

private pure function get_momentum_from_vel_dens_compressible(vel, dens) result(vector)

function pointer to get momentum from vel and density for any stencil

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: vel(:)

velocity

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

density

Return Value real(kind=rk), (3)

momentum

private pure function get_momentum_from_vel_dens_incompressible(vel, dens) result(vector)

function pointer to get momentum from vel and density for any stencil

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: vel(:)

velocity

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

density

Return Value real(kind=rk), (3)

momentum

private pure function get_kineticEnergy_from_vel_dens_compressible(vel, dens) result(scalar)

function pointer to get kineticEnergy from vel and density for any stencil

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: vel(:)

velocity

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

density

Return Value real(kind=rk)

kineticEnergy

private pure function get_kineticEnergy_from_vel_dens_incompressible(vel, dens) result(scalar)

function pointer to get kineticEnergy from vel and density for any stencil

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: vel(:)

velocity

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

density

Return Value real(kind=rk)

kineticEnergy

private pure function get_rho0Inv_compressible(dens) result(inv_rho0)

function pointer to get kineticEnergy from vel and density for any stencil

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: dens

density

Return Value real(kind=rk)

kineticEnergy

private pure function get_rho0Inv_incompressible(dens) result(inv_rho0)

function pointer to get kineticEnergy from vel and density for any stencil

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: dens

density

Return Value real(kind=rk)

kineticEnergy