SectionBuilder is a preprocessor for Dymore and it uses a freely available, cross-platform, compilers, graphical user interface, and graphical packages only. The following tools are necessary to help install and execute the code. This page focuses on their installation in a Linux environment; for the Windows version, refer to this page.
In this page the lines starting with “$” refer to commands to be run in the Linux terminal.
SectionBuilder parallel capabilities use OPEN-MP and MPI.
SectionBuilder is developed under code::blocks, an open source, cross platform, free C/C++ Integrated Development Environment (IDE). Please download “codeblocks_20.03_amd64_stable.tar.xz”, extract the archive and install code::blocks (using “codeblocks_20.03_amd64.deb” if on Debian-based system).
Results from SectionBuilder are archived in the HDF5 format, a standard binary data format. To download and install this library, you can refer to the following procedure:
- Download “hdf5-1.12.0-linux-centos7-x86_64-shared-production.tar.gz”
- Extract downloaded files (assumed in ~/Downloads)
- Move libraries to /usr/local/ (from terminal):
- $ cd ~/Downloads/hdf5-1.12.0-linux-centos7-x86_64-shared-production/hdf5-1.12.0-linux-centos7-x86_64-shared
- $ sudo cp -avr lib/. /usr/local/lib
- $ sudo mkdir /usr/local/include/hdf5
- $ sudo cp -avr include/. /usr/local/include/hdf5
- $ sudo ldconfig
SectionBuilder is interfaced with MUMPS. If you want to use that capability, please download and install the library. The procedure for installing MUMPS in Linux is the following:
- OPEN-MP is pre-installed on most platforms. In Linux its installation can be checked via terminal with: “$ echo |cpp -fopenmp -dM |grep -i open”. If necessary it can be installed using: “$ sudo apt install libomp-dev”.
- MPI can be installed on Linux system via terminal with: “$ sudo apt-get install libcr-dev mpich2 mpich2-doc”.
- Install dependencies (from terminal):
Download MUMPS 5.1.2
Extract downloaded files (assumed in ~/Downloads)
Compile libraries (from terminal):
- $ sudo apt install libscalapack-openmpi-dev
- $ sudo apt install libscalapack-mpich-dev
- $ sudo apt install libscalapack-mpi-dev
Move files to /usr/local/ (from terminal):
- $ cd ~/Downloads/MUMPS_5.1.2
- $ cp Make.inc/Makefile.debian.PAR ./Makefile.inc
- $ sudo make d
- $ sudo make z
- $ cp Make.inc/Makefile.debian.SEQ ./Makefile.inc
- $ sudo make all
- $ sudo ldconfig
SectionBuilder plotting capabilities use gnuplot (current version: 5.2.6), a portable command-line driven graphing utility for Linux, OS/2, MS Windows, OSX, VMS, and many other platforms. Please download and install gnuplot, and associate extension “.plt” with execution of gnuplot.
SectionBuilder graphical post-processor uses the Graphical User Interface provided by WxWidgets (current version: 3.1.3). On Linux, pre-compiled libraries can be installed using the following procedure. This steps were tested on Ubuntu 20.04 “Focal Fossa”. For other versions of Linux it may be necessary to change the repository used.
- $ sudo cp -avr include/. /usr/local/include/MUMPS
- $ sudo cp -avr lib/. /usr/local/lib
- $ sudo cp -avr libseq/. /usr/local/lib
Two- and three-dimensional graphics capabilities use FREEGLUT, an open source alternative to OpenGL. On Linux systems, they can be installed from terminal using “$ sudo apt-get install freeglut3”, if not installed already.
- $ sudo apt-key adv --fetch-keys https://repos.codelite.org/CodeLite.asc
- $ sudo apt-add-repository 'deb https://repos.codelite.org/wx3.1.3/ubuntu/ focal universe'
- $ sudo apt-get update
- $ sudo apt-get install libwxbase3.1-0-unofficial libwxbase3.1-dev libwxgtk3.1-0-unofficial libwxgtk3.1-dev
- $ sudo apt-get install wx3.1-headers wx-common wx3.1-i18n wx3.1-examples
- $ sudo apt-get install libwxgtk-webview3.1-0-unofficial libwxgtk-webview3.1-dev
- $ sudo apt-get install libwxgtk-media3.1-0-unofficial libwxgtk-media3.1-dev
- $ sudo apt-get install libwxbase3.1-0-unofficial-dbg libwxgtk3.1-0-unofficial-dbg
- $ sudo apt-get install libwxgtk-webview3.1-0-unofficial-dbg libwxgtk-media3.1-0-unofficial-dbg
A typical installation of the code is part of the Dymore software and it features several sub-directories. This part of the manual refers to the SectionBuilder portion only.
Dymore/SecBuild. This directory contains the source code for SecBuild, a visualization tool for SectionBuilder.
validation. This directory contains the input files for various examples; for instance, the input file for all the shapes in the ShapeBuilder library are in validation/ShapeBuilder.
The following file types are used for input files.
.seb. These are SectionBuilder input files containing the description fo the cross section to be analyzed. The format is that described in this manual. These files serve as inputs to the graphical user interface, SecBuild.exe and to the command line version SecBuildNoGui.exe.
.dat. These are input files to be included in the input stream by means of the include command. Note that files with arbitrary extension can be included.
The following file types are used as output files.
.out. This file is created by SectionBuilder in the execution of the cross sectional analysis, SecBuild.exe. It echoes the definition of the model and lists potential error and warning messages. For successful runs, diagnostic messages for each time step are also printed.
.h5. This file is created by SectionBuilder. It is a HDF5 database that contains the complete configuration of the system at each archived time step.
.html. This file is created by SectionBuilder. It echoes the definition of the model in hyper linked format. This file also contains graphical data: plots of specific input data and time histories created by the sensors defined in the model.
.plt. These files are created by SectionBuilder and contains scripts to be executed by the plotting package gnuplot. The file extension .plt should be associated with the execution of gnuplot.
.bak. These files are created by SectionBuilder. Whenever SecBuild.exe is invoked, it creates backup copies of all the inputs files of the model, appending extension .bak at the end of each file name.
.grf. These files are created by SectionBuilder. They contain graphical data to be used by SectionBuilder in the visualization process. These file are not meant to be viewed or edited by users.
.mdt. These files are created by SectionBuilder. They contain the data generated by the user defined sensors and post-processing tools. These files are used by gnuplot to draw the requested figures. These file are formatted files: the first column lists time instants and the next six columns list sensor outputs at the corresponding time. These files can be used by other plotting packages, such as MATLAB, for instance, for further processing and/or plotting.
.top. This file is created by SectionBuilder. It lists the topological entities of the system. This file is not meant to be viewed or edited by users.