Capabilities of opensource packages (Salome / OpenFOAM / Paraview) for solving MCC


Sergei Strizhak, Hewlett-Packard, PhD, Bauman Moscow State Technical University
Avetisyan Harutyun, PhD, Scientific Secretary ISPRAS
Kraposhin Matvey, NRC "Kurchatov Institute", Head of Laboratory


A brief overview of the open packages for solving MCC (continuum mechanics). Capabilities of web-lab UniHUB ( and supercomputer "Lomonosov". Features of environment settings and scheduler's packaging Salome / OpenFOAM / Paraview. Access to the working console. Stories create packages Salome / OpenFOAM / Paraview. Key capabilities of OpenFOAM for solving the MLS. The directory structure. Comparison of two different directions (basic and extended versions) in the development of the package OpenFOAM. Describes a method of control volume, which is the basis for the solution of partial differential equations. Academic and practical problems solved using OpenFOAM. Overview of standard solvers in OpenFOAM.

On the example of test problems (for a cavity in the moving lid, flow backward-facing step (pitzDaily), the calculation of the flow in a heated room, the calculation of the collapse of a column of liquid water, the calculation of the turbulent flame, building adaptive computational grid (motorBike) discusses features of a calculation example.

Shows how to finished examples (tutorials). Laboratory work includes the 4.6-ready examples. Listeners download samples from the repository UniHUB in your home directory and run the examples on a computing cluster and UniHUB "Lomonosov".


Lecture : Key capabilities Paraview Salome and preparation of the computational domain, the grid visualization of results.

Lecture : Create a simple geometry (cylinder, sphere, cone), the construction of the computational grid, setting the boundary conditions, the conversion of the grid format OpenFOAM, preparing the design example, the launch of the account on the cluster, processing and visualization calculations in Paraview . A record deal with possible language for writing Python scripts in the package managers Salome

Lecture : Main features and compiling a package OpenFOAM. OpenFOAM package architecture in terms of the source code. Overview of the main features of the programming language C + +. Using Technology C + + (encapsulation, inheritance, polymorphism) in OpenFOAM. Levels of abstraction in OpenFOAM. The main classes in OpenFOAM (polyMesh, fvMesh, Time, Field, fvPatchField, lduMatrix, fvMatrix, fvc, fvm). System-level primitives. Representation of the fields in OpenFOAM. Representation of sparse matrices. Diskretiazation terms in the equations. Resource use computing clusters for parallel computing.

Lecture : Equations of elliptic partial differential, and paraboliс and hyperbolic type. Emphasis on building their own solvers and selection of design schemes. Features of the implementation code (Code styling). Creating your own solver. An example of implementing the standard solver ScalarTransportFoam. Lab: Creating your own library and solver myScalarTransportFoam boundary condition. The emphasis is on the source code solver C + +.

Lab : Creating and compiling their own solver (elliFoam, hyper1Foam, hyper2Foam, parabFoam).

Lab : problem solving with the use of a new solver, data processing, visualization calculations in Paraview. Listeners can make changes to the code. Additionally students are offered free to choose and decide three test problems on various subjects (aerodynamics, aeroelasticity, hydrodynamic stability, multiphase flow, heat transfer, combustion, flow with a free surface).

Thematic lectures : - Computational methods of linear algebra. Iterative methods for solving linear algebraic equation in OpenFOAM; - Tasks Applied Aerodynamics (simpleFoam, pisoFoam, rhoCentralFoam) and aeroacoustics - Problems of Aeroelasticity (icoFsiFoam); - Objectives of hydrodynamic stability (interFoam, compressibleFoam) and problems with free convection (buoyantPimpleFoam, buoyantBoussinesqPimpleFoam); -Flows with free surfaces (problem solving flow ship bodies infinite fluid simulation of traffic in view of the free surface, grid generation for marine surfaces) - Objectives of the conjugate heat exchange (chtMultiRegionFoam); - Problems with the burning (fireFoam, reactingFoam); - Multiphase flows (cavitatingFoam, twoPhaseEulerFoam, bubleFoam). - Optimization problems of gas dynamics (adjointShapeOptimizationFoam); - Features of the class Pstream for parallel computing in OpenFOAM; - Features of solvers for linear algebraic CUDA in OpenFOAM;

Duration : 32-36 hours. 8.10 lectures 12-14 labs. 5 days. The course is designed for professionals in the field of applied mathematics, mechanics, physics.

Minimum knowledge for students : Continuum mechanics, Partial differential equations, numerical methods, programming language C + + and Python, Parallel Programming Maximum number of participants: 20