Skip to content
28 changes: 14 additions & 14 deletions examples/modules/fsi/pages/lid-driven-cavity/README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ Computer codes, used for the acquisition of results, are from Vincent <<Chabanne

This benchmark has aso been realized by <<Gerbeau>>, <<Vàzquez>>, <<Kuttler>> and <<Kassiotis>>.

== Problem Description
== Problem Description

We study here an incompressible fluid flowing into a cavity, where its walls are elastic. We use the following geometry to represent it.

[[img-geometry1]]
image::lid-driven-cavity/LidDriven.png[caption="Figure 1 : ", title="Geometry of lid-driven cavity flow.", alt="LidDriven Geometry", width="600", align="center"]
image::lid-driven-cavity/LidDriven.png[caption="Figure 1 : ", title="Geometry of lid-driven cavity flow.", alt="LidDriven Geometry", width="600", align="center"]

The domain stem:[\Omega_f^*] is define by a square stem:[ [0,1\]^2 ], stem:[\Gamma^{i,*}_f] and stem:[\Gamma^{o,*}_f] are respectively the flow entrance and the flow outlet.
A constant flow velocity, following the stem:[x] axis, will be imposed on stem:[\Gamma_f^{h,*}] border, while a null flow velocity will be imposed on stem:[\Gamma_f^{f,*}]. This last point represent also a non-slip condition for the fluid.
Expand All @@ -23,7 +23,7 @@ Furthermore, we add a structure domain, at the bottom of the fluid one, named st

During this test, we will observe the displacement of a point stem:[A], positioned at stem:[(0;0.5)], into the stem:[y] direction, and compare our results to ones found in other references.

=== Boundary conditions
=== Boundary conditions

Before enunciate the boundary conditions, we need to describe a oscillatory velocity, following the $$x$$ axis and dependent of time.

Expand All @@ -32,7 +32,7 @@ Before enunciate the boundary conditions, we need to describe a oscillatory velo
v_{in} = 1-cos\left( \frac{2\pi t}{5} \right)
++++

Then we can set
Then we can set

* on stem:[\Gamma^{h,*}_f], an inflow Dirichlet condition : stem:[\boldsymbol{u}_{f} = ( v_{in}, 0 )]

Expand All @@ -46,30 +46,30 @@ Then we can set

* on stem:[\Gamma^{e,*}_s], a condition that lets these boundaries be free from constraints : stem:[\boldsymbol{F}_{s} \boldsymbol{\Sigma}_s \boldsymbol{n}_s = \boldsymbol{0}]

To them we also add the fluid-structure coupling conditions on stem:[\Gamma_{fsi}^*] :
To them we also add the fluid-structure coupling conditions on stem:[\Gamma_{fsi}^*] :

[stem]
++++
\frac{\partial \boldsymbol{\eta_{s}} }{\partial t} - \boldsymbol{u}_f \circ \mathcal{A}^t_f
= \boldsymbol{0} \quad \left( \text{Velocities continuity}\right)
= \boldsymbol{0} \quad \left( \text{Velocities continuity}\right)
++++

[stem]
++++
\boldsymbol{F}_{s} \boldsymbol{\Sigma}_{s} \boldsymbol{n}^*_s + J_{\mathcal{A}^t_f} \boldsymbol{F}_{\mathcal{A}^t_f}^{-T} \hat{\boldsymbol{\sigma}}_f \boldsymbol{n}^*_f
= \boldsymbol{0} \quad \left( \text{ Constraint continuity}\right)
= \boldsymbol{0} \quad \left( \text{ Constraint continuity}\right)
++++

[stem]
++++
\boldsymbol{\varphi}_s^t - \mathcal{A}^t_f
= \boldsymbol{0} \quad \left( \text{Geometric continuity}\right)
= \boldsymbol{0} \quad \left( \text{Geometric continuity}\right)
++++

=== Initial conditions

To realize the simulations, we used a time step stem:[\Delta t] equals to stem:[0.01] s.

== Inputs

The following table displays the various fixed and variables
Expand All @@ -82,7 +82,7 @@ parameters of this test-case.
|stem:[E_s] | Young's modulus | stem:[250] | stem:[N.m^{-2}]
|stem:[\nu_s] | Poisson's ratio | stem:[0] | dimensionless
|stem:[\rho_s] | structure density | stem:[500] |stem:[kg.m^{-3}]
|stem:[\mu_f] |viscosity | stem:[1\times 10^{-3}] |stem:[m^2.s^{-1}]
|stem:[\mu_f] |viscosity | stem:[1\times 10^{-3}] |stem:[m^2.s^{-1}]
|stem:[\rho_f] | density | stem:[1] | stem:[kg.m^{-3}]
|===

Expand All @@ -95,7 +95,7 @@ To discretize space, we used stem:[P_N~-~P_{N-1}] Taylor-Hood finite elements.

For the structure time discretization, Newmark-beta method is the one we used. And for the fluid time discretization, we used BDF, at order stem:[q].

== Implementation
== Implementation

All the codes files are into https://github.com/feelpp/feelpp/tree/develop/toolboxes/feel/feelmodels/fsi[FSI]

Expand All @@ -113,13 +113,13 @@ Then we retry with a stem:[P_3~-~P_2] approximation for the fluid with a geometr
|
|===

Finally we launch it with the same conditions as before, but with a deformed interface.
Finally we launch it with the same conditions as before, but with a deformed interface.

|===
|
|===

=== Conclusion
=== Conclusion

First at all, we can see that the first two tests offer us similar results, despite different orders uses. At contrary, the third result set are better than the others.

Expand All @@ -136,7 +136,7 @@ The elastic wall thinness, in the stable case, should give an important refineme

- [[[Gerbeau]]] J.F. Gerbeau, M. Vidrascu, et al, _A quasi-newton algorithm based on a reduced model for fluid-structure interaction problems in blood flows_, 2003.

- [[[Vazquez]]] J.G. Valdés Vazquèz et al, _Nonlinear analysis of orthotropic membrane and shell structures including fluid-structure interaction_, 2007.
- [[[Vàzquez]]] J.G. Valdés Vazquèz et al, _Nonlinear analysis of orthotropic membrane and shell structures including fluid-structure interaction_, 2007.

- [[[KuttlerWall]]] U. Kuttler and W.A. Wall, _Fixed-point fluid–structure interaction solvers with dynamic relaxation_, Computational Mechanics, 2008.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
= 2. Modeling and Analysis using the JSON files
:page-tags: manual
:page-illustration: pass:[toolboxes::manual.svg]
:description: We present the JSON files used to configure the physical models and the analysis.
= Modeling and Analysis using the JSON files

The Model JSON (`.json`) files allow to configure a set of partial differential equations, more precisely they define:

Expand Down Expand Up @@ -362,7 +359,7 @@ We denote by stem:[f] the distance function computed and stem:[g] a normalizatio

[stem]
++++
g(f)=a+\frac{\left(f-min(f)\right)\left(b-a\right)}{max(f)-min(f)}
g(f)=a+\frac{\left(f-\min(f)\right)\left(b-a\right)}{\max(f)-\min(f)}
++++

with reals stem:[a] and stem:[b] (should verify stem:[a<b]) specifying the range of values (default stem:[[0,1]]).
Expand All @@ -371,7 +368,7 @@ with reals stem:[a] and stem:[b] (should verify stem:[a<b]) specifying the range

[stem]
++++
g(f)=\frac{f-average(f)}{max(f)-min(f)}
g(f)=\frac{f-\mathrm{average}(f)}{\max(f)-\min(f)}
++++

.Example 1 of DistanceToRange normalisation setup
Expand All @@ -393,8 +390,9 @@ g(f)=\frac{f-average(f)}{max(f)-min(f)}
}
----
The previous snippet JSON will generate two normalizations of the distance function by using :
* min_max method with default range stem:[\left[0,1\right]] : generated symbol is `meshes_<mesh_id>_distanceToRange_walls_normalized_min_max`.
* mean method : generated symbol is `meshes_<mesh_id>_distanceToRange_walls_normalized_mean`.

* `min_max` method with default range stem:[[0, 1\]] : generated symbol is `meshes_<mesh_id>_distanceToRange_walls_normalized_min_max`.
* `mean` method : generated symbol is `meshes_<mesh_id>_distanceToRange_walls_normalized_mean`.

.Example 2 of DistanceToRange normalisation setup
[source,json]
Expand All @@ -406,7 +404,7 @@ The previous snippet JSON will generate two normalizations of the distance funct
}
}
----
The previous snippet JSON will generated one normalization Min-Max of the distance function on interval stem:[\left[1,2\rifht]].
The previous snippet JSON will generated one normalization Min-Max of the distance function on interval stem:[[1,2\]].


.Example 3 of DistanceToRange normalisation setup
Expand Down Expand Up @@ -1210,7 +1208,7 @@ The quadrature order used in the norm computed can be also given if an analytica
<11> coordinates of the point
<12> fields to be computed at the point coordinate

Here is a xref:toolboxes:csm:rotating-winch/index.adoc[biele example] from the Toolbox examples.
Here is a xref:cases:csm:rotating-winch/index.adoc[biele example] from the Toolbox examples.


== The generator of cases by using the index definitions
Expand Down