Required software

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.

  1. Dymore is developed under code::blocks, an open source, cross platform, free C/C++ Integrated Development Environment (IDE). Please download and install code::blocks (current version: 13.12), and associate extension “.cbp” with execution of code::blocks. For linux users, a make file is also available.
  2. Results from Dymore are archived in the HDF5 format, a standard binary data format. Please download and install this library to compile and run Dymore. For windows users, the required HDF5 files are provided with the source code of Dymore for convenience.
  3. Dymore parallel capabilities use OPEN-MP and MPI. OPEN-MP is pre-installed on most platforms. To use MPI, please download and install the library. For windows users, an outdated version of MPICH library is provided with the source code of Dymore for convenience.
  4. Dymore is interfaced with MUMPS. If you want to use that capability, please download and install the library. For windows users, a outdated but working set of libraries are provided with the source code of Dymore for convenience. Notice that MUMPS is necessary for the modal reduction code, Herting.
  5. Dymore plotting capabilities use gnuplot (current version: 5.01), 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.
  6. Dymore graphical post-processor, called DymViz, uses the Graphical User Interface provided by WxWidgets (current version: 3.0.2). This is the only tricky step.
    • Please download WxWidgets.
    • Detailed information on how to compile this package is provided here. This is long: each compilation take about 20 minutes on my Intel i5 computer using a single thread, but is uneventful.
      1. Let c:\wxWidgets-3.0.2 be the directory where wxWidgets 3.0.2 was installed.
      2. Rename this directory as c:\wxWidgets.
      3. Open a window command tool and enter “cd c:\wxWidgets\build\msw”.
      4. Clean the release source. Enter “mingw32-make -f makefile.gcc SHARED=1 UNICODE=1 BUILD=release clean”.
      5. Compile the release library. Enter “mingw32-make -f makefile.gcc SHARED=1 UNICODE=1 BUILD=release”
      6. Clean the debug source. Enter “mingw32-make -f makefile.gcc SHARED=1 UNICODE=1 BUILD=debug clean”.
      7. Compile the debug library. Enter “mingw32-make -f makefile.gcc SHARED=1 UNICODE=1 BUILD=debug”
    • Make sure that your environment variable “PATH” contains the following information: “C:\Program Files (x86)\CodeBlocks\MinGW\bin;” (This should be done automatically when you install code::blocks) and “C:\wxWidgets\lib\gcc_dll;” (You need to do this on your own).
  7. Two- and three-dimensional graphics capabilities use OpenGL, the Industry's Foundation for High Performance Graphics. This software is pre installed on most platforms.
  8. Dymore input files are written in an hyper-marked type language. The syntax of the input can be highlighted automatically by using Notepad++, a free source code editor and Notepad replacement that supports several languages. This software is convenient to use, but is not required. Running in the MS Windows environment, its use is governed by GPL License.
    • Download Notepad++ (Current version: 7.5.1).
    • Put the attachment, userDefineLang_Dymore.xml, in directory C:\Users\%UserName%\AppData\Roaming\Notepad++\
    • To edit a Dymore input file, file.dym, right click on the file and choose “Edit with Notepad++”.
    • Dymore input file syntax should be highlighted beautifully. If not, open “language” in the menu bar and choose “Dymore” in the bottom of pull-down menu.

Directory structure

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.