window.innerWidth-t&&window.scroll(d.x+(1-(window.innerWidth-o)/t)*(14/e),d.y)}function y(){return{x:void 0!==window.scrollX?window.scrollX:window.pageXOffset,y:void 0!==window.scrollY?window.scrollY:window.pageYOffset}}return s&&(document.body.style.transition="transform 0.8s ease",document.body.style.OTransition="-o-transform 0.8s ease",document.body.style.msTransition="-ms-transform 0.8s ease",document.body.style.MozTransition="-moz-transform 0.8s ease",document.body.style.WebkitTransition="-webkit-transform 0.8s ease"),document.addEventListener("keyup",(function(o){1!==e&&27===o.keyCode&&t.out()})),document.addEventListener("mousemove",(function(t){1!==e&&(o=t.clientX,n=t.clientY)})),{to:function(o){if(1!==e)t.out();else{if(o.x=o.x||0,o.y=o.y||0,o.element){var n=o.element.getBoundingClientRect();o.x=n.left-20,o.y=n.top-20,o.width=n.width+40,o.height=n.height+40}void 0!==o.width&&void 0!==o.height&&(o.scale=Math.max(Math.min(window.innerWidth/o.width,window.innerHeight/o.height),1)),o.scale>1&&(o.x*=o.scale,o.y*=o.scale,r(o,o.scale),!1!==o.pan&&(i=setTimeout((function(){d=setInterval(m,1e3/60)}),800)))}},out:function(){clearTimeout(i),clearInterval(d),r({x:0,y:0},1),e=1},magnify:function(e){this.to(e)},reset:function(){this.out()},zoomLevel:function(){return e}}}();return function(){return e}}));
5 |
--------------------------------------------------------------------------------
/sections/closing.md:
--------------------------------------------------------------------------------
1 | # preCICE Workshop 2021
2 |
3 |
4 |
5 |
6 |
![]()
7 |
8 |
9 |
![]()
10 |
preCICE Workshop 2020 @ TUM
11 |
12 |
13 |
14 | ---
15 |
16 | # preCICE is free because of
17 |
18 |
19 |
20 | and the code/issues/testing/documentation contributions of people like you (thank you!).
21 |
22 | ---
23 |
24 | # Summary
25 |
26 |
27 | Easily exchange your coupled solvers and explore advanced & performant numerical algorithms
28 |
29 |
30 |
--------------------------------------------------------------------------------
/sections/intro.md:
--------------------------------------------------------------------------------
1 | ## Organizational notes
2 |
3 | 1. You are not expected to try things live.
4 | 2. Ask questions in the chat, moderated by Benjamin.
5 | 3. Find these slides on GitHub:
6 | https://github.com/MakisH/ofw15-slides
7 | 4. Everything presented here is free software. preCICE and all the adapters are developed publicly on https://github.com/precice/
8 |
9 | ---
10 |
11 | ## The big picture
12 |
13 |
14 |
15 | Notes:
16 | - We will do an "adpated code", no adapter
17 |
18 | vvv
19 |
20 | ## The big picture
21 |
22 |
23 |
24 | vvv
25 |
26 | ## The big picture
27 |
28 |
29 |
30 | vvv
31 |
32 | ## The big picture
33 |
34 |
35 |
36 | Notes:
37 | - Mesh is a cloud of points
38 |
39 | ---
40 |
41 | ## This tutorial
42 |
43 | - **Level 1:** Couple two simple Python solvers
44 | - **Level 2:** Couple OpenFOAM with OpenFOAM
45 | - **Level 3:** Couple OpenFOAM with an external solver
46 |
47 | Level 1: Call the preCICE API in the code
48 | Levels 2 & 3: Directly use off-the-shelf adapters
49 |
--------------------------------------------------------------------------------
/sections/level2.md:
--------------------------------------------------------------------------------
1 | # Level 2: Using the OpenFOAM adapter
2 |
3 | ---
4 |
5 | ## What does the adapter do?
6 |
7 |
8 |
9 | vvv
10 |
11 | ## What does the adapter do?
12 |
13 |
14 |
15 | vvv
16 |
17 | ## What does the adapter do?
18 |
19 |
20 |
21 | vvv
22 |
23 | ## What does the adapter do?
24 |
25 |
26 |
27 | ---
28 |
29 | ## Dependencies
30 |
31 | - [preCICE](https://github.com/precice/precice/wiki/Get-preCICE) v2 (e.g. [packages for Ubuntu](https://github.com/precice/precice/releases))
32 | - Recent OpenFOAM (e.g. v1706-v1912 or 4-7)
33 | - [preCICE OpenFOAM adapter](https://github.com/precice/openfoam-adapter) (latest master)
34 |
35 | ---
36 |
37 | ## Building
38 |
39 | ```bash
40 | openfoam-adapter/ $ ./Allwmake
41 |
42 | # Debugging output in Allwmake.log, wmake.log, ldd.log
43 | ```
44 |
45 | vvv
46 |
47 | ## Building
48 |
49 |
50 |
51 | ---
52 |
53 | ## Tutorial: Flow over a heated plate
54 |
55 | 
56 |
57 | Find the case in github.com/precice/openfoam-adapter/tutorials.
58 |
59 | ---
60 |
61 | ## Configuration: overview
62 |
63 | 
64 |
65 | vvv
66 |
67 | ## Configuration: files
68 |
69 |
70 | .
71 | ├── Allclean
72 | ├── Allrun
73 | ├── Allrun_parallel
74 | ├── Fluid
75 | │ ├── 0
76 | │ │ ├── alphat
77 | │ │ ├── epsilon
78 | │ │ ├── k
79 | │ │ ├── nut
80 | │ │ ├── p
81 | │ │ ├── p_rgh
82 | │ │ ├── T
83 | │ │ └── U
84 | │ ├── constant
85 | │ │ ├── g
86 | │ │ ├── thermophysicalProperties
87 | │ │ └── turbulenceProperties
88 | │ ├── Fluid.foam
89 | │ └── system
90 | │ ├── blockMeshDict
91 | │ ├── controlDict
92 | │ ├── decomposeParDict
93 | │ ├── fvSchemes
94 | │ ├── fvSolution
95 | │ └── preciceDict
96 | ├── overview.png
97 | ├── precice-config.xml
98 | ├── README.md
99 | ├── runFluid
100 | ├── runSolid
101 | └── Solid
102 | ├── 0
103 | │ └── T
104 | ├── constant
105 | │ └── transportProperties
106 | ├── Solid.foam
107 | └── system
108 | ├── blockMeshDict
109 | ├── controlDict
110 | ├── decomposeParDict
111 | ├── fvSchemes
112 | ├── fvSolution
113 | └── preciceDict
114 |
115 | 8 directories, 35 files
116 |
117 |
118 |
--------------------------------------------------------------------------------
/sections/level3.md:
--------------------------------------------------------------------------------
1 | # Level 3: Coupling OpenFOAM with other solvers
2 |
3 | ---
4 |
5 | ## Other tutorials
6 |
7 | ```text [|1-4|10,19-20,24-25]
8 | tutorials
9 | ├── CHT
10 | │ ├── flow-over-plate
11 | │ │ ├── buoyantPimpleFoam-laplacianFoam
12 | │ │ ├── buoyantPimpleFoam-fenics
13 | │ │ └── buoyantPimpleFoam-nutils
14 | │ └── heat_exchanger
15 | │ └── buoyantSimpleFoam-CalculiX
16 | |
17 | ├── FSI
18 | │ ├── 3D_Tube
19 | │ │ └── OpenFOAM-CalculiX
20 | │ ├── cylinderFlap
21 | │ │ ├── OpenFOAM-CalculiX
22 | │ │ ├── OpenFOAM-deal.II
23 | │ │ └── OpenFOAM-FEniCS
24 | │ ├── flap_perp
25 | │ │ ├── OpenFOAM-CalculiX
26 | │ │ ├── OpenFOAM-deal.II
27 | │ │ ├── OpenFOAM-FEniCS
28 | │ │ └── SU2-CalculiX
29 | |
30 | ├── HT
31 | │ └── partitioned-heat
32 | │ └── fenics-fenics
33 | |
34 | └── SSI
35 | └── loaded_beam
36 | └── CalculiX-CalculiX
37 | ```
38 |
39 | See github.com/precice/tutorials.
40 |
41 | ---
42 |
43 | ## Tutorial: Channel with a perpendicular flap
44 |
45 |
46 |
47 | Find the case in github.com/precice/tutorials/FSI/flap_perp_2D/OpenFOAM-deal.II.
48 |
49 | ---
50 |
51 | ## Dependencies
52 |
53 | - [preCICE](https://github.com/precice/precice/wiki/Get-preCICE) v2 (e.g. [packages for Ubuntu](https://github.com/precice/precice/releases))
54 | - Build with PETSc (only for parallel && RBF)
55 | - Recent OpenFOAM (e.g. v1706-v1912, 4-7)
56 | - [preCICE OpenFOAM adapter](https://github.com/precice/openfoam-adapter) (latest master)
57 | - [deal.II](https://www.dealii.org/) 9.2
58 | - [preCICE deal.II adapter/example](https://github.com/precice/dealii-adapter)
59 |
60 |
--------------------------------------------------------------------------------
/sections/resources.md:
--------------------------------------------------------------------------------
1 | # Resources
2 |
3 | vvv
4 |
5 | ## Start here: precice.org
6 |
7 |
8 |
9 | vvv
10 |
11 | ## Documentation
12 |
13 |
14 |
15 | vvv
16 |
17 | ## Discuss & get help (threaded)
18 |
19 |
20 |
21 | vvv
22 |
23 | ## Discuss & get help (quick)
24 |
25 |
26 |
27 | vvv
28 |
29 | ## Learn: YouTube
30 |
31 |
32 |
33 | vvv
34 |
35 | ## Get news: Twitter
36 |
37 |
38 |
39 | vvv
40 |
41 | ## Get news: Mailing list
42 |
43 |
--------------------------------------------------------------------------------
/videos/heated_plate_paraview.webm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MakisH/ofw15-slides/281e465874c5180bddafd42c9f61166c5cd7a291/videos/heated_plate_paraview.webm
--------------------------------------------------------------------------------
/videos/openfoam_dealii_paraview.webm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MakisH/ofw15-slides/281e465874c5180bddafd42c9f61166c5cd7a291/videos/openfoam_dealii_paraview.webm
--------------------------------------------------------------------------------
/videos/propagator_constant.webm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MakisH/ofw15-slides/281e465874c5180bddafd42c9f61166c5cd7a291/videos/propagator_constant.webm
--------------------------------------------------------------------------------
/videos/propagator_coupled.webm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MakisH/ofw15-slides/281e465874c5180bddafd42c9f61166c5cd7a291/videos/propagator_coupled.webm
--------------------------------------------------------------------------------