# Scheme Implementation

The concept of schemes provides the user with a bigger flexibility. It is now possible to run multiple simulations with different layouts on the same mesh. This is the basis for LBM passive scalar transport simulations in Musubi.

## Scheme Definition

The scheme is part of the individual solvers and contains all information about initial conditions, boundary conditions, the mus_scheme_layout_module, fluid and flow properties.

## Usage

To start a flow simulation one can add the table species with the following quantities:

• the scheme header which includes kind, relaxation, layout: take a look at mus_scheme_header_module
• the initial conditions, take a look at mus_set_ic_states for a list of variables that are supported for the different schemes
• the boundary conditions, take a look at mus_load_bc for the different cases of possible boundary conditions in Musubi
• the fluid quantities. For all supported input variables check mus_load_fluid
--! [Scheme identifier]
identify = {
layout = stencil,
relaxation = relaxationModel,
kind = physicsModel
}
--! [Scheme identifier]

--! [Initial conditions]
initial_condition = { pressure  = ic_pressure,
velocityX = ic_velX,
velocityY = 0.0,
velocityZ = 0.0,
Sxx = ic_Sxx,
Syy = ic_Syy,
Sxy = ic_Sxy
}
--! [Initial conditions]

--! [Boundary conditions]
-- Label is a boundary identifier and it should be same as in seeder
-- configuration.
boundary_condition = {
{  label = 'north',
kind  = 'wall'
},
{  label = 'south',
kind  = 'wall'
},
{  label = 'west',
kind  = 'pressure_expol',
pressure = pressureIn
},
{  label = 'east',
kind  = 'pressure_expol',
pressure = pressureOut
}
}
--! [Boundary conditions]

--! [Fluid]
-- For both, incompressible and compressible kinematic viscosity has to be
-- defined. While for the first one, default values are stored for bulk
-- viscosity,, the user has to explicitly give them for compr. fluid.
if (physicsModel == 'fluid') then
fluid = {
kinematic_viscosity = nu_phy,
bulk_viscosity = bulk_visc
}
else
fluid = {
kinematic_viscosity = nu_phy,
}
end
--! [Fluid]