8. Updates

8.1. Version 2.5.4 (February 2026)

8.1.1. Modules

model.py: Fixed a problem with dbname if dbname has a trailing ‘/’.

materials.py, properties.py: Updated format() function.

formatdb.py fixed problem with formatting elements by type (b2browser).

nesets.py: node/element lists now numpy.int32 instead of of numpy.int64.

fields.py: Fixed problems with array dimensions (ip).

8.1.2. Applications

All applications now work without the Python3 virtual environment. Launch an application from the shell with <PREFIX>/bin/<application>.

Added pysimples Python3 interpreter.

8.2. Version 2.5.3 (January 2026)

8.2.1. Modules

model.py: Fixed a problem with element types. Added get_num_branches().

nesets.py: Fixed a problem with load().

8.2.2. Documentation

Updated modules doc.

8.3. Version 2.5.2 (December 2025)

8.3.1. Applications

Improved apps by unifying arguments (argutils.py). Fixed b2plot_stack (ex b2plot_stress_stack). Added b2print_stack, b2print_dataset.

8.3.2. Modules

Modules: Added the “format” method to some classes. Similar to __strs__. Reworked materials.py, now split im materials.py and properties.py. Simplified tables.py: DataFrame2 now inherits from pandas.DataFrame.

8.3.3. Tests and Examples

Tests and examples: Updated tests. Updated Minimodeler examples gerbertraeger, plate_rb (Eprop).

8.3.4. Documentation

All documentation of apps are now generated with make_chapter_apps.py

8.4. Version 2.5.1 (November 2025)

8.4.1. Applications

  • b2print_solutions: Now checks if field not defined.

  • Removed b2browser (now in an own project b2gtkbrowser). Reason: Problems with older system, such as almalinux8/centos8. pip does not find certain packages or is dependent on non-existing libs.

8.4.2. Modules

API has changed slightly:

  • branch.py: get_nbc, get_ebc return Null instead of exception.

  • model.py: get_model_name() returns model database name (no path, no “.b2m” extension). Added method get_ebc().

  • mycollections.py: MeshElementConnectivity modified.

  • ebc.py: Added get_value() returns value dict.

  • extract.py: elem_set renamed to get_elem_set.

8.5. Version 2.5.0 (September 2025)

8.5.1. Applications

Updated as a consequence of module updates. Bugs corrected (b2print_solutions, b2browser).

8.5.2. Modules

API has changed slightly. Addressing Model and Modeler objects is now done with capitalized Model and Modeler properties. The modules code is being updated: Object names are now capitalized in most modules.

  • b2util.py: Bug with stensor array order fixed.

  • branch.py: Error messages updated. `BranchArray2` moved to own module brancharray.py. Node local transforms problem with storing the NLCS transformation matrices fixed. Node and Elem objects updated. set_node replaced by add_node. set_elem replaced by add_elem. New method get_node_dof_transformation.

  • case.py: get_dofd_name replaced by get_dofdot_name. get_dofdd_name replaced by get_dofdotdot_name. get_dofd_init replaced by get_dofdot_init.

  • modeler.py, mdl.py, points.py, edges.py, surfaces.py: Code revised and eliminated bugs with edge and surface objects. The FE meshers are placed in a module femesh.py.

  • Fields (field.py): Code revised. The probe_field method of Model checks if a requested field is valid. The NewSamplingPointField field (still in progress) will speed up loading of fields, which is at this time very slow for large models.

  • formatdb.py: Code revised and some known bugs fixed.

  • matandprop.py: Bugs in code fixed.

  • model.py: Added SPF fields cache. New methods get_dof_transformations, get_dof_transformation set_dof_transformation. Problems with specifying subcase fixed.

  • nbc.py: Bugs in code (set methods) fixed.

  • transformations.py: New module for handling DOF transformations.

  • New named tuple DataSetAtt added. It is returned by probe_field.

8.5.3. Tests

Tests revised. DOF transform test added.

8.5.4. Examples

Bugs fixed. All Modeler examples now work.

8.6. Version 2.4.5 (June 2025)

8.6.1. Applications

  • nbc module: Added nbc moments class.

  • b2print_solutions: New option --available prints available fields for a given name, case, cycle..

  • Added module consistentlineloads.py utility for computing consistent line loads, where loads along a line vary (b2ip+++ cannot do this).

8.6.2. Build

# Added TBB lib in cmake scripts (from DLR).

  • Convert some numpy.int to int.

8.6.3. Modules

  • Updated case.py for GRADIENTS_ONLY.

  • Revised fields.py, and, as a consequence, formatdb.py, model.py, branch.py. Removed model.get_field_type() and replaced by model.has_field().

  • Fixed error in metric.py (weights for 3x3 scheme).

  • Revised nbc.py.

  • Revised tables.py (as a consequence of formatdb.py).

8.7. Version 2.4.4 (May 2025)

8.7.1. Modules

  • bcs: Added cross section types BEAM_CROSS_SECTION``and "`MATRIX. These are loaded only and are not used in beam stress calculations by simples.

  • fields: Re-introduced minmax (was lost in a previous update).

  • formatdb: Fixed errors. Still not really satisfactory!

  • matandprop: Updated Property object. Fixed beam stress bug. Fixed tests.

  • model: Specifying mode= in field selection is now equivalent to subcase=.

    Model open code revised (default was wrong in documentation: n creates a new model and associated database. nd removes an existing database and creates a new one. o opens an existing model and associated database in read/write mode. or opens an existing model and associated database in read-only mode. Default is o (read/write). New model databases are always write enabled.

    The Model.mcbrowser method has been added. It launches the mcbrowser Memcom data browser with the current database.