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 aot_table_module aot_table_module module~tem_ic_predefs_module->aot_table_module aotus_module aotus_module module~tem_ic_predefs_module->aotus_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->aotus_module flu_binding flu_binding module~env_module->flu_binding iso_fortran_env iso_fortran_env module~env_module->iso_fortran_env mpi mpi module~env_module->mpi module~tem_aux_module->aot_table_module module~tem_aux_module->aotus_module module~tem_aux_module->module~env_module module~tem_aux_module->module~tem_logging_module module~tem_aux_module->flu_binding module~soi_revision_module soi_revision_module module~tem_aux_module->module~soi_revision_module module~tem_comm_env_module tem_comm_env_module module~tem_aux_module->module~tem_comm_env_module module~tem_lua_requires_module tem_lua_requires_module module~tem_aux_module->module~tem_lua_requires_module module~tem_tools_module tem_tools_module module~tem_aux_module->module~tem_tools_module module~tem_aux_module->mpi module~tem_logging_module->aot_table_module module~tem_logging_module->aotus_module module~tem_logging_module->module~env_module module~tem_param_module->module~env_module module~tem_comm_env_module->mpi module~tem_lua_requires_module->aot_table_module module~tem_lua_requires_module->aotus_module module~tem_lua_requires_module->module~env_module module~tem_lua_requires_module->flu_binding iso_c_binding iso_c_binding module~tem_lua_requires_module->iso_c_binding module~tem_tools_module->module~env_module

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_ini_condition_module tem_ini_condition_module module~tem_ini_condition_module->module~tem_spatial_module module~tem_spacetime_fun_module tem_spacetime_fun_module module~tem_spacetime_fun_module->module~tem_spatial_module module~tem_spacetime_var_module tem_spacetime_var_module module~tem_spacetime_var_module->module~tem_spatial_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_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 module~tem_derived_module tem_derived_module module~tem_derived_module->module~tem_spacetime_fun_module module~tem_derived_module->module~tem_spacetime_var_module module~tem_derived_module->module~tem_variable_module module~tem_face_module tem_face_module module~tem_face_module->module~tem_spacetime_fun_module module~tem_surfacedata_module tem_surfaceData_module module~tem_surfacedata_module->module~tem_spacetime_fun_module module~tem_variable_module->module~tem_spacetime_fun_module module~tem_varmap_module->module~tem_spacetime_fun_module module~tem_varmap_module->module~tem_spacetime_var_module module~hvs_output_module hvs_output_module module~hvs_output_module->module~tem_varmap_module module~tem_convergence_module tem_convergence_module module~tem_convergence_module->module~tem_varmap_module module~tem_depend_module tem_depend_module module~tem_depend_module->module~tem_varmap_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 module~tem_restart_module tem_restart_module module~tem_restart_module->module~tem_varmap_module module~tem_tracking_module tem_tracking_module module~tem_tracking_module->module~tem_varmap_module

Derived Types

type, public ::  ic_gausspulse_type

This type contains datas to define gauss pulse

Components

Type Visibility Attributes Name Initial
real(kind=rk), public :: center(3)

Gauss pulse center

real(kind=rk), public :: halfwidth

half width of gauss pulse from center

real(kind=rk), public :: amplitude

height or magnitude of gauss pulse

real(kind=rk), public :: background

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

real(kind=rk), public :: dx

spatial step size

real(kind=rk), public :: dt

time step size

type, public ::  ic_2dcrvp_type

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

Components

Type Visibility Attributes Name Initial
real(kind=rk), public :: center(3)

spinning center

real(kind=rk), public :: radius_rot

distance of vortex centers / 2

real(kind=rk), public :: radius_C

core radius = radius_rot/3

real(kind=rk), public :: circulation

circulation of vortices

real(kind=rk), public :: p0

reference pressure

real(kind=rk), public :: rho0

reference density

real(kind=rk), public :: kappa

adiabatic exponent

real(kind=rk), public :: cs

speed of sound

real(kind=rk), public :: Ma

rotating Mach number

real(kind=rk), public :: t

position in time

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

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

logical, public :: rankineModel

vortex core velocity model: rankine

real(kind=rk), public :: matchFactor

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

type, public ::  ic_tgv_type

Components

Type Visibility Attributes Name Initial
real(kind=rk), public :: x0(3)

Origin points

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

Ref velocity (X and Y)

real(kind=rk), public :: p0

Ref pressure

real(kind=rk), public :: tD

Rate of decay coefficient

real(kind=rk), public :: Re

Reynolds number

type, private ::  cutoff_type

cutoff radius definition

Components

Type Visibility Attributes Name Initial
logical, public :: active

cutoff is active?

real(kind=rk), public :: length

cutoff values

real(kind=rk), public :: r_min

cutoff start

real(kind=rk), public :: r_max

cutoff end

logical, public :: linear

linear behavior

logical, public :: quadratic

quadratic behavior


Functions

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

This function defines gauss pulse

Read more…

Arguments

Type IntentOptional Attributes Name
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

Type IntentOptional Attributes Name
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

Type IntentOptional Attributes Name
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

Type IntentOptional Attributes Name
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

Type IntentOptional Attributes Name
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

Type IntentOptional Attributes Name
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

Type IntentOptional Attributes Name
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

Type IntentOptional Attributes Name
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

Type IntentOptional Attributes Name
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

Type IntentOptional Attributes Name
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

Type IntentOptional Attributes Name
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

Type IntentOptional Attributes Name
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

Type IntentOptional Attributes Name
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

Type IntentOptional Attributes Name
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

Type IntentOptional Attributes Name
type(flu_State) :: conf

lua state type

integer, intent(in) :: thandle

aotus parent handle

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

TGV data type