Modules

ModuleSource FileDescription
mus_abortCriteria_module mus_abortCriteria_module.f90

Musubi specific criteria to abort the simulation.

Read more…
mus_absorbLayer_module mus_absorbLayer_module.f90

Module containing subroutines for building MUSUBI specific absorbLayer source variables

Read more…
mus_aux_module mus_aux_module.f90
mus_auxField_module mus_auxField_module.f90

This module contains routine to retrieve auxiliary field variables for getElement, getPoint, setupIndices and getValOfIndex. Auxilary field variables are: * density and velocity for fluid * species desity and velocity for multispecies * potential for poisson

mus_auxFieldVar_module mus_auxFieldVar_module.f90

This module contains routine to retrieve auxiliary field variables for getElement, getPoint, setupIndices and getValOfIndex. Auxilary field variables are: * density and velocity for fluid * species desity and velocity for multispecies * potential for poisson

mus_bc_fluid_experimental_module mus_bc_fluid_experimental_module.f90

Boundary condition treatment routines for fluid simulation

Read more…
mus_bc_fluid_module mus_bc_fluid_module.f90

Boundary condition treatment routines for fluid simulation Details on implementation can be found in tem_bc_module

mus_bc_fluid_nonEqExpol_module mus_bc_fluid_nonEqExpol_module.f90

Non-equilibrium extrapolatioon boundary condition treatment routines for fluid simulation. The boundary condition for straight boundary with qVal=0 is based on: Guo, Z., & Shi, B. (2002). "Non-equilibrium extrapolation method for velocity and pressure boundary conditions in the lattice Boltzmann method." Chinese Physics. The boundary condition for curved boundary is based on Guo, Z., Shi, B., & Zheng, C. (2002). An extrapolation method for boundary conditions in lattice Boltzmann method. Physics of Fluids, 14(May), 10–14.

Read more…
mus_bc_fluid_turbulent_module mus_bc_fluid_turbulent_module.f90

Boundary condition wall treatment routines

Read more…
mus_bc_fluid_wall_module mus_bc_fluid_wall_module.f90

Boundary condition wall treatment routines

Read more…
mus_bc_general_module mus_bc_general_module.f90

This module contains general boundary routines

Read more…
mus_bc_header_module mus_bc_header_module.f90

This module contains boundary type definitions, different boundary treatment types, abtract interface and routine to load boundary table from config file

Read more…
mus_bc_nernstPlanck_module mus_bc_nernstPlanck_module.f90

Boundary condition treatment routines for Nernst-Planck equation

Read more…
mus_bc_passiveScalar_module mus_bc_passiveScalar_module.f90

Boundary condition treatment routines for fluid simulation

Read more…
mus_bc_poisson_module mus_bc_poisson_module.f90

Boundary condition treatment routines for Poisson equation

Read more…
mus_bc_species_module mus_bc_species_module.f90

Boundary condition treatment routines for multispecies simulation

mus_bc_var_module mus_bc_var_module.f90

This module provides variable to extract from boundary condition

mus_bgk_module mus_compute_bgk_module.f90

This module provides the definition and methods for BGK advection relaxation scheme.

mus_bndForce_module mus_bndForce_module.f90

This module contains routines to bnd_force type and routines to initialize bndForce array and compute bndForce on all boundary elements

Read more…
mus_buffer_module mus_buffer_module.f90

Module containing subroutines to prepare buffers for transformation of quantities (tracking) and the restart/tracking IO.

Read more…
mus_comm_module mus_comm_module.f90

This module provides the definition and methods for musubi-specific communication. It includes the wrapper functions for the actual communication, which is defined in tem_comm_module.

mus_compute_cumulant_module mus_compute_cumulant_module.f90

This module contains functions for Cumulant and Cascaded for D3Q27 stencil. author: Gregorio Gerardo Spinelli

mus_compute_nernstPlanck_module mus_compute_nernstPlanck_module.f90

This module provides the definition and methods for BGK advection relaxation scheme.

mus_compute_passiveScalar_module mus_compute_passiveScalar_module.f90

This module provides the definition and methods for BGK advection relaxation scheme.

mus_compute_Poisson_module mus_compute_Poisson_module.f90

This module provides the definition and methods to solve poisson equation. author: Kannan Masilamani Implementation is based on: Luo, K., Wu, J., Yi, H., & Tan, H. (2016). International Journal of Heat and Mass Transfer Lattice Boltzmann modelling of electro-thermo-convection in a planar layer of dielectric liquid subjected to unipolar injection and thermal gradient. International Journal of Heat and Mass Transfer, 103, 832–846.

Read more…
mus_config_module mus_config_module.f90

In this module, all parameter files are read in as lua script or a sample configuration is being loaded

Read more…
mus_connectivity_module mus_connectivity_module.f90

This module contains routines related to neighbor connectivity

mus_construction_module mus_construction_module.f90

\ref mus_construct "Creation of the data structures"

mus_control_module mus_control_module.f90

In this module, the control structure for computing each time step is established.

Read more…
mus_cumulantInit_module mus_cumulantInit_module.f90

This module contains functions for initializing Cumulant relaxation paramaters author: Gregorio Gerardo Spinelli

mus_d2q9_module mus_compute_d2q9_module.f90

Routines and parameter definitions for the standard D2Q9 model

mus_d3q19_module mus_compute_d3q19_module.f90

Routines and parameter definitions for the standard D3Q19 model

mus_d3q27_module mus_compute_d3q27_module.f90

Routines and parameter definitions for the standard D3Q27 model

mus_debug_module mus_debug_module.f90

Collection of debugging functions

mus_debug_tools_module mus_debug_tools_module.f90

Collection of debugging functions for writing stuff to files

mus_derivedQuantities_module2 mus_derivedQuantities_module.f90

This module provides functions for calculating macroscopic quantities

mus_derQuan_module mus_derQuan_module.f90

This module provides the MUSUBI specific functions for calculating macroscopic quantities from the state variables.

Read more…
mus_derQuanIncomp_module mus_derQuanIncomp_module.f90

This module provides the MUSUBI specific functions for calculating macroscopic quantities from the state variables for incompressible LBM models.\n Notice that only those quantities that related to density should have a formula which differs from normal LBM model.

Read more…
mus_derQuanIsothermAcEq_module mus_derQuanIsothermAcEq_module.f90

This module provides the MUSUBI specific functions for calculating macroscopic quantities for the isothermal acoustic equations from the state variables

Read more…
mus_derQuanMSGas_module mus_derQuanMSGas_module.f90

This module provides the MUSUBI specific functions for calculating macroscopic quantities from the state variables multispecies.

Read more…
mus_derQuanMSLiquid_module mus_derQuanMSLiquid_module.f90

This module provides the MUSUBI specific functions for calculating macroscopic quantities from the state variables for multispecies liquid model.

Read more…
mus_derQuanNernstPlanck_module mus_derQuanNernstPlanck_module.f90

This module provides the MUSUBI specific functions for calculating macroscopic quantities from the state variables. The depending common interface between MUSUBI and ATELES is defined in the tem_derived_module. The functionality for accessing a variable from the state and evaluating a lua function are also provided in the tem_derived module. A Novel lattice boltzmann model for nernstPlanck equation author> Zhenhua Chai , Baochang Shi A Coupled Lattice Boltzmann method to solve Nernst -Planck Model for simulating Electro-Osmotic Flows public :: deriveSrc_electricField

mus_derQuanPhysics_module mus_derQuanPhysics_module.f90

This module provides the MUSUBI specific functions for calculating macroscopic quantities from the state variables in physical units.

Read more…
mus_derQuanPoisson_module mus_derQuanPoisson_module.f90

This module provides the MUSUBI specific functions for calculating macroscopic quantities from the state variables. The depending common interface between MUSUBI and ATELES is defined in the tem_derived_module. The functionality for accessing a variable from the state and evaluating a lua function are also provided in the tem_derived module. A Novel lattice boltzmann model for poisson equation author> Zhenhua Chai , Baochang Shi A Coupled Lattice Boltzmann method to solve Nernst -Planck Model for simulating Electro-Osmotic Flows

mus_derQuanPS_module mus_derQuanPS_module.f90

This module provides the MUSUBI specific functions for calculating macroscopic quantities from the state variables.

Read more…
mus_derVarPos_module mus_derVarPos_module.f90

This module contains the type defintion which stores position of all derive variables in global varSys.

Read more…
mus_directions_module mus_directions_module.f90

This module contains parameters to address the stencil directions. These parameters are valid for all stencils, however, the direction q00 and q000 needs to be set on each use according to QQ.

mus_dynLoadBal_module mus_dynLoadBal_module.f90
mus_eNRTL_module mus_eNRTL_dummy.f90

This module contains an interface for external C++ code to compute liquid mixture property like thermodynamic factor and Maxwell-Stefan Diffusivity coefficients

mus_eNRTL_module mus_eNRTL_module.f90

This module contains an interface for external C++ code to compute liquid mixture property like thermodynamic factor and Maxwell-Stefan Diffusivity coefficients

mus_field_module mus_field_module.f90

This module contains information about all fields like fluid, species, temperature etc. This field type will be used for multispecies and passive scalar transport.

Read more…
mus_field_prop_module mus_field_prop_module.f90

This module contains mus_field_prop_type and modules related to fiels properties.

Read more…
mus_flow_module mus_flow_module.f90

Flow-related routines such as initialization of the flow field and parameters

Read more…
mus_fluid_module mus_fluid_module.f90

This module keeps all information about the fluid

Read more…
mus_geom_module mus_geom_module.f90

This module contains the definition of geometry type and routines to geometry information like mesh, boundary, immersed_boundary and restart

mus_geomIncr_module mus_geomIncr_module.f90

This module provides functionality to perform geometry change depending on the flow properties. Fluidify/Solidify, proximity condition variable are supplied in the lua file. Checks are performed against those parameters and geometry is accordingly changed (an element solidified or fluidified)

Read more…
mus_geomIncrHead_module mus_geomIncrHead_module.f90

This module contains the datatypes for the geometry increase table within the lua configuration file. It also contains the routines to load various variables, parameters from the lua file which are then used in performing geometry changes

mus_gradData_module mus_gradData_module.f90

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

Read more…
mus_hrrInit_module mus_hrrInit_module.f90

This module provides the definitions of M and Minv for MRT advection relaxation scheme for all stencils.

Read more…
mus_hvs_aux_module mus_hvs_aux_module.f90

Auxiliary functionality for musubi harvesting

mus_hvs_config_module mus_hvs_config_module.f90

In this module, all parameter files are read in as lua script or a sample configuration is being loaded

Read more…
mus_hvs_construction_module mus_hvs_construction_module.f90

mus_hvs_construct "Creation of the data structures" from the information in the configuration and from the mesh read from disk for the musubi harvesting

mus_IBM_module mus_IBM_module.f90

This module contains datatypes and subroutines for the immersed boundary method (IBM).

Read more…
mus_initFluid_module mus_initFluid_module.f90

This module contains routines which initiliaze advection relaxation and flow field for lbm model.

mus_initFluidIncomp_module mus_initFluidIncomp_module.f90

This module contains routines which initiliaze advection relaxation and flow field for lbm incompressible model.

mus_initIsothermAcEq_module mus_initIsothermAcEq_module.f90

This module contains routines which initiliaze advection relaxation and flow field for lbm model for acoustic equations.

mus_initLBMPS_module mus_initLBMPS_module.f90

This module contains routines which assigns compute kernel for passive scalar model

mus_initMultispecies_module mus_initMultispecies_module.f90

This module contains routines which initiliaze advection relaxation and flow field for multispecies lbm gas model and liquid model.

mus_initNernstPlanck_module mus_initNernstPlanck_module.f90

This module contains routines which initiliaze advection relaxation and flow field for lbm incompressible model.

mus_initPoisson_module mus_initPoisson_module.f90

This module contains routines which initiliaze advection relaxation and flow field for lbm incompressible model.

mus_interpolate_average_module mus_interpolate_average_module.f90

Average Interpolation of flow quantities between different grid levels

mus_interpolate_debug_module mus_interpolate_debug_module.f90

Interpolation of flow quantities between different grid levels

Read more…
mus_interpolate_header_module mus_interpolate_header_module.f90

Interpolation header to load confiugration and type definition

mus_interpolate_linear_module mus_interpolate_linear_module.f90

Linear Interpolation of flow quantities between different grid levels

Read more…
mus_interpolate_module mus_interpolate_module.f90

The routines defined here, fill up the ghost elements with valid data. Ghost elements are employed at grid level interfaces to provide valid pdf values to the neighboring fluid elements. This way, the solvers can act on elements of the same size only, treating the levels successively. Target elements are the ghost elements, which have to be filled with valid values. Source elements are the fluid elements from other levels, from where to take the input values for the interpolation. The target ghost elements on the target level have corresponding source fluid elements on the source level.

Read more…
mus_interpolate_quadratic_module mus_interpolate_quadratic_module.f90

I n t e r p o l a t i o n

o f

f l o w

q u a n t i t i e s

b e t w e e n

d i f f e r e n t

g r i d

l e v e l s

Read more…
mus_interpolate_tools_module mus_interpolate_tools_module.f90

Interpolation scheme tools

Read more…
mus_interpolate_verify_module mus_interpolate_verify_module.f90

Interpolation scheme tools

Read more…
mus_isotherm_acEq_module mus_compute_isotherm_acEq_module.f90

Routines and parameter definitions for the isothermal acoustic Eq D3Q19 model

mus_material_var_module mus_material_var_module.f90

This module provides variable to extract material variable like viscosity, omega, etc.

mus_mesh_adaptation_module mus_mesh_adaptation_module.f90

This module contains the code responsible for adaptively refining the mesh during run time.

mus_mixture_module mus_mixture_module.f90

This module contains all information about fluid mixture

mus_moments_module mus_moments_module.f90

This module deals with the calculation of moments from pdfs

mus_moments_type_module mus_moments_type_module.f90

This module provides a data type for moment definition

mus_mrt_d3q19_module mus_compute_mrt_d3q19_module.f90

This module provides the definition and methods for MRT advection relaxation scheme. The LB equaton using MRT is f(t+dt,x+dx) = f - M^(-1) * S * ( (M*f) - m^(eq) )

Read more…
mus_mrt_d3q27_module mus_compute_mrt_d3q27_module.f90

This module provides the definition and methods for MRT advection relaxation scheme for D3Q27 stencil. The weighted MRT is based on the following paper Abbas Fakhari, Diogo Bolster, Li-Shi Luo "A weighted multiple-relaxation-time lattice Boltzmann method for multiphase flows and its application to partial coalescence cascades" Journal of Computational Physics, 2017

Read more…
mus_mrtInit_module mus_mrtInit_module.f90

This module provides the definitions of M and Minv for MRT advection relaxation scheme for all stencils.

Read more…
mus_mrtRelaxation_module mus_mrtRelaxation_module.f90

This module contains functions for MRT relaxation paramater for different stencil layouts. NOTE: The order of relaxation entries is consistent with moments transformation matrix used in compute kernel. author: Kannan Masilamani

mus_MSGas_module mus_compute_MSGas_module.f90

This module provides the definition and methods for multispecies gas bgk advection relaxation scheme.

mus_MSLiquid_module mus_compute_MSLiquid_module.f90

This module provides the definition and methods for MSLiquid bgk advection relaxation scheme.

mus_nernstPlanck_module mus_nernstPlanck_module.f90
mus_nonNewtonian_module mus_nonNewtonian_module.f90

This module keeps all information about the nonNewtonian models. Contains routines which calculates non-Newtonian kinematic viscosity according to non-Newtonian model.

Read more…
mus_operation_var_module mus_operation_var_module.f90

This module provides the routine for applying operators. Currently it is only implemented for 3D and needs to be extended to 2d

mus_param_module mus_param_module.f90

This module provides the definition and methods for boundarys.

mus_pdf_module mus_pdf_module.f90

Definitions for the main state and neighbor arrays

mus_physics_module mus_physics_module.f90

This module contains data type and modules related to musubi lattice to physical unit convertion and vice versa. physics data type is global for all schemes, it is defined in the following format:

Read more…
mus_poisson_module mus_poisson_module.f90
mus_ppInfo_module mus_ppInfo.f90

Module to provide information about pre-processing settings of the current executable.

mus_program_module mus_program_module.f90

This module contains data types and routines used by musubi main program i.e unifying routines for apesmate

mus_relaxationParam_module mus_relaxationParam_module.f90

This module contains the data type for MRT.

Read more…
mus_restart_module mus_restart_module.f90

This module provides the MUSUBI subroutines needed for the restart functionality.

Read more…
mus_scheme_derived_quantities_module mus_scheme_derived_quantities_type_module.f90

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

Read more…
mus_scheme_header_module mus_scheme_header_module.f90

This module contains scheme property type and module related to scheme prop

Read more…
mus_scheme_layout_module mus_scheme_layout_module.f90

scheme_layout module, providing the scheme_layout datatype and the functionality to read the lua files and to set the predefined stencils.

Read more…
mus_scheme_module mus_scheme_module.f90

Definition of the datatypes for the scheme implementation.

Read more…
mus_scheme_type_module mus_scheme_type_module.f90

This module contains the type definition(s) required in the scheme routines In addition depend type and condition type for geometry increase routine are defined. Compute kernel definition is also defined in this module

mus_Smagorinsky_module mus_Smagorinsky_module.f90

This module contains function to compute eddy viscosity for Smagorinsky les turbulence model. author: Kannan Masilamani

mus_solSpecHelpers_module mus_solSpecHelpers_module.f90

This module provides MUSUBI specific helper functions for extracting information from the solver specific character.

mus_source_module mus_source_module.f90

Module containing subroutines for initialize Musubi source variables and update source terms

mus_source_type_module mus_source_type_module.f90

Module containing subroutines for building MUSUBI specific source variables

mus_source_var_module mus_source_var_module.f90

Module containing subroutines for building MUSUBI specific source variables

mus_source_var_turbChanForce_module mus_source_var_turbChanForce_module.f90

Module containing subroutines for building MUSUBI specific source variables for turbulent channel flow. To avoid cyclic inclusions

mus_species_module mus_species_module.f90

This module contains mus_species_type and routines to load species table from config file.

mus_stateVar_module mus_stateVar_module.f90

This module contains routine to retrieve state variables for getElement, getPoint, setupIndices and getValOfIndex

mus_statistics_module mus_statistics_module.f90

In this module we collect routines and type definitions related to statistics for the runtime of the code.

mus_test_module mus_compute_test_module.f90

This module provides the definition and methods for BGK advection relaxation scheme.

mus_time_module mus_time_module.f90

This module contains time definition needed for musubi

mus_timer_module mus_timer_module.f90

This module contains data types and routines used to measure time spend on musubi routines. author: Kannan Masilamani

mus_tools_module mus_tools_module.f90

Some generic handy check routines to check the properties of the flow field and the current run

Read more…
mus_tracking_module mus_tracking_module.f90

This module provides the MUSUBI subroutines needed for the tracking functionality.

mus_transport_var_module mus_transport_var_module.f90

Module containing subroutines for building MUSUBI specific transport variables to use in compute kernels and source update

mus_turb_viscosity_module mus_turb_viscosity_module.f90

This module assigns function pointer to calculate turbulent viscosity according to turbulence model and scheme definition

mus_turb_wallFunc_module mus_turb_wallFunc_module.f90

This module contains turbulent wall function type and routines to calculate friction velocity and stream-wise velocity component.

Read more…
mus_turbulence_module mus_turbulence_module.f90

This module contains data types, function and routines for turbulence model. Especially the routine to compute turbulent eddy viscosity for different turbulence model

Read more…
mus_turbulence_var_module mus_turbulence_var_module.f90

This module provides variable to extract when turbulence model is active

mus_variable_module mus_variable_module.f90

This module provides all possible 'pure variables' (= no prefixes) for a given kind of simulation.

Read more…
mus_varSys_module mus_varSys_module.f90

This module contains solver data type with pointers to musubi mus_scheme_type, mus_param_type, etc which are required for variable operation method data. Also contains all general routines for the variable system.

mus_Vreman_module mus_Vreman_module.f90

This module contains function to compute eddy viscosity using Vreman LES turbulence model. Vreman, A. W. (2004). An eddy-viscosity subgrid-scale model for turbulent shear flow: Algebraic theory and applications. Physics of Fluids, 16(10), 3670–3681. model. author: Kannan Masilamani

mus_WALE_module mus_WALE_module.f90

This module contains function to compute eddy viscosity for Wall-Adapting Local Eddy-Viscosity turbulence model. This implementation follows the LES described by Weickert et al. Weickert, M., Teike, G., Schmidt, O., & Sommerfeld, M. (2010). Investigation of the LES WALE turbulence model within the lattice Boltzmann framework. Computers and Mathematics with Applications, 59(7), 2200–2214. author: Kannan Masilamani

mus_wall_function_abstract_module mus_wall_function_abstract_module.f90

This module contains data types, function and routines for wall function computations.

Read more…
mus_wall_function_musker_module mus_wall_function_musker_module.f90

This module contains data types, function and routines for wall function computations relative to Musker profile. Haussmann, Marc; BARRETO, Alejandro CLARO; KOUYI, Gislain LIPEME; Rivière, Nicolas; Nirschl, Hermann; Krause, Mathias J. (2019): Large-eddy simulation coupled with wall models for turbulent channel flows at high Reynolds numbers with a lattice Boltzmann method — Application to Coriolis mass flowmeter. In Computers & Mathematics with Applications 78 (10), pp. 3285–3302. DOI: 10.1016/j.camwa.2019.04.033.

Read more…
mus_wall_function_reichardt_module mus_wall_function_reichardt_module.f90

This module contains data types, function and routines for wall function computations relative to Reichardt profile. Haussmann, Marc; BARRETO, Alejandro CLARO; KOUYI, Gislain LIPEME; Rivière, Nicolas; Nirschl, Hermann; Krause, Mathias J. (2019): Large-eddy simulation coupled with wall models for turbulent channel flows at high Reynolds numbers with a lattice Boltzmann method — Application to Coriolis mass flowmeter. In Computers & Mathematics with Applications 78 (10), pp. 3285–3302. DOI: 10.1016/j.camwa.2019.04.033.

Read more…
mus_wall_function_schmitt_module mus_wall_function_schmitt_module.f90

This module contains data types, function and routines for wall function computations relative to Schmitt profile. Ref to following paper for Schmitt three layer equations. Haussmann, M. et al. (2019) ‘Large-eddy simulation coupled with wall models for turbulent channel flows at high Reynolds numbers with a lattice Boltzmann method — Application to Coriolis mass flowmeter’, Computers & Mathematics with Applications. Elsevier Ltd, 78(10), pp. 3285–3302.

Read more…
mus_weights_module mus_weights_module.f90

This module include the routine required for element wie dumping weight for better load balancing. Dump weights at end of simulation if 'write_weights' is defined in the config file. Weights are based on element wise time measurements