1 <!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
\r
6 <title>Defining hypotheses TUI</title>
\r
7 <meta http-equiv="content-type" content="text/html; charset=windows-1252">
\r
8 <meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style>
\r
10 P { margin-top:0pt; margin-bottom:0pt; }
\r
13 </style><style type="text/css">
\r
15 p.whs1 { font-weight:bold; }
\r
16 p.whs2 { font-family:'Lucida Console' , monospace; }
\r
17 p.whs3 { font-family:'Times New Roman' , serif; }
\r
18 p.whs4 { margin-top:0pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }
\r
19 p.whs5 { margin-top:0pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }
\r
20 p.whs6 { margin-top:0pt; margin-bottom:0pt; }
\r
22 </style><script type="text/javascript" language="JavaScript">
\r
24 if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
\r
26 var strNSS = "<style type='text/css'>";
\r
27 strNSS += "p.whs4 {margin-top:1pt;margin-bottom:1pt; }";
\r
28 strNSS += "p.whs5 {margin-top:1pt;margin-bottom:1pt; }";
\r
29 strNSS += "p.whs6 {margin-top:1pt;margin-bottom:1pt; }";
\r
30 strNSS +="</style>";
\r
31 document.write(strNSS);
\r
35 <script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
\r
38 if (innerWidth != origWidth || innerHeight != origHeight)
\r
41 if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
\r
42 origWidth = innerWidth;
\r
43 origHeight = innerHeight;
\r
49 <style type="text/css">
\r
51 div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
\r
52 p.WebHelpNavBar { text-align:right; }
\r
54 </style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
\r
55 <script type="text/javascript" language="javascript" src="whver.js"></script>
\r
56 <script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
\r
57 <script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
\r
58 <script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
\r
59 <script type="text/javascript" language="javascript1.2">
\r
61 if (window.gbWhTopic)
\r
63 if (window.setRelStartPage)
\r
65 addTocInfo("MESH module\nTUI Scripts\nDefining Hypotheses");
\r
66 addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
\r
67 addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
\r
72 if (window.setRelStartPage)
\r
74 setRelStartPage("index.htm");
\r
84 document.location.reload();
\r
88 <body><script type="text/javascript" language="javascript1.2">
\r
90 if (window.writeIntopicBar)
\r
94 <h1>Defining Hypotheses and Algorithms</h1>
\r
96 <h3>Defining 1D Hypotheses</h3>
\r
98 <p class="whs1"><a name=bookmark>1D Arithmetic</a></p>
\r
102 <p class="whs2"><span style="font-family: 'Lucida Console', monospace;">import
\r
105 <p class="whs2">import smesh</p>
\r
107 <p class="whs2"> </p>
\r
109 <p class="whs3"># create a box</p>
\r
111 <p class="whs2">box = geompy.MakeBoxDXDYDZ(10.,
\r
114 <p class="whs2">geompy.addToStudy(box,
\r
115 "Box")</p>
\r
117 <p class="whs2"> </p>
\r
119 <p class="whs3"># create a hexahedral
\r
120 mesh on the box</p>
\r
122 <p class="whs2">hexa = smesh.Mesh(box,
\r
123 "Box : hexahedrical mesh")</p>
\r
125 <p class="whs2"> </p>
\r
127 <p class="whs3"># create a Regular 1D
\r
128 algorithm for edges</p>
\r
130 <p class="whs2">algo1D = hexa.Segment()</p>
\r
132 <p class="whs2"> </p>
\r
134 <p class="whs3"># define "Arithmetic1D"
\r
135 hypothesis to cut all edges in several segments with increasing arithmetic
\r
138 <p class="whs2">algo1D.Arithmetic1D(1,
\r
141 <p class="whs2"> </p>
\r
143 <p class="whs3"># create a quadrangle
\r
144 2D algorithm for faces</p>
\r
146 <p class="whs2">hexa.Quadrangle()</p>
\r
148 <p class="whs2"> </p>
\r
150 <p class="whs3"># create a hexahedron
\r
151 3D algorithm for solids</p>
\r
153 <p class="whs2">hexa.Hexahedron()</p>
\r
155 <p class="whs2"> </p>
\r
157 <p class="whs3"># compute the mesh</p>
\r
159 <p class="whs2">hexa.Compute() </p>
\r
161 <p class="whs2"> </p>
\r
163 <h4><a name=bookmark9>Deflection 1D and Number of Segments</a></h4>
\r
165 <p class="whs2"><span style="font-family: 'Lucida Console', monospace;">import
\r
168 <p class="whs2">import smesh</p>
\r
170 <p class="whs2"> </p>
\r
172 <p class="whs3"># create a face from
\r
173 arc and straight segment</p>
\r
175 <p class="whs2">px = geompy.MakeVertex(100.,
\r
179 <p class="whs2">py = geompy.MakeVertex(0.
\r
183 <p class="whs2">pz = geompy.MakeVertex(0.
\r
184 , 0. ,
\r
187 <p class="whs2"> </p>
\r
189 <p class="whs2">exy = geompy.MakeEdge(px,
\r
192 <p class="whs2">arc = geompy.MakeArc(py,
\r
195 <p class="whs2"> </p>
\r
197 <p class="whs2">wire = geompy.MakeWire([exy,
\r
200 <p class="whs2"> </p>
\r
202 <p class="whs2">isPlanarFace = 1</p>
\r
204 <p class="whs2">face1 = geompy.MakeFace(wire,
\r
207 <p class="whs2">geompy.addToStudy(face1,"Face1")</p>
\r
209 <p class="whs2"> </p>
\r
211 <p class="whs3"># get edges from the
\r
214 <p class="whs2">e_straight,e_arc =
\r
215 geompy.SubShapeAll(face1, geompy.ShapeType["EDGE"])</p>
\r
217 <p class="whs2">geompy.addToStudyInFather(face1,
\r
218 e_arc, "Arc Edge")</p>
\r
220 <p class="whs2"> </p>
\r
222 <p class="whs3"># create hexahedral mesh</p>
\r
224 <p class="whs2">hexa = smesh.Mesh(face1,
\r
225 "Face : triangle mesh")</p>
\r
227 <p class="whs2"> </p>
\r
229 <p class="whs3"># define "NumberOfSegments"
\r
230 hypothesis to cut a straight edge in a fixed number of segments</p>
\r
232 <p class="whs2">algo1D = hexa.Segment()</p>
\r
234 <p class="whs2">algo1D.NumberOfSegments(6)</p>
\r
236 <p class="whs2"> </p>
\r
238 <p class="whs3"># define "MaxElementArea"
\r
241 <p class="whs2">algo2D = hexa.Triangle()</p>
\r
243 <p class="whs2">algo2D.MaxElementArea(70.0)</p>
\r
245 <p class="whs2"> </p>
\r
247 <p class="whs3"># define a local "Deflection1D"
\r
248 hypothesis on the arc</p>
\r
250 <p class="whs2">algo_local = hexa.Segment(e_arc)</p>
\r
252 <p class="whs2">algo_local.Deflection1D(1.0)</p>
\r
254 <p class="whs2"> </p>
\r
256 <p class="whs3"># compute the mesh</p>
\r
258 <p class="whs2">hexa.Compute() </p>
\r
260 <h4><a name=bookmark2>Start and End Length</a></h4>
\r
262 <p class="whs2"><span style="font-family: 'Lucida Console', monospace;">from
\r
263 geompy import *</span></p>
\r
265 <p class="whs2">import smesh</p>
\r
267 <p class="whs2"> </p>
\r
269 <p class="whs3"># create a box</p>
\r
271 <p class="whs2">box = MakeBoxDXDYDZ(10.,
\r
274 <p class="whs2">addToStudy(box, "Box")</p>
\r
276 <p class="whs2"> </p>
\r
278 <p class="whs3"># get one edge of the
\r
279 box to put local hypothesis on</p>
\r
281 <p class="whs2">p5 = MakeVertex(5.,
\r
284 <p class="whs2">EdgeX = GetEdgeNearPoint(box,
\r
287 <p class="whs2">addToStudyInFather(box,
\r
288 EdgeX, "Edge [0,0,0 - 10,0,0]")</p>
\r
290 <p class="whs2"> </p>
\r
292 <p class="whs3"># create a hexahedral
\r
293 mesh on the box</p>
\r
295 <p class="whs2">hexa = smesh.Mesh(box,
\r
296 "Box : hexahedrical mesh")</p>
\r
298 <p class="whs2"> </p>
\r
300 <p class="whs3"># set algorithms</p>
\r
302 <p class="whs2">algo1D = hexa.Segment()</p>
\r
304 <p class="whs2">hexa.Quadrangle()</p>
\r
306 <p class="whs2">hexa.Hexahedron()</p>
\r
308 <p class="whs2"> </p>
\r
310 <p class="whs3"># define "NumberOfSegments"
\r
311 hypothesis to cut an edge in a fixed number of segments</p>
\r
313 <p class="whs2">algo1D.NumberOfSegments(4)</p>
\r
315 <p class="whs2"> </p>
\r
317 <p class="whs3"># create a local hypothesis</p>
\r
319 <p class="whs2">algo_local = hexa.Segment(EdgeX)</p>
\r
321 <p class="whs2"> </p>
\r
323 <p class="whs3"># define "StartEndLength"
\r
324 hypothesis to cut an edge in several segments with increasing geometric
\r
327 <p class="whs2">algo_local.StartEndLength(1,
\r
330 <p class="whs2"> </p>
\r
332 <p class="whs3"># define "Propagation"
\r
333 hypothesis that propagates all other hypothesis</p>
\r
335 <p class="whs3"># on all edges on the
\r
336 opposite side in case of quadrangular faces</p>
\r
338 <p class="whs2">algo_local.Propagation()</p>
\r
340 <p class="whs2"> </p>
\r
342 <p class="whs3"># compute the mesh</p>
\r
344 <p class="whs2">hexa.Compute() </p>
\r
346 <h4><a name=bookmark3>Average Length</a></h4>
\r
348 <p class="whs2"><span style="font-family: 'Lucida Console', monospace;">from
\r
349 geompy import *</span></p>
\r
351 <p class="whs2">import smesh</p>
\r
353 <p class="whs2"> </p>
\r
355 <p class="whs3"># create a box</p>
\r
357 <p class="whs2">box = MakeBoxDXDYDZ(10.,
\r
360 <p class="whs2">addToStudy(box, "Box")</p>
\r
362 <p class="whs2"> </p>
\r
364 <p class="whs3"># get one edge of the
\r
365 box to put local hypothesis on</p>
\r
367 <p class="whs2">p5 = MakeVertex(5.,
\r
370 <p class="whs2">EdgeX = GetEdgeNearPoint(box,
\r
373 <p class="whs2">addToStudyInFather(box,
\r
374 EdgeX, "Edge [0,0,0 - 10,0,0]")</p>
\r
376 <p class="whs2"> </p>
\r
378 <p class="whs3"># create a hexahedral
\r
379 mesh on the box</p>
\r
381 <p class="whs2">hexa = smesh.Mesh(box,
\r
382 "Box : hexahedrical mesh")</p>
\r
384 <p class="whs2"> </p>
\r
386 <p class="whs3"># set algorithms</p>
\r
388 <p class="whs2">algo1D = hexa.Segment()</p>
\r
390 <p class="whs2">hexa.Quadrangle()</p>
\r
392 <p class="whs2">hexa.Hexahedron()</p>
\r
394 <p class="whs2"> </p>
\r
396 <p class="whs3"># define "NumberOfSegments"
\r
397 hypothesis to cut all edges in a fixed number of segments</p>
\r
399 <p class="whs2">algo1D.NumberOfSegments(4)</p>
\r
401 <p class="whs2"> </p>
\r
403 <p class="whs3"># create a sub-mesh</p>
\r
405 <p class="whs2">algo_local = hexa.Segment(EdgeX)</p>
\r
407 <p class="whs2"> </p>
\r
409 <p class="whs3"># define "LocalLength"
\r
410 hypothesis to cut an edge in several segments with the same length</p>
\r
412 <p class="whs2">algo_local.LocalLength(2.)</p>
\r
414 <p class="whs2"> </p>
\r
416 <p class="whs3"># define "Propagation"
\r
417 hypothesis that propagates all other hypothesis</p>
\r
419 <p class="whs3"># on all edges on the
\r
420 opposite side in case of quadrangular faces</p>
\r
422 <p class="whs2">algo_local.Propagation()</p>
\r
424 <p class="whs2"> </p>
\r
426 <p class="whs3"># compute the mesh</p>
\r
428 <p class="whs2">hexa.Compute() </p>
\r
430 <h3>Defining 2D and 3D hypotheses</h3>
\r
432 <h4><a name=bookmark4>Maximum Element Area</a></h4>
\r
434 <p class="whs4"><span style="font-family: 'Lucida Console', monospace;">import
\r
437 <p class="whs4">import smesh</p>
\r
439 <p class="whs4">import salome </p>
\r
441 <p class="whs4"> </p>
\r
443 <p class="whs5"># create a face</p>
\r
445 <p class="whs4">px =
\r
446 geompy.MakeVertex(100., 0. ,
\r
449 <p class="whs4">py =
\r
450 geompy.MakeVertex(0. ,
\r
451 100., 0. )</p>
\r
453 <p class="whs4">pz =
\r
454 geompy.MakeVertex(0. ,
\r
455 0. , 100.)</p>
\r
457 <p class="whs4"> </p>
\r
459 <p class="whs4">vxy = geompy.MakeVector(px,
\r
462 <p class="whs4">arc = geompy.MakeArc(py,
\r
465 <p class="whs4">wire = geompy.MakeWire([vxy,
\r
468 <p class="whs4"> </p>
\r
470 <p class="whs4">isPlanarFace = 1</p>
\r
472 <p class="whs4">face = geompy.MakeFace(wire,
\r
475 <p class="whs4"> </p>
\r
477 <p class="whs5"># add the face in the
\r
480 <p class="whs4">id_face = geompy.addToStudy(face,
\r
481 "Face to be meshed")</p>
\r
483 <p class="whs4"> </p>
\r
485 <p class="whs5"># create a mesh</p>
\r
487 <p class="whs4">tria_mesh = smesh.Mesh(face,
\r
488 "Face : triangulation")</p>
\r
490 <p class="whs4"> </p>
\r
492 <p class="whs5"># define 1D meshing:</p>
\r
494 <p class="whs4">algo = tria_mesh.Segment()</p>
\r
496 <p class="whs4">algo.NumberOfSegments(20)</p>
\r
498 <p class="whs4"> </p>
\r
500 <p class="whs5"># define 2D meshing:</p>
\r
502 <p class="whs5"> </p>
\r
504 <p class="whs5"># assign triangulation
\r
507 <p class="whs4">algo = tria_mesh.Triangle()</p>
\r
509 <p class="whs4"> </p>
\r
511 <p class="whs5"># apply "Max Element
\r
512 Area" hypothesis to each triangle</p>
\r
514 <p class="whs4">algo.MaxElementArea(100)</p>
\r
516 <p class="whs4"> </p>
\r
518 <p class="whs5"># compute the mesh</p>
\r
520 <p class="whs4">tria_mesh.Compute()
\r
523 <p class="whs4"> </p>
\r
525 <h4><a name=bookmark5>Maximum Element Volume</a></h4>
\r
527 <p class="whs4"><span style="font-family: 'Lucida Console', monospace;">import
\r
530 <p class="whs4">import smesh</p>
\r
532 <p class="whs4"> </p>
\r
534 <p class="whs5"># create a cylinder</p>
\r
536 <p class="whs4">cyl = geompy.MakeCylinderRH(30.,
\r
539 <p class="whs4">geompy.addToStudy(cyl,
\r
540 "cyl")</p>
\r
542 <p class="whs4"> </p>
\r
544 <p class="whs5"># create a mesh on
\r
547 <p class="whs4">tetra = smesh.Mesh(cyl,
\r
548 "Cylinder : tetrahedrical mesh")</p>
\r
550 <p class="whs4"> </p>
\r
552 <p class="whs5"># assign algorithms</p>
\r
554 <p class="whs4">algo1D = tetra.Segment()</p>
\r
556 <p class="whs4">algo2D = tetra.Triangle()</p>
\r
558 <p class="whs4">algo3D = tetra.Tetrahedron(smesh.NETGEN)</p>
\r
560 <p class="whs4"> </p>
\r
562 <p class="whs5"># assign 1D and 2D
\r
565 <p class="whs4">algo1D.NumberOfSegments(7)</p>
\r
567 <p class="whs4">algo2D.MaxElementArea(150.)</p>
\r
569 <p class="whs4"> </p>
\r
571 <p class="whs5"># assign Max Element
\r
572 Volume hypothesis</p>
\r
574 <p class="whs4">algo3D.MaxElementVolume(200.)</p>
\r
576 <p class="whs4"> </p>
\r
578 <p class="whs5"># compute the mesh</p>
\r
580 <p class="whs4">ret = tetra.Compute()</p>
\r
582 <p class="whs4">if ret == 0:</p>
\r
584 <p class="whs4"> print
\r
585 "probleme when computing the mesh"</p>
\r
587 <p class="whs4">else:</p>
\r
589 <p class="whs4"> print
\r
590 "Computation succeded" </p>
\r
592 <h4><a name=bookmark6>Length from Edges</a></h4>
\r
594 <p class="whs2"><span style="font-family: 'Lucida Console', monospace;">import
\r
597 <p class="whs2">import smesh</p>
\r
599 <p class="whs2"> </p>
\r
601 <p class="whs3"># create sketchers</p>
\r
603 <p class="whs2">sketcher1 = geompy.MakeSketcher("Sketcher:F
\r
604 0 0:TT 70 0:TT 70 70:TT 0 70:WW")</p>
\r
606 <p class="whs2">sketcher2 = geompy.MakeSketcher("Sketcher:F
\r
607 20 20:TT 50 20:TT 50 50:TT 20 50:WW")</p>
\r
609 <p class="whs2"> </p>
\r
611 <p class="whs3"># create a face from
\r
614 <p class="whs2">isPlanarFace = 1</p>
\r
616 <p class="whs2">face1 = geompy.MakeFaces([sketcher1,
\r
617 sketcher2], isPlanarFace)</p>
\r
619 <p class="whs2">geompy.addToStudy(face1,
\r
620 "Face1")</p>
\r
622 <p class="whs2"> </p>
\r
624 <p class="whs3"># create a mesh</p>
\r
626 <p class="whs2">tria = smesh.Mesh(face1,
\r
627 "Face : triangle 2D mesh")</p>
\r
629 <p class="whs2"> </p>
\r
631 <p class="whs3"># Define 1D meshing</p>
\r
633 <p class="whs2">algo1D = tria.Segment()</p>
\r
635 <p class="whs2">algo1D.NumberOfSegments(2)</p>
\r
637 <p class="whs2"> </p>
\r
639 <p class="whs3"># create and assign the
\r
640 algorithm for 2D meshing with triangles</p>
\r
642 <p class="whs2">algo2D = tria.Triangle()</p>
\r
644 <p class="whs2"> </p>
\r
646 <p class="whs3"># create and assign "LengthFromEdges"
\r
647 hypothesis to build triangles<span style="font-family: 'Times New Roman', serif;">
\r
648 based on the length of the edges taken from the wire</span></p>
\r
650 <p class="whs2">algo2D.LengthFromEdges()</p>
\r
652 <p class="whs2"> </p>
\r
654 <p class="whs3"># compute the mesh</p>
\r
656 <p class="whs2">tria.Compute() </p>
\r
658 <p class="whs2"> </p>
\r
660 <h3>Defining Additional Hypotheses</h3>
\r
662 <h4><a name=bookmark7>Propagation</a></h4>
\r
664 <p class="whs2">from geompy import
\r
667 <p class="whs2">import smesh</p>
\r
669 <p class="whs2"> </p>
\r
671 <p class="whs3"># create a box</p>
\r
673 <p class="whs2">box = MakeBoxDXDYDZ(10.,
\r
676 <p class="whs2">addToStudy(box, "Box")</p>
\r
678 <p class="whs2"> </p>
\r
680 <p class="whs3"># get one edge of the
\r
681 box to put local hypothesis on</p>
\r
683 <p class="whs2">p5 = MakeVertex(5.,
\r
686 <p class="whs2">EdgeX = GetEdgeNearPoint(box,
\r
689 <p class="whs2">addToStudyInFather(box,
\r
690 EdgeX, "Edge [0,0,0 - 10,0,0]")</p>
\r
692 <p class="whs2"> </p>
\r
694 <p class="whs3"># create a hexahedral
\r
695 mesh on the box</p>
\r
697 <p class="whs2">hexa = smesh.Mesh(box,
\r
698 "Box : hexahedrical mesh")</p>
\r
700 <p class="whs2"> </p>
\r
702 <p class="whs3"># set global algorithms
\r
705 <p class="whs2">algo1D = hexa.Segment()</p>
\r
707 <p class="whs2">hexa.Quadrangle()</p>
\r
709 <p class="whs2">hexa.Hexahedron()</p>
\r
711 <p class="whs2">algo1D.NumberOfSegments(4)</p>
\r
713 <p class="whs2"> </p>
\r
715 <p class="whs3"># create a sub-mesh with
\r
716 local 1D hypothesis and propagation</p>
\r
718 <p class="whs2">algo_local = hexa.Segment(EdgeX)</p>
\r
720 <p class="whs2"> </p>
\r
722 <p class="whs3"># define "Arithmetic1D"
\r
723 hypothesis to cut an edge in several segments with increasing length</p>
\r
725 <p class="whs2">algo_local.Arithmetic1D(1,
\r
728 <p class="whs2"> </p>
\r
730 <p class="whs3"># define "Propagation"
\r
731 hypothesis that propagates all other 1D hypotheses</p>
\r
733 <p class="whs3"># from all edges on the
\r
734 opposite side of a face in case of quadrangular faces</p>
\r
736 <p class="whs2">algo_local.Propagation()</p>
\r
738 <p class="whs2"> </p>
\r
740 <p class="whs3"># compute the mesh</p>
\r
742 <p><span style="font-family: 'Lucida Console', monospace;">hexa.Compute()</span>
\r
745 <h3><a name=bookmark8>Defining Meshing Algorithms</a></h3>
\r
747 <p class="whs4">import geompy</p>
\r
749 <p class="whs4">import smesh</p>
\r
751 <p class="whs6"> </p>
\r
753 <p class="whs6"># create a box</p>
\r
755 <p class="whs4">box = geompy.MakeBoxDXDYDZ(10.,
\r
758 <p class="whs4">geompy.addToStudy(box,
\r
759 "Box")</p>
\r
761 <p class="whs4"> </p>
\r
763 <p class="whs6"># 1. Create a hexahedral
\r
764 mesh on the box</p>
\r
766 <p class="whs4">hexa = smesh.Mesh(box,
\r
767 "Box : hexahedrical mesh")</p>
\r
769 <p class="whs6"> </p>
\r
771 <p class="whs6"># create a Regular 1D algorithm
\r
774 <p class="whs4">algo1D = hexa.Segment()</p>
\r
776 <p class="whs6"> </p>
\r
778 <p class="whs6"># create a quadrangle 2D
\r
779 algorithm for faces</p>
\r
781 <p class="whs4">algo2D = hexa.Quadrangle()</p>
\r
783 <p class="whs6"> </p>
\r
785 <p class="whs6"># create a hexahedron 3D
\r
786 algorithm for solids</p>
\r
788 <p class="whs4">algo3D = hexa.Hexahedron()</p>
\r
790 <p class="whs6"> </p>
\r
792 <p class="whs6"># define hypotheses</p>
\r
794 <p class="whs4">algo1D.Arithmetic1D(1,
\r
797 <p class="whs6"> </p>
\r
799 <p class="whs6"># compute the mesh</p>
\r
801 <p class="whs4">hexa.Compute()</p>
\r
803 <p class="whs6"> </p>
\r
805 <p class="whs6"># 2. Create a tetrahedral
\r
806 mesh on the box</p>
\r
808 <p class="whs4">tetra = smesh.Mesh(box,
\r
809 "Box : tetrahedrical mesh")</p>
\r
811 <p class="whs6"> </p>
\r
813 <p class="whs6"># create a Regular 1D algorithm
\r
816 <p class="whs4">algo1D = tetra.Segment()</p>
\r
818 <p class="whs6"> </p>
\r
820 <p class="whs6"># create a Mefisto 2D algorithm
\r
823 <p class="whs4">algo2D = tetra.Triangle()</p>
\r
825 <p class="whs6"> </p>
\r
827 <p class="whs6"># create a Netgen 3D algorithm
\r
830 <p class="whs4">algo3D = tetra.Tetrahedron(smesh.NETGEN)</p>
\r
832 <p class="whs6"> </p>
\r
834 <p class="whs6"># define hypotheses</p>
\r
836 <p class="whs4">algo1D.Arithmetic1D(1,
\r
839 <p class="whs4">algo2D.LengthFromEdges()</p>
\r
841 <p class="whs6"> </p>
\r
843 <p class="whs6"># compute the mesh</p>
\r
845 <p class="whs4">tetra.Compute()</p>
\r
847 <p class="whs6"> </p>
\r
849 <p class="whs6"># 3. Create a tetrahedral
\r
850 mesh on the box with NETGEN_2D3D algorithm</p>
\r
852 <p class="whs4">tetraN = smesh.Mesh(box,
\r
853 "Box : tetrahedrical mesh by NETGEN_2D3D")</p>
\r
855 <p class="whs6"> </p>
\r
857 <p class="whs6"># create a Netgen_2D3D
\r
858 algorithm for solids</p>
\r
860 <p class="whs4">algo3D = tetraN.Tetrahedron(smesh.FULL_NETGEN)
\r
863 <p class="whs6"> </p>
\r
865 <p class="whs6"># define hypotheses</p>
\r
867 <p class="whs4">n23_params = algo3D.Parameters()</p>
\r
869 <p class="whs6"> </p>
\r
871 <p class="whs6"># compute the mesh</p>
\r
873 <p class="whs4">tetraN.Compute()
\r
876 <script type="text/javascript" language="javascript1.2">
\r
878 if (window.writeIntopicBar)
\r
879 writeIntopicBar(0);
\r