Chi-Tech
chi_mesh__SplitFileMeshGenerator.h
Go to the documentation of this file.
1/** \defgroup chi_mesh__SplitFileMeshGenerator chi_mesh.SplitFileMeshGenerator
2
3
4\ingroup doc_MeshGenerators
5Generates the mesh only on location 0, thereafter partitions the mesh but instead of broadcasting the mesh to other locations it creates binary mesh files for each location.
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.SplitFileMeshGenerator.Create(params)
18\endcode
19## Optional 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>inputs</B></TT><span style="color: #c4c1c0;">&nbsp &nbsp &nbsp &nbspA list of handles to MeshGenerator objects</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 handles to MeshGenerator objects
43</p>
44 <p>Default value: <TT style="color:grey"></TT></p>
45</div>
46
47<button type="button" class="droppy2" style=
48"
49background-color: #edf0f5;
50color: #9373A5;
51cursor: pointer;
52border: none;
53text-align: left;
54outline: none;
55font-size: 15px;
56margin: 2px 2px;
57border: 2px solid #687372;
58display: block;
59width: 100%;
60vertical-align: middle;
61padding-top: 4px;
62padding-bottom: 0px;
63"
64><span class="arrow" style="padding-left: 0px;">►</span><TT><B>num_partitions</B></TT><span style="color: #c4c1c0;">&nbsp &nbsp &nbsp &nbspThe number of partitions to generate</span></button>
65<div class="content" style="display: none;">
66 <p><I>type=</I><span style="color: blue;"><TT>INTEGER</TT></span>. The number of partitions to generate. If zero will default to the number of MPI processes. Is ignored if the number of MPI processes > 1.
67</p>
68 <p>Default value: <TT style="color:grey">0</TT></p>
69</div>
70
71<button type="button" class="droppy2" style=
72"
73background-color: #edf0f5;
74color: #9373A5;
75cursor: pointer;
76border: none;
77text-align: left;
78outline: none;
79font-size: 15px;
80margin: 2px 2px;
81border: 2px solid #687372;
82display: block;
83width: 100%;
84vertical-align: middle;
85padding-top: 4px;
86padding-bottom: 0px;
87"
88><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>
89<div class="content" style="display: none;">
90 <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
91</p>
92 <p>Default value: <TT style="color:grey">0</TT></p>
93</div>
94
95<button type="button" class="droppy2" style=
96"
97background-color: #edf0f5;
98color: #9373A5;
99cursor: pointer;
100border: none;
101text-align: left;
102outline: none;
103font-size: 15px;
104margin: 2px 2px;
105border: 2px solid #687372;
106display: block;
107width: 100%;
108vertical-align: middle;
109padding-top: 4px;
110padding-bottom: 0px;
111"
112><span class="arrow" style="padding-left: 0px;">►</span><TT><B>read_only</B></TT><span style="color: #c4c1c0;">&nbsp &nbsp &nbsp &nbspControls whether the split mesh is recreated or just read</span></button>
113<div class="content" style="display: none;">
114 <p><I>type=</I><span style="color: blue;"><TT>BOOLEAN</TT></span>. Controls whether the split mesh is recreated or just read.
115</p>
116 <p>Default value: <TT style="color:grey">false</TT></p>
117</div>
118
119<button type="button" class="droppy2" style=
120"
121background-color: #edf0f5;
122color: #9373A5;
123cursor: pointer;
124border: none;
125text-align: left;
126outline: none;
127font-size: 15px;
128margin: 2px 2px;
129border: 2px solid #687372;
130display: block;
131width: 100%;
132vertical-align: middle;
133padding-top: 4px;
134padding-bottom: 0px;
135"
136><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>
137<div class="content" style="display: none;">
138 <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
139</p>
140 <p>Default value: <TT style="color:grey">false</TT></p>
141</div>
142
143<button type="button" class="droppy2" style=
144"
145background-color: #edf0f5;
146color: #9373A5;
147cursor: pointer;
148border: none;
149text-align: left;
150outline: none;
151font-size: 15px;
152margin: 2px 2px;
153border: 2px solid #687372;
154display: block;
155width: 100%;
156vertical-align: middle;
157padding-top: 4px;
158padding-bottom: 0px;
159"
160><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>
161<div class="content" style="display: none;">
162 <p><I>type=</I><span style="color: blue;"><TT>FLOAT</TT></span>. Uniform scale to apply to the mesh after reading.
163</p>
164 <p>Default value: <TT style="color:grey">1(double)</TT></p>
165</div>
166
167<button type="button" class="droppy2" style=
168"
169background-color: #edf0f5;
170color: #9373A5;
171cursor: pointer;
172border: none;
173text-align: left;
174outline: none;
175font-size: 15px;
176margin: 2px 2px;
177border: 2px solid #687372;
178display: block;
179width: 100%;
180vertical-align: middle;
181padding-top: 4px;
182padding-bottom: 0px;
183"
184><span class="arrow" style="padding-left: 0px;">►</span><TT><B>split_file_prefix</B></TT><span style="color: #c4c1c0;">&nbsp &nbsp &nbsp &nbspPrefix to use for all split mesh files</span></button>
185<div class="content" style="display: none;">
186 <p><I>type=</I><span style="color: blue;"><TT>STRING</TT></span>. Prefix to use for all split mesh files
187</p>
188 <p>Default value: <TT style="color:grey">"split_mesh"</TT></p>
189</div>
190
191<button type="button" class="droppy2" style=
192"
193background-color: #edf0f5;
194color: #9373A5;
195cursor: pointer;
196border: none;
197text-align: left;
198outline: none;
199font-size: 15px;
200margin: 2px 2px;
201border: 2px solid #687372;
202display: block;
203width: 100%;
204vertical-align: middle;
205padding-top: 4px;
206padding-bottom: 0px;
207"
208><span class="arrow" style="padding-left: 0px;">►</span><TT><B>split_mesh_dir_path</B></TT><span style="color: #c4c1c0;">&nbsp &nbsp &nbsp &nbspPath of the directory to be created for containing the split meshes</span></button>
209<div class="content" style="display: none;">
210 <p><I>type=</I><span style="color: blue;"><TT>STRING</TT></span>. Path of the directory to be created for containing the split meshes.
211</p>
212 <p>Default value: <TT style="color:grey">"SplitMesh"</TT></p>
213</div>
214
215<button type="button" class="droppy2" style=
216"
217background-color: #edf0f5;
218color: #9373A5;
219cursor: pointer;
220border: none;
221text-align: left;
222outline: none;
223font-size: 15px;
224margin: 2px 2px;
225border: 2px solid #687372;
226display: block;
227width: 100%;
228vertical-align: middle;
229padding-top: 4px;
230padding-bottom: 0px;
231"
232><span class="arrow" style="padding-left: 0px;">►</span><TT><B>verbosity_level</B></TT><span style="color: #c4c1c0;">&nbsp &nbsp &nbsp &nbspVerbosity level</span></button>
233<div class="content" style="display: none;">
234 <p><I>type=</I><span style="color: blue;"><TT>INTEGER</TT></span>. Verbosity level. 1 will report each 10% complete. 2 will print each part and the number of local cells it wrote.
235</p>
236 <p>Default value: <TT style="color:grey">1</TT></p>
237</div>
238
239</div>
240\endhtmlonly
241
242\htmlonly
243
244<script>
245
246{
247 var coll = document.getElementsByClassName("droppy2");
248 var i;
249
250 for (i = 0; i < coll.length; i++) {
251 coll[i].addEventListener("click", function() {
252 this.classList.toggle("active");
253 var content = this.nextElementSibling;
254 if (content.style.display === "block") {
255 content.style.display = "none";
256 this.childNodes[0].innerText = "►"
257 } else {
258 content.style.display = "block";
259 this.children[0].innerText = "▼"
260 }
261 });
262 }
263}</script>
264
265\endhtmlonly
266
267### Usage Examples:
268\ref test_modules_LinearBoltzmannSolvers_Transport_Steady_Transport3D_6ASplitMesh_lua
269\ref test_modules_LinearBoltzmannSolvers_Transport_Steady_Transport3D_6BSplitMesh_lua
270*/