Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
8aaf34f
Rectify incorrect parallel run command in partitioned-heat-conduction
IshaanDesai May 24, 2021
730f69c
Clarify perpendicular-flap deal.II documentation (#215)
davidscn Jun 1, 2021
d2c70c0
Throw error in fenics and nutils run script if no argument was provid…
davidscn Jun 2, 2021
5470dd0
Remove solid-fenics/Solid/ folder, closes #221
IshaanDesai Jun 22, 2021
958cbf7
New tutorial: Volume coupled diffusion (#219)
BenjaminRodenberg Jul 5, 2021
d21759c
Remove superfluous code
BenjaminRodenberg Jul 6, 2021
cdaffc2
Adding a change log
IshaanDesai Jul 14, 2021
dc1a778
Remove last space in change log
IshaanDesai Jul 14, 2021
f8860a7
Changing names from CalculiX to Solid
IshaanDesai Jul 14, 2021
eafc9a0
Change the format of the change log
IshaanDesai Jul 15, 2021
d8a6bea
Adding a note on adding the change log to the change log
IshaanDesai Jul 15, 2021
8d71205
Past tense
IshaanDesai Jul 15, 2021
04f5795
Adding markdown lint exception
IshaanDesai Jul 15, 2021
c461480
Merge branch 'master' into develop
IshaanDesai Jul 16, 2021
9272979
Merge branch 'develop' into add-changelog
IshaanDesai Jul 16, 2021
db6d66d
Adding individual change log entry
IshaanDesai Jul 16, 2021
c7e8d7e
Editing individual change log entry
IshaanDesai Jul 16, 2021
4127956
Add blank line
IshaanDesai Jul 16, 2021
11ee32e
Adding markdown link check config
IshaanDesai Jul 16, 2021
10b5931
turning off check for first line to be header in a Markdown file
IshaanDesai Jul 16, 2021
1665927
Restoring incorrectly deleted file
IshaanDesai Jul 16, 2021
4d885b7
Removing incorrect references in CHANGELOG
IshaanDesai Jul 16, 2021
58a360f
putting changelog-entries at the repository directory level
IshaanDesai Jul 16, 2021
8af1dbf
Adding change log creation as an individual change log entry
IshaanDesai Jul 18, 2021
faf108b
Small changes to CHANGELOG
IshaanDesai Jul 18, 2021
795c2df
Explicitly add markdown link check GitHub workflow
IshaanDesai Jul 18, 2021
e5270e1
Removing duplicate test and correcting release dates in CHANGELOG
IshaanDesai Jul 21, 2021
c4ef89e
Merge pull request #225 from precice/add-changelog
IshaanDesai Jul 21, 2021
2b7a460
Merge branch 'develop' into port-elastic-tube-3d
IshaanDesai Jul 21, 2021
46ce8ab
Merge pull request #227 from precice/port-elastic-tube-3d
IshaanDesai Jul 21, 2021
0af0cf2
Action to check links: ignore domains that are known to return 403 (#…
MakisH Jul 29, 2021
4085a8e
Add partitioned-heat OpenFOAM participant with solver (#223)
davidscn Jul 29, 2021
1672e89
Add missing review changes supposed to be part of #223
davidscn Jul 29, 2021
abefa99
flow-over-heated-plate: Add density and pressure to problem parameter…
BenjaminRodenberg Aug 12, 2021
bf76752
Repair erronous execution command in paritioned-heat-conduction-compl…
IshaanDesai Sep 16, 2021
b966f24
Remove 1-d tube warning (#237)
davidscn Sep 21, 2021
b5930fc
Remove 'www' from preCICE website links (#238)
davidscn Sep 23, 2021
9080454
Move prompt to clean after visualization
MakisH Oct 1, 2021
5022a70
Merge branch 'master' into develop
MakisH Oct 24, 2021
b7042a5
Create a perpendicular-flap tutorial case for Dune (#239)
maxfirmbach Dec 7, 2021
abf7b62
Fix shellcheck notice on solid-codeaster/run.sh (#246)
MakisH Dec 8, 2021
fc93dd1
Delete irrelevant couplingProperties file (#245)
MakisH Dec 8, 2021
c484833
Heat exchanger: Add tip for explicit and implicit coupling
MakisH Dec 16, 2021
3d17693
Make visualize.py compatible with Python3 (#247)
Jan 2, 2022
e9f0dfa
Change C3D8 elements to C3D8I elements in perpendicular-flap solid-ca…
AndresPedemonteFIUBA Jan 29, 2022
1938c4c
Update results according to #250.
BenjaminRodenberg Jan 31, 2022
74e4b6f
Add hint for time synchronization in ParaView
MakisH Jan 31, 2022
f16e8b0
Enhance plot quality.
BenjaminRodenberg Jan 31, 2022
e494bd4
Merge branch 'develop' of github.com:precice/tutorials into develop
BenjaminRodenberg Jan 31, 2022
1e6334b
Add link to YouTube tutorial
MakisH Jan 31, 2022
110bd39
Convert check links to manual (#252)
MakisH Feb 1, 2022
7856800
Merge branch 'master' into develop
MakisH Feb 1, 2022
e472814
flow-over-heated-plate: Remove unnecessary parameter nMoles (#234)
BenjaminRodenberg Feb 1, 2022
9750de5
elastic-tube-1d: Remove unnecessary read statement (#232)
BenjaminRodenberg Feb 1, 2022
88fb82e
Fix note regarding OpenFOAM and residual control (#253)
davidscn Feb 2, 2022
3cccabe
Making output directories for all FEniCS participants consistent (#256)
IshaanDesai Feb 3, 2022
32d8b89
Reduce the writing frquency of partitioned-pipe (#257)
MakisH Feb 4, 2022
4104f2d
Remove specific solver versions from README files
MakisH Feb 6, 2022
4c58bce
Cleanup OpenFOAM configuration files (#258)
MakisH Feb 7, 2022
29f27ec
Add FEniCS as a solid participant for elastic-tube-3d (#222)
IshaanDesai Feb 7, 2022
e64c020
Add DUNE in the list of perpendicular-flap case solvers
MakisH Feb 8, 2022
7e19540
Quickstart: Bump OpenFOAM version to v2112
MakisH Feb 8, 2022
6a23494
Updated changelog for v202202.0
MakisH Feb 9, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/check-links.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: Check links
on: [push, pull_request]
name: Check links (manual)
on: workflow_dispatch
jobs:
check_links:
runs-on: ubuntu-latest
Expand Down
12 changes: 10 additions & 2 deletions .markdown-link-check-config.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
{
"aliveStatusCodes": [429, 403, 200]
}
"aliveStatusCodes": [429, 200],
"ignorePatterns": [
{
"pattern": "^https://openfoamwiki.net/"
},
{
"pattern": "^https://doi.org/"
}
]
}
2 changes: 1 addition & 1 deletion .markdownlint.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"MD013": false,
"MD033": false
}
}
58 changes: 58 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# preCICE tutorials changelog

All notable changes to this repository will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

<!-- markdownlint-configure-file {"MD024": { "siblings_only": true } } -->

## [Unreleased]

## [v202202.0] 2022-02-09

### Added

- Added new volume-coupled-diffusion tutorial with FEniCS [#219](https://github.com/precice/tutorials/pull/219).
- Added OpenFOAM case to partiitoned-heat [#223](https://github.com/precice/tutorials/pull/223).
- Added DUNE case to perpendicular-flap [#239](https://github.com/precice/tutorials/pull/239).
- Added FEniCS case to elastic-tube-3d [#223](https://github.com/precice/tutorials/pull/223).
- Added this changelog, describing also changes in previous releases [#225](https://github.com/precice/tutorials/pull/225).

### Changed

- Changed C3D8 elements to C3D8I elements in perpendicular-flap solid-calculix to improve the results [#250](https://github.com/precice/tutorials/pull/250).
- Ported the `visualize.py` script of the partitioned-elastic-beam to Python 3 [#247](https://github.com/precice/tutorials/pull/247).
- Reduced the writing frequency of the partitioned-pipe OpenFOAM cases [#257](https://github.com/precice/tutorials/pull/257).
- Renamed the output directories of all FEniCS cases for consistency [#256](https://github.com/precice/tutorials/pull/257).
- Removed unnecessary (wrong) read statment in `elastic-tube-1d` [#232](https://github.com/precice/tutorials/pull/232).
- Removed unnecessary (relic) OpenFOAM parameter `nMoles` from flow-over-heated-plate cases with OpenFOAM [#234](https://github.com/precice/tutorials/pull/234).
- Removed unnecessary (relic) OpenFOAM parameter `RAS` from the `turbulenceProperties` files of all OpenFOAM cases (we model a laminar flow everywhere and this was confusing) [#258](https://github.com/precice/tutorials/pull/258).
- Removed unnecessary (relic) OpenFOAM files `RASProperties` and `couplingProperties` from elastic-tube-3d [#258](https://github.com/precice/tutorials/pull/258).
- Removed unnecessary (relic) OpenFOAM file `radiationProperties` from heat-exchanger [#258](https://github.com/precice/tutorials/pull/258).
- Removed duplicate default settings from the `fvSchemes` OpenFOAM file of the heat-exchanger [#258](https://github.com/precice/tutorials/pull/258).
- Removed unnecessary (relic) fields and inaccurate copyright notices from the headers of several OpenFOAM files [#258](https://github.com/precice/tutorials/pull/258).
- Adjusted the formatting in several OpenFOAM files [#258](https://github.com/precice/tutorials/pull/258).
- Changed the versioning scheme from `<yearmonth>.<minor>.<bugfix>` to `<yearmonth>.<bugfix>`.

## [v202104.1.1] 2021-05-02

### Changed

- Modified the helper tool `openfoam_remove_empty_dirs` such that it also respects results in the compressed OpenFOAM format (76f4482).
- Synced the post-processing functionality of the elastic-tube-1d and the respective documentation. (#209)

## [v202104.1.0] 2021-04-23

### Added

- Created a first tagged version of this repository along with a [release](https://github.com/precice/tutorials/releases/tag/v202104.1.0).
- Added a standard run script in each case folder which can be executed as `./run.sh`.
- Added a standard clean script in each case folder which can be executed as `./clean<what>.sh`.
- Added an easy-to-run tutorial called [quickstart](https://precice.org/quickstart.html).
- Added a validated Turek-Hron FSI3 case with OpenFOAM and non-linear deal.II.

### Changed

- Moved all documentation to the [redesigned preCICE website](https://precice.org/tutorials.html).
- Created a new directory structure for easy access and also for [contributions](https://precice.org/community-contribute-to-precice.html).
- Modified the 2D cases to use 2D mode in preCICE and also corresponding 2D functionality in the adapters.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# preCICE tutorials

This repository contains ready-to-run tutorial cases for the coupling library [preCICE](http://www.precice.org/).
The purpose of these cases is not to teach you how to use preCICE from scratch, but to serve as starting points for setting up similar simulation cases, as well as test cases. Read more on our [preCICE tutorials](https://www.precice.org/tutorials.html) documentation section.
This repository contains ready-to-run tutorial cases for the coupling library [preCICE](https://precice.org/).
The purpose of these cases is not to teach you how to use preCICE from scratch, but to serve as starting points for setting up similar simulation cases, as well as test cases. Read more on our [preCICE tutorials](https://precice.org/tutorials.html) documentation section.

As a general rule, you can start each participant from inside their `<tutorial>/<participant>-<solver>` using `./run.sh`. Look into these short scripts and copy the parts you need for your new case. Before running again, execute the cleaning scripts you can find at each level, to clean from this point and deeper.

Expand Down
4 changes: 0 additions & 4 deletions elastic-tube-1d/fluid-cpp/src/FluidSolver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -101,10 +101,6 @@ int main(int argc, char **argv)
interface.markActionFulfilled(actionWriteIterationCheckpoint());
}

if (interface.isReadDataAvailable()) {
interface.readBlockScalarData(crossSectionLengthID, chunkLength, vertexIDs.data(), crossSectionLength.data());
}

fluidComputeSolutionSerial(
// values from last time window
velocity_old.data(), pressure_old.data(), crossSectionLength_old.data(),
Expand Down
14 changes: 10 additions & 4 deletions elastic-tube-3d/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Elastic tube 3D
permalink: tutorials-elastic-tube-3d.html
keywords: FSI, OpenFOAM, CalculiX, nearest-projection, IMVJ
keywords: FSI, OpenFOAM, CalculiX, FEniCS, nearest-projection, IMVJ
summary: Tutorial for an FSI simulation of a three-dimensional expanding tube scenario
---

Expand All @@ -19,22 +19,28 @@ The expanding tube test case comes with the interface surface mesh connectivity

Fluid participant:

* 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](https://www.precice.org/adapter-openfoam-overview.html).
* OpenFOAM (pimpleFoam). In case you are using a very old OpenFOAM version, you will need to adjust the solver to `pimpleDyMFoam` in the `Fluid/system/controlDict` file. For more information, have a look at the [OpenFOAM adapter documentation](https://www.precice.org/adapter-openfoam-overview.html).

Solid participant:

* 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](https://www.precice.org/adapter-calculix-overview.html).
* CalculiX. For more information, have a look at the [CalculiX adapter documentation](https://www.precice.org/adapter-calculix-overview.html).

* FEniCS. The structural model is currently limited to linear elasticity. Currently 3D functionality is experimental in the FEniCS adapter and more details can be found [here](https://github.com/precice/fenics-adapter/pull/133) For more information, have a look at the [FeniCS adapter documentation](https://www.precice.org/adapter-fenics.html).

## Running the simulation

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.
You can start the simulation by running the script `./run.sh` located in each participant directory. OpenFOAM can be executed in parallel using `run.sh -parallel`. The default setting uses 4 MPI ranks.

## Post-processing

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:

![result tube](images/tutorials-elastic-tube-3d-tube-result.png)

You can also plot the displacement of the midpoint of the tube by running `sh plot-displacement.sh <filename>`. The displacement plot for each solver combination looks like:

![plot tube](images/tutorials-elastic-tube-3d-plot.png)

{% disclaimer %}
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.
{% enddisclaimer %}
5 changes: 0 additions & 5 deletions elastic-tube-3d/fluid-openfoam/0/U
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,8 @@ FoamFile
version 2.0;
format ascii;
class volVectorField;
location "0";
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 1 -1 0 0 0 0];

Expand All @@ -28,6 +26,3 @@ boundaryField
type zeroGradient;
}
}


// ************************************************************************* //
19 changes: 7 additions & 12 deletions elastic-tube-3d/fluid-openfoam/0/p
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,8 @@ FoamFile
version 2.0;
format ascii;
class volScalarField;
location "0";
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 2 -2 0 0 0 0];

Expand All @@ -17,13 +15,13 @@ boundaryField
auto0
{
type uniformFixedValue;
uniformValue table
(
(0 1.3332)
(3e-3 1.3332)
(3.1e-3 0)
(1e-2 0)
);
uniformValue table
(
(0 1.3332)
(3e-3 1.3332)
(3.1e-3 0)
(1e-2 0)
);
}
interface
{
Expand All @@ -35,6 +33,3 @@ boundaryField
value uniform 0;
}
}


// ************************************************************************* //
6 changes: 1 addition & 5 deletions elastic-tube-3d/fluid-openfoam/0/pointDisplacement
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ FoamFile
class pointVectorField;
object pointDisplacement;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 1 0 0 0 0 0];

Expand All @@ -21,7 +20,7 @@ boundaryField

interface
{
type fixedValue;
type fixedValue;
value $internalField;
}

Expand All @@ -32,6 +31,3 @@ boundaryField
}

}


// ************************************************************************* //
16 changes: 0 additions & 16 deletions elastic-tube-3d/fluid-openfoam/constant/RASProperties

This file was deleted.

15 changes: 0 additions & 15 deletions elastic-tube-3d/fluid-openfoam/constant/couplingProperties

This file was deleted.

8 changes: 0 additions & 8 deletions elastic-tube-3d/fluid-openfoam/constant/dynamicMeshDict
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,10 @@ FoamFile
{
version 2.0;
format ascii;

root "";
case "";
instance "";
local "";

class dictionary;
object motionProperties;
}

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dynamicFvMesh dynamicMotionSolverFvMesh;

motionSolverLibs ( "libfvMotionSolvers.so" );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ FoamFile
location "constant/polyMesh";
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

3
(
Expand All @@ -29,5 +28,3 @@ FoamFile
startFace 67196;
}
)

// ************************************************************************* //
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@ FoamFile
location "constant/polyMesh";
object cellZones;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

0
()

// ************************************************************************* //
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@ FoamFile
location "constant/polyMesh";
object faceZones;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

0
()

// ************************************************************************* //
5 changes: 0 additions & 5 deletions elastic-tube-3d/fluid-openfoam/constant/polyMesh.orig/faces
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ FoamFile
location "constant/polyMesh";
object faces;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //


67367
(
Expand Down Expand Up @@ -67379,6 +67377,3 @@ FoamFile
3(223 230 222)
3(232 225 233)
)


// ************************************************************************* //
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ FoamFile
location "constant/polyMesh";
object neighbour;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //


63397
(
Expand Down Expand Up @@ -63410,6 +63408,3 @@ FoamFile
32690
32690
)


// ************************************************************************* //
5 changes: 0 additions & 5 deletions elastic-tube-3d/fluid-openfoam/constant/polyMesh.orig/owner
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ FoamFile
location "constant/polyMesh";
object owner;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //


67367
(
Expand Down Expand Up @@ -67380,6 +67378,3 @@ FoamFile
32352
32685
)


// ************************************************************************* //
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@ FoamFile
location "constant/polyMesh";
object pointZones;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

0
()

// ************************************************************************* //
5 changes: 0 additions & 5 deletions elastic-tube-3d/fluid-openfoam/constant/polyMesh.orig/points
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ FoamFile
location "constant/polyMesh";
object points;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //


6598
(
Expand Down Expand Up @@ -6610,6 +6608,3 @@ FoamFile
(-0.00056456403382237 0.0027208575300533 0.017526220021498)
(-0.0033003515528103 0.0026852032948362 0.001388666491757)
)


// ************************************************************************* //
Loading