Skip to content

Commit

Permalink
Change names in User Guide even though these docs will be updated.
Browse files Browse the repository at this point in the history
  • Loading branch information
ktbolt committed Dec 4, 2024
1 parent 867417a commit d406d17
Show file tree
Hide file tree
Showing 9 changed files with 14 additions and 14 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Appendix: Restarting a simulation after re-meshing

If a simulation is to be restarted after re-meshing has occurred, the new mesh must be added to the input file. svFSIplus will create a directory called n-procs, where n is the number of MPI tasks for the simulation, and we will refer to this as the run directory.
If a simulation is to be restarted after re-meshing has occurred, the new mesh must be added to the input file. svMultiPhysics will create a directory called n-procs, where n is the number of MPI tasks for the simulation, and we will refer to this as the run directory.

1. In the run directory, find the stFile\_n.bin. Make a symbolic link:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
## Fluid-Structure Interaction Modeling using **svFSIplus**
## Fluid-Structure Interaction Modeling using **svMultiPhysics**

<figure>
<img class="svImg svImgMd" src="/documentation/svfsi/fsi/imgs/Picture1.png" style="width:100%;height:auto;max-width: 30vw;">
<figcaption class="svCaption" >Fluid and structure mesh are first created separately, and then used in svFSIplus to perform Fluid-Structure-Interaction simulations with Arbitrary Lagrangian–Eulerian (ALE) coordinates.</figcaption>
<figcaption class="svCaption" >Fluid and structure mesh are first created separately, and then used in svMultiPhysics to perform Fluid-Structure-Interaction simulations with Arbitrary Lagrangian–Eulerian (ALE) coordinates.</figcaption>
</figure>

Cardiovascular applications that involve significant deformation are difficult to simulate and model. Some examples include vascular simulations where the wall dilates to more than 10% of the vessel diameter, cardiac simulations where the heart wall displaces as it contracts and expands, or coronary simulations where the coronary vessels displace with the motion of the heart.

One way to computationally model situations like these is to use a fluid-structure interaction (FSI) solver. In FSI, separate domains are defined for the fluid part and solid parts of the computational geometry. The respective equations governing fluid flow (typically Navier-Stokes) are solved in the fluid domain, while the equations governing solid mechanics are solved in the solid domain. The two domains then interact through their *interface* where the solution variables (displacements, velocities, pressures, stresses) are required to match. This interface acts as a coupled boundary condition for both domains, as the solution of one domain will affect the solution in the other, and vice-versa.

**svFSIplus** utilizes Arbitrary Lagrangian-Eulerian (ALE) method to perform FSI. As the name implies, this method is a combination of the Eulerian and Lagrangian descriptions of motion that is particularly well suited for FSI problems. In the Eulerian description, the computational mesh stays fixed and the motion is characterized as velocities flowing past the grid nodes. The Eulerian description is typical for most fluid dynamics problems without FSI. While in the Lagrangian description, the mesh nodes move exactly with the motion of the fluid or solid and thus are often characterized as *moving domain* problems. Lagrangian problems are also often described in terms of the *reference* configuration (the initial computational geometry before any motion) and the *current* configuration (the current state of the geometry and mesh nodes). ALE combines these descriptions into a formulation that is convenient for describing FSI problems, where the mesh motion does not exactly match with the fluid motion, but instead a *mesh velocity* term is added to the convective term in the Navier-Stokes equations. More information can be found in the literature.
**svMultiPhysics** utilizes Arbitrary Lagrangian-Eulerian (ALE) method to perform FSI. As the name implies, this method is a combination of the Eulerian and Lagrangian descriptions of motion that is particularly well suited for FSI problems. In the Eulerian description, the computational mesh stays fixed and the motion is characterized as velocities flowing past the grid nodes. The Eulerian description is typical for most fluid dynamics problems without FSI. While in the Lagrangian description, the mesh nodes move exactly with the motion of the fluid or solid and thus are often characterized as *moving domain* problems. Lagrangian problems are also often described in terms of the *reference* configuration (the initial computational geometry before any motion) and the *current* configuration (the current state of the geometry and mesh nodes). ALE combines these descriptions into a formulation that is convenient for describing FSI problems, where the mesh motion does not exactly match with the fluid motion, but instead a *mesh velocity* term is added to the convective term in the Navier-Stokes equations. More information can be found in the literature.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Basic GUI plugin use

The plugin provides a GUI with which to create input files for your svFSIplus simulation using SimVascular. In this section, we will describe how to set up a fluid-structure interaction simulation of flow in a thick-walled blood vessel. For simplicity in presentation, we assume that the vessel has only one inlet and outlet. Before setting up a fluid-structure interaction job, one should have a mesh for the fluid domain and a mesh for the annulus (artery wall) domain as described above. We have provided you with an example meshes for the fluid domain of a cylinder and the solid domain of the cylinder.
The plugin provides a GUI with which to create input files for your svMultiPhysics simulation using SimVascular. In this section, we will describe how to set up a fluid-structure interaction simulation of flow in a thick-walled blood vessel. For simplicity in presentation, we assume that the vessel has only one inlet and outlet. Before setting up a fluid-structure interaction job, one should have a mesh for the fluid domain and a mesh for the annulus (artery wall) domain as described above. We have provided you with an example meshes for the fluid domain of a cylinder and the solid domain of the cylinder.

Initiate a job by pressing “New Job.” Click the job in the SV Data Manager, and ensure that it appears in the plugin window. The “Domains” panel allows one to add meshes to the simulation for the different physical domains. Click “Add Mesh-Complete” and select the fluid mesh. You should see three faces appear, one for in the inlet, outlet and fluid-solid interface. Ensure that the button for “fluid” is selected.

Expand Down Expand Up @@ -51,4 +51,4 @@ The “Simulation Parameters” panel allows specification of general parameters

Finally, on the “Run Simulation” panel, click “Create Input File” to create the necessary files to run your simulation. If you wish to run with more than one processor, increase the slider accordingly. Finally, click “Run” to run your simulation.

svFSIplus will create a directory called n-procs, where n is the number of MPI tasks for the simulation. This directory will contain .vtu files containing simulation results for all of the requested quantities, a history.dat file and averages of various quantities over time.
svMultiPhysics will create a directory called n-procs, where n is the number of MPI tasks for the simulation. This directory will contain .vtu files containing simulation results for all of the requested quantities, a history.dat file and averages of various quantities over time.
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
<h2 id="user_guide_computational_hemodynamics"> Computational Hemodynamics </h2>

Modeling of cardiovascular flow is the main function of **SimVascular**. Currently, the default flow solver of **SimVascular** is [**svSolver**](flowsolver.html). All of the features in **svSolver** exists in **svFSIplus** including RCR boundary condition, Coupled Momentum Method, GenBC etc. Also, we have carefully tested the new solver to make sure it produce the same results as **svSolver**. In this section, we won't dwell on the similarities between these two solvers, and instead will focus two new features in flow simulation using **svFSIplus**, i.e., non-Newtonian flow model and simulation of prescribed motion.
Modeling of cardiovascular flow is the main function of **SimVascular**. Currently, the default flow solver of **SimVascular** is [**svSolver**](flowsolver.html). All of the features in **svSolver** exists in **svMultiPhysics** including RCR boundary condition, Coupled Momentum Method, GenBC etc. Also, we have carefully tested the new solver to make sure it produce the same results as **svSolver**. In this section, we won't dwell on the similarities between these two solvers, and instead will focus two new features in flow simulation using **ssvMultiPhysics**, i.e., non-Newtonian flow model and simulation of prescribed motion.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Blood is a complex mixture that consists of plasma, blood cells and platelets. T

<h4> Viscosity models </h4>

Currently, **svFSIplus** supports three viscosity models: Newtonian, Carreau-Yasuda and Casson <a href="#ref-2">[2]</a>.
Currently, **svMultiPhysics** supports three viscosity models: Newtonian, Carreau-Yasuda and Casson <a href="#ref-2">[2]</a>.

<figure>
<img class="svImg svImgSm" src="/documentation/svfsi/fluid/imgs/non-newtonian.png" style="width:100%;height:auto;max-width: 30vw;">
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<h2 id ="user_guide_material_models"> Material Models </h2>
svFSIplus supports a number of material models that can be used for simulations of complex solid mechanics.
svMultiPhysics supports a number of material models that can be used for simulations of complex solid mechanics.



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ $$ \int\_{\Omega\_{t}} \mathbf{w} \cdot \rho \ddot{\mathbf{u}} d \Omega+\int\_{\

The acceleration term (i.e. $\int\_{\Omega\_{t}} \mathbf{w} \cdot \rho \ddot{\mathbf{u}} d \Omega$), body forcing term (i.e. $\int\_{\Omega\_{t}} \mathbf{w} \cdot \mathbf{f\_b} d \Omega$), and the natural boundary condition term (i.e. $\int\_{\left(\Gamma\_{t}\right)\_{h}} \mathbf{w} \cdot \mathbf{h} d \Gamma\_{h}$) are all evaluated in the current configuration. These terms are commonly referred to as external work done on the structure by body forces and surface tractions. The remaining stress term in the equation is often referred to as internal work done on the structure by internal stresses, which we will treat differently here. We rewrite this in the reference configuration in terms of the deformation gradient and the second Piola-Kirchhoff stress tensor, which is commonly denoted as $\mathbf{S}$.

**svFSIplus** uses a splitting approach where the strain energy and the resulting second Piola-Kirchhoff stress tensor, $\mathbf{S}$, are decomposed into deviatoric (or isochoric, $\mathbf{S}\_{iso}$) and dilational (or volumetric, $\mathbf{S}\_{vol}$) components. The specific form of $\mathbf{S}$ will depend on the chosen constitutive model (isochoric and volumetric). More information on these <a href="#material-model">Material models</a> can be found in the literature <a href="#ref-1">[1]</a>. It is noted that the symbol $E$ denotes the elastic modulus of the structure and is not to be confused with $\mathbf{E}$, which denotes the Green-Lagrange strain tensor, and $\nu$ represents Poisson's ratio. Some key material parameters can then be defined as,
**ssvMultiPhysics** uses a splitting approach where the strain energy and the resulting second Piola-Kirchhoff stress tensor, $\mathbf{S}$, are decomposed into deviatoric (or isochoric, $\mathbf{S}\_{iso}$) and dilational (or volumetric, $\mathbf{S}\_{vol}$) components. The specific form of $\mathbf{S}$ will depend on the chosen constitutive model (isochoric and volumetric). More information on these <a href="#material-model">Material models</a> can be found in the literature <a href="#ref-1">[1]</a>. It is noted that the symbol $E$ denotes the elastic modulus of the structure and is not to be confused with $\mathbf{E}$, which denotes the Green-Lagrange strain tensor, and $\nu$ represents Poisson's ratio. Some key material parameters can then be defined as,

$$ \lambda=\frac{E v}{(1+v)(1-2 v)}, \quad \mu=\frac{E}{2(1+v)}, \quad \kappa=\lambda + \frac{2}{3} \mu $$

Expand All @@ -31,15 +31,15 @@ $$ \mathbf{S}^{mStVK} = \kappa \operatorname{ln}(J) \mathbf{C}^{-1} + \mu(\mathb

$$ \mathbf{S\_{iso}}^{nHK} = \mu J^{-2/3} \left(\mathbf{I} - \frac{1}{3} \operatorname{tr}(\mathbf{C}) \mathbf{C}^{-1} \right), \~~ \textrm{Neo-Hookean} $$

where $\mathbf{I}$ is the identity matrix. For the Neo-Hookean and other hyperelastic constitutive models, the $\mathbf{S}$ tensor is computed as $\mathbf{S} = \mathbf{S\_{iso}} + \mathbf{S\_{vol}}$, where $\mathbf{S\_{vol}} = p J \mathbf{C}^{-1}$, and $p$ is the hydrostatic pressure computed based on the chosen dilational strain-energy function. See the section on <a href="#material-model">Material models</a> and the corresponding references for the available dilational penalty models in **svFSIplus** .
where $\mathbf{I}$ is the identity matrix. For the Neo-Hookean and other hyperelastic constitutive models, the $\mathbf{S}$ tensor is computed as $\mathbf{S} = \mathbf{S\_{iso}} + \mathbf{S\_{vol}}$, where $\mathbf{S\_{vol}} = p J \mathbf{C}^{-1}$, and $p$ is the hydrostatic pressure computed based on the chosen dilational strain-energy function. See the section on <a href="#material-model">Material models</a> and the corresponding references for the available dilational penalty models in **svMultiPhysics** .

<!-- --------------------------------------------------- -->
<!-- ------------------ Mixed Formulation -------------- -->
<!-- --------------------------------------------------- -->

<h3> Mixed Formulation </h3>

**svFSIplus** allows solving nonlinear elastodynamics using a mixed formulation where the structure's velocity and pressure are the unknown degrees of freedom <a href="#ref-4">[4]</a>. Two variants are available within this feature: (a) first, a novel variational multiscale stabilized (VMS) formulation that allows equal-order interpolation of velocity and pressure bases using a unified framework <a href="#ref-4">[4]</a>; (b) second, using the classical inf-sup stable Taylor-Hood type elements where the velocity basis is derived from a function space that is one order higher relative to the pressure basis. In the displacement-based formulation, a hyperelastic material model assumes the existence of a Helmholtz free energy potential. However, uSTRUCT postulates hyperelasticity using Gibbs free energy potential <a href="#ref-4">[4]</a> and takes the following additive decoupled form as,
**svMultiPhysics** allows solving nonlinear elastodynamics using a mixed formulation where the structure's velocity and pressure are the unknown degrees of freedom <a href="#ref-4">[4]</a>. Two variants are available within this feature: (a) first, a novel variational multiscale stabilized (VMS) formulation that allows equal-order interpolation of velocity and pressure bases using a unified framework <a href="#ref-4">[4]</a>; (b) second, using the classical inf-sup stable Taylor-Hood type elements where the velocity basis is derived from a function space that is one order higher relative to the pressure basis. In the displacement-based formulation, a hyperelastic material model assumes the existence of a Helmholtz free energy potential. However, uSTRUCT postulates hyperelasticity using Gibbs free energy potential <a href="#ref-4">[4]</a> and takes the following additive decoupled form as,
$$
G(\overline{\mathbf{C}},p,T) = G\_{iso}(\overline{\mathbf{C}},T) + G\_{vol}(p,T)
$$
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

<h2 id ="user_guide_nonlinear_solid_dynamics"> Nonlinear Solid Dynamics </h2>

This section briefly explains the theory and implementation of the nonlinear solid dynamics solver in **svFSIplus**. Two types of formulations are provided in **svFSIplus** for modeling solid mechanics: STRUCT and uSTRUCT. STRUCT uses a pure displacement-based formulation of the balance laws (mass and momentum conservation principles), while uSTRUCT uses a mixed (velocity-pressure) formulation of the governing equations. The latter approach uses either a stabilized equal-order discretization for velocity and pressure function spaces, or the inf-sup-conforming Taylor-Hood-type finite element discretization.
This section briefly explains the theory and implementation of the nonlinear solid dynamics solver in **svMultiPhysics**. Two types of formulations are provided in **svMultiPhysics** for modeling solid mechanics: STRUCT and uSTRUCT. STRUCT uses a pure displacement-based formulation of the balance laws (mass and momentum conservation principles), while uSTRUCT uses a mixed (velocity-pressure) formulation of the governing equations. The latter approach uses either a stabilized equal-order discretization for velocity and pressure function spaces, or the inf-sup-conforming Taylor-Hood-type finite element discretization.

### Kinematics

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
### Material models

Below is the list of available material constitutive models in **svFSIplus** :
Below is the list of available material constitutive models in **svMultiPhysics** :

<table class="table table-bordered">
<caption>Volumetric constitutive models for the struct/ustruct equations</caption>
Expand Down

0 comments on commit d406d17

Please sign in to comment.