About B2000++

B2000++ is a Finite Element problem solving environment made primarly to analyze the behaviour of structures. With B2000++, you can predict with a high degree of accuracy the deformation field, the stress field, the buckling behavior, and the temperature distribution of many thin- and thick-walled, metallic and laminated composite structures. The modular architecture allows you to extend its capabilities and to create plug-ins. B2000++ works on Linux, and the source code of B2000++ is released under the GPL version 3 (GPLv3).

B2000++ Pro extends the capabilities of B2000++ to geometric nonlinear analysis, e.g. to predict the static and transient post-buckling behaviour, and material nonlinear analysis, including hyperelastic and viscoelastic material models. It can be executed with with the mpirun command to take advantage of the distributed parallel capabilities of the MUMPS sparse linear solver. B2000++ Pro contains advanced modelling capabilities like the field_transfer coupling method and includes the post-processor baspl++. B2000++ Pro includes installation support and one year of updates. Customers who purchase B2000++ Pro can access to the source code repository, and to the suite of verification tests.

B2000++ consists of several programs (see the Program Reference) that are launched from a shell, which necessitates a basic knowledge of shell commands; a somewhat older but nevertheless good tutorial can be found here. Since the B2000++ input processor reads text files, familiarity with text editors such as the popular gedit is required. Python scripts are useful to extract data from the database; how to start with Python is explained here. To develop extensions, good C++ programming skills are necessary. A C++ tutorial is found here, and the reference to the Standard Template Library (STL), which is perhaps the most important feature of C++, is available on the same website.

1. How FE Problems are described

Finite Element problems or models are described in text files, using the B2000++ Model Description Language (MDL), see the Model Description Language. MDL files contain the discretization (the nodes and element connectivities), the element types, element materials and properties, constraints and initial and boundary condition, and the analysis case descriptions.

For non-trivial models, the discretization is in general too large and too complicated to be written with a text editor. There are several ways to address this problem:

  • The MDL command epatch allows the specification of parametric geometrical patches that are automatically meshed. The epatch concept is adequate for test cases and for simple structures (i.e. sub-components).

  • The MDL commands nodesets, elementsets, facesets, and edgesets allow to specify constraints, boundary conditions, temperatures, initial conditions, etc. in an abstract manner, that is, without referring to the individual nodes, elements, element faces, or element edges. This way, a large part of the MDL commands can be specified independently of the chosen discretization (mesh density, element type(s), etc.).

  • MDL files can merged from several parts, using the MDL command include. The nodal coordinates and the element connectivities can be put into separate files that are included in the main MDL file. These separate files can be created using external programs such as custom-written scripts.

  • Geometry and mesh can be defined with the Salome CAD program. The MDL file is created from the Salome mesh by means of the b2convert_from_salome program. This approach is adequate for solid models and for shell models with isotropic or quasi-isotropic materials.

  • Nastran® Bulk Data Deck (BDF) files can be converted to MDL files by means of the b2convert_from_nas program. This approach is adequate for large and complicated problems, provided that the use of Nastran®-specific features that are not supported by other Finite Element codes like B2000++ is avoided.[1]

[1] For example, the "UM" feature in RBE3 elements, different weights for the same node in RBE3 elements, or the "TS/T" feature in PSHELL properties should be avoided.