Version 4.4 is now built with the cmake build system. See
explanations in the relevant cmake files
comments in git. All packages, except for baspl++ and the
fluid-structure coupling packages, are now built with cmake.
Version 4.4.8 (2023-05-03)
A problem with the C beam section properties generation in the b2ip++ code has been corrected.
The restart capability of the B2000++ nonlinear static solver has been restored.
Code and Libraries
The handling of MPI in B2000++ has been revised.
util/b2beam_cross_sections.His not active because properties (property option) are not (yet) supported by
Rx(rod) elements. Rod elements require
areainstead. Pertains to
b2ip++: Issues a warning if no
casesoption has been specified in the MDL
adirblock and b2ip++ does not find the
CASESkey in the descriptor of the
ADIRdataset. As a consequence, the B2000++ solver now stops with an error message if no
CASESare defined and no
-adir cases=option was specified on the B2000++ solver command line when launching the solver.
temperature_field <case> <cycle>for thermo-elastic coupling has been added.
Examples and verification
Updated some Simples examples and verification scripts, because the Simples API of the
Elementclass has changed slightly:
Element.conn(external element connectivity) and
Element.conn_i(internal element connectivity) instead of former
Element.conni(internal element connectivity).
Added a one-way thermo-elastic coupling example
examples/coupled/transient_heat_deformation. Added computation of gradients for all heat tests.
Warning: The system tests of this version should be run with Simples version 2.3.1+.
All test case description files
description.rsthave been updated and adapted to the revised documentation system. All test case figure file names have been modified to fit in the revised documentation system.
The generation of B2000++ examples and verification documentation with Sphinx has been completely revised, because of a conceptual problem with the test case figures (conflicting file names). The
sphinx/CMakeLists.txtfile contains a short description of the new documentation generation.
The examples are now in a separate document b2examples, see
sphinx/b2examples. Note: before generating the new documentation you must install the latest
smrconfigpackage from the git repository.
Version 4.4.7 (2022-09-16)
Updated B2000++ documentation, improved test case documentation.
Version 4.4.6 (2022-06-09)
Updated B2000++ documentation, specifically the test case documentation, the new revised b2programming manual, and a first version of the new B2000++ API Manual.
Fixed the –valgrind problem: The
--valgrind option did not work
anymore because the
valgrind-python.supp file was not
installed and because there was an error in
Updated b2ip++ code: Added object factory for registration of user elements.
Cleaned up b2test python module, removed unused old code, documented the module.
Version 4.4.5 (2022-02-23)
Specification of MDL
edgeset now have the
sorted will remove all duplicate entries and sort the list in
ascending order, while
unsorted (default) keeps the list as
specified. Most often a set will be unsorted, because the order in
which nodes or elements are specified is important. However, for
certain coupling operations sorted sets are required. See the
Component Mode Synthesis example
unsorted parameter is stored in the descriptor
of the relevant datasets.
Tests have been updated for the
sorted parameter of the node and
element set object.
B2000++ unit tests (b2testrunner): Python 3 does not support implicit relative imports within packages. Therefore all __init__.py files that specify imports of test cases were modified as follows (example):
from . import scordelis_lo_roof
Version 4.4.4 (2021-12-07)
Various updates of verification and example test cases in connection with Simples.
The application b2testrunner is now installed wit the wrapper for ensuring correct Python modules.
Small updates to installation (cmake): Python main programs now installed with cmake and wrapper.
The MDL node and element list definitions are now deprecated in favor of set, because list and set are the same and they are not processed in a different way by B2000++. The name set seems more appropriate. Note: B2000++ node and element lists and sets have nothing to do with Python list and set objects.
Linear pre-buckling and vibration analysis: The number of requested
NMODES must be greater or equal to 2. NMODES=1 will
fail in the eigenvalue solver. A check in them MDL is made and
NMODES=1 will be changed to NMODES=2.
Version 4.3 is a reworked version for executing Python 3 code.
Rod Section Stresses and Strains: The following datasets have been renamed, because their content relates to specific element types:
Beam elements in the current version do not produce stresses and strains. These have to be computed in a post-processing step with the the Simples
The Sample Field datasets
MOMENT_SECTION_BEAMstore the beam forces and moments one by on in the order the beam elements are defined. The mapping between the beam external element number and the entry in the Sample Field dataset is not yet stored on the database and must be computed by a post-processing program. Simples does so, see the “Gerbertraeger” example.
Rod Stresses and Strains: The following datasets have been renamed, because their content relates to specific element types:
The Sample Field datasets
STRAIN_SECTION_RODstore stresses and strains one by on in the order the rod elements are defined. The mapping between the rod external element number and the entry in the Sample Field dataset is not yet stored on the database and must be computed by a post-processing program. Simples does so, see the “Gerbertraeger” example.
b2ip++: Added tests for beam section properties input. b2ip++ now produces warnings if beam section properties are not correct.
b2ip++: Error messages can produce very long output lines, because the mdl file name is expanded. Problem partially solved.
All code: Started to improve error messages.
b2test.py: Changed b2test
modefor consistency with other programs. Re-introduced write enabled b2test databases, because otherwise some old tests do not work. This problem should be addressed: By default the test database should never be opened in write mode by default.
toolshas a new directory structure.
Make files have been updated (still generated by autotools).
The examples documentation has been integrated in the B2000++ Verification document. The separate test case directory
exampleshas been removed and all example test cases are now stored under the directory
A new option
-P prefixhas been added to the b2testrunner application, because some new tests now require the B2000++ prefix directory, because they compile test programs with C++ code.
Verification and test cases: They have been moved to a separate package b2000pp_data, because their distribution with the binary code packages unnecessarily duplicates the information, because the data are independent of the Operation System.
Due to the conversion to Python 3, the test cases had to be split. The Python 2 test cases are in the directory
test_cases, while the Python3 test cases are located in the new directories
The examples documentation has been integrated in the B2000++ Verification document. The examples directory
examplesis now stored under the directory
B2000++ Input Processor
Error messages can produce very long output lines, because the mdl file name is expanded. This issue has been addressed and partially solved.
A comment character “#” as last character (without a newline) in an input file leads to a syntax error.
Linear pre-buckling and vibration analysis: If the number of requested
NMODES is set to 1 the computation of the eigenvector
can fail in some cases. Set
NMODES to 2 or more in such cases.
The Beam Cross Section Solver exhibits problems with the shear center.
Iterative Solvers: The gmm iterative solvers do not work in the present version of B2000++, because the gmm API has changed. We recommend not to install the gmm package.
Adding linear constraints (LINC) to nodes that couple 2
meshes does not work, i.e the additional
LINC is ignored. Remedy:
Do not make use of
epatch in this case. Create the mesh with a
Bx.S.RS beam elements: The shear center defined by cross-section
Bx.S.RS is not taken into account for the
causing extra bending.
Qx.S.TL.2D Element: The element is singular when numbered clock-wise.
Python 2 Issues
Some test cases involving baspl++ are still not converted to Python3 and Simples.
The b2set_blas_library utility does not work under Ubuntu. b2set_blas_library allows for selecting various BLAS implementations. A replacement is under development.
- baspl++ still only works with Python2 and is compiled and
distributed with the Python2 version of the SMR packages.
Viewing of sample point fields, specifically derived values, such as von Mises stresses or failure indices works as long as elements of the same type, such as shell or solid elements, are involved. In the presence of mixed meshes, such as beam/rod and shell meshes, viewing of von Mises stresses or failure indices does not work or is only possible with some work-around, such as defining several parts, one for beams, one for rods, and one for shells.