Skip to content
This repository was archived by the owner on Sep 5, 2025. It is now read-only.

Commit 5ab7ee4

Browse files
authored
Merge pull request #32 from ulgltas/lacroix
Adaptive Time Step Support
2 parents 4699999 + e56a86a commit 5ab7ee4

File tree

148 files changed

+3548
-4222
lines changed

Some content is hidden

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

148 files changed

+3548
-4222
lines changed

README.md

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,29 @@
11
# CUPyDO
2+
23
FSI tools for partinioned coupling between generic solid and fluid solvers.
34

45
[![Apache License Version 2.0](https://img.shields.io/badge/license-Apache_2.0-green.svg)](LICENSE)
56

67
## Solvers
8+
79
CUPyDO currently features interfaces for the following solvers:
810
- **Solid**
9-
- Metafor **[v3514]** (http://metafor.ltas.ulg.ac.be/dokuwiki/start)
11+
- Metafor **[v3516]** (http://metafor.ltas.ulg.ac.be/dokuwiki/start)
1012
- A Nonlinear Finite Element solid solver developed at the University of Liège.
1113
---
12-
- RBMI **[1.1]** (https://github.com/ulgltas/NativeSolid)
14+
- NativeSolid (a.k.a. RBM) **[v1.2]** (https://github.com/ulgltas/NativeSolid)
1315
- A dynamic 2dof pitch/plunge solid solver developed at the University of Liège.
1416
---
15-
- SU2 **[X]** (https://su2code.github.io/)
17+
- SU2 **[-]** (https://su2code.github.io/)
1618
- Open-source CFD code developed at Stanford University.
19+
- ⚠️ **This interface is currently broken**
1720
---
1821
- Modali **[v2.0]** (https://github.com/ulgltas/modali)
1922
- A static/dynamic modal solver developed at the University of Liège.
2023
---
21-
- GetDP **[X]** (http://getdp.info/)
24+
- GetDP **[-]** (http://getdp.info/)
2225
- A free finite element software and a general environment for the treatment of discrete problems, developed at University of Liège.
26+
- ⚠️ **This interface is currently broken**
2327
---
2428
- pyBeam **[master]** (https://github.com/pyBeam/pyBeam)
2529
- A nonlinear beam finite element solver developed for aeronautical design applications.
@@ -31,7 +35,7 @@ CUPyDO currently features interfaces for the following solvers:
3135
- SU2 **[fix_wrap_strong]** (https://github.com/ulgltas/SU2/tree/fix_wrap_strong)
3236
- Open-source CFD code developed at Stanford University.
3337
---
34-
- DART **[v1.2.0]** (https://gitlab.uliege.be/am-dept/dartflo)
38+
- DART **[v1.2.1]** (https://gitlab.uliege.be/am-dept/dartflo)
3539
- Open-source transonic full potential finite element fluid solver, developed at the University of Liège.
3640
---
3741
- VLM **[v2.0]** (https://github.com/ulgltas/VLM)
@@ -55,14 +59,17 @@ Finally, CUPyDO features two main couplers:
5559
- Multi-Vector Jacobian (IQN_MVJ)
5660

5761
## Compilation
62+
5863
Detailed build instructions can be found in the [wiki](https://github.com/ulgltas/CUPyDO/wiki/Installation).
5964

6065
## Examples
66+
6167
Examples of simulations are available in [CUPyDO/tests](https://github.com/ulgltas/CUPyDO/tree/master/tests) and [CUPyDO/cases](https://github.com/ulgltas/CUPyDO/tree/master/cases).
6268

6369
![Screenshot](/tests/fsi_examples.png)
6470

65-
## Publications:
71+
## Publications
72+
6673
Cerquaglia M.L., Thomas D., Boman R., Terrapon V.E., Ponthot J.-P., [A fully partitioned Lagrangian framework for FSI problems characterized by free surfaces, large solid deformations and displacements, and strong added-mass effects](https://doi.org/10.1016/j.cma.2019.01.021), Computer Methods in Applied Mechanics and Engineering, in press (2019)
6774

6875
Thomas D., Cerquaglia M.L., Boman R., Economon T.D., Alonso J.J., Dimitriadis G., Terrapon V.E., [CUPyDO - An integrated Python environment for coupled multi-physics simulations](https://doi.org/10.1016/j.advengsoft.2018.05.007), Advances in Engineering Software 128:69-85 (2019)

cases/PFEM3D_Metafor/birdAxisym/input_fsi.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ def getFsiP():
3838

3939
# FSI objects
4040

41-
p['criterion'] = 'Displacements'
42-
p['interpolator'] = 'Matching'
43-
p['algorithm'] = 'AitkenBGS'
41+
p['criterion'] = 'displacement'
42+
p['interpolator'] = 'matching'
43+
p['algorithm'] = 'aitkenBGS'
4444

4545
# FSI parameters
4646

@@ -66,7 +66,7 @@ def main():
6666
cupydo = cupy.CUPyDO(param)
6767
cupydo.run()
6868

69-
cupydo.algorithm.FluidSolver.save(cupydo.algorithm.timeIter)
69+
cupydo.algorithm.FluidSolver.save(cupydo.algorithm.step.timeIter)
7070
test(cupydo.algorithm.getMeanNbOfFSIIt())
7171

7272
if __name__=='__main__':

cases/PFEM3D_Metafor/birdAxisym/input_meta.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
def params(input):
88

99
input['bndno'] = 12
10-
input['saveAllFacs'] = False
1110
input['bctype'] = 'pydeadloads'
1211
return input
1312

cases/PFEM_Metafor/StaticCylinder_fluid_Pfem.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,7 @@ def getPfem():
8686
w.Boundary(msh, 7, 2, 0.0)
8787
w.Boundary(msh, 9, 1, 0.0)
8888
w.Boundary(msh, 9, 2, 0.0)
89-
90-
scheme.savefreq=1
91-
scheme.nthreads=3
89+
9290
scheme.gamma = 0.6
9391
scheme.omega = 0.5
9492
scheme.addRemoveNodesOption = True

cases/PFEM_Metafor/VIV_cantileverBeam_air_Pfem.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,6 @@ def getPfem():
8282
n3.isOnAxisOfSymmetry = True
8383
# ---
8484

85-
scheme.savefreq=100
86-
scheme.nthreads=3
8785
scheme.gamma = 0.7
8886
scheme.omega = 0.7
8987
scheme.addRemoveNodesOption = True

cases/PFEM_Metafor/VIV_cantileverBeam_freeSlip_air_Pfem.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,7 @@ def getPfem():
8585
n2.isOnFreeSlipBoundaryY = True
8686
n3.isOnFreeSlipBoundaryY = True
8787
# ---
88-
89-
scheme.savefreq=100
90-
scheme.nthreads=4
88+
9189
scheme.gamma = 0.8
9290
scheme.omega = 0.7
9391
scheme.addRemoveNodesOption = True

cases/PFEM_Metafor/birdImpact_deformable_panel_bird_Pfem.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,7 @@ def getPfem():
6666
bird = w.Group(msh, 16)
6767
loadingset = w.LoadingSet(msh)
6868
loadingset.add(1,w.InitialVelocity(msh,bird,0.,-U0,0.))
69-
70-
scheme.savefreq=1
71-
scheme.nthreads=3
69+
7270
scheme.gamma = 0.5
7371
scheme.omega = 0.5
7472
scheme.addRemoveNodesOption = True

cases/PFEM_Metafor/birdImpact_deformable_panel_bird_Pfem_Axisym.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,6 @@ def getPfem():
7272
loadingset = w.LoadingSet(msh)
7373
loadingset.add(1,w.InitialVelocity(msh,bird,0.,-U0,0.))
7474

75-
scheme.savefreq=1
76-
scheme.nthreads=3
7775
scheme.gamma = 0.5
7876
scheme.omega = 0.5
7977
scheme.addRemoveNodesOption = True

cases/PFEM_Metafor/birdImpact_deformable_panel_bird_Pfem_Smojver.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,7 @@ def getPfem():
6666
bird = w.Group(msh, 16)
6767
loadingset = w.LoadingSet(msh)
6868
loadingset.add(1,w.InitialVelocity(msh,bird,0.,-U0,0.))
69-
70-
scheme.savefreq=1
71-
scheme.nthreads=3
69+
7270
scheme.gamma = 0.5
7371
scheme.omega = 0.5
7472
scheme.addRemoveNodesOption = True

cases/PFEM_Metafor/birdImpact_deformable_panel_bird_Pfem_Smojver_Axisym.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,6 @@ def getPfem():
7272
loadingset = w.LoadingSet(msh)
7373
loadingset.add(1,w.InitialVelocity(msh,bird,0.,-U0,0.))
7474

75-
scheme.savefreq=1
76-
scheme.nthreads=3
7775
scheme.gamma = 0.5
7876
scheme.omega = 0.5
7977
scheme.addRemoveNodesOption = True

0 commit comments

Comments
 (0)