Skip to content

Commit 79e9fc5

Browse files
davidscnuekerman
andauthored
Port trivial cases (#151)
* Restructure 3D Tube case * Fix ccx paths and cleaning script * Apply new naming conventions to config file * Format xml in precice style * Add first version of multi coupling case * Adjust paths according to restructure * Add the heat exchanger case * Add run scripts for fluid cases * Adjust download script * Add partitioned elastic beam * Apply naming conventions and provide cleaning script * Restructure steady state plate * Change 0 dir to 0.orig * Fix blockMesh in run.sh * Port heat-exchanger README from preCICE wiki * Port partitioned beam README from preCICE wiki * Add a README for the 3D tube * Add code_aster README from code-aster wiki * Apply multiple minor changes to preCICE configs and READMEs * Adjust naming scheme in multiple flaps case * Adjust naming of partitioned beam * Switch dimension in steady state heated plate * Remove vtk tag for multiple flap case * Remove vtk tag from remainig mesh Co-authored-by: uekerman <[email protected]>
1 parent 3eb60f3 commit 79e9fc5

File tree

176 files changed

+2355
-890
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

176 files changed

+2355
-890
lines changed

elastic-tube-3d/OpenFOAM-CalculiX/Allrun

Lines changed: 0 additions & 92 deletions
This file was deleted.

elastic-tube-3d/OpenFOAM-CalculiX/README.md

Lines changed: 0 additions & 19 deletions
This file was deleted.

elastic-tube-3d/OpenFOAM-CalculiX/precice-config.xml

Lines changed: 0 additions & 68 deletions
This file was deleted.

elastic-tube-3d/README.md

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,36 @@
11
---
22
title: Elastic tube 3D
33
permalink: tutorials-elastic-tube-3d.html
4-
keywords:
5-
summary:
4+
keywords: FSI, OpenFOAM, CalculiX, nearest-projection, IMVJ
5+
summary: Tutorial for an FSI simulation of a three-dimensional expanding tube scenario
66
---
77

88
{% include important.html content="We have not yet ported the documentation of the preCICE tutorials from the preCICE wiki to here. Please go to the [preCICE wiki](https://github.com/precice/precice/wiki#2-getting-started---tutorials)" %}
9+
10+
## Setup
11+
12+
The expanding tube test case involves a cylindrical fluid domain surrounded by a solid domain. A pressure inlet boundary condition is applied at the inlet for 3 milliseconds, and then 0 set to zero for a further 7 millisecond. The pressure of the fluid expands the tube which then relaxes once the pressure decreases.
13+
14+
The expanding tube test case comes with the interface surface mesh connectivity of the solid domain. This allows the use of nearest-projection mapping of the displacements of the solid domain. In order to run the example with nearest projection mapping, the "node-mesh-with-connectivity" has been specified in the `solid-calculix/config.yml` file. More details can be found in the [CalculiX configuration description](adapter-calculix-config.html#nearest-projection-mapping).
15+
16+
## Available solvers
17+
18+
Fluid participant:
19+
20+
* OpenFOAM. This tutorial is known to work with OpenFOAM 4.1, 5.0, but it should also work with newer versions. The case files are prepared for the latest versions of OpenFOAM and use the solver `pimpleFoam`. In case you are using a previous OpenFOAM version you need to adjust the solver to `pimpleDyMFoam` in the `Fluid/system/controlDict` file. For more information, have a look at the [OpenFOAM adapter documentation](adapter-openfoam-overview.html).
21+
22+
Solid participant:
23+
24+
* CalculiX. This tutorial is known to work with CalculiX 2.15, but it should also work with newer versions. For more information, have a look at the [CalculiX adapter documentation](adapter-calculix-overview.html).
25+
26+
## Running the simulation
27+
28+
You can start the simulation by running the script `./run.sh` located in each participant directory. OpenFOAM can be executed in parallel by using an additional `run.sh -parallel` flag. The default setting uses 4 MPI ranks.
29+
30+
## Post-processing
31+
32+
You can visualize the results using paraView or `cgx`(for native CalculiX resul files), as usual. The total deformation is rather small. Multiplying the deformation by factor of 10 (warp by vector filter in paraView) and visualizing the fluid domain at `t=0.005s` looks as follows:
33+
34+
![result tube](images/tube_result.png)
35+
36+
{% include disclaimer.html content="This offering is not approved or endorsed by OpenCFD Limited, producer and distributor of the OpenFOAM software via www.openfoam.com, and owner of the OPENFOAM® and OpenCFD® trade marks." %}

elastic-tube-3d/OpenFOAM-CalculiX/Allclean renamed to elastic-tube-3d/clean.sh

Lines changed: 16 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,52 +7,43 @@ echo "Cleaning..."
77
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
88

99
# Participant 1: Fluid
10-
Participant1="Fluid"
10+
Participant1="fluid-openfoam"
1111
cd ${Participant1}
1212
# Clean the case
13-
#cleanCase
13+
# prevent cleaning the mesh
14+
mv ./constant/polyMesh ./constant/mesh
15+
cleanCase
1416
rm -rfv 0
17+
# restore mesh files
18+
mv ./constant/mesh ./constant/polyMesh
1519
# Create an empty .foam file for ParaView
1620
# Note: ".foam" triggers the native OpenFOAM reader of ParaView.
1721
# Change to ".OpenFOAM" to use the OpenFOAM reader provided with OpenFOAM.
1822
touch ${Participant1}.foam
23+
rm -fv ${Participant1}_decomposePar.log
24+
rm -fv ${Participant1}.log
25+
rm -fv ${Participant1}_reconstructPar.log
26+
rm -fv precice-*.log
27+
rm -fv precice-*-events.json
1928
cd ..
20-
# Remove the log files
21-
rm -fv ${Participant1}_decomposePar.log
22-
rm -fv ${Participant1}.log
23-
rm -fv ${Participant1}_reconstructPar.log
2429

2530
# Participant 2: Solid
26-
Participant2="Solid"
31+
Participant2="solid-calculix"
2732
cd ${Participant2}
2833
# Clean the case
2934
rm -fv *.log
3035
rm -fv tube.cvg
3136
rm -fv tube.dat
3237
rm -fv tube.frd
3338
rm -fv tube.sta
39+
rm -fv tube.12d
40+
rm -fv spooles.out
41+
rm -fv precice-*.log
42+
rm -fv precice-*-events.json
3443
cd ..
35-
# Remove the log files
36-
rm -fv spooles.out
37-
rm -fv ${Participant2}.log
38-
39-
# Remove the preCICE-related log files
40-
echo "Deleting the preCICE log files..."
41-
rm -fv \
42-
precice-*.log \
43-
precice-postProcessingInfo.log \
44-
precice-*-events.json
45-
46-
# Output files for preCICE versions before 1.2:
47-
rm -fv \
48-
iterations-${Participant1}.txt iterations-${Participant2}.txt \
49-
convergence-${Participant1}.txt convergence-${Participant2}.txt \
50-
Events-${Participant1}.log Events-${Participant2}.log \
51-
EventTimings-${Participant1}.log EventTimings-${Participant2}.log
5244

5345
# Remove the preCICE address files
5446
rm -rfv precice-run
55-
rm -fv .*.address
5647

5748
echo "Cleaning complete!"
5849
#------------------------------------------------------------------------------

0 commit comments

Comments
 (0)