Chi-Tech
chi_mesh__ExtruderMeshGenerator.h
Go to the documentation of this file.
1/** \defgroup chi_mesh__ExtruderMeshGenerator chi_mesh.ExtruderMeshGenerator
2
3
4\ingroup MeshGenerator
5Extrudes 2D geometry. Extrusion layers are specified using an \ref chi_mesh__ExtrusionLayer specification which takes either pairs of parameters: Pair A = "n" and "z", or Pair B = "n" and "h". When pair A is used then the z-levels will be computed automatically. Vice versa, when pair B is used then the h-levels will be computed automatically. Layers can be specified with a mixture of Pair A and Pair B. For example: Two main layers, one specified using a height, and the other specified using a z-level.
6
7
8## Example usage:
9Create this object:
10\code
11params =
12{
13 param_name1 = value1,
14 param_name2 = value2,
15 --etc.
16}
17chi_mesh.ExtruderMeshGenerator.Create(params)
18\endcode
19## Required Input parameters
20\htmlonly
21
22<div style="display: block;">
23<button type="button" class="droppy2" style=
24"
25background-color: #edf0f5;
26color: #9373A5;
27cursor: pointer;
28border: none;
29text-align: left;
30outline: none;
31font-size: 15px;
32margin: 2px 2px;
33border: 2px solid #687372;
34display: block;
35width: 100%;
36vertical-align: middle;
37padding-top: 4px;
38padding-bottom: 0px;
39"
40><span class="arrow" style="padding-left: 0px;">►</span><TT><B>layers</B></TT><span style="color: #c4c1c0;">&nbsp &nbsp &nbsp &nbspA list of layers</span></button>
41<div class="content" style="display: none;">
42 <p><I>type=</I><span style="color: blue;"><TT>ARRAY</TT></span>. A list of layers
43</p>
44<div class="content" style="padding-left: 20px;">
45<HR><button type="button" class="droppy2" style=
46"
47background-color: #ffffff;
48color: #000000;
49cursor: pointer;
50border: none;
51text-align: left;
52outline: none;
53font-size: 15px;
54margin: 2px 2px;
55
56display: block;
57vertical-align: middle;
58padding-top: 4px;
59padding-bottom: 0px;
60"
61><span class="arrow" style="padding-left: 0px;">►</span><B>Optional parameters for chi_mesh::ExtrusionLayer</B></button>
62<div class="content" style="display: none;padding-left: 20px;">
63<div style="display: block;">
64<button type="button" class="droppy2" style=
65"
66background-color: #edf0f5;
67color: #9373A5;
68cursor: pointer;
69border: none;
70text-align: left;
71outline: none;
72font-size: 15px;
73margin: 2px 2px;
74border: 2px solid #687372;
75display: block;
76width: 100%;
77vertical-align: middle;
78padding-top: 4px;
79padding-bottom: 0px;
80"
81><span class="arrow" style="padding-left: 0px;">►</span><TT><B>h</B></TT><span style="color: #c4c1c0;">&nbsp &nbsp &nbsp &nbspLayer height</span></button>
82<div class="content" style="display: none;">
83 <p><I>type=</I><span style="color: blue;"><TT>FLOAT</TT></span>. Layer height. Cannot be specified if "z" is specified.
84</p>
85 <p>Default value: <TT style="color:grey">1(double)</TT></p>
86</div>
87
88<button type="button" class="droppy2" style=
89"
90background-color: #edf0f5;
91color: #9373A5;
92cursor: pointer;
93border: none;
94text-align: left;
95outline: none;
96font-size: 15px;
97margin: 2px 2px;
98border: 2px solid #687372;
99display: block;
100width: 100%;
101vertical-align: middle;
102padding-top: 4px;
103padding-bottom: 0px;
104"
105><span class="arrow" style="padding-left: 0px;">►</span><TT><B>n</B></TT><span style="color: #c4c1c0;">&nbsp &nbsp &nbsp &nbspNumber of sub-layers</span></button>
106<div class="content" style="display: none;">
107 <p><I>type=</I><span style="color: blue;"><TT>INTEGER</TT></span>. Number of sub-layers
108</p>
109 <p>Default value: <TT style="color:grey">1</TT></p>
110 <p>Allowable values: <TT>> 0</TT></p>
111</div>
112
113<button type="button" class="droppy2" style=
114"
115background-color: #edf0f5;
116color: #9373A5;
117cursor: pointer;
118border: none;
119text-align: left;
120outline: none;
121font-size: 15px;
122margin: 2px 2px;
123border: 2px solid #687372;
124display: block;
125width: 100%;
126vertical-align: middle;
127padding-top: 4px;
128padding-bottom: 0px;
129"
130><span class="arrow" style="padding-left: 0px;">►</span><TT><B>z</B></TT><span style="color: #c4c1c0;">&nbsp &nbsp &nbsp &nbspThe z-coordinate at the top of the layer</span></button>
131<div class="content" style="display: none;">
132 <p><I>type=</I><span style="color: blue;"><TT>FLOAT</TT></span>. The z-coordinate at the top of the layer. Cannot be specified if "n" is specified.
133</p>
134 <p>Default value: <TT style="color:grey">0(double)</TT></p>
135</div>
136
137</div>
138</div>
139</div>
140</div>
141
142</div>
143\endhtmlonly
144
145## Optional Input parameters
146\htmlonly
147
148<div style="display: block;">
149<button type="button" class="droppy2" style=
150"
151background-color: #edf0f5;
152color: #9373A5;
153cursor: pointer;
154border: none;
155text-align: left;
156outline: none;
157font-size: 15px;
158margin: 2px 2px;
159border: 2px solid #687372;
160display: block;
161width: 100%;
162vertical-align: middle;
163padding-top: 4px;
164padding-bottom: 0px;
165"
166><span class="arrow" style="padding-left: 0px;">►</span><TT><B>bottom_boundary_name</B></TT><span style="color: #c4c1c0;">&nbsp &nbsp &nbsp &nbspThe name to associate with the bottom boundary</span></button>
167<div class="content" style="display: none;">
168 <p><I>type=</I><span style="color: blue;"><TT>STRING</TT></span>. The name to associate with the bottom boundary.
169</p>
170 <p>Default value: <TT style="color:grey">"ZMIN"</TT></p>
171</div>
172
173<button type="button" class="droppy2" style=
174"
175background-color: #edf0f5;
176color: #9373A5;
177cursor: pointer;
178border: none;
179text-align: left;
180outline: none;
181font-size: 15px;
182margin: 2px 2px;
183border: 2px solid #687372;
184display: block;
185width: 100%;
186vertical-align: middle;
187padding-top: 4px;
188padding-bottom: 0px;
189"
190><span class="arrow" style="padding-left: 0px;">►</span><TT><B>inputs</B></TT><span style="color: #c4c1c0;">&nbsp &nbsp &nbsp &nbspA list of handles to MeshGenerator objects</span></button>
191<div class="content" style="display: none;">
192 <p><I>type=</I><span style="color: blue;"><TT>ARRAY</TT></span>. A list of handles to MeshGenerator objects
193</p>
194 <p>Default value: <TT style="color:grey"></TT></p>
195</div>
196
197<button type="button" class="droppy2" style=
198"
199background-color: #edf0f5;
200color: #9373A5;
201cursor: pointer;
202border: none;
203text-align: left;
204outline: none;
205font-size: 15px;
206margin: 2px 2px;
207border: 2px solid #687372;
208display: block;
209width: 100%;
210vertical-align: middle;
211padding-top: 4px;
212padding-bottom: 0px;
213"
214><span class="arrow" style="padding-left: 0px;">►</span><TT><B>partitioner</B></TT><span style="color: #c4c1c0;">&nbsp &nbsp &nbsp &nbspHandle to a GraphPartitioner object to use for parallel partitioning</span></button>
215<div class="content" style="display: none;">
216 <p><I>type=</I><span style="color: blue;"><TT>INTEGER</TT></span>. Handle to a GraphPartitioner object to use for parallel partitioning.This will default to PETScGraphPartitioner with a "parmetis" setting
217</p>
218 <p>Default value: <TT style="color:grey">0</TT></p>
219</div>
220
221<button type="button" class="droppy2" style=
222"
223background-color: #edf0f5;
224color: #9373A5;
225cursor: pointer;
226border: none;
227text-align: left;
228outline: none;
229font-size: 15px;
230margin: 2px 2px;
231border: 2px solid #687372;
232display: block;
233width: 100%;
234vertical-align: middle;
235padding-top: 4px;
236padding-bottom: 0px;
237"
238><span class="arrow" style="padding-left: 0px;">►</span><TT><B>replicated_mesh</B></TT><span style="color: #c4c1c0;">&nbsp &nbsp &nbsp &nbspFlag, when set, makes the mesh appear in full fidelity on each process</span></button>
239<div class="content" style="display: none;">
240 <p><I>type=</I><span style="color: blue;"><TT>BOOLEAN</TT></span>. Flag, when set, makes the mesh appear in full fidelity on each process
241</p>
242 <p>Default value: <TT style="color:grey">false</TT></p>
243</div>
244
245<button type="button" class="droppy2" style=
246"
247background-color: #edf0f5;
248color: #9373A5;
249cursor: pointer;
250border: none;
251text-align: left;
252outline: none;
253font-size: 15px;
254margin: 2px 2px;
255border: 2px solid #687372;
256display: block;
257width: 100%;
258vertical-align: middle;
259padding-top: 4px;
260padding-bottom: 0px;
261"
262><span class="arrow" style="padding-left: 0px;">►</span><TT><B>scale</B></TT><span style="color: #c4c1c0;">&nbsp &nbsp &nbsp &nbspUniform scale to apply to the mesh after reading</span></button>
263<div class="content" style="display: none;">
264 <p><I>type=</I><span style="color: blue;"><TT>FLOAT</TT></span>. Uniform scale to apply to the mesh after reading.
265</p>
266 <p>Default value: <TT style="color:grey">1(double)</TT></p>
267</div>
268
269<button type="button" class="droppy2" style=
270"
271background-color: #edf0f5;
272color: #9373A5;
273cursor: pointer;
274border: none;
275text-align: left;
276outline: none;
277font-size: 15px;
278margin: 2px 2px;
279border: 2px solid #687372;
280display: block;
281width: 100%;
282vertical-align: middle;
283padding-top: 4px;
284padding-bottom: 0px;
285"
286><span class="arrow" style="padding-left: 0px;">►</span><TT><B>top_boundary_name</B></TT><span style="color: #c4c1c0;">&nbsp &nbsp &nbsp &nbspThe name to associate with the top boundary</span></button>
287<div class="content" style="display: none;">
288 <p><I>type=</I><span style="color: blue;"><TT>STRING</TT></span>. The name to associate with the top boundary.
289</p>
290 <p>Default value: <TT style="color:grey">"ZMAX"</TT></p>
291</div>
292
293</div>
294\endhtmlonly
295
296\htmlonly
297
298<script>
299
300{
301 var coll = document.getElementsByClassName("droppy2");
302 var i;
303
304 for (i = 0; i < coll.length; i++) {
305 coll[i].addEventListener("click", function() {
306 this.classList.toggle("active");
307 var content = this.nextElementSibling;
308 if (content.style.display === "block") {
309 content.style.display = "none";
310 this.childNodes[0].innerText = "►"
311 } else {
312 content.style.display = "block";
313 this.children[0].innerText = "▼"
314 }
315 });
316 }
317}</script>
318
319\endhtmlonly
320
321### Usage Examples:
322\ref test_framework_chi_math_SpatialDiscretization_CG_mesh_3dprism_lua
323\ref test_framework_chi_math_SpatialDiscretization_DG_mesh_3dprism_lua
324\ref test_framework_chi_mesh_MeshGenerators_meshgen_exampleD_lua
325\ref test_framework_chi_mesh_MeshGenerators_meshgen_exampleC_lua
326\ref test_framework_chi_mesh_MeshGenerators_meshgen_extruder_KBA_lua
327\ref test_modules_Diffusion_Diffusion3D_2Ortho_lua
328\ref test_modules_Diffusion_Diffusion3D_3Unstructured_IP_lua
329\ref test_modules_Diffusion_Diffusion3D_3Unstructured_lua
330\ref test_modules_LinearBoltzmannSolvers_Transport_Steady_Transport3D_1a_Extruder_lua
331\ref test_modules_LinearBoltzmannSolvers_Transport_Steady_Transport3D_1Poly_qmom_part1_lua
332\ref test_modules_LinearBoltzmannSolvers_Transport_Steady_Transport3D_2Unstructured_lua
333\ref test_modules_LinearBoltzmannSolvers_Transport_Steady_Transport3D_6BSplitMesh_lua
334\ref test_modules_LinearBoltzmannSolvers_Transport_Steady_Transport3D_1Poly_qmom_part2_lua
335\ref test_modules_LinearBoltzmannSolvers_Transport_Steady_Transport3D_4Cycles1_lua
336*/