You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are many established pipelines to obtain the wall motion from CT/MR scans<ahref="#ref-3">[3-5]</a>. Here, we would recommend using the [cardiac geometric modeling tool](http://simvascular.github.io/docsSimCardio.html#automatic-cardiac-modeling) developed in the **SimCardio** project.
3
+
There are many established pipelines to obtain the wall motion from CT/MR scans<ahref="#ref-3">[3-5]</a>. Here, we would recommend using the [cardiac geometric modeling tool](simcardio.html#automatic-cardiac-modeling) developed in the **SimCardio** project.
4
4
5
5
For the wall motion file, the file format is as follows. First, specify the dimension of the problem (three), the number of times at which to specify the displacements, and the number of vertices in the moving wall mesh. Then specify the times at which the displacements occur. Next, for each vertex, specify its index and then the prescribed displacements for each time. Note that in the case of multiple moving faces, these numbers may not start at one for any given face, as indexing is global. If a vertex is on an edge between two faces, it should have the same index and displacement fields, specified redundantly in both files.
6
6
@@ -15,12 +15,12 @@ displacement_1_vertex_1
15
15
displacement_2_vertex_1
16
16
...
17
17
displacement_n_vertex_1
18
-
vertex_2_index
18
+
vertex_2_index
19
19
displacement_1_vertex_2
20
20
displacement_2_vertex_2
21
21
...
22
22
displacement_n_vertex_2
23
-
...
23
+
...
24
24
```
25
25
26
26
For example,
@@ -49,50 +49,50 @@ For example,
49
49
7.220E-1
50
50
7.600E-1
51
51
1
52
-
0.000000 0.000000 0.000000
53
-
2.800E-1 -8.99E-2 -1.00E-2
54
-
8.799E-1 -2.09E-1 -8.10E-1
55
-
1.339999 -1.59E-1 -1.43000
56
-
1.509999 7.000E-2 -1.59000
57
-
1.310000 3.100E-1 -1.52000
58
-
1.069999 5.100E-1 -1.41000
59
-
1.009999 6.000E-1 -1.28000
60
-
9.699E-1 3.600E-1 -1.10000
61
-
1.049999 -1.09E-1 -8.80E-1
62
-
1.169999 -6.69E-1 -7.60E-1
63
-
1.169999 -1.17999 -7.90E-1
64
-
1.129999 -1.31999 -9.69E-1
65
-
1.049999 -1.25999 -1.34000
66
-
1.000000 -9.39E-1 -1.64000
67
-
9.899E-1 -4.29E-1 -1.96000
68
-
1.000000 3.000E-2 -2.15000
69
-
9.299E-1 3.600E-1 -1.90000
70
-
6.599E-1 4.200E-1 -1.14000
71
-
1.999E-1 1.500E-1 -3.50E-1
72
-
0.000000 0.000000 0.000000
52
+
0.000000 0.000000 0.000000
53
+
2.800E-1 -8.99E-2 -1.00E-2
54
+
8.799E-1 -2.09E-1 -8.10E-1
55
+
1.339999 -1.59E-1 -1.43000
56
+
1.509999 7.000E-2 -1.59000
57
+
1.310000 3.100E-1 -1.52000
58
+
1.069999 5.100E-1 -1.41000
59
+
1.009999 6.000E-1 -1.28000
60
+
9.699E-1 3.600E-1 -1.10000
61
+
1.049999 -1.09E-1 -8.80E-1
62
+
1.169999 -6.69E-1 -7.60E-1
63
+
1.169999 -1.17999 -7.90E-1
64
+
1.129999 -1.31999 -9.69E-1
65
+
1.049999 -1.25999 -1.34000
66
+
1.000000 -9.39E-1 -1.64000
67
+
9.899E-1 -4.29E-1 -1.96000
68
+
1.000000 3.000E-2 -2.15000
69
+
9.299E-1 3.600E-1 -1.90000
70
+
6.599E-1 4.200E-1 -1.14000
71
+
1.999E-1 1.500E-1 -3.50E-1
72
+
0.000000 0.000000 0.000000
73
73
2
74
-
0.000000 0.000000 0.000000
75
-
2.700E-1 -8.99E-2 0.000000
76
-
8.500E-1 -1.99E-1 -6.80E-1
77
-
1.280000 -1.59E-1 -1.16999
78
-
1.430000 5.000E-2 -1.28000
79
-
1.230000 2.599E-1 -1.19999
80
-
1.010000 4.499E-1 -1.09000
81
-
9.500E-1 5.099E-1 -9.69E-1
82
-
9.100E-1 2.400E-1 -8.19E-1
83
-
1.000000 -2.59E-1 -6.70E-1
84
-
1.120000 -8.29E-1 -5.69E-1
85
-
1.130000 -1.31999 -5.89E-1
86
-
1.090000 -1.44999 -7.50E-1
87
-
1.000000 -1.36000 -1.06999
88
-
9.400E-1 -1.00999 -1.31000
89
-
9.300E-1 -4.69E-1 -1.56999
90
-
9.500E-1 0.000000 -1.72999
91
-
8.900E-1 3.299E-1 -1.53999
92
-
6.200E-1 3.999E-1 -9.39E-1
93
-
1.900E-1 1.399E-1 -2.90E-1
94
-
0.000000 0.000000 0.000000
95
-
...
74
+
0.000000 0.000000 0.000000
75
+
2.700E-1 -8.99E-2 0.000000
76
+
8.500E-1 -1.99E-1 -6.80E-1
77
+
1.280000 -1.59E-1 -1.16999
78
+
1.430000 5.000E-2 -1.28000
79
+
1.230000 2.599E-1 -1.19999
80
+
1.010000 4.499E-1 -1.09000
81
+
9.500E-1 5.099E-1 -9.69E-1
82
+
9.100E-1 2.400E-1 -8.19E-1
83
+
1.000000 -2.59E-1 -6.70E-1
84
+
1.120000 -8.29E-1 -5.69E-1
85
+
1.130000 -1.31999 -5.89E-1
86
+
1.090000 -1.44999 -7.50E-1
87
+
1.000000 -1.36000 -1.06999
88
+
9.400E-1 -1.00999 -1.31000
89
+
9.300E-1 -4.69E-1 -1.56999
90
+
9.500E-1 0.000000 -1.72999
91
+
8.900E-1 3.299E-1 -1.53999
92
+
6.200E-1 3.999E-1 -9.39E-1
93
+
1.900E-1 1.399E-1 -2.90E-1
94
+
0.000000 0.000000 0.000000
95
+
...
96
96
```
97
97
98
-
Note that in this example, we wish the mesh motion to be periodic in time, and thus the final displacement is zero.
98
+
Note that in this example, we wish the mesh motion to be periodic in time, and thus the final displacement is zero.
Copy file name to clipboardExpand all lines: documentation/svfsi/fsi/appendix_creating_fluid_geometry/readme.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
### Creating the geometry for the fluid domain
2
2
3
-
For most cardiovascular modeling applications, the geometry of the fluid domain is generated by segmenting blood vessels out of medical image data. This process is described on the main SimVascular documentation: http://simvascular.github.io/modeling.html. We now want delete all the caps off the model. Once you have done that, export it by right-clicking the model from the left-hand menu and selecting ``Export as Solid Model''. When SimVascular prompts you for a name and location for the exported model, make sure to add an .stl extension to make sure the exported model is in .stl format. We will perform the next step in Meshmixer, and Meshmixer only takes in .stl format surfaces.
3
+
For most cardiovascular modeling applications, the geometry of the fluid domain is generated by segmenting blood vessels out of medical image data. This process is described [here](modeling.html). We now want delete all the caps off the model. Once you have done that, export it by right-clicking the model from the left-hand menu and selecting ``Export as Solid Model''. When SimVascular prompts you for a name and location for the exported model, make sure to add an .stl extension to make sure the exported model is in .stl format. We will perform the next step in Meshmixer, and Meshmixer only takes in .stl format surfaces.
Copy file name to clipboardExpand all lines: documentation/svfsi/fsi/appendix_creating_solid_mesh/readme.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,14 @@
1
1
### Create the solid domain mesh
2
2
3
-
Similar to the way we create the mesh for the fluid domain in SimVascular (see: http://simvascular.github.io/meshing.html) we can now create the mesh for the solid domain.
3
+
Similar to the way we [create the mesh](meshing.html) for the fluid domain in SimVascular, we can now create the mesh for the solid domain.
4
4
5
5
1. Import the .stl of the structural domain geometry into SimVascular
6
6
7
7
Right-click on the "Models" button and choose "Import solid Model", then select the .stl model you just exported from Meshmixer:
Copy file name to clipboardExpand all lines: documentation/svfsi/fsi/mesh_adam_bl/readme.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
To run an FSI simulation we need a mesh for both the structural domain and the fluid domain. These two meshes must have their interface nodes coincide exactly in order to satisfy the interfacial conditions that result from conservation of mass and momentum. The coincident nodes of the fluid mesh are mapped onto the corresponding nodes on the structural mesh and the solution of velocity, displacement, pressure, etc. are treated as equal in the structural and fluid domains.
4
4
5
-
The fluid domain geometry for patient-specific anatomies are generated using the usual [SimVascular modeling pipeline](http://simvascular.github.io/modeling.html). To create the geometry for the structural domain, we will make use of the [boundary layer meshing feature](https://simvascular.github.io/meshing.html#tetgenboundarylayer) in the `Meshing` module. The usual case for boundary layer meshing involves extruding this thin layer of elements _inwards_, starting from the walls and going into the direction of the vessel centers. To make a wall mesh, we will instead use the boundary layer meshing feature to extrude elements _outwards_ to effectively make a new mesh with a specified thickness that surrounds our fluid domain. This new mesh will form the geometry of our structural domain.
5
+
The fluid domain geometry for patient-specific anatomies are generated using the usual [SimVascular modeling pipeline](modeling.html). To create the geometry for the structural domain, we will make use of the [boundary layer meshing feature](meshing.html#tetgenboundarylayer) in the `Meshing` module. The usual case for boundary layer meshing involves extruding this thin layer of elements _inwards_, starting from the walls and going into the direction of the vessel centers. To make a wall mesh, we will instead use the boundary layer meshing feature to extrude elements _outwards_ to effectively make a new mesh with a specified thickness that surrounds our fluid domain. This new mesh will form the geometry of our structural domain.
6
6
7
7
Before we use the boundary layer meshing to extrude outwards, it is extremely important that we thoroughly smooth our model. The outward extrusion of elements has the potential to cause some elements to extrude into each other and overlap, which will cause the extrusion to fail. This is especially true at bifurcations, where the extruded elements from the two daughter branches could easily run into each other near the junction if not properly smoothed. We will therefore make thorough use of the local smoothing tools in the Models module before meshing. Below is an example of a bifurcation that would normally occur after lofting segmentations together without smoothing. If we try to extrude a boundary layer mesh from this, the elements at the sharp corner will intersect with each other and cause it to fail.
Copy file name to clipboardExpand all lines: documentation/svfsi/main/input/readme.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
## Input file format
2
2
3
-
**svFSI** uses plain-text input file. This input file will define the physics solved, mesh, linear solver, boundary conditions and general simulation parameters. An overview of the syntax could be found <a href=https://sites.google.com/site/memt63/tools/MUPFES/mupfes-scripting>here</a>. The input file for svFSI is a scripting code that sets values to specific parameters. A colon ":" is used as a separator between the keyword or key phrase and its value. If the parameters being set are single-valued constants, you may use a **single line structure** as,
3
+
**svFSI** uses plain-text input file. This input file will define the physics solved, mesh, linear solver, boundary conditions and general simulation parameters. An overview of the syntax could be found <ahref="https://sites.google.com/site/memt63/tools/MUPFES/mupfes-scripting">here</a>. The input file for svFSI is a scripting code that sets values to specific parameters. A colon ":" is used as a separator between the keyword or key phrase and its value. If the parameters being set are single-valued constants, you may use a **single line structure** as,
4
4
5
5
```
6
6
<keyword or key phrase>: 1.3
@@ -57,7 +57,7 @@ Increment in saving restart files: 200
57
57
58
58
<aid="mesh_info"> <h4> Mesh information </h4></a>
59
59
60
-
Mesh data is provided in the second part. It mainly includes the paths to volumetric meshes and boundary meshes. There may also be additional information such as domains, fiber orientation, initial values, prestress, etc. Multiples meshes can be loaded for the same or different equations within svFSI. svFSI supports reading multiple mesh formats as mentioned [here](http://simvascular.github.io/docssvFSI.html#mesh). Regardless of the mesh format, the mesh information is provided using the block structure. Nested keywords "Add mesh" and "Add face" could be used to provide paths to the mesh and face files. The users should also provide a string-based name for each mesh and face immediately after the colon. This name will be useful when when setting boundary conditions later. For example:
60
+
Mesh data is provided in the second part. It mainly includes the paths to volumetric meshes and boundary meshes. There may also be additional information such as domains, fiber orientation, initial values, prestress, etc. Multiples meshes can be loaded for the same or different equations within svFSI. svFSI supports reading multiple mesh formats as mentioned [here](svfsi.html#mesh). Regardless of the mesh format, the mesh information is provided using the block structure. Nested keywords "Add mesh" and "Add face" could be used to provide paths to the mesh and face files. The users should also provide a string-based name for each mesh and face immediately after the colon. This name will be useful when when setting boundary conditions later. For example:
Copy file name to clipboardExpand all lines: documentation/svfsi/structure/mesh_gen/readme.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
-
## Mesh Generation ##
1
+
## Mesh Generation
2
2
3
-
Mesh generation for cardiac mechanics modeling are quite standard and can be achieved following the general guide <ahref="http://simvascular.github.io/docssvFSI.html#mesh">here</a>.
3
+
Mesh generation for cardiac mechanics modeling are quite standard and can be achieved following the general guide <ahref="svfsi.html#mesh">here</a>.
4
4
5
5
On the other hand, the heart wall is a composite of layers (or sheets) of parallel myocytes, which are the predominant fiber types. These fiber and sheet directions enable defining a local orthonormal coordinate system inside the cardiac muscle. This local coordinate system is crucial for using a structurally-based constitutive relation for the cardiac muscle <ahref="#ref-9">[9]</a>. For 3D problems, the users are required to prescribe fiber and sheet directions in the computational domain for certain constitutive relations. Users are provided an option to define a constant fiber direction through the following input directives,
6
6
@@ -22,4 +22,4 @@ Fiber direction file path: fibersLong.vtu
22
22
Fiber direction file path: fibersSheet.vtu
23
23
```
24
24
25
-
In the latter approach, the vtu file should have the local coordinate system stored as a vector with the name "FIB_DIR" at the centroid of each element. An example is provided <ahref="https://github.com/SimVascular/svFSI-Tests/blob/master/06-ustruct/03-LV-Guccione-active/mesh/P1/fibersLong.vtu">here</a>.
25
+
In the latter approach, the vtu file should have the local coordinate system stored as a vector with the name "FIB_DIR" at the centroid of each element. An example is provided <ahref="https://github.com/SimVascular/svFSI-Tests/blob/master/06-ustruct/03-LV-Guccione-active/mesh/P1/fibersLong.vtu">here</a>.
0 commit comments