-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDomain_8h_source.html
131 lines (129 loc) · 47.3 KB
/
Domain_8h_source.html
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>openPSTD: /home/omar/Software/cpp/openPSTD/kernel/core/Domain.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">openPSTD
 <span id="projectnumber">2.0</span>
</div>
<div id="projectbrief">Open source simulation for sound propagation in urban environments</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li><a href="kernelstructure.html"><span>Kernel Structure</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File List</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_dc43877d82dd332f9fb2071fcca799d6.html">kernel</a></li><li class="navelem"><a class="el" href="dir_5215f8c381c24c03346eeeea66185b9a.html">core</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Domain.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">// This file is part of openPSTD. //</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// //</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// openPSTD is free software: you can redistribute it and/or modify //</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// it under the terms of the GNU General Public License as published by //</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// the Free Software Foundation, either version 3 of the License, or //</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">// (at your option) any later version. //</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// //</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// openPSTD is distributed in the hope that it will be useful, //</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of //</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">// GNU General Public License for more details. //</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// //</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// You should have received a copy of the GNU General Public License //</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// along with openPSTD. If not, see <http://www.gnu.org/licenses/>. //</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// //</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"></span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">// Date:</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">// 16-9-2015</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">//</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">// Authors:</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">// Louis van Harten, 0mar Richardson</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">//</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">// Purpose:</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">// Class containing a numerical representation of a domain as part of</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">// the Scene. Stores computed values for velocity/pressure.</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">//</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"></span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#ifndef OPENPSTD_KERNELDOMAIN_H</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#define OPENPSTD_KERNELDOMAIN_H</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <Eigen/Dense></span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <map></span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <string></span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <set></span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <numeric></span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <algorithm></span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <iterator></span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "kernel_functions.h"</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "Geometry.h"</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "../KernelInterface.h"</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include "Geometry.h"</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "WisdomCache.h"</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">namespace </span><a class="code" href="namespaceOpenPSTD.html">OpenPSTD</a> {</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keyword">namespace </span>Kernel {</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="structOpenPSTD_1_1Kernel_1_1FieldValues.html"> 57</a></span>  <span class="keyword">struct </span><a class="code" href="structOpenPSTD_1_1Kernel_1_1FieldValues.html">FieldValues</a> {</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  Eigen::ArrayXXf u0; <span class="comment">//TODO (do we want to do this?): change float to T, derive a float and a double class</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  Eigen::ArrayXXf w0;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  Eigen::ArrayXXf p0;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  Eigen::ArrayXXf px0;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  Eigen::ArrayXXf py0;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  };</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="structOpenPSTD_1_1Kernel_1_1FieldLValues.html"> 68</a></span>  <span class="keyword">struct </span><a class="code" href="structOpenPSTD_1_1Kernel_1_1FieldLValues.html">FieldLValues</a> { <span class="comment">// Todo (0mar): Rename, these are spatial derivatives</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  Eigen::ArrayXXf Lpx;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  Eigen::ArrayXXf Lpy;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  Eigen::ArrayXXf Lvx;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  Eigen::ArrayXXf Lvy;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  };</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="structOpenPSTD_1_1Kernel_1_1PMLArrays.html"> 82</a></span>  <span class="keyword">struct </span><a class="code" href="structOpenPSTD_1_1Kernel_1_1PMLArrays.html">PMLArrays</a> {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  Eigen::ArrayXXf px;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  Eigen::ArrayXXf py;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  Eigen::ArrayXXf u;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  Eigen::ArrayXXf w;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  };</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="structOpenPSTD_1_1Kernel_1_1EdgeParameters.html"> 92</a></span>  <span class="keyword">struct </span><a class="code" href="structOpenPSTD_1_1Kernel_1_1EdgeParameters.html">EdgeParameters</a> {</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordtype">bool</span> locally_reacting;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordtype">float</span> alpha;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  };</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classOpenPSTD_1_1Kernel_1_1Domain.html"> 103</a></span>  <span class="keyword">class </span><a class="code" href="classOpenPSTD_1_1Kernel_1_1Domain.html">Domain</a> : <span class="keyword">public</span> std::enable_shared_from_this<Domain> {</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classOpenPSTD_1_1Kernel_1_1Domain.html#a6e286da2a63d468f05e616f3e3624ce2"> 106</a></span>  std::shared_ptr<PSTDSettings> <a class="code" href="classOpenPSTD_1_1Kernel_1_1Domain.html#a6e286da2a63d468f05e616f3e3624ce2">settings</a>;</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classOpenPSTD_1_1Kernel_1_1Domain.html#ab73b59fd808352f2728205598483e599"> 108</a></span>  <span class="keywordtype">int</span> <a class="code" href="classOpenPSTD_1_1Kernel_1_1Domain.html#ab73b59fd808352f2728205598483e599">id</a>;</div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="classOpenPSTD_1_1Kernel_1_1Domain.html#a4b0b015cb266c35936ff6a382343b08e"> 110</a></span>  <span class="keywordtype">float</span> <a class="code" href="classOpenPSTD_1_1Kernel_1_1Domain.html#a4b0b015cb266c35936ff6a382343b08e">alpha</a>;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="comment">// Todo: What is the alpha coefficient?</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classOpenPSTD_1_1Kernel_1_1Domain.html#ae653a39b8a224f2a93eac5b0f89a99de"> 113</a></span> <span class="comment"></span> <span class="keywordtype">float</span> <a class="code" href="classOpenPSTD_1_1Kernel_1_1Domain.html#ae653a39b8a224f2a93eac5b0f89a99de">impedance</a>;</div><div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="classOpenPSTD_1_1Kernel_1_1Domain.html#ab4d807e4305de60bb0ec3f11a4bb8e51"> 115</a></span>  <span class="keywordtype">float</span> <a class="code" href="classOpenPSTD_1_1Kernel_1_1Domain.html#ab4d807e4305de60bb0ec3f11a4bb8e51">rho</a>;</div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="classOpenPSTD_1_1Kernel_1_1Domain.html#a8421017f73e1207f722b05e6a28f8c6d"> 117</a></span>  std::map<Direction, EdgeParameters> <a class="code" href="classOpenPSTD_1_1Kernel_1_1Domain.html#a8421017f73e1207f722b05e6a28f8c6d">edge_param_map</a>;</div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classOpenPSTD_1_1Kernel_1_1Domain.html#aa10e428bd25826097909f81ea2bbabbb"> 119</a></span>  std::map<CalcDirection, bool> <a class="code" href="classOpenPSTD_1_1Kernel_1_1Domain.html#aa10e428bd25826097909f81ea2bbabbb">should_update</a>;</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="classOpenPSTD_1_1Kernel_1_1Domain.html#abec937da0df8d8c5fadfd1f52e89187d"> 121</a></span>  <a class="code" href="classOpenPSTD_1_1Kernel_1_1Point.html">Point</a> <a class="code" href="classOpenPSTD_1_1Kernel_1_1Domain.html#abec937da0df8d8c5fadfd1f52e89187d">top_left</a>;</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classOpenPSTD_1_1Kernel_1_1Domain.html#ac0dd6120bde888496aaf9d2593d06198"> 123</a></span>  <a class="code" href="classOpenPSTD_1_1Kernel_1_1Point.html">Point</a> <a class="code" href="classOpenPSTD_1_1Kernel_1_1Domain.html#ac0dd6120bde888496aaf9d2593d06198">bottom_right</a>;</div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="classOpenPSTD_1_1Kernel_1_1Domain.html#aa2b96f1ac9a0aeebc348c83cac9e8340"> 125</a></span>  <a class="code" href="classOpenPSTD_1_1Kernel_1_1Point.html">Point</a> <a class="code" href="classOpenPSTD_1_1Kernel_1_1Domain.html#aa2b96f1ac9a0aeebc348c83cac9e8340">size</a>;</div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="classOpenPSTD_1_1Kernel_1_1Domain.html#a19214069e5cd7458a65548b4f5cd34de"> 127</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classOpenPSTD_1_1Kernel_1_1Domain.html#a19214069e5cd7458a65548b4f5cd34de">is_pml</a>;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="comment">//Todo: What is this local?</span></div><div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="classOpenPSTD_1_1Kernel_1_1Domain.html#aa1d68c80f43cb650b084071c3c89a91f"> 130</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classOpenPSTD_1_1Kernel_1_1Domain.html#aa1d68c80f43cb650b084071c3c89a91f">local</a>;</div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classOpenPSTD_1_1Kernel_1_1Domain.html#ad95431e1799879278136de022806f5db"> 132</a></span>  <a class="code" href="structOpenPSTD_1_1Kernel_1_1FieldValues.html">FieldValues</a> <a class="code" href="classOpenPSTD_1_1Kernel_1_1Domain.html#ad95431e1799879278136de022806f5db">current_values</a>;</div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="classOpenPSTD_1_1Kernel_1_1Domain.html#a0e6cf1ec41017b63a95563c5cacaa41d"> 134</a></span>  <a class="code" href="structOpenPSTD_1_1Kernel_1_1FieldValues.html">FieldValues</a> <a class="code" href="classOpenPSTD_1_1Kernel_1_1Domain.html#a0e6cf1ec41017b63a95563c5cacaa41d">previous_values</a>;</div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="classOpenPSTD_1_1Kernel_1_1Domain.html#ad0f29c8a5e5091b585b37f68a7a0d785"> 136</a></span>  <a class="code" href="structOpenPSTD_1_1Kernel_1_1FieldLValues.html">FieldLValues</a> <a class="code" href="classOpenPSTD_1_1Kernel_1_1Domain.html#ad0f29c8a5e5091b585b37f68a7a0d785">l_values</a>;</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="classOpenPSTD_1_1Kernel_1_1Domain.html#ae93102824c0a02518cd76530d03e9be8"> 138</a></span>  std::shared_ptr<WisdomCache> <a class="code" href="classOpenPSTD_1_1Kernel_1_1Domain.html#ae93102824c0a02518cd76530d03e9be8">wnd</a>;</div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="classOpenPSTD_1_1Kernel_1_1Domain.html#acd35a169a676277f5a66445883048064"> 140</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classOpenPSTD_1_1Kernel_1_1Domain.html#acd35a169a676277f5a66445883048064">is_secondary_pml</a>;</div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="classOpenPSTD_1_1Kernel_1_1Domain.html#adab681377c2f853a0060866e5a223b7e"> 142</a></span>  std::vector<std::shared_ptr<Domain>> <a class="code" href="classOpenPSTD_1_1Kernel_1_1Domain.html#adab681377c2f853a0060866e5a223b7e">pml_for_domain_list</a>;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  std::vector<std::shared_ptr<Domain>> left;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  std::vector<std::shared_ptr<Domain>> right;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  std::vector<std::shared_ptr<Domain>> top;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  std::vector<std::shared_ptr<Domain>> bottom;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordtype">int</span> num_neighbour_domains; <span class="comment">// including pml_domains;</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordtype">int</span> num_pml_neighbour_domains;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordtype">bool</span> has_horizontal_attenuation, is_corner_domain;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  std::vector<bool> needs_reversed_attenuation;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <a class="code" href="structOpenPSTD_1_1Kernel_1_1PMLArrays.html">PMLArrays</a> pml_arrays;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <a class="code" href="classOpenPSTD_1_1Kernel_1_1Domain.html">Domain</a>(std::shared_ptr<PSTDSettings> settings, <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keyword">const</span> <span class="keywordtype">float</span> alpha,</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <a class="code" href="classOpenPSTD_1_1Kernel_1_1Point.html">Point</a> top_left, <a class="code" href="classOpenPSTD_1_1Kernel_1_1Point.html">Point</a> size, <span class="keyword">const</span> <span class="keywordtype">bool</span> is_pml,</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  std::shared_ptr<WisdomCache> wnd, std::map<Direction, EdgeParameters> edge_param_map,</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keyword">const</span> std::shared_ptr<Domain> pml_for_domain);</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <a class="code" href="classOpenPSTD_1_1Kernel_1_1Domain.html">Domain</a>(std::shared_ptr<PSTDSettings> settings, <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keyword">const</span> <span class="keywordtype">float</span> alpha,</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  std::vector<float> top_left_vector, std::vector<float> size_vector, <span class="keyword">const</span> <span class="keywordtype">bool</span> is_pml,</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  std::shared_ptr<WisdomCache> wnd, std::map<Direction, EdgeParameters> edge_param_map,</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keyword">const</span> std::shared_ptr<Domain> pml_for_domain);</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <span class="keywordtype">void</span> push_values();</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keywordtype">void</span> clear_matrices();</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordtype">void</span> compute_pml_matrices();</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordtype">void</span> apply_pml_matrices();</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordtype">int</span> number_of_neighbours(<span class="keywordtype">bool</span> count_pml);</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordtype">bool</span> contains_point(<a class="code" href="classOpenPSTD_1_1Kernel_1_1Point.html">Point</a> point);</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordtype">bool</span> contains_location(std::vector<float> location);</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  std::vector<std::shared_ptr<Domain>> get_neighbours_at(<a class="code" href="namespaceOpenPSTD_1_1Kernel.html#ac7ef049a4431b21bb965e95e53cb104e">Direction</a> direction);</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  std::shared_ptr<Domain> get_neighbour_at(<a class="code" href="namespaceOpenPSTD_1_1Kernel.html#ac7ef049a4431b21bb965e95e53cb104e">Direction</a> direction, std::vector<float> location);</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordtype">void</span> add_neighbour_at(std::shared_ptr<Domain> domain, <a class="code" href="namespaceOpenPSTD_1_1Kernel.html#ac7ef049a4431b21bb965e95e53cb104e">Direction</a> direction);</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keywordtype">bool</span> is_neighbour_of(std::shared_ptr<Domain> domain);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordtype">bool</span> is_pml_for(std::shared_ptr<Domain> domain);</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordtype">bool</span> is_rigid();</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  std::vector<int> get_range(<a class="code" href="namespaceOpenPSTD_1_1Kernel.html#a0f823ca4b06f6f755fdded496aabd876">CalcDirection</a> cd);</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  std::vector<int> get_intersection_with(std::shared_ptr<Domain> other_domain, <a class="code" href="namespaceOpenPSTD_1_1Kernel.html#ac7ef049a4431b21bb965e95e53cb104e">Direction</a> direction);</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  Eigen::ArrayXXf calc(<a class="code" href="namespaceOpenPSTD_1_1Kernel.html#a0f823ca4b06f6f755fdded496aabd876">CalcDirection</a> cd, <a class="code" href="namespaceOpenPSTD_1_1Kernel.html#a516a652b8b8b13b54504e052d59e5e8a">CalculationType</a> ct, Eigen::ArrayXcf dest);</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <span class="keywordtype">void</span> calc(<a class="code" href="namespaceOpenPSTD_1_1Kernel.html#a0f823ca4b06f6f755fdded496aabd876">CalcDirection</a> cd, <a class="code" href="namespaceOpenPSTD_1_1Kernel.html#a516a652b8b8b13b54504e052d59e5e8a">CalculationType</a> ct);</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordtype">void</span> post_initialization();</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  Eigen::ArrayXXi get_vacant_range(<a class="code" href="namespaceOpenPSTD_1_1Kernel.html#ac7ef049a4431b21bb965e95e53cb104e">Direction</a> direction);</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  Eigen::ArrayXXf extended_zeros(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> z = 0);</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordtype">void</span> initialize_domain(std::shared_ptr<PSTDSettings> settings, <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keyword">const</span> <span class="keywordtype">float</span> alpha,</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <a class="code" href="classOpenPSTD_1_1Kernel_1_1Point.html">Point</a> top_left, <a class="code" href="classOpenPSTD_1_1Kernel_1_1Point.html">Point</a> size, <span class="keyword">const</span> <span class="keywordtype">bool</span> is_pml,</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  std::shared_ptr<WisdomCache> wnd,</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  std::map<Direction, EdgeParameters> edge_param_map,</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="keyword">const</span> std::shared_ptr<Domain> pml_for_domain);</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keywordtype">void</span> clear_fields();</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordtype">void</span> clear_pml_arrays();</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <span class="keywordtype">void</span> find_update_directions();</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keywordtype">void</span> compute_number_of_neighbours();</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keywordtype">int</span> get_num_pmls_in_direction(<a class="code" href="namespaceOpenPSTD_1_1Kernel.html#ac7ef049a4431b21bb965e95e53cb104e">Direction</a> direction);</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="keywordtype">void</span> create_attenuation_array(<a class="code" href="namespaceOpenPSTD_1_1Kernel.html#a0f823ca4b06f6f755fdded496aabd876">CalcDirection</a> calc_dir, <span class="keywordtype">bool</span> ascending, Eigen::ArrayXXf &pml_pressure,</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  Eigen::ArrayXXf &pml_velocity);</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  };</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span> </div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  std::ostream &operator<<(std::ostream &str, <a class="code" href="classOpenPSTD_1_1Kernel_1_1Domain.html">Domain</a> <span class="keyword">const</span> &v);</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  }</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span> }</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="preprocessor">#endif //OPENPSTD_KERNELDOMAIN_H</span></div><div class="ttc" id="namespaceOpenPSTD_html"><div class="ttname"><a href="namespaceOpenPSTD.html">OpenPSTD</a></div><div class="ttdoc">This is the general namespace of the OpenPSTD application. </div><div class="ttdef"><b>Definition:</b> Boundary.cpp:33</div></div>
<div class="ttc" id="classOpenPSTD_1_1Kernel_1_1Domain_html_ae653a39b8a224f2a93eac5b0f89a99de"><div class="ttname"><a href="classOpenPSTD_1_1Kernel_1_1Domain.html#ae653a39b8a224f2a93eac5b0f89a99de">OpenPSTD::Kernel::Domain::impedance</a></div><div class="ttdeci">float impedance</div><div class="ttdoc">Impedance of the boundary. </div><div class="ttdef"><b>Definition:</b> Domain.h:113</div></div>
<div class="ttc" id="classOpenPSTD_1_1Kernel_1_1Domain_html_ab73b59fd808352f2728205598483e599"><div class="ttname"><a href="classOpenPSTD_1_1Kernel_1_1Domain.html#ab73b59fd808352f2728205598483e599">OpenPSTD::Kernel::Domain::id</a></div><div class="ttdeci">int id</div><div class="ttdoc">Domain identifier. Does not necessarily correspond to the GUI and CLI ids; no need for that...</div><div class="ttdef"><b>Definition:</b> Domain.h:108</div></div>
<div class="ttc" id="classOpenPSTD_1_1Kernel_1_1Domain_html_ad95431e1799879278136de022806f5db"><div class="ttname"><a href="classOpenPSTD_1_1Kernel_1_1Domain.html#ad95431e1799879278136de022806f5db">OpenPSTD::Kernel::Domain::current_values</a></div><div class="ttdeci">FieldValues current_values</div><div class="ttdoc">Collection of state variables in this time step (not thread-safe) </div><div class="ttdef"><b>Definition:</b> Domain.h:132</div></div>
<div class="ttc" id="classOpenPSTD_1_1Kernel_1_1Domain_html_abec937da0df8d8c5fadfd1f52e89187d"><div class="ttname"><a href="classOpenPSTD_1_1Kernel_1_1Domain.html#abec937da0df8d8c5fadfd1f52e89187d">OpenPSTD::Kernel::Domain::top_left</a></div><div class="ttdeci">Point top_left</div><div class="ttdoc">Start of the domain (top left) </div><div class="ttdef"><b>Definition:</b> Domain.h:121</div></div>
<div class="ttc" id="structOpenPSTD_1_1Kernel_1_1PMLArrays_html"><div class="ttname"><a href="structOpenPSTD_1_1Kernel_1_1PMLArrays.html">OpenPSTD::Kernel::PMLArrays</a></div><div class="ttdoc">The arrays used for attenuating the pressure and velocities at the boundaries of the domain...</div><div class="ttdef"><b>Definition:</b> Domain.h:82</div></div>
<div class="ttc" id="classOpenPSTD_1_1Kernel_1_1Domain_html_ac0dd6120bde888496aaf9d2593d06198"><div class="ttname"><a href="classOpenPSTD_1_1Kernel_1_1Domain.html#ac0dd6120bde888496aaf9d2593d06198">OpenPSTD::Kernel::Domain::bottom_right</a></div><div class="ttdeci">Point bottom_right</div><div class="ttdoc">End of the domain (bottom right) </div><div class="ttdef"><b>Definition:</b> Domain.h:123</div></div>
<div class="ttc" id="classOpenPSTD_1_1Kernel_1_1Domain_html_ab4d807e4305de60bb0ec3f11a4bb8e51"><div class="ttname"><a href="classOpenPSTD_1_1Kernel_1_1Domain.html#ab4d807e4305de60bb0ec3f11a4bb8e51">OpenPSTD::Kernel::Domain::rho</a></div><div class="ttdeci">float rho</div><div class="ttdoc">Density of the domain interior. Defaults to air. </div><div class="ttdef"><b>Definition:</b> Domain.h:115</div></div>
<div class="ttc" id="classOpenPSTD_1_1Kernel_1_1Domain_html_a19214069e5cd7458a65548b4f5cd34de"><div class="ttname"><a href="classOpenPSTD_1_1Kernel_1_1Domain.html#a19214069e5cd7458a65548b4f5cd34de">OpenPSTD::Kernel::Domain::is_pml</a></div><div class="ttdeci">bool is_pml</div><div class="ttdoc">Whether the domain is a perfectly matched layer. </div><div class="ttdef"><b>Definition:</b> Domain.h:127</div></div>
<div class="ttc" id="namespaceOpenPSTD_1_1Kernel_html_a0f823ca4b06f6f755fdded496aabd876"><div class="ttname"><a href="namespaceOpenPSTD_1_1Kernel.html#a0f823ca4b06f6f755fdded496aabd876">OpenPSTD::Kernel::CalcDirection</a></div><div class="ttdeci">CalcDirection</div><div class="ttdoc">Helper enums - used to distinguish horizontal boundaries from vertical boundaries. </div><div class="ttdef"><b>Definition:</b> kernel_functions.h:71</div></div>
<div class="ttc" id="classOpenPSTD_1_1Kernel_1_1Domain_html_ad0f29c8a5e5091b585b37f68a7a0d785"><div class="ttname"><a href="classOpenPSTD_1_1Kernel_1_1Domain.html#ad0f29c8a5e5091b585b37f68a7a0d785">OpenPSTD::Kernel::Domain::l_values</a></div><div class="ttdeci">FieldLValues l_values</div><div class="ttdoc">Derivative approximations of the state variables. </div><div class="ttdef"><b>Definition:</b> Domain.h:136</div></div>
<div class="ttc" id="structOpenPSTD_1_1Kernel_1_1FieldValues_html"><div class="ttname"><a href="structOpenPSTD_1_1Kernel_1_1FieldValues.html">OpenPSTD::Kernel::FieldValues</a></div><div class="ttdoc">The observed state variables. </div><div class="ttdef"><b>Definition:</b> Domain.h:57</div></div>
<div class="ttc" id="classOpenPSTD_1_1Kernel_1_1Domain_html_aa2b96f1ac9a0aeebc348c83cac9e8340"><div class="ttname"><a href="classOpenPSTD_1_1Kernel_1_1Domain.html#aa2b96f1ac9a0aeebc348c83cac9e8340">OpenPSTD::Kernel::Domain::size</a></div><div class="ttdeci">Point size</div><div class="ttdoc">Domain size. </div><div class="ttdef"><b>Definition:</b> Domain.h:125</div></div>
<div class="ttc" id="classOpenPSTD_1_1Kernel_1_1Point_html"><div class="ttname"><a href="classOpenPSTD_1_1Kernel_1_1Point.html">OpenPSTD::Kernel::Point</a></div><div class="ttdoc">The points of the grid, represented by 2D integer vectors. </div><div class="ttdef"><b>Definition:</b> Geometry.h:43</div></div>
<div class="ttc" id="classOpenPSTD_1_1Kernel_1_1Domain_html_aa10e428bd25826097909f81ea2bbabbb"><div class="ttname"><a href="classOpenPSTD_1_1Kernel_1_1Domain.html#aa10e428bd25826097909f81ea2bbabbb">OpenPSTD::Kernel::Domain::should_update</a></div><div class="ttdeci">std::map< CalcDirection, bool > should_update</div><div class="ttdoc">Map with update directions. </div><div class="ttdef"><b>Definition:</b> Domain.h:119</div></div>
<div class="ttc" id="classOpenPSTD_1_1Kernel_1_1Domain_html_aa1d68c80f43cb650b084071c3c89a91f"><div class="ttname"><a href="classOpenPSTD_1_1Kernel_1_1Domain.html#aa1d68c80f43cb650b084071c3c89a91f">OpenPSTD::Kernel::Domain::local</a></div><div class="ttdeci">bool local</div><div class="ttdoc">Another parameter (PML-related) </div><div class="ttdef"><b>Definition:</b> Domain.h:130</div></div>
<div class="ttc" id="classOpenPSTD_1_1Kernel_1_1Domain_html_a4b0b015cb266c35936ff6a382343b08e"><div class="ttname"><a href="classOpenPSTD_1_1Kernel_1_1Domain.html#a4b0b015cb266c35936ff6a382343b08e">OpenPSTD::Kernel::Domain::alpha</a></div><div class="ttdeci">float alpha</div><div class="ttdoc">Some coefficient... </div><div class="ttdef"><b>Definition:</b> Domain.h:110</div></div>
<div class="ttc" id="classOpenPSTD_1_1Kernel_1_1Domain_html_ae93102824c0a02518cd76530d03e9be8"><div class="ttname"><a href="classOpenPSTD_1_1Kernel_1_1Domain.html#ae93102824c0a02518cd76530d03e9be8">OpenPSTD::Kernel::Domain::wnd</a></div><div class="ttdeci">std::shared_ptr< WisdomCache > wnd</div><div class="ttdoc">Pointer to WisdomCache object. </div><div class="ttdef"><b>Definition:</b> Domain.h:138</div></div>
<div class="ttc" id="classOpenPSTD_1_1Kernel_1_1Domain_html_adab681377c2f853a0060866e5a223b7e"><div class="ttname"><a href="classOpenPSTD_1_1Kernel_1_1Domain.html#adab681377c2f853a0060866e5a223b7e">OpenPSTD::Kernel::Domain::pml_for_domain_list</a></div><div class="ttdeci">std::vector< std::shared_ptr< Domain > > pml_for_domain_list</div><div class="ttdoc">List of domains that this domain functions for as a PML. </div><div class="ttdef"><b>Definition:</b> Domain.h:142</div></div>
<div class="ttc" id="classOpenPSTD_1_1Kernel_1_1Domain_html_a8421017f73e1207f722b05e6a28f8c6d"><div class="ttname"><a href="classOpenPSTD_1_1Kernel_1_1Domain.html#a8421017f73e1207f722b05e6a28f8c6d">OpenPSTD::Kernel::Domain::edge_param_map</a></div><div class="ttdeci">std::map< Direction, EdgeParameters > edge_param_map</div><div class="ttdoc">Map with boundary coefficients. </div><div class="ttdef"><b>Definition:</b> Domain.h:117</div></div>
<div class="ttc" id="classOpenPSTD_1_1Kernel_1_1Domain_html_a6e286da2a63d468f05e616f3e3624ce2"><div class="ttname"><a href="classOpenPSTD_1_1Kernel_1_1Domain.html#a6e286da2a63d468f05e616f3e3624ce2">OpenPSTD::Kernel::Domain::settings</a></div><div class="ttdeci">std::shared_ptr< PSTDSettings > settings</div><div class="ttdoc">Settings from the PSTDKernel. </div><div class="ttdef"><b>Definition:</b> Domain.h:106</div></div>
<div class="ttc" id="structOpenPSTD_1_1Kernel_1_1FieldLValues_html"><div class="ttname"><a href="structOpenPSTD_1_1Kernel_1_1FieldLValues.html">OpenPSTD::Kernel::FieldLValues</a></div><div class="ttdoc">The spatial derivatives of the pressure and velocity in x and y direction. </div><div class="ttdef"><b>Definition:</b> Domain.h:68</div></div>
<div class="ttc" id="namespaceOpenPSTD_1_1Kernel_html_ac7ef049a4431b21bb965e95e53cb104e"><div class="ttname"><a href="namespaceOpenPSTD_1_1Kernel.html#ac7ef049a4431b21bb965e95e53cb104e">OpenPSTD::Kernel::Direction</a></div><div class="ttdeci">Direction</div><div class="ttdoc">Enum representing directions among domains. </div><div class="ttdef"><b>Definition:</b> kernel_functions.h:85</div></div>
<div class="ttc" id="classOpenPSTD_1_1Kernel_1_1Domain_html_acd35a169a676277f5a66445883048064"><div class="ttname"><a href="classOpenPSTD_1_1Kernel_1_1Domain.html#acd35a169a676277f5a66445883048064">OpenPSTD::Kernel::Domain::is_secondary_pml</a></div><div class="ttdeci">bool is_secondary_pml</div><div class="ttdoc">Whether the domain is a PML domain for other PML domains. </div><div class="ttdef"><b>Definition:</b> Domain.h:140</div></div>
<div class="ttc" id="classOpenPSTD_1_1Kernel_1_1Domain_html"><div class="ttname"><a href="classOpenPSTD_1_1Kernel_1_1Domain.html">OpenPSTD::Kernel::Domain</a></div><div class="ttdoc">A representation of one rectangular scene unit. </div><div class="ttdef"><b>Definition:</b> Domain.h:103</div></div>
<div class="ttc" id="structOpenPSTD_1_1Kernel_1_1EdgeParameters_html"><div class="ttname"><a href="structOpenPSTD_1_1Kernel_1_1EdgeParameters.html">OpenPSTD::Kernel::EdgeParameters</a></div><div class="ttdoc">The impedance parameter and locally reaction switch for a boundary. </div><div class="ttdef"><b>Definition:</b> Domain.h:92</div></div>
<div class="ttc" id="classOpenPSTD_1_1Kernel_1_1Domain_html_a0e6cf1ec41017b63a95563c5cacaa41d"><div class="ttname"><a href="classOpenPSTD_1_1Kernel_1_1Domain.html#a0e6cf1ec41017b63a95563c5cacaa41d">OpenPSTD::Kernel::Domain::previous_values</a></div><div class="ttdeci">FieldValues previous_values</div><div class="ttdoc">Collection of state variables in previous time step (should be thread-safe) </div><div class="ttdef"><b>Definition:</b> Domain.h:134</div></div>
<div class="ttc" id="namespaceOpenPSTD_1_1Kernel_html_a516a652b8b8b13b54504e052d59e5e8a"><div class="ttname"><a href="namespaceOpenPSTD_1_1Kernel.html#a516a652b8b8b13b54504e052d59e5e8a">OpenPSTD::Kernel::CalculationType</a></div><div class="ttdeci">CalculationType</div><div class="ttdoc">Helper enums - used to distinguish pressure computations from velocity computations. </div><div class="ttdef"><b>Definition:</b> kernel_functions.h:78</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Mar 2 2016 23:11:55 for openPSTD by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>