Introduction
SIFEL is an open source finite element (FE) computer code which has been developing since 2001 at the
Department of Mechanics of the
Faculty of Civil Engineering of the
Czech Technical University in Prague.
The SIFEL is an union of several parts which can be used as independent computer codes or they can be
linked together in order to obtain higher functionality. All parts are released under
GNU General Public Licence (GPL)
- GEFEL - the part containing mathematical, FE and auxiliary tools for all
other parts of the code. <more...>
The module is represented by library of functions and classes used by all other parts of SIFEL.
It provides general data and actions which are independent on type of solved problem.
There are a lot of functions and procedures dealing with vectors, matrices, shape functions and
finite elements. It concerns also subroutines for the solving of system of equations, e.g. classical
LU and LDL factorizations or new gradient and iterative solvers. Furthermore, algorithms for
optimizations and homogenizations are implemented to model behaviour of composite materials.
Another important part represent functions dealing with formatted input and output, error handling and
other low level functions.
Basic features:
- Matrix storage: dense matrix, skyline, double skyline, compressed rows, symmetric compressed rows
- Solvers: Gaussian elimination, LDL factorization, LU factorization, conjugate gradient method,
bi-conjugate gradient method, sparse direct solver
- Optimization algorithms: genetic algorithms, simulated annealing.
<less...>
- MEFEL - the part which deals with mechanical problems such as linear
and non-linear statics, eigenvibration analysis, forced dynamics, time dependent
problems of rheology. <more...>
It is an individual executable module/program for mechanical problems based on finite element method.
There are implemented many material models that involve simple elasticity, plasticity, visco-elasticity,
creep, damage, etc. Results can be exported to commercial graphical postprocessor GiD which provides
robust environment for their visualization. MEFEL is written in C++ with respect to portability and
extensibility. The code runs on both Linux and Windows platforms. The program was used for analyses
of real engineering problems (
see this link).
Basic features:
- Problem types: linear statics, nonlinear statics, eigen dynamics, forced_dynamics,
time-dependent problems, simulation of gradual construction, earth pressures,
layered linear statics, homogenization problems, hemivariational inequality
- Finite elements: linear and quadratic bar elements (2D, 3D), beam element (2D, 3D),
beam element 3D with general cross section, triangular and quadrilateral plate elements (with optional
subsoil elements and layered cross section, based either on Kirchhoff or Mindlin theory), spring elements,
linear plane triangular and quadrilateral finite element with rotational degrees of freedom,
2D interface elements, linear and quadratic triangular/quadrilateral elements for axisymmetric domains,
triangular and quadrilateral shell elements, linear and quadratic tetrahedral, hexahedral and
wedge elements
- Material models: linear elasticity (isotropic, orthotropic and anisotropic), plasticity (J2, Mohr-Coulomb,
Drucker-Prager, Boer, Cam-Clay and double Drucker-Prager, HISS criterions), damage models (scalar isotropic,
orthotropic and anisotropic damage models), visco-plasticity (simple viscous model combined with arbitrary type
of plasticity criterion, Lemaitre model), creep models for concrete (B3, double power law),
M4 microplane model for concrete, consolidation model for subsoil, Winkler and Winkler-Pasternak subsoil
models, creep-damage models, damage-plasticity models
- Nonlinear solvers: arc-length method, Newton-Raphson method (full and modified approches),
incremental solver with Newton-Raphson method for time dependent problems with negligible inertial forces
- Postprocessing: plain text output, tabular output of selected quantities (can be imported to Excel
or Grace), graphical output - GiD format(commercial GiD or free MeshEditor), OpenDX format (free software)
<less...>
- TRFEL - the part which deals with transport processes such as heat transfer,
moisture transfer, coupled heat and moisture transfer, moisture and salt transfer, etc.
<more...>
It is an individual executable module/program for transport problems based on finite element method.
It can solve stationary and non-stationary, linear and non-linear problems of heat and moisture transfer.
2D and 3D domain can be modeled by various types of finite elements with linear or quadratic base functions.
Phenomenological and micromechanics based models for coupled heat and moisture transfer were implemented,
e.g. Künzel and Kiessl`s model and Lewis and Schrefler approach. Various boundary conditions can be applied
including climatic conditions. Results can be exported to commercial graphical postprocessor GiD which
provides robust environment for their visualization. TRFEL is written in C++ with respect to portability
and extensibility. The code runs on both Linux and Windows platforms. The program was used for analyses
of real engineering problems (
see this link).
Basic features:
- Problem types: stationary and nonstationary problems, linear and non-linear solution method
simulation of gradual construction process, modelling of unknown field discontinuity
(e.g. moisture content in one element node on material interface), one medium problem, coupling of two,
three and four media
- Finite elements: bar element with linear or quadratic approximation functions, triangular element
with linear base functions, quadrilateral element with linear or quadratic approximation functions,
bar, triangular, quadrilateral elements for axisymmetric domain, tetrahedral element with linear functions
hexahedral element with with linear or quadratic functions
- Material models: heat transfer, moisture transfer, coupled heat and moisture transport,
coupled heat - moisture and salt transport, phenomenological based models (Kunzel and Kiessl, Pedersen),
micromechanical based models (Lewis and Schrefler, Tenchev), various types of sorption isotherms and
moisture storage functions - Root, Hansen, Bazant, Baroghel-Bouny, measured data
non-linear behaviour of material parameters (heat conductivity, capacity , permeability, etc.)
- Boundary and initial conditions: Dirichlet boundary conditions (prescribed temperature,
moisture, relative humidity, etc.), Neumann boundary conditions (prescribed heat and mass fluxes),
Cauchy boundary condition (heat transfer on boundary, diffusion effect), climatic conditions exposure
(wind effect, rain, water contact, heat transfer and moisture diffusion, short and long wave radiation)
- statistically processed (measured) data, heat source condition - measured data from calorimetry,
multiscale modelling of cement hydration process (CEMHYD3D) - simulation of hydration heat evolution
- Postprocessing: plain text output, tabular output of selected quantities (can be imported to Excel
or Grace), graphical output - GiD format(commercial GiD or free MeshEditor), OpenDX format (free software)
<less...>
- METR - the part combining MEFEL and TRFEL which is used in coupled transport
and mechanical problems.
<more...>
It is an individual executable module/program based on finite element method, exploiting material models
and approaches from the TRFEL and MEFEL modules. Additionally, it extends these models by coupling algorithms
or it utilizes implemented coupling routines in these models. Program solves linear and non-linear
non-stationary problems of heat and moisture transfer coupled with nonlinear mechanics on 2D and 3D domains.
All types of elements, boundary conditions and material models implemented in MEFEL and TRFEL can be used in METR
analyses. The program was used for analyses of real engineering problems (
see this link).
<less...>
- PARGEF - the part containing mathematical, graphical and auxiliary tools for
parallel computing, it contains the Schur complement method, the FETI (Finite
Element Tearing and Interconnecting) method and the FETI-DP (Dual-Primal
Finite Element Tearing and Interconnecting) method,
- PARMEF - the part which deals with mechanical problems solved on parallel
computers,
- PARTRF - the part which deals with transport processes solved on parallel
computers,
- PARMETR - the part combining PARMEF and PARTRF which is used in coupled
transport and mechanical problems solved on parallel computers