svZeroDSolver
Loading...
Searching...
No Matches
BlockType.h
Go to the documentation of this file.
1// Copyright (c) Stanford University, The Regents of the University of
2// California, and others.
3//
4// All Rights Reserved.
5//
6// See Copyright-SimVascular.txt for additional details.
7//
8// Permission is hereby granted, free of charge, to any person obtaining
9// a copy of this software and associated documentation files (the
10// "Software"), to deal in the Software without restriction, including
11// without limitation the rights to use, copy, modify, merge, publish,
12// distribute, sublicense, and/or sell copies of the Software, and to
13// permit persons to whom the Software is furnished to do so, subject
14// to the following conditions:
15//
16// The above copyright notice and this permission notice shall be included
17// in all copies or substantial portions of the Software.
18//
19// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
20// IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
22// PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
23// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
26// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
27// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30/**
31 * @file BlockType.h
32 * @brief Specifies the types of blocks and their parameters
33 */
34#ifndef SVZERODSOLVER_MODEL_BLOCK_TYPE_HPP_
35#define SVZERODSOLVER_MODEL_BLOCK_TYPE_HPP_
36
37#include <string>
38
39/**
40 * @brief The types of blocks supported by the solver
41 */
42enum class BlockType {
43 blood_vessel = 0,
44 junction = 1,
45 blood_vessel_junction = 2,
46 resistive_junction = 3,
47 flow_bc = 4,
48 pressure_bc = 5,
49 resistance_bc = 6,
50 windkessel_bc = 7,
51 open_loop_coronary_bc = 8,
52 closed_loop_coronary_left_bc = 9,
53 closed_loop_coronary_right_bc = 10,
54 closed_loop_rcr_bc = 11,
55 closed_loop_heart_pulmonary = 12,
56 valve_tanh = 13,
57 chamber_elastance_inductor = 14
58};
59
60/**
61 * @brief The classes/categories of blocks supported. Some classes require
62 * special handling (e.g. closed_loop).
63 */
64enum class BlockClass {
65 vessel = 0,
66 junction = 1,
67 boundary_condition = 2,
68 closed_loop = 3,
69 external = 4,
70 valve = 5,
71 chamber = 6
72};
73
74/**
75 * @brief The types of vessel blocks supported.
76 */
77enum class VesselType { inlet = 0, outlet = 1, both = 2, neither = 3 };
78
79#endif
BlockType
The types of blocks supported by the solver.
Definition BlockType.h:42
BlockClass
The classes/categories of blocks supported. Some classes require special handling (e....
Definition BlockType.h:64
VesselType
The types of vessel blocks supported.
Definition BlockType.h:77