Dymore uses 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.
Dymore 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 Dymore 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):
Dymore parallel capabilities use OPEN-MP and MPI.
- $ 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
Dymore is interfaced with MUMPS. If you want to use that capability, please download and install the library. Notice that MUMPS is mandatory only for the modal reduction code. 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
Dymore plotting capabilities use gnuplot (current version: 5.2.8), 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.
Dymore graphical post-processor, called DymViz, 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 features several sub-directories.
Dymore/Dymore. This directory contains the source codes for Dymore, a finite element based tool for the analysis of nonlinear flexible multibody systems. SectionBuilder and NormalBuilder are pre-processors of Dymore and their source codes are found in specific sub-directories.
Dymore/DymViz. This directory contains the source code for DymViz, a visualization tool for Dymore.
Dymore/SecBuild. This directory contains the source code for SecBuild, a visualization tool for SectionBuilder.
Dymore/NorBuild. This directory contains the source code for NorBuild, a visualization tool for NormalBuilder.
Dymore/Herting. This directory contains the executable for the code performing Herting's modal reduction in the Release directory (Executable: Herting.exe). Additionally, the source codes are found in various sub-directories.
Dymore/manual. This directory contains the user's manual in pdf format.
Dymore/run. This directory contains the input files for various examples; for instance, the input file for the four bar mechanism example is Dymore/run/Fourbar/fourbar.dym.
The following file types are used for input files.
.dym. These are input files contain the data describing the model to be analyzed. The format is that described in this manual. These files serve as inputs to the graphical user interface, Dymput.exe, the pre-processor visualization tool, DymPre.exe, the multibody dynamics analysis, Dymore.exe, and the visualization tool, DymShow.exe. The file extension .dym should be associated with the execution of all four codes.
.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 the execution the multibody dynamics analysis, Dymore.exe, or the visualization tool, DymViz.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 Dymore. It is a HDF5 database that contains the complete configuration of the system at each archived time step.
.html. This file is created by Dymore.exe. 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 Dymore 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 Dymore. Whenever Dymore 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 Dymore. They contain graphical data to be used by Dymore in the visualization process. These file are not meant to be viewed or edited by users.
.mdt. These files are created by Dymore. 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 Dymore.exe. It lists the topological entities of the system. This file is not meant to be viewed or edited by users.