Grassl Group
Concrete Mechanics for Performance Based Design
Info for student projects using CDPM2 in OOFEM / LS-DYNA
This page collects brief advice, commands, and links for University of Glasgow undergraduate and MSc projects that use CDPM2 (Concrete Damage–Plasticity Model 2) with OOFEM or LS-DYNA. For general model info see: CDPM2 in OOFEM and MAT_CDPM (MAT_273) in LS-DYNA.
Outline
- Server
- Editors
- Setting up your server folders
- OOFEM
- T3D
- T3D → OOFEM
- ParaView
- CDPM2 info
- Extractor script
- LS-DYNA
- Examples
Server
OOFEM and LS-DYNA typically run on School servers (your supervisor will arrange an account). OOFEM is open source and can also be compiled locally; LS-DYNA requires a licence and should be run on the designated licence server.
You’ll usually need VPN to connect (even on campus): VPN setup.
Connect with ssh
and transfer files with scp
. On Linux/macOS, these are built-in (install if missing);
on Windows use WinSCP for file transfer and
MobaXterm for terminal access.
Important: server data is not backed up. Keep copies on your own machine (e.g., OneDrive).
Editors
- Windows: Notepad++
- macOS: any plain-text editor; VS Code or Sublime Text are fine
- Linux: VS Code, gedit, emacs, or vim
Setting up a structure for your files on the server
Create a top-level folder (e.g., jobs
) and then one subfolder per analysis to avoid overwriting files. Common shell commands:
cp
– copy files/directoriesmv
– move/renamerm
– remove (careful: permanent!)pwd
– print current pathcd
– change directoryls
– list contentsmkdir
– make directorytop
– view running processes
Get comfortable navigating with cd
, creating folders, and copying/moving files. You run OOFEM/LS-DYNA from the folder that contains your input file.
OOFEM
Run OOFEM from the input directory:
oofem -f oofem.in > std.out &
Here, oofem
is the executable, oofem.in
is your input; output is redirected to std.out
. The analysis results are written to files specified in the input (e.g., for ParaView).
T3D
T3D generates meshes (mostly tetrahedra; simple hexahedra possible). Info: T3D homepage. A typical command:
t3d -d 0.1 -i mesh.in -o mesh.out
-d
controls target element size; -i
/-o
set input/output.
T3D → OOFEM (t3d2oofem)
Convert a T3D mesh to an OOFEM input skeleton:
t3d2oofem oofem.t3d.ctrl mesh.out oofem.in
The control file (oofem.t3d.ctrl
) governs elements, materials, and typical output blocks. You may still tweak the generated oofem.in
.
ParaView
ParaView is the recommended post-processor (load OOFEM’s .pvd
outputs). It’s free for Windows, macOS, and Linux.
CDPM2
Read the model and input parameter notes before running analyses: CDPM2 in OOFEM.
Extractor script
The extractor script reads OOFEM outputs and produces, e.g., load–displacement or element stress–strain curves. Usage:
extractor.py -f oofem.in > ld.dat
Configure what to extract at the end of oofem.in
.
LS-DYNA
Run LS-DYNA from the input directory:
lsdyna i=input.k > std.out &
Parallel run (set cores with ncpu
):
lsdyna i=input.k ncpu=8 > std.out &
Ask your supervisor to provide the correct executable link on the server. Official manuals: LS-DYNA manuals.
Post-processing: use LS-PrePost (Windows/macOS/Linux). Download the latest dev build: LS-PrePost dev builds.
Recommended input file structure
Split into three files:
- Main (controls, time steps, curves; includes the others)
- Mesh (nodes, elements, sets) — edit with LS-PrePost if needed
- Materials (model cards, e.g., MAT_CDPM)
Edit the main and materials with a text editor; only use LS-PrePost to adjust mesh.k
.
Long runs over unstable connections
To avoid job termination when your SSH session drops, use screen
(or tmux
):
screen lsdyna i=input.k > std.out & exit
Parsing LS-DYNA outputs
- Extract strains/stresses from
elout
(single-element tests): stress.pl
Usage:perl stress.pl elout > output.dat
- Extract forces/reactions from
nodfor
/spcforc
: force.pl
Usage:perl force.pl spcforc > output.dat
Examples