Skip to content

Commit 491141a

Browse files
committed
rearrage docs, add link in theory
1 parent ea068ec commit 491141a

File tree

2 files changed

+13
-12
lines changed

2 files changed

+13
-12
lines changed

documentation/rom_simulation/0d-solver/solver/readme.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,6 @@ interactively select nodes to view simulation results.
1616
drawing the network on an easy-to-use GUI. This provides an alternative to manually
1717
creating files and is useful for users without access to a 3D model.
1818

19-
The main categories of blocks implemented in svZeroDSolver are:
20-
<ul>
21-
<li>Blood vessels</li>
22-
<li>Junctions</li>
23-
<li>Boundary conditions</li>
24-
<li>Heart chambers</li>
25-
<li>Heart valves</li>
26-
</ul>
27-
2819
## Installation
2920

3021
svZeroDSolver can be installed in two different ways. For using the Python API, an installation via pip is recommended.
@@ -67,6 +58,15 @@ cmake --build .
6758

6859
The modular architecture of svZeroDSolver relies on "blocks", such as blood vessels, junctions, valves, boundary conditions, etc. Users can assemble and connect these blocks together in a variety of ways to create extensive and customizable 0D circulation models.
6960

61+
The main categories of blocks implemented in svZeroDSolver are:
62+
<ul>
63+
<li>Blood vessels</li>
64+
<li>Junctions</li>
65+
<li>Boundary conditions</li>
66+
<li>Heart chambers</li>
67+
<li>Heart valves</li>
68+
</ul>
69+
7070
An overview of all currently implemented blocks can be found [here](https://simvascular.github.io/svZeroDSolver/class_block.html). This collection of building blocks allows to model extensive and complex vascular networks. Many examples of vascular networks can be found [here](https://github.com/simvascular/svZeroDSolver/tree/master/tests/cases). The assembly of these blocks is specified in the `.json` configuration file. The user guide below provides details.
7171

7272
We are always interested in adding new blocks to expand the funcitonality of svZeroDSolver. For developers interested in contributing, please read the [Developer Guide](https://simvascular.github.io/svZeroDSolver/developer_guide.html).

documentation/rom_simulation/0d-solver/theory/readme.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Flow rate, pressure, and other hemodynamic quantities in 0D models of vascular anatomies are governed by a system of nonlinear differential-algebraic equations (DAEs). In svZeroDSolver, the governing equations for a full 0D model are based on the governing equations for the individual blocks that make up the model.
44

5-
### Governing equations
5+
### Governing Equations
66

77
For each block, with $N_d^e$ degrees-of-freedom and $N_e^e$ governing equations, we represent its governing equations as the following DAE:
88
$$\mathbf{E}^e(\boldsymbol{\alpha}^e) \cdot \dot{\mathbf{y}}^e + \mathbf{F}^e(\boldsymbol{\alpha}^e) \cdot \mathbf{y}^e + \mathbf{c}^e(\mathbf{y}^e,\dot{\mathbf{y}}^e, t) = \mathbf{0},$$
@@ -23,7 +23,7 @@ The global governing equation is given by:
2323
$$\mathbf{r}(\boldsymbol{\alpha}, \mathbf{y},\dot{\mathbf{y}}, t) = \mathbf{E}(\boldsymbol{\alpha}) \cdot \dot{\mathbf{y}} + \mathbf{F}(\boldsymbol{\alpha}) \cdot \mathbf{y} + \mathbf{c}(\mathbf{y},\dot{\mathbf{y}}, t) = \mathbf{0}, $$
2424
where $\mathbf{r},\mathbf{y},\mathbf{c} \in \mathbb{R}^{N}$ and $\textbf{E},\textbf{F} \in \mathbb{R}^{N \times N}$. Here, $\mathbf{r}$ is the residual, $\mathbf{y}$ is the vector of solution quantities and $\dot{\mathbf{y}}$ is its time derivative. Note that the solution quantities are generally the pressure and flow at each node between blocks, as well as state variables internal to each block. $N$ is the total number of equations and the total number of global unknowns.
2525

26-
The DAE system is solved implicitly using the generalized-$\alpha$ method (<a href="#0d-Jansen2000">Jansen, et al., 2000</a>). A description of this is provided in the "Time integration" section of this documentation. We then use the Newton-Raphson method to iteratively solve
26+
The DAE system is solved implicitly using the generalized-$\alpha$ method (<a href="#0d-Jansen2000">Jansen, et al., 2000</a>). A description of this is provided in the <a href="#time-integration">Time Integration</a> section of this documentation. We then use the Newton-Raphson method to iteratively solve
2727
$$\mathbf{K}^{i} \cdot \Delta\dot{\mathbf{y}}^{i} = - \mathbf{r}^{i}$$
2828
with solution increment $\Delta\dot{\mathbf{y}}^{i}$ in iteration $i$. The linearization of the time-discretized system is
2929
$$\mathbf{K} =\frac{\partial \mathbf{r}}{\partial \mathbf{y}} = c_{\dot{\mathbf{y}}} \left( \mathbf{E} + \frac{\partial \mathbf{c}}{\partial
@@ -32,7 +32,8 @@ with time factors $c_{\dot{\mathbf{y}}}=\alpha_m$ and $c_{\mathbf{y}}=\alpha_f\g
3232

3333
The implementation of the global governing equations is in the [SparseSystem class](https://simvascular.github.io/svZeroDSolver/class_sparse_system.html).
3434

35-
### Time integration
35+
<h3 id="time-integration">Time Integration</h3>
36+
<!--### Time integration-->
3637

3738
<!--For unknown reasons, need to escape (\) underscores for SOME in-line eqns from here onwards. See below:-->
3839
<!--https://docs.mathjax.org/en/latest/input/tex/html.html#interactions-with-content-management-systems-->

0 commit comments

Comments
 (0)