-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathdocssvFSI.html
More file actions
735 lines (569 loc) · 47.3 KB
/
docssvFSI.html
File metadata and controls
735 lines (569 loc) · 47.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<title>SimVascular Docs</title>
<link href="css/bootstrap.css" rel="stylesheet" type="text/css" />
<link href="css/shop-item.css" rel="stylesheet" type="text/css" />
<link href="css/codestyle.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="font-awesome-4.1.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://code.ionicframework.com/ionicons/1.5.2/css/ionicons.min.css">
<link rel="shortcut icon" href="img/favicon.ico">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!-- Navigation -->
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-main-collapse">
<i class="fa fa-bars" id="barIcon"></i>
</button>
<a class="navbar-brand" id="brandName" href="index.html">
<img src="img/svlogo/svLogoSmallText.png" alt="...">
</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse navbar-right navbar-main-collapse">
<ul class="nav navbar-nav">
<!-- USER GUIDES -->
<li>
<a href="#" id="dropdownMenu1" data-toggle="dropdown">
<b><span class="fa fa-user"></span> User Guides</b>
</a>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
<li role="presentation" class="divider"></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="docsQuickGuide.html"><b><span class="icon ion-ios7-bolt"></span> Getting Started</b></a></li>
<li role="presentation" class="divider"></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="docsModelGuide.html"><b><span class="icon ion-settings"></span> Modeling</b></a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="docsMeshing.html"><b><span class="icon ion-ios7-keypad"></span> Meshing</b></a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="docsFlowSolver.html"><b><span class="icon ion-play"></span> Simulation</b></a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="docssvFSI.html"><b><span class="icon ion-plus-round"></span> svFSI</b></a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="docsSimCardio.html"><b><span class="icon ion-plus-round"></span> SimCardio</b></a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="docsROMSimulation.html"><b><span class="icon ion-plus-round"></span> ROM Simulation</b></a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="docsGenBC.html"><b><span class="icon ion-refresh"></span> GenBC</b></a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="docsPythonInterface.html"><b><span class="icon ion-refresh"></span> Python Interface</b></a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="docsReferences.html"><b><span class="icon ion-refresh"></span> References </b></a></li>
</ul>
</li>
<!-- CLINCAL CASES -->
<li>
<a href="#" id="dropdownMenu1" data-toggle="dropdown">
<b><i class="fa fa-stethoscope"></i> Clinical Cases</b>
</a>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
<li role="presentation"><a role="menuitem" tabindex="-1" href="clinicalCase3.html"><b><span class="fa fa-user-md"></span> Coronary Normal</b></a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="clinicalCase1.html"><b><span class="fa fa-user-md"></span> Aortofemoral Normal - 1</b></a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="clinicalCase2.html"><b><span class="fa fa-user-md"></span> Aortofemoral Normal - 2</b></a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="clinicalCase4.html"><b><span class="fa fa-user-md"></span> Healthy Pulmonary</b></a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://simtk.org/projects/sv_tests"><b><span class="fa fa-user-md"></span> All demo projects</b></a></li>
</ul>
</li>
<!-- DEVELOPER GUIDES -->
<li>
<a href="#" id="dropdownMenu1" data-toggle="dropdown">
<b><span class="fa fa-caret-square-o-right"></span> Developer Guides</b>
</a>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://github.com/SimVascular/SimVascular/wiki/wiki_for_developers"><b><span class="fa fa-file-text-o"></span> Compile Source Code</b></a></li>
</ul>
</li>
<!-- svCOMMUNITY -->
<li>
<a href="#" id="dropdownMenu1" data-toggle="dropdown">
<b><i class="fa fa-users"></i> svCommunity</b>
</a>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://simtk.org/forums/viewforum.php?f=188"><b><span class="fa fa-users"></span> Public Forum</b></a></li>
<li role="presentation" class="divider"></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://github.com/SimVascular/SimVascular/wiki/"><b><span class="fa fa-file-text-o"></span> Wiki</b></a></li>
<li role="presentation" class="divider"></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://simtk.org/mailman/listinfo/simvascular-news"><b><span class="fa fa-sign-in"></span> Join News Mailing List</b></a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://simtk.org/pipermail/simvascular-news/"><b><span class="fa fa-pencil-square-o"></span> News Mailing List Archive</b></a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://github.com/SimVascular/SimVascular/issues"><b><span class="fa fa-bug"></span> Report bugs and request features</b></a></li>
</ul>
</li>
<!-- REFERENCES -->
<li>
<a href="docsRefs.html" id="dropdownMenu1" >
<b><span class="icon ion-document-text"></span>References</b>
</a>
</li>
<!-- Archives -->
<li>
<a href="#" id="dropdownMenu1" data-toggle="dropdown">
<b> Archives</b>
</a>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
<li role="presentation"><a role="menuitem" tabindex="-1" href="archiveQuickGuideSV2.html"><b>SimVascular 2.0</b></a></li>
</ul>
</li>
<!-- <li><a href="docsQuickGuide.html" id="btnQuickGuide"><b><span class="icon ion-ios7-bolt"></span> Quick Guide</b></a></li>
<li><a href="docsModelGuide.html" id="btnModelGuide"><b><span class="icon ion-settings"></span> Modeling</b></a></li>
<li><a href="docsMeshing.html" id="btnMeshing"><b><span class="icon ion-ios7-keypad"></span> Meshing</b></a></li>
<li><a href="docsPresolver.html" id="btnPresolver"><b><span class="icon ion-log-in"></span> svPre</b></a></li>
<li><a href="docsFlowSolver.html" id="btnFlowSolver"><b><span class="icon ion-play"></span> svSolver</b></a></li>
<li><a href="docsRefs.html" id="btnRefs"><b><span class="icon ion-document-text"></span> References</b></a></li>
<li><a href="clinicalCase1.html" id="btnRefs"><b>Case Studies</b></a></li> -->
</ul>
</div>
<!-- /.navbar-collapse -->
</div>
<!-- /.container -->
</nav>
<!-- Page Content -->
<!--Nav Bar -->
<div class="row">
<div class="col-xs-1 col-sm-1 hidden-md hidden-lg">
</div>
<!-- ONE COLUMN OF SPACE -->
<nav class="hidden-xs hidden-sm col-md-2 col-lg-2 bs-docs-sidebar">
<ul id="sidebar" class="nav nav-stacked fixed mansvFSI"> <!--Nav Bar -->
<p><h3>svFSI Guide</h3></p>
<li><a href="#intro">Introduction</a></li>
<li><a href="#feature">Main features</a></li>
<li><a href="#input">Input file format</a></li>
<li><a href="#mesh">Mesh format</a></li>
<li><a href="#run">Run simulaiton</a></li>
<li><a href="#resource">Resources</a></li>
<li><a href="#install">Installation</a>
<ul class="nav nav-stacked">
<li><a href="#installer">Precompiled installer</a></li>
<li><a href="#container">Docker container</a></li>
<li><a href="#source">Build from source</a></li>
</ul>
</li></ul>
</nav>
<!--Main Content -->
<div class="col-xs-10 col-sm-10 col-md-9 col-lg-9" id="manualContent">
<!-- ACTUAL CONTENT -->
<div class="mansvFSI"><section id="intro" class="group"><h2><strong>svFSI</strong> Guide</h2>
<p><strong>svFSI</strong> is an open-source multi-physics finite element solver. It provides rich features for general computational studies of diffusion, heat transfer, incompressible viscous fluid, nonlinear elastodynamics, fluid-structure interaction and electrophysiology. It also specializes in computational modeling of the whole heart dynamics. As part of the <a href="http://simvascular.github.io/docsSimCardio.html"><strong>SimCardio</strong></a> project, <strong>svFSI</strong> is capable of simulating myocardial electrical activity using state-of-the-art cellular activation models, employing nonlinear hyperelastic material models to simulate tissue mechanics and activation coupling strategies, and performing large deformation fluid-structure interaction to simulate the dynamics between the heart tissue and blood flow. <strong>svFSI</strong> could also be used to perform blood flow simulations by imposing the ventricular wall motion extracted from medical image data.</p>
<p><strong>svFSI</strong> is compatible with several mesh formats and can read a wide range of 2D and 3D element types. <strong>svFSI</strong> could be coupled to <a href="https://trilinos.github.io/index.html">Trilinos</a> linear solver library providing a wide choice of linear solvers and preconditioners for various applications. The methods employed are widely popular among the scientific community and continue to evolve through research and development. The solver is parallelized using MPI for inter-process communication and was demonstrated to scale efficiently on large supercomputing clusters. ParMETIS is used for partitioning the computational domains. Simulation results are outputted into VTK format that can be easily visualized in the free software <a href="https://www.paraview.org"> Paraview</a>. Details on how to be obtain and use <strong>svFSI</strong> is documented below.</p>
</section>
<section id="feature" class="group"><h2>Main features</h2>
<p><strong>svFSI</strong> provides many functionalities not only for cardiac modeling but for general-purpose computational studies as well. It can model heat transfer, diffusion, linear elasticity, nonlinear elastodynamics, Newtonian/Non-Newtonian flow, fluid-structure interaction, electrophysiology and so on. For an exhaustive list of functionalities provided by <strong>svFSI</strong> along with the examples, please refer to our <a href="https://github.com/SimVascular/svFSI-Tests">example repository</a>. Here we provide documentation for the main features of <strong>svFSI</strong>.</p>
<style type="text/css">
.tg {border-collapse:collapse;border-color:#9ABAD9;border-spacing:0;margin:0px auto;}
.tg td{background-color:#EBF5FF;border-bottom-width:1px;border-color:#9ABAD9;border-style:solid;border-top-width:1px;
border-width:0px;color:#444;font-family:Arial, sans-serif;font-size:14px;overflow:hidden;padding:10px 5px;
word-break:normal;}
.tg th{background-color:#409cff;border-bottom-width:1px;border-color:#9ABAD9;border-style:solid;border-top-width:1px;
border-width:0px;color:#fff;font-family:Arial, sans-serif;font-size:14px;font-weight:normal;overflow:hidden;
padding:10px 5px;word-break:normal;}
.tg .tg-1wig{font-weight:bold;text-align:left;vertical-align:top}
.tg .tg-hmp3{background-color:#D2E4FC;text-align:left;vertical-align:top}
.tg .tg-0lax{text-align:left;vertical-align:top}
</style>
<table class="tg" style="undefined;table-layout: fixed; width: 758px">
<colgroup>
<col style="width: 154px">
<col style="width: 204px">
<col style="width: 400px">
</colgroup>
<tbody>
<tr>
<td class="tg-1wig">Physics Solved</td>
<td class="tg-1wig">Documentation/Tutorial</td>
<td class="tg-1wig">Examples</td>
</tr>
<tr>
<td class="tg-hmp3">Fluid</td>
<td class="tg-hmp3"><a href="http://simvascular.github.io/docssvFSI-Fluid.html" target="_blank" rel="noopener noreferrer">Webpage</a></td>
<td class="tg-hmp3"><a href="https://github.com/SimVascular/svFSI-Tests/tree/master/04-fluid/01-pipe3D_RCR" target="_blank" rel="noopener noreferrer">pipe flow with RCR BC</a>; <br><a href="https://github.com/SimVascular/svFSI-Tests/tree/master/04-fluid/02-dye_AD" target="_blank" rel="noopener noreferrer">dye transportation</a>; <br><a href="https://github.com/SimVascular/svFSI-Tests/tree/master/04-fluid/04-3D0D-coupling-BC" target="_blank" rel="noopener noreferrer">GenBC/cplBC</a>; <br><a href="https://github.com/SimVascular/svFSI-Tests/tree/master/04-fluid/05-nonNewtonian" target="_blank" rel="noopener noreferrer">Non-Newtonian flow</a> </td>
</tr>
<tr>
<td class="tg-0lax">Structure</td>
<td class="tg-0lax"><a href="http://simvascular.github.io/docssvFSI-Structure.html" target="_blank" rel="noopener noreferrer">Webpage</a><span style="font-weight:400;font-style:normal;text-decoration:none">; </span><a href="https://www.youtube.com/watch?v=Jm3VSi6Aci8&list=PL1CBZ8Wh-xvRnux0eMmbZPbx-C078Qzqu&index=2" target="_blank" rel="noopener noreferrer">YouTube</a></td>
<td class="tg-0lax">struct: <br><a href="https://github.com/SimVascular/svFSI-Tests/tree/master/05-struct/01-block-compression" target="_blank" rel="noopener noreferrer">block compression</a>; <br><a href="https://github.com/SimVascular/svFSI-Tests/tree/master/05-struct/02-LV-Guccione-passive" target="_blank" rel="noopener noreferrer">passive inflation of LV model</a><br>ustruct: <br><a href="https://github.com/SimVascular/svFSI-Tests/tree/master/06-ustruct/01-block-compression" target="_blank" rel="noopener noreferrer">block compression</a>; <br><a href="https://github.com/SimVascular/svFSI-Tests/tree/master/06-ustruct/02-tensile-adventitia_HGO" target="_blank" rel="noopener noreferrer">tension of arterial strip</a>; <br><a href="https://github.com/SimVascular/svFSI-Tests/tree/master/06-ustruct/03-LV-Guccione-active" target="_blank" rel="noopener noreferrer">active inflation of LV model</a></td>
</tr>
<tr>
<td class="tg-hmp3">Electrophysiology</td>
<td class="tg-hmp3"><a href="http://simvascular.github.io/docssvFSI-CEP.html" target="_blank" rel="noopener noreferrer">Webpage</a><span style="font-weight:400;font-style:normal;text-decoration:none">; </span><a href="https://www.youtube.com/watch?v=TCK3SmGwBa8&list=PL1CBZ8Wh-xvRnux0eMmbZPbx-C078Qzqu&index=1" target="_blank" rel="noopener noreferrer">YouTube</a></td>
<td class="tg-hmp3"><a href="https://github.com/SimVascular/svFSI-Tests/tree/master/08-cep/01-2Dsqr_AP" target="_blank" rel="noopener noreferrer">Aliev-Panfilov model</a><span style="font-style:normal;text-decoration:none">; </span><br><a href="https://github.com/SimVascular/svFSI-Tests/tree/master/08-cep/03-benchmark_tTP" target="_blank" rel="noopener noreferrer">ten-Tusscher-Panfilov model</a>; <br><a href="https://github.com/SimVascular/svFSI-Tests/tree/master/08-cep/04-2Dspiral_BO" target="_blank" rel="noopener noreferrer">Bueno-Orovio-Cherry-Fenton model</a>; <br><a href="https://github.com/SimVascular/svFSI-Tests/tree/master/08-cep/05-Purkinje" target="_blank" rel="noopener noreferrer">Purkinje network</a></td>
</tr>
<tr>
<td class="tg-0lax">FSI</td>
<td class="tg-0lax"><a href="http://simvascular.github.io/docssvFSI-FSI.html" target="_blank" rel="noopener noreferrer">Webpage</a><span style="font-weight:400;font-style:normal;text-decoration:none">; </span><a href="https://www.youtube.com/watch?v=QIpyThIAD7k&list=PL1CBZ8Wh-xvRnux0eMmbZPbx-C078Qzqu&index=3" target="_blank" rel="noopener noreferrer">YouTube</a></td>
<td class="tg-0lax">ALE:<br><a href="https://github.com/SimVascular/svFSI-Tests/tree/master/07-fsi/ale/01-channel-leaflets_2D" target="_blank" rel="noopener noreferrer">2D heart valve</a>; <br><a href="https://github.com/SimVascular/svFSI-Tests/tree/master/07-fsi/ale/02-channel-block-flag_2D" target="_blank" rel="noopener noreferrer">2D flag behind a block</a>; <br><a href="https://github.com/SimVascular/svFSI-Tests/tree/master/07-fsi/ale/03-pipe_3D" target="_blank" rel="noopener noreferrer">pressure pulse inside aorta</a><br>CMM:<br><a href="https://github.com/SimVascular/svFSI-Tests/tree/master/07-fsi/cmm/01-pipe_RCR" target="_blank" rel="noopener noreferrer">pipe flow with RCR BC</a>;<br><a href="https://github.com/SimVascular/svFSI-Tests/tree/master/07-fsi/cmm/02-vein-graft" target="_blank" rel="noopener noreferrer">vein graft</a></td>
</tr>
</tbody>
</table>
</section>
<section id="input" class="group"><h2>Input file format</h2>
<p><strong>svFSI</strong> 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 <strong>single line structure</strong> as,</p>
<pre class="highlight plaintext"><code><keyword or key phrase>: 1.3
</code></pre>
<p>First part, which is the part before “:”, is the keyword or key phrase to the parameter, and the second part, which is the part after “:”, is the value. This kind of single line structures can occur in any order in the script.</p>
<p>There are five types of values that can be supplied as the parameter in the single line structure:</p>
<ul>
<li>logical (true/false)</li>
<li>integer values</li>
<li>real/float values</li>
<li>strings or characters</li>
<li>file paths</li>
<li>vector of real or integer values</li>
</ul>
<p>For logical false, any of <code>False</code>, <code>0</code>, <code>F</code>, <code>f</code>, <code>false</code> can be used. Likewise, for logical true, any of <code>True</code>, <code>1</code>, <code>T</code>, <code>t</code>, <code>true</code> can be used. Real numbers can be formatted as {10.0, 10.0D0, 1.e1, 1.D1}. Any line that begins with <code>#</code> is treated as a comment. You may add comments, have space before keywords or after “:”.</p>
<p>If the values to be set are a part of a bigger entity, you need to use the <strong>block structure</strong>, which uses braces (“{”, “}”) to mark the scope of that entity. E.g.:</p>
<pre class="highlight plaintext"><code> Domain: 1 {
Density: 0.1 # [epsilon - inf)
Poisson ratio: 0.35 # [0.0 - (0.5-epsilon)]
}
</code></pre>
<p>In this example, “Domain” is a keyword (i.e., the entity to be specified) and “1” refers to the first “Domain”. Within this entity, “Density” is set to “0.1” and “Poisson ratio” is set to
“0.35”. Note that the order of lines doesn’t matter within each block enclosed by “{” and “}”. If a keyword doesn’t have a default value, it has to be specified by the user. For the optional arguments, default value is shown.</p>
<p>A comprehensive input template is provided <a href="https://github.com/SimVascular/svFSI-Tests/blob/master/svFSI_master.inp">here</a>, which contains all the available parameters and their meanings. The <strong>SimVascular</strong> GUI currently supports limited input configurations. To access more advanced functions of <strong>svFSI</strong>, users are recommended to create their own input file by modifying existing <a href="https://github.com/SimVascular/svFSI-Tests">templates</a>.</p>
<p>Structurally, all input files are composed of three parts:
<ol>
<li> <a href="#general_para"> General simulation parameters</a>, such as time step size, format of results, location of results etc.</li>
<li> <a href="#mesh_info"> Mesh information</a>, such as volumetric mesh, surface mesh, scaling factor etc.</li>
<li> <a href="#equation_info"> Equation information</a>, such as physics solved (fluid, structure, electrophysiology etc.), boundary conditions, linear solver etc.</li>
</ol></p>
<p><a id="general_para"> <h4> General simulation parameters </h4></a> </p>
<p>General simulation parameters describe the basic parameters about the problem including spatial dimension, time step control, file output, option to restart, etc. They are usually defined using the single line structure. For example:</p>
<pre class="highlight plaintext"><code>Number of spatial dimensions: 3
Number of time steps: 1600
Time step size: 0.005
Save results to VTK format: 1
Increment in saving VTK files: 10
Increment in saving restart files: 200
...
</code></pre>
<p><a id="mesh_info"> <h4> Mesh information </h4></a> </p>
<p>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 <a href="http://simvascular.github.io/docssvFSI.html#mesh">here</a>. 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:</p>
<pre class="highlight plaintext"><code>Add mesh: mesh_name {
# Volumetric mesh
Mesh file path: ./mesh/mesh-complete.mesh.vtu
# Surface meshes
Add face: face_name_1 {
Face file path: ./mesh/mesh-surfaces/face_1.vtp
}
Add face: face_name_ 2 {
Face file path: ./mesh/mesh-surfaces/face_2.vtp
}
Add face: face_name_3 {
Face file path: ./mesh/mesh-surfaces/face_3.vtp
}
}
</code></pre>
<p><a id="equation_info"> <h4> Equation information </h4></a> </p>
<p>Information on equations being solved is provided here. It includes the type of equation, coupling, boundary conditions, settings for the linear and nonlinear solver, and output control. The type of equation can be heat equation, linear elasticity, nonlinear elastodynamics, incompressible viscous fluid, fluid-structure interaction etc. Also, physics-specific material properties can be supplied. *<em>svFSI</em> also provides a rich selection of linear solvers (BIPN, GMRES, BICGSTAB, CG) and preconditioners (Trilinos-Diagonal, Trilinos-BlockJacobi, Trilinos-ILU, Trilinos-ILUT, Trilinos-IC, Trilinos-ICT, Trilinos-ML). In terms of boundary conditions, we provide choices such as Dirichlet, Neumann, Robin etc. These boundary conditions can be steady, unsteady, coupled to lumped parameter network or RCR-type. Boundary conditions are supplied in a nested block structure with keyword “Add BC”. Also, the string immediately after the colon should match the face name defined in mesh section. For example:</p>
<pre class="highlight plaintext"><code>Add equation: fluid {
Coupled: 1
Min iterations: 3
Max iterations: 10
Tolerance: 1e-3
# Material property
Density: 1.06
Viscosity: Constant {Value: 0.04}
# Linear solver configuration
LS type: GMRES
{
Preconditioner: Trilinos-ILUT
Max iterations: 100
Tolerance: 1D-6
Krylov space dimension: 50
}
# Boundary conditions
Add BC: face_name_1 {
Type: Dir
Time dependence: Steady
Value: 0.0
}
}
</code></pre>
</section>
<section id="mesh" class="group"><h2>Mesh format</h2>
<p><strong>svFSI</strong> supports multiple mesh types, such as plain text files (coordinates + connectivity), “.msh” file generated by Gambit, vtk files and NURBS meshes. </p>
<p>SimVascular-based vtu/vtp format for mesh/faces is the default choice. <strong>svFSI</strong> supports below element types in vtu/vtp format:</p>
<ul>
<li> line (linear, quadratic)</li>
<li> triangle (linear, quadratic)</li>
<li> quadrilateral (bilinear, serendipity, biquadratic)</li>
<li> tetrahedron (linear, quadratic)</li>
<li> hexagonal brick (trilinear, quadratic/serendipity, triquadratic)</li>
<li> wedge</li>
</ul>
<p>It is recommended to generate these mesh files using <strong>SimVascular</strong>. <strong>SimVascular</strong> GUI provides a complete pipeline that includes model construction, mesh generation, problem configuration, input file generation, and numerical simulation. Although the model construction and mesh generation have been discussed extensively in other parts of the <strong>SimVascular</strong> user guides, we will go over them briefly for the sake of completeness.</p>
<p>Let’s use an idealized left ventricular model as an example. First, we create a SV Project called LV_Inflation. In cardiovascular modeling, computational models are usually generated from medical images. However, as we are using an idealized ventricular geometry here, we can directly import the model into the <code>SV Data Manager</code> by right clicking <code>Models</code> and selecting <code>Import Solid Model</code>. The solid model can be a surface mesh stored in either stl or vtp format.</p>
<figure>
<img class="svImg svImgMd" src="documentation/svfsi/main/imgs/import_model.png" style="width:100%;height:auto;max-width: 30vw;">
<figcaption class="svCaption" >Import solid model for mesh generation.</figcaption>
</figure>
<p>We could name the new model LV. When asked if you would like to extract faces from the model, click yes and accept the default separation angle (50 degree). Oftentimes, the imported model is not centered in the field of view. One can right click on the model and click <code>Global Reinit</code> to recenter the geometry. Double click the model name to open the <code>SV Modeling</code> window and rename each face corresponding to its physiological interpretation (base - LV basal plane; endo - endocardium; epi - epicardium) and set each of these face types as wall. You may also change the color of each face to distinguish them in the Display window.</p>
<figure>
<img class="svImg svImgMd" src="documentation/svfsi/main/imgs/faces.png" style="width:100%;height:auto;max-width: 30vw;">
<figcaption class="svCaption" >Extract faces from the imported model.</figcaption>
</figure>
<p>Next we will generate an unstructured mesh from this idealized LV model. In the <code>SV Data Manager</code>, right click <code>Meshes</code> and select <code>Create Mesh</code>. Accepting the default options will create a mesh object named LV. Double click the mesh object to open the <code>SV Meshing</code> configuration window. The most import parameter here is <code>Global Max Edge Size</code>, which controls the size of the elements. We will set this value to 2.0 and run the mesher. A relatively coarse mesh will be generated. Users can reduce the <code>Global Max Edge Size</code> if a finer mesh is desired. </p>
<figure>
<img class="svImg svImgMd" src="documentation/svfsi/main/imgs/Mesher.png" style="width:100%;height:auto;max-width: 30vw;">
<figcaption class="svCaption" >Meshing configuration.</figcaption>
</figure>
<p>To convert the generated mesh to the svFSI-ready format, right click the mesh object, LV, and select <code>Export Mesh Complete</code>.</p>
<figure>
<img class="svImg svImgMd" src="documentation/svfsi/main/imgs/export_mesh.png" style="width:100%;height:auto;max-width: 30vw;">
<figcaption class="svCaption" >Export the complete mesh.</figcaption>
</figure>
<p>Open the destination folder to find the mesh files contained in a folder called <mesh object name>-mesh-complete (LV-mesh-complete in this case). In this folder, the vtu file (mesh-complete.mesh.vtu) contains the volume mesh of the ventricle. The surface (boundary) mesh files could be found in the subfolder mesh-surfaces in vtp format. This set of vtk files defines the computational domain of this problem and can be visualized in Paraview.</p>
<figure>
<img class="svImg svImgMd" src="documentation/svfsi/main/imgs/mesh_folder.png" style="width:100%;height:auto;max-width: 30vw;">
<figcaption class="svCaption" >Layout of the mesh folder.</figcaption>
</figure>
<p><strong>svFSI</strong> also supports loading NURBS meshes. Limited support is available to import a bilinear quadrilateral mesh from Gambit-based “.msh”. An option to convert this into a biquadratic mesh is also available. <strong>svFSI</strong> also supports importing mesh in the form of a list of nodal coordinates and element connectivity. It is, however, the user’s responsibility to provide information on faces. The face connectivity should include a “GlobalElementID” mapping between the face element and the corresponding mesh element to which the face belongs.</p>
<p>We also provide a separate tool, <a href="https://github.com/SimVascular/svFSI-Tools/tree/main/mesh_converter">mesh-converter</a>, which can convert meshes generate by Gambit, GMSH to vtk format files. It also supports converting low-order elements to high-order elements.</p>
<p>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.</p>
<p>Multiples meshes can be loaded for the same or different equations within <strong>svFSI</strong>. <strong>svFSI</strong> supports reading multiple mesh formats as noted below. Some additional information specific to an equation may also be loaded within the mesh attribute such as domains, fiber directions, and initial values.</p>
</section>
<section id="run" class="group"><h2>Run Simulation</h2>
<p>Though we can run the simulation through the <strong>SimVascular</strong> GUI. It currently does not support some advanced features. Hence, we recommend use the aforementioned input file to directly run the simulation in terminals. The MPI runs can be initiated through the following command</p>
<pre class="highlight plaintext"><code>mpiexec -np {number of MPI processes} {path to svFSI executable} {path to the input file}
</code></pre>
<p>By default, <strong>svFSI</strong> will create a results directory called n-procs, where n is the number of MPI processes for the simulation. This directory will have vtu files that contain all the requested output fields and a log file called histor.dat.</p>
</section>
<section id="resource" class="group"><h2>Resources</h2>
<p>In addition to the documentation on this page, we also maintain collections of video tutorials, pre/post processing tools and public forums.</p>
<h3>Tutorials</h3>
<ul>
<li>SimVascular group uploads hands-on tutorials to our <a href="https://www.youtube.com/channel/UCT61XgTRqpfb39Hyio9IqGQ">YouTube</a> channel periodically. Here are some for <strong>svFSI</strong>:
<ul>
<li><a href="https://www.youtube.com/watch?v=QIpyThIAD7k">Fluid-Structure Interaction (FSI)</a></li>
<li><a href="https://www.youtube.com/watch?v=TCK3SmGwBa8">Cardiac electrophysiology modeling</a></li>
<li><a href="https://www.youtube.com/watch?v=Jm3VSi6Aci8">Cardiac mechanics modeling</a></li>
</ul></li>
<li>We also maintain a large collection of examples that showcase different functionalities of <strong>svFSI</strong>. You can find them here: <a href="https://github.com/SimVascular/svFSI-Tests">https://github.com/SimVascular/svFSI-Tests</a>. Each case includes a README file that explains the problem in hand and some key aspects of the software configuration.</li>
</ul>
<h3>Pre/Post Processing Tool</h3>
<p>We are also maintaining a collection of useful pre and post processing tools that are compatible with <strong>svFSI</strong>:
<a href="https://github.com/SimVascular/svFSI-Tools">https://github.com/SimVascular/svFSI-Tools</a></p>
<h3>Contact us</h3>
<p>If you have any questions or suggestions, please feel free to contact us through one of the following ways.</p>
<ul>
<li>Seek support, suggest new features or report bugs, please contact us through <a href="https://github.com/SimVascular/svFSI/issues">GitHub Issues</a> or <a href="https://simtk.org/plugins/phpBB/indexPhpbb.php?f=188">SimTK forum</a>.</li>
<li>Contribute your code to <strong>svFSI</strong>, please submit a pull request through GitHub.</li>
<li>Share your novel applications of <strong>svFSI</strong> with the community, please consider contribute your case to <a href="https://github.com/SimVascular/svFSI-Tests">svFSI-Tests</a>.</li>
</ul>
</section>
<section id="install" class="group"><h2>Installation</h2>
<p><strong>svFSI</strong> is an open-source project, and its source code is available on <a href="https://github.com/SimVascular/svFSI">GitHub</a>. To suit the needs of different users, we provide different options to use/test <strong>svFSI</strong>.</p>
</section>
<section id="installer" class="subgroup"><h3>Precompiled installer</h3>
<p>If you intent to use the stable version, we provide a precompiled installer on <a href="https://simtk.org/projects/simvascular#">SimTK</a> website. We currently support Ubuntu and MacOS. It is recommended to install <strong>svFSI</strong> alongside <strong>SimVascular</strong> to take advantage of the established modeling pipeline.</p>
<p>The <strong>svFSI</strong> executable (either built from source or downloaded from SimTK) is not packaged into each SimVascular release, so users have to manually add its path through <strong>SimVascular</strong> GUI. The configuration is under <code>Window</code> -> <code>Preference</code> -> <code>svFSI Simulation</code>.</p>
<figure>
<img class="svImg svImgMd" src="documentation/svfsi/main/imgs/path_to_binary.png" style="width:100%;height:auto;max-width: 30vw;">
<figcaption class="svCaption" >Set up path to svFSI solver in SimVascular.</figcaption>
</figure>
</section>
<section id="container" class="subgroup"><h3>Docker container</h3>
<p>If you want to test the most recent features of <strong>svFSI</strong>, we provide the option to build and run <strong>svFSI</strong> in Docker container. All necessary files and instruction are shipped with <strong>svFSI</strong> source code under <code>Docker</code> directory. We also present the same material here for your reference. The Dockerfile is as follows.</p>
<pre class="highlight plaintext"><code>FROM ubuntu:18.04
ENV DEBIAN_FRONTEND=noninteractive
# Install supporting packages
RUN apt-get update
RUN apt-get install -yq --no-install-recommends apt-utils
RUN apt-get install -yq git make cmake
RUN apt-get install -yq libblas-dev liblapack-dev
RUN apt-get install -yq gcc g++ gfortran
RUN apt-get install -yq openmpi-bin libopenmpi-dev
# Create directory
RUN mkdir -p /home/test
# Add non-root user and set up home directory
RUN useradd testuser -u 1000 -g 100 -m -s /bin/bash
RUN chown testuser /home/test
USER testuser
WORKDIR /home/test
# Obtain source code
RUN git clone https://github.com/SimVascular/svFSI
# Compile svFSI source code
RUN mkdir Build && \
cd Build && \
cmake ../svFSI && \
make
ENV PATH=$PATH:/home/test/Build/svFSI-build/bin
</code></pre>
<p>This Dockerfile will build <strong>svFSI</strong> executable from the most recent source code in the main repository. The following procedure has been successfully tested on MacOS Big Sur, Ubuntu 18.04 and Windows 10 with WSL 2. Assuming you already have <a href="https://docs.docker.com/get-docker/">Docker</a> installed, please follow the steps below to run <strong>svFSI</strong>.</p>
<p>1. Build Docker image. In the current directory (Path<em>to</em>svFSI/Docker), run the following command.</p>
<pre class="highlight shell"><code> docker build -t svfsi-image .
</code></pre>
<p>This may take a while. Afterwards, run the command <code>docker images</code>, and you should see <code>svfsi-image</code>.</p>
<p>2. Download the examples.</p>
<pre class="highlight shell"><code> git clone https://github.com/SimVascular/svFSI-Tests
</code></pre>
<p>3. Run the container in interactive mode.</p>
<pre class="highlight shell"><code> docker container run --cap-add<span class="o">=</span>SYS_PTRACE -v <span class="s2">"</span><span class="nv">$PWD</span><span class="s2">"</span>/svFSI-Tests:/home/test/svFSI-Tests -it --rm --name svfsi-demo svfsi-image
</code></pre>
<p>This will open a shell prompt and you can proceed as usual. Here, <code>--cap-add=SYS_PTRACE</code> fixes a known <a href="https://github.com/open-mpi/ompi/issues/4948">issue</a> of running openmpi in Docker.</p>
<p>4. Let’s take <code>04-fluid/06-channel-flow-2D</code> for example. In the shell prompt, run the following commands to generate the simulation results.</p>
<pre class="highlight shell"><code> <span class="nb">cd </span>svFSI-Tests/04-fluid/06-channel-flow-2D <span class="o">&&</span> <span class="se">\</span>
mpiexec -n 4 svFSI ./svFSI_Taylor-Hood.inp
</code></pre>
<p>The results will be stored in <code>4-procs</code> in vtu format, and can be viewed with <a href="https://www.paraview.org">Paraview</a>.</p>
<p>5. After all tests are done, execute the following commands to exit the docker and delete the image.</p>
<pre class="highlight shell"><code> <span class="nb">exit</span> <span class="o">&&</span> <span class="se">\</span>
docker rmi <IMAGE ID>
</code></pre>
<p>Please note that <strong>svFSI</strong> built with this Dockerfile won’t work with any example that requires Trilinos. Trilinos takes too long to build within the Docker image, and we encourage any user that needs it to build <strong>svFSI</strong> from source.</p>
</section>
<section id="source" class="subgroup"><h3>Build from source</h3>
<p>The <a href="https://github.com/SimVascular/svFSI">source code</a> for <strong>svFSI</strong> includes a build system in cmake. To build from source, one needs compilers for c,c++, Fortran, an MPI compiler and the LAPACK and BLAS libraries. LAPACK and BLAS must be installed in a standard location, which cmake will find automatically. For example, on OSX to install using the package manager brew (see <span>https://brew.sh/</span>) one might run</p>
<pre class="highlight plaintext"><code>brew install cmake gcc open-mpi lapack
</code></pre>
<p>or, on Ubuntu, run <code>sudo apt-get install</code> to add the following packages:</p>
<pre class="highlight plaintext"><code>cmake
cmake-curses-gui
cmake-gui
gcc
gfortran
libopenmpi-dev
libblas-dev
liblapack-dev
git
</code></pre>
<p>We recommend letting cmake find the default compilers for easy of building.</p>
<p><br/></p>
<h4>Standard Build</h4>
<p>To build the <strong>svFSI</strong> solver, download the source code from</p>
<pre class="highlight plaintext"><code>https://github.com/simvascular/svFSI
</code></pre>
<p>to a directory of your choosing. Make a build directory and go there.</p>
<pre class="highlight plaintext"><code>mkdir svFSI\_build && cd svFSI\_build
</code></pre>
<p>Initiate the cmake terminal interface to generate makefiles.</p>
<pre class="highlight plaintext"><code>ccmake ../svFSI
</code></pre>
<p>This will automatically search for compilers. Follow instructions if necessary. Push “c” for configure repeatedly until cmake presents the option “g” for generate. Hit “g” to create makefiles and exit. Run make:</p>
<pre class="highlight plaintext"><code>make
</code></pre>
<p>This will place the solver binary, called “svFSI” in a directory called <code>svFSI_build/svFSI-build/bin</code>. This will also create a script <code>svFSI_build/svFSI-build/mysvfsi</code>. If non-default compilers were passed to cmake, then runtime errors can occur, especially relating to libraries. If this occurs, try using the script, which will set paths appropriately. </p>
<p><br/></p>
<h4>Optional Trilinos package</h4>
<p>The svFSI solver contains its own linear solver. Optionally, the advanced user may link to the Trilinos package. To accomplish this, the user must build Trilinos using cmake, then provide a path and change a single flag. Before building svFSI, download the Trininos source from github. </p>
<pre class="highlight plaintext"><code>git clone https://github.com/trilinos/Trilinos.git
</code></pre>
<p>We recommend compiling the following branch, with which we have tested Trilinos. </p>
<pre class="highlight plaintext"><code>git checkout remotes/origin/trilinos-release-12-10-branch
</code></pre>
<p>Make a build directory and go there.</p>
<pre class="highlight plaintext"><code>mkdir Trilinos\_build && cd Trilinos\_build
</code></pre>
<p>Run the cmake GUI to build Trilinos. </p>
<pre class="highlight plaintext"><code>ccmake -DCMAKE_BUILD_TYPE=RELEASE \
-DCMAKE_INSTALL_PREFIX:PATH=~/Trilinos_build \
-DTPL_ENABLE_MPI:BOOL=ON \
-DTrilinos_ENABLE_Amesos:BOOL=ON \
-DTrilinos_ENABLE_AztecOO:BOOL=ON \
-DTrilinos_ENABLE_Epetra:BOOL=ON \
-DTrilinos_ENABLE_Ifpack:BOOL=ON \
-DTrilinos_ENABLE_ML:Bool=ON \
-DTrilinos_ENABLE_MueLu:Bool=ON \
-DTrilinos_ENABLE_TESTS:BOOL=OFF \
../Trilinos
</code></pre>
<p>Note that CMAKE<em>INSTALL</em>PREFIX should point to your build directory. Run make to build the Trilinos source </p>
<pre class="highlight plaintext"><code>make
</code></pre>
<p>Run make install to place header and library files </p>
<pre class="highlight plaintext"><code>make install
</code></pre>
<p>This will create a directories lib/cmake/Trilinos and inside them a file called TrilinosConfig.cmake</p>
<pre class="highlight plaintext"><code>lib/cmake/Trilinos/TrilinosConfig.cmake
</code></pre>
<p>If this directory does not exist or is empty, then an error has occurred. </p>
<p>In the svFSI cmake source, change the SV<em>USE</em>TRILINOS option to on. This can be found in svFSI/Code/CMake/SimVascularOptions.cmake. </p>
<pre class="highlight plaintext"><code>option(SV_USE_TRILINOS "Use Trilinos Library with svFSI" ON)
</code></pre>
<p>Now, when compiling svFSI, add </p>
<pre class="highlight plaintext"><code>ccmake -DCMAKE_PREFIX_PATH=~/Trilinos_build/lib/cmake/Trilinos ../svFSI
</code></pre>
<p>Run make. </p>
<pre class="highlight plaintext"><code>make
</code></pre>
<p>If Trilinos is found you should see output that says “Found Trilinos!” and displays the associated variables. The output should look something like this, wherein the ellipsis contain many libraries and packages. </p>
<pre class="highlight plaintext"><code>Found Trilinos! Here are the details:
Trilinos_DIR = ~/Trilinos_build/lib/cmake/Trilinos
Trilinos_VERSION = 12.10.1
Trilinos_PACKAGE_LIST = MueLu;
...
Trilinos_INCLUDE_DIRS = /Users/alex/sfw/Trilinos_build/include
Trilinos_TPL_LIST = DLlib;LAPACK;BLAS;MPI;Pthread
Trilinos_TPL_INCLUDE_DIRS =
Trilinos_TPL_LIBRARIES = /usr/lib/libdl.dylib
...
Trilinos_BUILD_SHARED_LIBS = FALSE
Trilinos_CXX_COMPILER = /usr/local/bin/mpicxx
Trilinos_C_COMPILER = /usr/local/bin/mpicc
Trilinos_Fortran_COMPILER = /usr/local/bin/mpif90
Trilinos_CXX_COMPILER_FLAGS = -std=c++11 -O3 -DNDEBUG
Trilinos_C_COMPILER_FLAGS = -O3 -DNDEBUG
Trilinos_Fortran_COMPILER_FLAGS = -O3
Trilinos_LINKER = /usr/bin/ld
Trilinos_EXTRA_LD_FLAGS =
Trilinos_AR = /usr/bin/ar
End of Trilinos details
Setting WITH_TRILINOS to true
</code></pre>
<p>If these are filled in, then cmake has found Trilinos and it will be linked. The Trilinos linear solvers are then available for use. In the linear solver options there are now the following Trilinos options for preconditioners. </p>
<pre class="highlight plaintext"><code>Trilinos-Diagonal
Trilinos-BlockJacobi
Trilinos-ILU
Trilinos-ILUT
Trilinos-IC
Trilinos-ML
</code></pre>
<p>This will automatically set the Trilinos linear solvers to be called, rather than the svFSILS linear solvers. The three options are GMRES,BICG,CG. There is currently no option to call Trilinos without a preconditioner. If one wishes to use the simplest possible preconditioning with Trilinos, use Trilinos-Diagonal. </p>
<p>For example, set </p>
<pre class="highlight plaintext"><code>LS type: GMRES
{
Preconditioner: Trilinos-ILU
Tolerance: 1D-3
Krylov space dimension: 200
}
</code></pre>
<p><br/><br/><br/><br/><br/></p>
</section></div>
</div>
</div>
<!-- /.container -->
<nav class="navbar navbar-default navbar-fixed-bottom">
<div class="container-fluid text-center">
<ul class="nav navbar-nav">
<li><a>Copyright © SimVascular Development Team - 2017</a></li>
</ul>
</div>
<!-- /.container -->
</nav>
<script src="js/jquery-1.11.0.js" type="text/javascript"></script><script src="js/bootstrap.min.js" type="text/javascript"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}
});
$('body').scrollspy({
target: '.bs-docs-sidebar',
offset: 40
});
</script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-55333921-1', 'auto');
ga('send', 'pageview');
</script>
<script type="text/javascript"
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
</body>
</html>