This document describes the B2000++ test cases verifying and illustrating analysis capabilities of the B2000++ package. The document is organized in two parts, the first part describing the B2000++ verification cases, and the second part explaining internal B2000++ test cases. The latter is mainly intended for performing system tests. This document replaces the Test Cases Documentation and the Examples Documentation.

All B2000++ test cases described in this document are available in the B2000++ distribution under the directory /opt/smr/share/B2000++/test_cases.

The sections herein contain all B2000++ input files, and test code for executing the test suite. Tests are launched individually with the b2testrunner application. Launch b2testrunner from a shell with

$ b2testrunner /opt/smr/share/B2000/test_cases

Individual tests can also be launched individually with the b2testrunner application.

SMR runs the tests daily, together with a complete re-build of B2000++ starting from a repository checkout.

Some verification cases can be executed from a shell with the command make, or by launching Python or shell scripts. Check with the relevant directories, where additional descriptive text in README files can be found. The Makefile files found in the relevant directories contain the following targets:

  • Typing make with the default target in a shell:

    $ make

    runs the test as documented by executing B2000++ with the relevant MDL input file.

  • To view relevant results, type

    $ make view

    to launch the baspl++ viewer.

  • To cleans up the directory by removing the generated model database (a file with the extension .b2m), type

    $ make clean

Test cases can easily be added to the test case suite. Adding tests should be limited to testing features not captured by one of the existing tests or to testing bugged features. While SMR maintains the 'official' test case suite, users can add tests to the sub-directory additional. For information on how to use the B2000 test program and how to write tests and documentation, please refer to the B2000++ Programming Manual.

The following sections are available:

  • Solid Mechanics: Linear an non-linear static and dynamic analysis. Contact analysis. Shell to volume coupling.

  • Heat Flow: Stationary and non-stationary (transient) heat flow solvers.

  • Coupled Analysis demonstrates analysis of some coupled problems, such as thermo-mechanical or electro-mechanical problems.

  • Internal Tests: B2000 input processor b2ip++ and the functioning of its commands, as well as the B2000++ converters. Perform basic tests with elements.