5. Bugs and Known Problems

The “Bugs and Known Problems” section summarizes known problems and bugs of the software packages B2000++, Memcom, and baspl++.

5.1. B2000++, Version 4.5.5

5.1.1. MDL and b2ip++

  • If no elements are defined, b2ip++ will issue an error

    **MemCom error -1
    In function mcSTrowAppend: Cannot add new rows to the sparse-table dataset 'ETAB.1':
    The 'num' argument (0) is non-positive.
    
  • The branch (definition of branches other than default branch 1) can lead to problems. This is not a problem as long as the mesh consists of a single branch (branch 1), as is the case i.e for BDF converted meshes.

  • The BRANCH option of nodeset, elementset, edgeset, and faceset blocks does not work. This is not a problem as long as the mesh consists of a single branch (branch 1), as is the case i.e for BDF converted meshes.

5.2. B2000++, Version 4.5.4

5.2.1. MDL and b2ip++

  • Error messages can produce very long output lines, because the mdl file name is expanded. This issue has been addressed and partially solved.

  • MDL comment character “#” as last character (without a newline) in an input file leads to a syntax error.

  • Adding linear constraints (LINC) to nodes that couple 2 EPATCH 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 preprocessor instead.

5.2.2. Elements

  • Bx.S.RS beam elements shear center problem: The shear center defined by cross-section properties is not taken into account for the Bx.S.RS, causing extra bending.

  • Qx.S.TL.2D Element: The element is singular when numbered clock-wise.

  • Q4.S Elements: If surfaces modeled by Q4.S elements are meshed with one element in either direction, problem during non-linear analysis can arise. Remedy: Mesh with at least 2 elements.

5.2.3. Solvers

5.2.3.1. All

A problem with the MUMPS solver in the UBUNTU 22 version has been reported: A convection overlay element test produces a Numerically singular matrix error.

5.2.3.2. Linear pre-buckling and vibration analysis

  • MDL Eigenmodes specification of the CASE block: If the number of requested eigenmodes NMODES is set to 1 the computation of the eigenvector can fail in some cases. Set NMODES to 2 or more in such cases.

5.2.3.3. Non-linear static and all transient solvers

  • Restart still does not work properly, i.e after a restart the previous solution cycles are overwritten by the new ones, starting from 1.

5.2.3.4. Beam Cross Section Solver

Does not work correctly in some cases (report in preparation).

5.2.4. Test Cases

  • Some test cases involving baspl++ are still not converted to Python3 and Simples. They will eventually be converted and added to the existing verification cases.

5.2.5. B2000++ Configuration and build

  • b2set_blas_library utility removed. No replacement planned.

5.3. MemCom Version 7.7.7

5.3.1. MemCom Python module

  • Assigning values to a K (character) dataset created with db.new_set fails if a single subset (row) is created with db.new_dataset. Example: Create a dataset of 1 row and 16 characters wth db.new_dataset:

    db.new_dataset('FAILS', 'K', (1, 16))
    db['FAILS'][0] = 'toto'  # fails!
    

    Remedy: Create a set with a least 2 rows:

    db.new_dataset('WORKS', 'K', (2, 16))
    db['WORKS'][0] = 'toto'
    

    or create the dataset with assigning values at creation (without db.new_dataset):

    db['WORKS'] = ('it works        ',)
    

5.4. baspl++ Version 2.4.23

  • Field object SUBCASE option does not work, please use the MODE option instead (MODE is equivalent to SUBCASE).

  • baspl++ still only works with Python2 and is compiled and distributed with the Python2 version of the SMR packages.

  • Viewing of Sampling Point Fields, i.e stresses, strains, section forces and moments, etc. failure indices works as long as elements of the same type, such as shell or solid elements, are involved in a Part. 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 by defining several Part objects, one for beams, one for rods, and one for shells.