Skip to content

Commit

Permalink
updated docs
Browse files Browse the repository at this point in the history
  • Loading branch information
Karthik Menon committed Sep 1, 2023
1 parent bdf091d commit d3e23cc
Showing 1 changed file with 31 additions and 11 deletions.
42 changes: 31 additions & 11 deletions docs/cpp/pages/main.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,18 @@

[TOC]

svZeroDPlus is an application for performing different tasks with 0D hemodynamic
computer models. It is written in C++ to enable the
highest performance. It also offers a Python API for easily integrating it into
other routines.

* <a href="https://github.com/StanfordCBCL/svZeroDPlus">Source
repository</a>
* <a href="https://simvascular.github.io">About SimVascular</a>
svZeroDPlus is an application for performing simulations with 0D/lumped-parameter
computer models for cardiovascular flows.

Some noteworthy features of svZeroDPlus are:
*It is completely modular. Users can create custom flow models by arranging
modular blocks corresponding to blood vessels, junctions, different types
of boundary conditions, etc.
*It is written in C++ to enable high-performance applications.
*It offers both a Python API and a C++ shared library to interface with other
Python or C++-based applications.
*This allows svZeroDPlus to be used in a fully coupled manner with other multi-physics solvers,
and for parameter estimation, uncertainty quantification, etc.

Zero-dimensional (0D) models
are lightweight methods to simulate bulk hemodynamic quantities in the
Expand All @@ -29,6 +33,10 @@ anatomies. These 0D models are governed by differential algebraic equations
For more background information on 0D models, have a look at SimVascular's
[ROM Simulation Guide](http://simvascular.github.io/docsROMSimulation.html).

* <a href="https://github.com/StanfordCBCL/svZeroDPlus">Source
repository</a>
* <a href="https://simvascular.github.io">About SimVascular</a>

# Installation

svZeroDPlus can be installed in two different ways. For using the Python
Expand Down Expand Up @@ -92,12 +100,18 @@ svzerodsolver tests/cases/steadyFlow_RLC_R.json result_steadyFlow_RLC_R.csv

The result will be written to a csv file.

### In Python
### From other programs

For some applications it is beneficial to run svZeroDSolver directly
from within another Python application. This can, for example, be
from within another program. For example, this can be
useful when many simulations need to be performed (e.g. for
calibration, uncertainty quantification, ...). Please make sure that
calibration, uncertainty quantification, ...). It is also allows using
svZeroDPlus with other solvers, for example as boundary conditions or
forcing terms.

#### In Python

Please make sure that
you installed svZerodPlus via pip to enable this feature. We start by
importing svzerodplus:

Expand Down Expand Up @@ -146,6 +160,12 @@ solver.get_single_result_avg("flow:INFLOW:branch0_seg0")
>>> 5.0
```

#### In C++

SvZeroDPlus needs to be built using CMake to use the shared library interface.

Detailed examples of interfacing with svZeroDPlus from C++ codes are available
in the test cases at `svZeroDPlus/tests/test_interface`.

## Configuration (file)

Expand Down

0 comments on commit d3e23cc

Please sign in to comment.