mus_param_module Module

This module provides the definition and methods for boundarys.



Variables

Type Visibility Attributes Name Initial
integer, private, parameter :: block_size = 576

Derived Types

type, public ::  mus_latticeUnit_type

lattice dx and dt on each level

Components

Type Visibility Attributes Name Initial
real(kind=rk), public, allocatable :: dtLvl(:)

dt in LB unit, dtLvl(minLevel) = 1.0

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

dx in LB unit, dxLvl(minLevel) = 1.0

type, public ::  mus_param_type

Global parameter type definition, filled with

Components

Type Visibility Attributes Name Initial
type(tem_general_type), public :: general

Treelm param parameter type

type(mus_abortCriteria_type), public :: mus_Aborts

Musubi specific abort criteria

type(mus_latticeUnit_type), public :: lattice

Lattice dx and dt on each level

type(mus_physics_type), public :: physics

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

character(len=labelLen), public :: particle_kind = 'none'

Type of particle modeling to use:

Read more…
character(len=labelLen), public :: controlRoutine

type of the control routine

logical, public :: 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), public :: scaling

type of the scaling: * acoustic * diffusive

integer, public :: scaleFactor

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

integer, public :: nNesting = 2

Nesting is 2: acoustic, 4: diffusive To calculate turbulent viscosity, velocity on buffer ghost elements should be valid to nesting is set to same as scaling Factor

integer, public :: 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, public :: comm_reduced = .true.
character(len=labelLen), public :: version = soi_solver_version

need to set solver version in general%solver%version

logical, public :: 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, public :: remove_solid = .true.

remove solid from BC list

integer, public :: block = block_size

Block size for compute kernel

logical, public :: initial_balance = .false.

Initial balance

logical, public :: 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, public :: dump_linear_partition = .false.

Dump linear partition

logical, public :: 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

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

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

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