mus_param_module Module

This module provides the definition and methods for boundarys.


Uses

  • module~~mus_param_module~~UsesGraph module~mus_param_module mus_param_module module~tem_general_module tem_general_module module~mus_param_module->module~tem_general_module module~aotus_module aotus_module module~mus_param_module->module~aotus_module module~tem_tools_module tem_tools_module module~mus_param_module->module~tem_tools_module module~mus_physics_module mus_physics_module module~mus_param_module->module~mus_physics_module module~mus_abortcriteria_module mus_abortCriteria_module module~mus_param_module->module~mus_abortcriteria_module module~tem_logging_module tem_logging_module module~mus_param_module->module~tem_logging_module module~aot_out_module aot_out_module module~mus_param_module->module~aot_out_module module~env_module env_module module~mus_param_module->module~env_module module~mus_physics_module->module~aotus_module module~mus_physics_module->module~tem_tools_module module~mus_physics_module->module~tem_logging_module module~mus_physics_module->module~aot_out_module module~mus_physics_module->module~env_module module~aot_table_module aot_table_module module~mus_physics_module->module~aot_table_module module~treelmesh_module treelmesh_module module~mus_physics_module->module~treelmesh_module module~tem_geometry_module tem_geometry_module module~mus_physics_module->module~tem_geometry_module module~tem_aux_module tem_aux_module module~mus_physics_module->module~tem_aux_module module~mus_abortcriteria_module->module~aotus_module module~mus_abortcriteria_module->module~env_module module~tem_abortcriteria_module tem_abortCriteria_module module~mus_abortcriteria_module->module~tem_abortcriteria_module

Used by


Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private, parameter:: block_size =576

Derived Types

type, public :: mus_latticeUnit_type

lattice dx and dt on each level

Components

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

dt in LB unit, dtLvl(minLevel) = 1.0

real(kind=rk), private, allocatable:: dxLvl(:)

dx in LB unit, dxLvl(minLevel) = 1.0

type, public :: mus_param_type

Global parameter type definition, filled with

Components

TypeVisibilityAttributesNameInitial
type(tem_general_type), private :: general

Treelm param parameter type

type(mus_abortCriteria_type), private :: mus_Aborts

Musubi specific abort criteria

type(mus_latticeUnit_type), private :: lattice

Lattice dx and dt on each level

type(mus_physics_type), private :: physics

contains basic SI units to convert from lattice to physical and vice versa

character(len=labelLen), private :: controlRoutine

type of the control routine

logical, private :: init_allElems =.false.

initialize all elements with valid entries? This should only be activated for debugging, as it needs to be ensured that all helper elements are filled by communication and interpolation instead of filling initial values (consider restart!)

character(len=labelLen), private :: scaling

type of the scaling: * acoustic * diffusive

integer, private :: scaleFactor

Temporal scaling factor for the scaling. Acoustic = 2, Diffusive = 4

integer, private :: nNesting =2

To calculate turbulent viscosity, velocity on buffer ghost elements should be valid to nesting is set to same as scaling Factor

integer, private :: reqInterval

Required interval, in which the update MUST occur. This is required for the musubi multilevel, where the time step should only be determined active, when the end of the largest cycle is reached.

logical, private :: comm_reduced =.true.
character(len=labelLen), private :: version ='v2.0'

need to set solver version in general%solver%version

logical, private :: restart_triggered =.false.

active when restart is triggered by restart timeControl dump restart when simulation reached end only when restart is not triggered by its timeControl before

logical, private :: remove_solid =.true.

remove solid from BC list

integer, private :: block =block_size

Block size for compute kernel

logical, private :: initial_balance =.false.

Initial balance

logical, private :: dump_level_timing =.false.

scratch file unit contains solver specific info in dump in restart header This file should contain the information in form of a Lua script. KM: Not required anymore. Load config file name from restart header integer :: solSpec_unit = -1 Dump level timing

logical, private :: dump_linear_partition =.false.

Dump linear partition

logical, private :: dump_bc_timing =.false.

Dump computation and bc timing information for all ranks


Subroutines

public subroutine mus_load_param(params, conf)

load global parameter from conf

Read more…

Arguments

TypeIntentOptionalAttributesName
type(mus_param_type), intent(inout) :: params

global parameter info

type(flu_state) :: conf

lua state

public subroutine mus_param_out(me, conf)

This routine writes global parameter into solver specific string in lua format

Arguments

TypeIntentOptionalAttributesName
type(mus_param_type), intent(in) :: me
type(aot_out_type) :: conf

public subroutine mus_init_latticeUnit(lattice, minLevel, maxLevel, scaleFactor)

This routine initialize lattice dx and dt

Arguments

TypeIntentOptionalAttributesName
type(mus_latticeUnit_type), intent(out) :: lattice

Lattice unit

integer, intent(in) :: minLevel

minlevel and maxlevel

integer, intent(in) :: maxLevel

minlevel and maxlevel

integer, intent(in) :: scaleFactor

scaleFactor depending on acoustic or diffusive scaling