-
Notifications
You must be signed in to change notification settings - Fork 0
/
BedSmoother_8hh_source.html
253 lines (251 loc) · 44.8 KB
/
BedSmoother_8hh_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
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>PISM, A Parallel Ice Sheet Model: src/stressbalance/sia/BedSmoother.hh 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/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="browser.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="projectalign" style="padding-left: 0.5em;">
<div id="projectname">PISM, A Parallel Ice Sheet Model
 <span id="projectnumber">stable v2.1.1 committed by Constantine Khrulev on 2024-12-04 13:36:58 -0900</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></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_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_337d79c4e85232f0487076e092bb4774.html">stressbalance</a></li><li class="navelem"><a class="el" href="dir_980286f9e69bc882ba80adb90321165b.html">sia</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">BedSmoother.hh</div> </div>
</div><!--header-->
<div class="contents">
<a href="BedSmoother_8hh.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">// Copyright (C) 2010, 2011, 2013, 2014, 2015, 2016, 2017, 2020, 2021, 2022 Ed Bueler and Constantine Khroulev</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// This file is part of PISM.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// PISM is free software; you can redistribute it and/or modify it under the</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// terms of the GNU General Public License as published by the Free Software</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">// Foundation; either version 3 of the License, or (at your option) any later</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// version.</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">//</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// PISM is distributed in the hope that it will be useful, but WITHOUT ANY</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// details.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">//</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// You should have received a copy of the GNU General Public License</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// along with PISM; if not, write to the Free Software</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#ifndef __BedSmoother_hh</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#define __BedSmoother_hh</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  </div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include <petsc.h></span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include "pism/util/array/Scalar.hh"</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include "pism/util/ConfigInterface.hh"</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  </div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">namespace </span><a class="code" href="namespacepism.html">pism</a> {</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  </div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">class </span>Grid;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">class </span>Config;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  </div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="keyword">namespace </span>array {</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="keyword">class </span>CellType1;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">class </span>CellType2;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">class </span>CellType;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> } <span class="comment">// end of namespace array</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  </div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keyword">namespace </span>stressbalance {</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"></span> </div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">//! PISM bed smoother, plus bed roughness parameterization, based on Schoof (2003).</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"></span><span class="comment">/*!</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> This class both smooths the bed and computes coefficients for an approximation</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> to Schoof's \f$\theta\f$. The factor \f$0\le \theta \le 1\f$ multiplies the diffusivity</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> in the theory of the effect of bed roughness in the SIA by Christian Schoof</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> (2003; *The effect of basal topography on ice sheet dynamics*) [\ref</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> Schoofbasaltopg2003].</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"></span> </div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> For additional information on this class see page \ref bedrough.</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"></span> </div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> The user of this class hands BedSmoother an "original" topography, and it</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> is preprocessed to fill the smoothed topography `topgsmooth`, and the</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> coefficients in an approximation to \f$\theta\f$. This is done by a call to </span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> `preprocess_bed()`. The call requires the half-width of the smoothing square</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> (a distance in m), or the number of grid points in each direction in the</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> smoothing rectangle, and the Glen exponent.</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"></span> </div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> The call to `preprocess_bed()` *must be repeated* any time the "original"</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> topography changes, for instance at the start of an IceModel run, or at a bed</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> deformation step in an IceModel run.</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"></span> </div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> BedSmoother then provides three major functionalities, all of which \e must</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> \e follow the call to `preprocess_bed()`:</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> -# User accesses public array::Scalar `topgsmooth`, the smoothed bed itself.</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> -# User asks `get_smoothed_thk()` for gridded values of the consistent smoothed</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"> version of the ice thickness, which is the thickness corresponding to a given</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> surface elevation and the pre-computed smoothed bed.</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> -# User asks for gridded values of \f$\theta(h,x,y)\f$ using `get_theta()`.</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"></span> </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> Here is a basic example of the creation and usage of a BedSmoother instance.</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> Note that BedSmoother will update ghosted values in `topgsmooth`, and other</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> internal fields, and update them in the return fields `thksmooth`, `theta`,</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> if asked. In IceModel::velocitySIAStaggered()</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> \code</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> BedSmoother smoother(grid, 2);</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> const double n = 3.0,</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> lambda = 50.0e3;</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> ierr = smoother.preprocess_bed(topg, n, lambda); CHKERRQ(ierr);</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> ierr = smoother.get_smoothed_thk(usurf, thk, 1, &thksmooth); CHKERRQ(ierr);</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> ierr = smoother.get_theta(usurf, n, 1, &theta); CHKERRQ(ierr);</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> \endcode</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> See Grid documentation for initializing `grid`. Note we assume</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> `topg`, `usurf`, `thk`, `thksmooth`, and `theta` are all created</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> array::Scalar instances.</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">*/</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="classpism_1_1stressbalance_1_1BedSmoother.html"> 85</a></span> <span class="keyword">class </span><a class="code" href="classpism_1_1stressbalance_1_1BedSmoother.html">BedSmoother</a> {</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keyword">public</span>:</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_a32338d245c30dd4f2a3bb5218f59e3bc.html#a32338d245c30dd4f2a3bb5218f59e3bc">BedSmoother</a>(std::shared_ptr<const Grid> <a class="code" href="namespacepism_a47d754ed3e959d5866b02a1b78b6a5b5.html#a47d754ed3e959d5866b02a1b78b6a5b5">g</a>);</div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classpism_1_1stressbalance_1_1BedSmoother_a2a21f0c740b0753ab62e00ce9dba9bdd.html#a2a21f0c740b0753ab62e00ce9dba9bdd"> 88</a></span>  <span class="keyword">virtual</span> <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_a2a21f0c740b0753ab62e00ce9dba9bdd.html#a2a21f0c740b0753ab62e00ce9dba9bdd">~BedSmoother</a>() = <span class="keywordflow">default</span>;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  </div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordtype">void</span> <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_ae13dd0bbf11b712bbef3eeaf93a8f527.html#ae13dd0bbf11b712bbef3eeaf93a8f527">preprocess_bed</a>(<span class="keyword">const</span> <a class="code" href="classpism_1_1array_1_1Scalar.html">array::Scalar</a> &topg);</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  </div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordtype">void</span> <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_a38b304465661b70e7d2faa4b49aff5eb.html#a38b304465661b70e7d2faa4b49aff5eb">smoothed_thk</a>(<span class="keyword">const</span> <a class="code" href="classpism_1_1array_1_1Scalar.html">array::Scalar</a> &usurf,</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keyword">const</span> <a class="code" href="classpism_1_1array_1_1Scalar.html">array::Scalar</a> &thk,</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keyword">const</span> <a class="code" href="classpism_1_1array_1_1CellType2.html">array::CellType2</a> &mask,</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="classpism_1_1array_1_1Scalar.html">array::Scalar</a> &thksmooth) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  </div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordtype">void</span> <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_a71b068f8e7b3d3aa7235e6d1bec1f797.html#a71b068f8e7b3d3aa7235e6d1bec1f797">theta</a>(<span class="keyword">const</span> <a class="code" href="classpism_1_1array_1_1Scalar.html">array::Scalar</a> &usurf, <a class="code" href="classpism_1_1array_1_1Scalar.html">array::Scalar</a> &result) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  </div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keyword">const</span> <a class="code" href="classpism_1_1array_1_1Scalar.html">array::Scalar</a>& <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_a706c3a4805bc78586d0e0d8e4973b7bb.html#a706c3a4805bc78586d0e0d8e4973b7bb">smoothed_bed</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classpism_1_1stressbalance_1_1BedSmoother_ad95e0c783c9d8318bb7eecf09284d1eb.html#ad95e0c783c9d8318bb7eecf09284d1eb"> 101</a></span>  std::shared_ptr<const Grid> <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_ad95e0c783c9d8318bb7eecf09284d1eb.html#ad95e0c783c9d8318bb7eecf09284d1eb">m_grid</a>;</div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classpism_1_1stressbalance_1_1BedSmoother_aa72b3eb0e614bc7111e99f39e66d0187.html#aa72b3eb0e614bc7111e99f39e66d0187"> 102</a></span>  <span class="keyword">const</span> <a class="code" href="classpism_1_1Config_a4dc1634c0eac358eb86303633024f810.html#a4dc1634c0eac358eb86303633024f810">Config::ConstPtr</a> <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_aa72b3eb0e614bc7111e99f39e66d0187.html#aa72b3eb0e614bc7111e99f39e66d0187">m_config</a>;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"></span> </div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"> //! smoothed bed elevation; set by calling preprocess_bed()</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classpism_1_1stressbalance_1_1BedSmoother_a4c86442bfdbbc2a4ba9e2f20407c4b55.html#a4c86442bfdbbc2a4ba9e2f20407c4b55"> 105</a></span> <span class="comment"></span> <a class="code" href="classpism_1_1array_1_1Scalar2.html">array::Scalar2</a> <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_a4c86442bfdbbc2a4ba9e2f20407c4b55.html#a4c86442bfdbbc2a4ba9e2f20407c4b55">m_topgsmooth</a>;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  </div>
<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classpism_1_1stressbalance_1_1BedSmoother_a487e1e99477f270bc123982315713169.html#a487e1e99477f270bc123982315713169"> 107</a></span>  <a class="code" href="classpism_1_1array_1_1Scalar2.html">array::Scalar2</a> <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_a7b2336a229c4cd4b7e0b08edd7c716eb.html#a7b2336a229c4cd4b7e0b08edd7c716eb">m_maxtl</a>, <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_a487e1e99477f270bc123982315713169.html#a487e1e99477f270bc123982315713169">m_C2</a>, <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_ae744391ca2db8b254d3b037da92cbbba.html#ae744391ca2db8b254d3b037da92cbbba">m_C3</a>, <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_a1ed491372b68c6e6e8a50010b112b681.html#a1ed491372b68c6e6e8a50010b112b681">m_C4</a>;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  </div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="comment">/* number of grid points to smooth over; e.g. i=-Nx,-Nx+1,...,-1,0,1,...,Nx-1,Nx; note</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> Nx>=1 and Ny>=1 always, unless lambda<=0</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="classpism_1_1stressbalance_1_1BedSmoother_ae0db8dcdf5af87a7feb0bdb472b71227.html#ae0db8dcdf5af87a7feb0bdb472b71227"> 112</a></span>  <span class="keywordtype">int</span> <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_ae0db8dcdf5af87a7feb0bdb472b71227.html#ae0db8dcdf5af87a7feb0bdb472b71227">m_Nx</a>, <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_a2553d3b7d74feebc688a654cf3cef75e.html#a2553d3b7d74feebc688a654cf3cef75e">m_Ny</a>;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  </div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classpism_1_1stressbalance_1_1BedSmoother_a01b79ef0eb383f13aa8b62bb590d38c0.html#a01b79ef0eb383f13aa8b62bb590d38c0"> 114</a></span>  <span class="keywordtype">double</span> <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_a01b79ef0eb383f13aa8b62bb590d38c0.html#a01b79ef0eb383f13aa8b62bb590d38c0">m_Glen_exponent</a>, <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_a1da9b441304f82bf6fc8fb7c70c6a7a8.html#a1da9b441304f82bf6fc8fb7c70c6a7a8">m_smoothing_range</a>;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"></span> </div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"> //! original bed elevation on processor 0</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="classpism_1_1stressbalance_1_1BedSmoother_a43d6ca6da2f6513d1a5115d6b5de8332.html#a43d6ca6da2f6513d1a5115d6b5de8332"> 117</a></span> <span class="comment"></span> std::shared_ptr<petsc::Vec> <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_a43d6ca6da2f6513d1a5115d6b5de8332.html#a43d6ca6da2f6513d1a5115d6b5de8332">m_topgp0</a>;<span class="comment"></span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"> //! smoothed bed elevation on processor 0</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classpism_1_1stressbalance_1_1BedSmoother_ab1c917c55fc9b6fc0e3265ed1ee71202.html#ab1c917c55fc9b6fc0e3265ed1ee71202"> 119</a></span> <span class="comment"></span> std::shared_ptr<petsc::Vec> <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_ab1c917c55fc9b6fc0e3265ed1ee71202.html#ab1c917c55fc9b6fc0e3265ed1ee71202">m_topgsmoothp0</a>;<span class="comment"></span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"> //! maximum elevation at (i,j) of local topography (nearby patch)</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="classpism_1_1stressbalance_1_1BedSmoother_af200deb02932da18adb78d12a908346f.html#af200deb02932da18adb78d12a908346f"> 121</a></span> <span class="comment"></span> std::shared_ptr<petsc::Vec> <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_a4f727584546e4cef224c33484d1e41e2.html#a4f727584546e4cef224c33484d1e41e2">m_maxtlp0</a>, <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_af200deb02932da18adb78d12a908346f.html#af200deb02932da18adb78d12a908346f">m_C2p0</a>, <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_a02fb4d8d2e000f58a4eabcc1d0bf1ccb.html#a02fb4d8d2e000f58a4eabcc1d0bf1ccb">m_C3p0</a>, <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_ad07977b6a5e8b8df9963203bca80553b.html#ad07977b6a5e8b8df9963203bca80553b">m_C4p0</a>;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  </div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordtype">void</span> <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_ae13dd0bbf11b712bbef3eeaf93a8f527.html#ae13dd0bbf11b712bbef3eeaf93a8f527">preprocess_bed</a>(<span class="keyword">const</span> <a class="code" href="classpism_1_1array_1_1Scalar.html">array::Scalar</a> &topg,</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> Nx_in, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> Ny_in);</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  </div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordtype">void</span> <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_a58ff28fd406efac160671b5067fcf2e1.html#a58ff28fd406efac160671b5067fcf2e1">smooth_the_bed_on_proc0</a>();</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordtype">void</span> <a class="code" href="classpism_1_1stressbalance_1_1BedSmoother_a84c1adc9a37d8099c419c21d14e045d9.html#a84c1adc9a37d8099c419c21d14e045d9">compute_coefficients_on_proc0</a>();</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> };</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  </div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> } <span class="comment">// end of namespace stressbalance</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> } <span class="comment">// end of namespace pism</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  </div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="preprocessor">#endif </span><span class="comment">// __BedSmoother_hh</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  </div>
<div class="ttc" id="aclasspism_1_1Config_a4dc1634c0eac358eb86303633024f810_html_a4dc1634c0eac358eb86303633024f810"><div class="ttname"><a href="classpism_1_1Config_a4dc1634c0eac358eb86303633024f810.html#a4dc1634c0eac358eb86303633024f810">pism::Config::ConstPtr</a></div><div class="ttdeci">std::shared_ptr< const Config > ConstPtr</div><div class="ttdef"><b>Definition:</b> <a href="ConfigInterface_8hh_source.html#l00056">ConfigInterface.hh:56</a></div></div>
<div class="ttc" id="aclasspism_1_1array_1_1CellType2_html"><div class="ttname"><a href="classpism_1_1array_1_1CellType2.html">pism::array::CellType2</a></div><div class="ttdef"><b>Definition:</b> <a href="CellType_8hh_source.html#l00117">CellType.hh:117</a></div></div>
<div class="ttc" id="aclasspism_1_1array_1_1Scalar2_html"><div class="ttname"><a href="classpism_1_1array_1_1Scalar2.html">pism::array::Scalar2</a></div><div class="ttdef"><b>Definition:</b> <a href="Scalar_8hh_source.html#l00067">Scalar.hh:67</a></div></div>
<div class="ttc" id="aclasspism_1_1array_1_1Scalar_html"><div class="ttname"><a href="classpism_1_1array_1_1Scalar.html">pism::array::Scalar</a></div><div class="ttdef"><b>Definition:</b> <a href="Scalar_8hh_source.html#l00031">Scalar.hh:31</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_a01b79ef0eb383f13aa8b62bb590d38c0_html_a01b79ef0eb383f13aa8b62bb590d38c0"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_a01b79ef0eb383f13aa8b62bb590d38c0.html#a01b79ef0eb383f13aa8b62bb590d38c0">pism::stressbalance::BedSmoother::m_Glen_exponent</a></div><div class="ttdeci">double m_Glen_exponent</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8hh_source.html#l00114">BedSmoother.hh:114</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_a02fb4d8d2e000f58a4eabcc1d0bf1ccb_html_a02fb4d8d2e000f58a4eabcc1d0bf1ccb"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_a02fb4d8d2e000f58a4eabcc1d0bf1ccb.html#a02fb4d8d2e000f58a4eabcc1d0bf1ccb">pism::stressbalance::BedSmoother::m_C3p0</a></div><div class="ttdeci">std::shared_ptr< petsc::Vec > m_C3p0</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8hh_source.html#l00121">BedSmoother.hh:121</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_a1da9b441304f82bf6fc8fb7c70c6a7a8_html_a1da9b441304f82bf6fc8fb7c70c6a7a8"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_a1da9b441304f82bf6fc8fb7c70c6a7a8.html#a1da9b441304f82bf6fc8fb7c70c6a7a8">pism::stressbalance::BedSmoother::m_smoothing_range</a></div><div class="ttdeci">double m_smoothing_range</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8hh_source.html#l00114">BedSmoother.hh:114</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_a1ed491372b68c6e6e8a50010b112b681_html_a1ed491372b68c6e6e8a50010b112b681"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_a1ed491372b68c6e6e8a50010b112b681.html#a1ed491372b68c6e6e8a50010b112b681">pism::stressbalance::BedSmoother::m_C4</a></div><div class="ttdeci">array::Scalar2 m_C4</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8hh_source.html#l00107">BedSmoother.hh:107</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_a2553d3b7d74feebc688a654cf3cef75e_html_a2553d3b7d74feebc688a654cf3cef75e"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_a2553d3b7d74feebc688a654cf3cef75e.html#a2553d3b7d74feebc688a654cf3cef75e">pism::stressbalance::BedSmoother::m_Ny</a></div><div class="ttdeci">int m_Ny</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8hh_source.html#l00112">BedSmoother.hh:112</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_a2a21f0c740b0753ab62e00ce9dba9bdd_html_a2a21f0c740b0753ab62e00ce9dba9bdd"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_a2a21f0c740b0753ab62e00ce9dba9bdd.html#a2a21f0c740b0753ab62e00ce9dba9bdd">pism::stressbalance::BedSmoother::~BedSmoother</a></div><div class="ttdeci">virtual ~BedSmoother()=default</div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_a32338d245c30dd4f2a3bb5218f59e3bc_html_a32338d245c30dd4f2a3bb5218f59e3bc"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_a32338d245c30dd4f2a3bb5218f59e3bc.html#a32338d245c30dd4f2a3bb5218f59e3bc">pism::stressbalance::BedSmoother::BedSmoother</a></div><div class="ttdeci">BedSmoother(std::shared_ptr< const Grid > g)</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8cc_source.html#l00034">BedSmoother.cc:34</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_a38b304465661b70e7d2faa4b49aff5eb_html_a38b304465661b70e7d2faa4b49aff5eb"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_a38b304465661b70e7d2faa4b49aff5eb.html#a38b304465661b70e7d2faa4b49aff5eb">pism::stressbalance::BedSmoother::smoothed_thk</a></div><div class="ttdeci">void smoothed_thk(const array::Scalar &usurf, const array::Scalar &thk, const array::CellType2 &mask, array::Scalar &thksmooth) const</div><div class="ttdoc">Computes a smoothed thickness map.</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8cc_source.html#l00282">BedSmoother.cc:282</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_a43d6ca6da2f6513d1a5115d6b5de8332_html_a43d6ca6da2f6513d1a5115d6b5de8332"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_a43d6ca6da2f6513d1a5115d6b5de8332.html#a43d6ca6da2f6513d1a5115d6b5de8332">pism::stressbalance::BedSmoother::m_topgp0</a></div><div class="ttdeci">std::shared_ptr< petsc::Vec > m_topgp0</div><div class="ttdoc">original bed elevation on processor 0</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8hh_source.html#l00117">BedSmoother.hh:117</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_a487e1e99477f270bc123982315713169_html_a487e1e99477f270bc123982315713169"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_a487e1e99477f270bc123982315713169.html#a487e1e99477f270bc123982315713169">pism::stressbalance::BedSmoother::m_C2</a></div><div class="ttdeci">array::Scalar2 m_C2</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8hh_source.html#l00107">BedSmoother.hh:107</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_a4c86442bfdbbc2a4ba9e2f20407c4b55_html_a4c86442bfdbbc2a4ba9e2f20407c4b55"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_a4c86442bfdbbc2a4ba9e2f20407c4b55.html#a4c86442bfdbbc2a4ba9e2f20407c4b55">pism::stressbalance::BedSmoother::m_topgsmooth</a></div><div class="ttdeci">array::Scalar2 m_topgsmooth</div><div class="ttdoc">smoothed bed elevation; set by calling preprocess_bed()</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8hh_source.html#l00105">BedSmoother.hh:105</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_a4f727584546e4cef224c33484d1e41e2_html_a4f727584546e4cef224c33484d1e41e2"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_a4f727584546e4cef224c33484d1e41e2.html#a4f727584546e4cef224c33484d1e41e2">pism::stressbalance::BedSmoother::m_maxtlp0</a></div><div class="ttdeci">std::shared_ptr< petsc::Vec > m_maxtlp0</div><div class="ttdoc">maximum elevation at (i,j) of local topography (nearby patch)</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8hh_source.html#l00121">BedSmoother.hh:121</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_a58ff28fd406efac160671b5067fcf2e1_html_a58ff28fd406efac160671b5067fcf2e1"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_a58ff28fd406efac160671b5067fcf2e1.html#a58ff28fd406efac160671b5067fcf2e1">pism::stressbalance::BedSmoother::smooth_the_bed_on_proc0</a></div><div class="ttdeci">void smooth_the_bed_on_proc0()</div><div class="ttdoc">Computes the smoothed bed by a simple average over a rectangle of grid points.</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8cc_source.html#l00155">BedSmoother.cc:155</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_a706c3a4805bc78586d0e0d8e4973b7bb_html_a706c3a4805bc78586d0e0d8e4973b7bb"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_a706c3a4805bc78586d0e0d8e4973b7bb.html#a706c3a4805bc78586d0e0d8e4973b7bb">pism::stressbalance::BedSmoother::smoothed_bed</a></div><div class="ttdeci">const array::Scalar & smoothed_bed() const</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8cc_source.html#l00122">BedSmoother.cc:122</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_a71b068f8e7b3d3aa7235e6d1bec1f797_html_a71b068f8e7b3d3aa7235e6d1bec1f797"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_a71b068f8e7b3d3aa7235e6d1bec1f797.html#a71b068f8e7b3d3aa7235e6d1bec1f797">pism::stressbalance::BedSmoother::theta</a></div><div class="ttdeci">void theta(const array::Scalar &usurf, array::Scalar &result) const</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8cc_source.html#l00350">BedSmoother.cc:350</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_a7b2336a229c4cd4b7e0b08edd7c716eb_html_a7b2336a229c4cd4b7e0b08edd7c716eb"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_a7b2336a229c4cd4b7e0b08edd7c716eb.html#a7b2336a229c4cd4b7e0b08edd7c716eb">pism::stressbalance::BedSmoother::m_maxtl</a></div><div class="ttdeci">array::Scalar2 m_maxtl</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8hh_source.html#l00107">BedSmoother.hh:107</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_a84c1adc9a37d8099c419c21d14e045d9_html_a84c1adc9a37d8099c419c21d14e045d9"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_a84c1adc9a37d8099c419c21d14e045d9.html#a84c1adc9a37d8099c419c21d14e045d9">pism::stressbalance::BedSmoother::compute_coefficients_on_proc0</a></div><div class="ttdeci">void compute_coefficients_on_proc0()</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8cc_source.html#l00192">BedSmoother.cc:192</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_aa72b3eb0e614bc7111e99f39e66d0187_html_aa72b3eb0e614bc7111e99f39e66d0187"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_aa72b3eb0e614bc7111e99f39e66d0187.html#aa72b3eb0e614bc7111e99f39e66d0187">pism::stressbalance::BedSmoother::m_config</a></div><div class="ttdeci">const Config::ConstPtr m_config</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8hh_source.html#l00102">BedSmoother.hh:102</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_ab1c917c55fc9b6fc0e3265ed1ee71202_html_ab1c917c55fc9b6fc0e3265ed1ee71202"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_ab1c917c55fc9b6fc0e3265ed1ee71202.html#ab1c917c55fc9b6fc0e3265ed1ee71202">pism::stressbalance::BedSmoother::m_topgsmoothp0</a></div><div class="ttdeci">std::shared_ptr< petsc::Vec > m_topgsmoothp0</div><div class="ttdoc">smoothed bed elevation on processor 0</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8hh_source.html#l00119">BedSmoother.hh:119</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_ad07977b6a5e8b8df9963203bca80553b_html_ad07977b6a5e8b8df9963203bca80553b"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_ad07977b6a5e8b8df9963203bca80553b.html#ad07977b6a5e8b8df9963203bca80553b">pism::stressbalance::BedSmoother::m_C4p0</a></div><div class="ttdeci">std::shared_ptr< petsc::Vec > m_C4p0</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8hh_source.html#l00121">BedSmoother.hh:121</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_ad95e0c783c9d8318bb7eecf09284d1eb_html_ad95e0c783c9d8318bb7eecf09284d1eb"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_ad95e0c783c9d8318bb7eecf09284d1eb.html#ad95e0c783c9d8318bb7eecf09284d1eb">pism::stressbalance::BedSmoother::m_grid</a></div><div class="ttdeci">std::shared_ptr< const Grid > m_grid</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8hh_source.html#l00101">BedSmoother.hh:101</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_ae0db8dcdf5af87a7feb0bdb472b71227_html_ae0db8dcdf5af87a7feb0bdb472b71227"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_ae0db8dcdf5af87a7feb0bdb472b71227.html#ae0db8dcdf5af87a7feb0bdb472b71227">pism::stressbalance::BedSmoother::m_Nx</a></div><div class="ttdeci">int m_Nx</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8hh_source.html#l00112">BedSmoother.hh:112</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_ae13dd0bbf11b712bbef3eeaf93a8f527_html_ae13dd0bbf11b712bbef3eeaf93a8f527"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_ae13dd0bbf11b712bbef3eeaf93a8f527.html#ae13dd0bbf11b712bbef3eeaf93a8f527">pism::stressbalance::BedSmoother::preprocess_bed</a></div><div class="ttdeci">void preprocess_bed(const array::Scalar &topg)</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8cc_source.html#l00097">BedSmoother.cc:97</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_ae744391ca2db8b254d3b037da92cbbba_html_ae744391ca2db8b254d3b037da92cbbba"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_ae744391ca2db8b254d3b037da92cbbba.html#ae744391ca2db8b254d3b037da92cbbba">pism::stressbalance::BedSmoother::m_C3</a></div><div class="ttdeci">array::Scalar2 m_C3</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8hh_source.html#l00107">BedSmoother.hh:107</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_af200deb02932da18adb78d12a908346f_html_af200deb02932da18adb78d12a908346f"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother_af200deb02932da18adb78d12a908346f.html#af200deb02932da18adb78d12a908346f">pism::stressbalance::BedSmoother::m_C2p0</a></div><div class="ttdeci">std::shared_ptr< petsc::Vec > m_C2p0</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8hh_source.html#l00121">BedSmoother.hh:121</a></div></div>
<div class="ttc" id="aclasspism_1_1stressbalance_1_1BedSmoother_html"><div class="ttname"><a href="classpism_1_1stressbalance_1_1BedSmoother.html">pism::stressbalance::BedSmoother</a></div><div class="ttdoc">PISM bed smoother, plus bed roughness parameterization, based on Schoof (2003).</div><div class="ttdef"><b>Definition:</b> <a href="BedSmoother_8hh_source.html#l00085">BedSmoother.hh:85</a></div></div>
<div class="ttc" id="anamespacepism_a47d754ed3e959d5866b02a1b78b6a5b5_html_a47d754ed3e959d5866b02a1b78b6a5b5"><div class="ttname"><a href="namespacepism_a47d754ed3e959d5866b02a1b78b6a5b5.html#a47d754ed3e959d5866b02a1b78b6a5b5">pism::g</a></div><div class="ttdeci">static const double g</div><div class="ttdef"><b>Definition:</b> <a href="exactTestP_8cc_source.html#l00036">exactTestP.cc:36</a></div></div>
<div class="ttc" id="anamespacepism_html"><div class="ttname"><a href="namespacepism.html">pism</a></div><div class="ttdef"><b>Definition:</b> <a href="AgeColumnSystem_8cc_source.html#l00023">AgeColumnSystem.cc:23</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>