tem_ic_predefs_module Module

This module gathers the various predefined initial conditions


Uses

  • module~~tem_ic_predefs_module~~UsesGraph module~tem_ic_predefs_module tem_ic_predefs_module module~aotus_module aotus_module module~tem_ic_predefs_module->module~aotus_module module~aot_table_module aot_table_module module~tem_ic_predefs_module->module~aot_table_module module~env_module env_module module~tem_ic_predefs_module->module~env_module module~tem_aux_module tem_aux_module module~tem_ic_predefs_module->module~tem_aux_module module~tem_logging_module tem_logging_module module~tem_ic_predefs_module->module~tem_logging_module module~tem_param_module tem_param_module module~tem_ic_predefs_module->module~tem_param_module module~env_module->module~aotus_module module~flu_binding flu_binding module~env_module->module~flu_binding mpi mpi module~env_module->mpi iso_fortran_env iso_fortran_env module~env_module->iso_fortran_env module~tem_aux_module->module~aotus_module module~tem_aux_module->module~aot_table_module module~tem_aux_module->module~env_module module~tem_aux_module->module~tem_logging_module module~tem_revision_module tem_revision_module module~tem_aux_module->module~tem_revision_module module~tem_tools_module tem_tools_module module~tem_aux_module->module~tem_tools_module module~tem_aux_module->module~flu_binding module~tem_lua_requires_module tem_lua_requires_module module~tem_aux_module->module~tem_lua_requires_module module~tem_aux_module->mpi module~tem_comm_env_module tem_comm_env_module module~tem_aux_module->module~tem_comm_env_module module~tem_logging_module->module~aotus_module module~tem_logging_module->module~aot_table_module module~tem_logging_module->module~env_module module~tem_param_module->module~env_module module~tem_tools_module->module~env_module module~tem_lua_requires_module->module~aotus_module module~tem_lua_requires_module->module~aot_table_module module~tem_lua_requires_module->module~env_module module~tem_lua_requires_module->module~flu_binding iso_c_binding iso_c_binding module~tem_lua_requires_module->iso_c_binding module~tem_comm_env_module->mpi

Used by

  • module~~tem_ic_predefs_module~~UsedByGraph module~tem_ic_predefs_module tem_ic_predefs_module module~tem_spatial_module tem_spatial_module module~tem_spatial_module->module~tem_ic_predefs_module module~tem_spacetime_var_module tem_spacetime_var_module module~tem_spacetime_var_module->module~tem_spatial_module module~tem_spacetime_fun_module tem_spacetime_fun_module module~tem_spacetime_var_module->module~tem_spacetime_fun_module module~tem_variable_module tem_variable_module module~tem_spacetime_var_module->module~tem_variable_module module~tem_ini_condition_module tem_ini_condition_module module~tem_ini_condition_module->module~tem_spatial_module module~tem_spacetime_fun_module->module~tem_spatial_module module~tem_bc_module tem_bc_module module~tem_bc_module->module~tem_spacetime_fun_module module~tem_varmap_module tem_varMap_module module~tem_bc_module->module~tem_varmap_module program~tem_varsys_stfunvar_test tem_varSys_stfunVar_test program~tem_varsys_stfunvar_test->module~tem_spacetime_fun_module module~tem_derived_module tem_derived_module program~tem_varsys_stfunvar_test->module~tem_derived_module program~tem_varsys_stfunvar_test->module~tem_variable_module module~tem_surfacedata_module tem_surfaceData_module module~tem_surfacedata_module->module~tem_spacetime_fun_module module~tem_derived_module->module~tem_spacetime_var_module module~tem_derived_module->module~tem_spacetime_fun_module module~tem_derived_module->module~tem_variable_module program~tem_logical_opertor_test tem_logical_opertor_test program~tem_logical_opertor_test->module~tem_spacetime_fun_module program~tem_logical_opertor_test->module~tem_derived_module program~tem_logical_opertor_test->module~tem_variable_module program~tem_variable_combine_test tem_variable_combine_Test program~tem_variable_combine_test->module~tem_spacetime_fun_module program~tem_variable_combine_test->module~tem_derived_module program~tem_variable_combine_test->module~tem_variable_module program~tem_variable_extract_test tem_variable_extract_test program~tem_variable_extract_test->module~tem_spacetime_fun_module program~tem_variable_extract_test->module~tem_derived_module program~tem_variable_extract_test->module~tem_variable_module program~tem_spacetime_fun_test tem_spacetime_fun_test program~tem_spacetime_fun_test->module~tem_spacetime_fun_module module~tem_variable_module->module~tem_spacetime_fun_module program~tem_varsys_opvar_test tem_varSys_opVar_test program~tem_varsys_opvar_test->module~tem_spacetime_fun_module program~tem_varsys_opvar_test->module~tem_derived_module program~tem_varsys_opvar_test->module~tem_variable_module program~tem_variable_evaltype_test tem_variable_evaltype_test program~tem_variable_evaltype_test->module~tem_spacetime_fun_module program~tem_variable_evaltype_test->module~tem_derived_module program~tem_variable_evaltype_test->module~tem_variable_module module~tem_varmap_module->module~tem_spacetime_var_module module~tem_varmap_module->module~tem_spacetime_fun_module program~tem_varsys_derivevar_test tem_varSys_deriveVar_test program~tem_varsys_derivevar_test->module~tem_spacetime_fun_module module~tem_face_module tem_face_module module~tem_face_module->module~tem_spacetime_fun_module program~tem_varsys_test tem_varSys_test program~tem_varsys_test->module~tem_spacetime_var_module program~tem_varsys_test->module~tem_spacetime_fun_module program~tem_varsys_test->module~tem_variable_module module~tem_operation_var_module tem_operation_var_module module~tem_operation_var_module->module~tem_variable_module module~tem_operation_var_module->module~tem_varmap_module program~tem_face_test~2 tem_face_test program~tem_face_test~2->module~tem_face_module module~tem_depend_module tem_depend_module module~tem_depend_module->module~tem_varmap_module program~tem_face_test tem_face_test program~tem_face_test->module~tem_face_module module~tem_tracking_module tem_tracking_module module~tem_tracking_module->module~tem_varmap_module module~hvs_output_module hvs_output_module module~hvs_output_module->module~tem_varmap_module module~tem_restart_module tem_restart_module module~tem_restart_module->module~tem_varmap_module program~tem_face_test~3 tem_face_test program~tem_face_test~3->module~tem_face_module module~tem_convergence_module tem_convergence_module module~tem_convergence_module->module~tem_varmap_module

Contents


Derived Types

type, public :: ic_gausspulse_type

This type contains datas to define gauss pulse

Components

TypeVisibilityAttributesNameInitial
real(kind=rk), private :: center(3)

Gauss pulse center

real(kind=rk), private :: halfwidth

half width of gauss pulse from center

real(kind=rk), private :: amplitude

height or magnitude of gauss pulse

real(kind=rk), private :: background

reference value. In case of density, it is reference density

real(kind=rk), private :: dx

spatial step size

real(kind=rk), private :: dt

time step size

type, public :: ic_2dcrvp_type

This type contains datas to define 2d co-rotating vortex pair

Components

TypeVisibilityAttributesNameInitial
real(kind=rk), private :: center(3)

spinning center

real(kind=rk), private :: radius_rot

distance of vortex centers / 2

real(kind=rk), private :: radius_C

core radius = radius_rot/3

real(kind=rk), private :: circulation

circulation of vortices

real(kind=rk), private :: p0

reference pressure

real(kind=rk), private :: rho0

reference density

real(kind=rk), private :: kappa

adiabatic exponent

real(kind=rk), private :: cs

speed of sound

real(kind=rk), private :: Ma

rotating Mach number

real(kind=rk), private :: t

position in time

type(cutoff_type), private :: cutoff
logical, private :: pressGaussModel

Approximation of the pressure distribution inside the core radius with a gaussian pulse model

logical, private :: rankineModel

vortex core velocity model: rankine

real(kind=rk), private :: matchFactor

to match the gauss model to the pressure distribution Set to 2.2

type, public :: ic_tgv_type

Components

TypeVisibilityAttributesNameInitial
real(kind=rk), private :: x0(3)

Origin points

real(kind=rk), private :: u0(2)

Ref velocity (X and Y)

real(kind=rk), private :: p0

Ref pressure

real(kind=rk), private :: tD

Rate of decay coefficient

real(kind=rk), private :: Re

Reynolds number

type, private :: cutoff_type

cutoff radius definition

Components

TypeVisibilityAttributesNameInitial
logical, private :: active

cutoff is active?

real(kind=rk), private :: length

cutoff values

real(kind=rk), private :: r_min

cutoff start

real(kind=rk), private :: r_max

cutoff end

logical, private :: linear

linear behavior

logical, private :: quadratic

quadratic behavior


Functions

public function ic_gausspulse_for(me, coord, n) result(res)

This function defines gauss pulse

Read more…

Arguments

TypeIntentOptionalAttributesName
type(ic_gausspulse_type), intent(in) :: me

global gauss pulse data

real(kind=rk), intent(in) :: coord(n,3)

coordinate of an element

integer, intent(in) :: n

number of return values

Return Value real(kind=rk)(n)

return value which is sent to state variable

public function ic_2dcrvpX_for(me, coord, n) result(res)

This function defines the y-velocity component of the spinning (= co-rotating) vortex pair Source: complex velocity potential of both vortices complex coordinates: z = x+i*y Gamma ... circulation

Read more…

Arguments

TypeIntentOptionalAttributesName
type(ic_2dcrvp_type), intent(in) :: me

global gauss pulse data

real(kind=rk), intent(in) :: coord(n,3)

coordinate of an element

integer, intent(in) :: n

number of return values

Return Value real(kind=rk)(n)

return value which is sent to state variable

public function ic_2dcrvpY_for(me, coord, n) result(res)

This function defines the y-velocity component of the spinning (= co-rotating) vortex pair Source: complex velocity potential of both vortices complex coordinates: z = x+i*y Gamma ... circulation

Read more…

Arguments

TypeIntentOptionalAttributesName
type(ic_2dcrvp_type), intent(in) :: me

global gauss pulse data

real(kind=rk), intent(in) :: coord(n,3)

coordinate of an element

integer, intent(in) :: n

number of return values

Return Value real(kind=rk)(n)

return value which is sent to state variable

public function ic_2dcrvpPressure_for(me, coord, n) result(pressure)

This function defines the density of the spinning (= co-rotating) vortex pair See the matlab file where the pressure is plot in the ase-testcases/ repo in musubi/crvp/matlab/crvp_velPress_plot.m

Read more…

Arguments

TypeIntentOptionalAttributesName
type(ic_2dcrvp_type), intent(in) :: me

global gauss pulse data

real(kind=rk), intent(in) :: coord(n,3)

coordinate of an element

integer, intent(in) :: n

number of return values

Return Value real(kind=rk)(n)

return value which is sent to state variable

public pure function ic_tgv_pressure_for(me, coord, n) result(pressure)

Arguments

TypeIntentOptionalAttributesName
type(ic_tgv_type), intent(in) :: me

global gauss pulse data

real(kind=rk), intent(in) :: coord(n,3)

coordinate of an element

integer, intent(in) :: n

number of return values

Return Value real(kind=rk)(n)

return value which is sent to state variable

public pure function ic_tgv_ux_for(me, coord, n) result(ux)

Arguments

TypeIntentOptionalAttributesName
type(ic_tgv_type), intent(in) :: me

global gauss pulse data

real(kind=rk), intent(in) :: coord(n,3)

coordinate of an element

integer, intent(in) :: n

number of return values

Return Value real(kind=rk)(n)

return value which is sent to state variable

public pure function ic_tgv_uy_for(me, coord, n) result(uy)

Arguments

TypeIntentOptionalAttributesName
type(ic_tgv_type), intent(in) :: me

global gauss pulse data

real(kind=rk), intent(in) :: coord(n,3)

coordinate of an element

integer, intent(in) :: n

number of return values

Return Value real(kind=rk)(n)

return value which is sent to state variable

public pure function ic_tgv_Sxx_for(me, coord, n) result(s)

Arguments

TypeIntentOptionalAttributesName
type(ic_tgv_type), intent(in) :: me

global gauss pulse data

real(kind=rk), intent(in) :: coord(n,3)

coordinate of an element

integer, intent(in) :: n

number of return values

Return Value real(kind=rk)(n)

return value which is sent to state variable

public pure function ic_tgv_Syy_for(me, coord, n) result(s)

Arguments

TypeIntentOptionalAttributesName
type(ic_tgv_type), intent(in) :: me

global gauss pulse data

real(kind=rk), intent(in) :: coord(n,3)

coordinate of an element

integer, intent(in) :: n

number of return values

Return Value real(kind=rk)(n)

return value which is sent to state variable

public pure function ic_tgv_Sxz_for(me, coord, n) result(s)

Arguments

TypeIntentOptionalAttributesName
type(ic_tgv_type), intent(in) :: me

global gauss pulse data

real(kind=rk), intent(in) :: coord(n,3)

coordinate of an element

integer, intent(in) :: n

number of return values

Return Value real(kind=rk)(n)

return value which is sent to state variable

public pure function ic_tgv_Syz_for(me, coord, n) result(s)

Arguments

TypeIntentOptionalAttributesName
type(ic_tgv_type), intent(in) :: me

global gauss pulse data

real(kind=rk), intent(in) :: coord(n,3)

coordinate of an element

integer, intent(in) :: n

number of return values

Return Value real(kind=rk)(n)

return value which is sent to state variable

private function cutoff_factor(me, radius) result(cutoff_fac)

return the cutoff multiplication factor This routine returns the cutoff factor for a circle of size r_min. Outside r_min, the quantity is

Read more…

Arguments

TypeIntentOptionalAttributesName
type(cutoff_type), intent(in) :: me

global gauss pulse data

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

coordinate of an element

Return Value real(kind=rk)

return value which is sent to state variable


Subroutines

public subroutine load_ic_gausspulse(conf, thandle, me)

load gauss pulse variables to set initial condition

Arguments

TypeIntentOptionalAttributesName
type(flu_State) :: conf

lua state type

integer, intent(in) :: thandle

aotus parent handle

type(ic_gausspulse_type), intent(out) :: me

Global gauss pulse data type

public subroutine load_ic_2dcrvp(conf, thandle, me)

load crvp variables to set initial condition

Arguments

TypeIntentOptionalAttributesName
type(flu_State) :: conf

lua state type

integer, intent(in) :: thandle

aotus parent handle

type(ic_2dcrvp_type), intent(out) :: me

Global gauss pulse data type

public subroutine load_ic_tgv(conf, thandle, me)

load gauss pulse variables to set initial condition

Arguments

TypeIntentOptionalAttributesName
type(flu_State) :: conf

lua state type

integer, intent(in) :: thandle

aotus parent handle

type(ic_tgv_type), intent(out) :: me

TGV data type