From ea788cebfde9e917b50fb16ad4eda29348714279 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Sat, 1 Oct 2016 13:10:46 -0500 Subject: [PATCH] Generate some hybrid and cubed meshes --- test/cube.step | 456 ++++++++++++++++++++++ test/cubed-cube.msh | 864 +++++++++++++++++++++++++++++++++++++++++ test/hybrid-cube.msh | 873 ++++++++++++++++++++++++++++++++++++++++++ test/test_meshmode.py | 36 +- 4 files changed, 2227 insertions(+), 2 deletions(-) create mode 100644 test/cube.step create mode 100644 test/cubed-cube.msh create mode 100644 test/hybrid-cube.msh diff --git a/test/cube.step b/test/cube.step new file mode 100644 index 00000000..b2a28ac3 --- /dev/null +++ b/test/cube.step @@ -0,0 +1,456 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('FreeCAD Model'),'2;1'); +FILE_NAME('/home/andreas/tmp/cube.step','2016-10-01T13:03:13',('Author') + ,(''),'Open CASCADE STEP processor 6.8','FreeCAD','Unknown'); +FILE_SCHEMA(('AUTOMOTIVE_DESIGN_CC2 { 1 2 10303 214 -1 1 5 4 }')); +ENDSEC; +DATA; +#1 = APPLICATION_PROTOCOL_DEFINITION('committee draft', + 'automotive_design',1997,#2); +#2 = APPLICATION_CONTEXT( + 'core data for automotive mechanical design processes'); +#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10); +#4 = PRODUCT_DEFINITION_SHAPE('','',#5); +#5 = PRODUCT_DEFINITION('design','',#6,#9); +#6 = PRODUCT_DEFINITION_FORMATION('','',#7); +#7 = PRODUCT('ASSEMBLY','ASSEMBLY','',(#8)); +#8 = MECHANICAL_CONTEXT('',#2,'mechanical'); +#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design'); +#10 = SHAPE_REPRESENTATION('',(#11,#15),#19); +#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14); +#12 = CARTESIAN_POINT('',(0.,0.,0.)); +#13 = DIRECTION('',(0.,0.,1.)); +#14 = DIRECTION('',(1.,0.,-0.)); +#15 = AXIS2_PLACEMENT_3D('',#16,#17,#18); +#16 = CARTESIAN_POINT('',(0.,0.,0.)); +#17 = DIRECTION('',(0.,0.,1.)); +#18 = DIRECTION('',(1.,0.,0.)); +#19 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#23)) GLOBAL_UNIT_ASSIGNED_CONTEXT( +(#20,#21,#22)) REPRESENTATION_CONTEXT('Context #1', + '3D Context with UNIT and UNCERTAINTY') ); +#20 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) ); +#21 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) ); +#22 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() ); +#23 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#20, + 'distance_accuracy_value','confusion accuracy'); +#24 = PRODUCT_TYPE('part',$,(#7)); +#25 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#26),#356); +#26 = MANIFOLD_SOLID_BREP('',#27); +#27 = CLOSED_SHELL('',(#28,#148,#248,#295,#342,#349)); +#28 = ADVANCED_FACE('',(#29),#43,.F.); +#29 = FACE_BOUND('',#30,.F.); +#30 = EDGE_LOOP('',(#31,#66,#94,#122)); +#31 = ORIENTED_EDGE('',*,*,#32,.F.); +#32 = EDGE_CURVE('',#33,#35,#37,.T.); +#33 = VERTEX_POINT('',#34); +#34 = CARTESIAN_POINT('',(0.,0.,0.)); +#35 = VERTEX_POINT('',#36); +#36 = CARTESIAN_POINT('',(0.,0.,10.)); +#37 = SURFACE_CURVE('',#38,(#42,#54),.PCURVE_S1.); +#38 = LINE('',#39,#40); +#39 = CARTESIAN_POINT('',(0.,0.,0.)); +#40 = VECTOR('',#41,1.); +#41 = DIRECTION('',(0.,0.,1.)); +#42 = PCURVE('',#43,#48); +#43 = PLANE('',#44); +#44 = AXIS2_PLACEMENT_3D('',#45,#46,#47); +#45 = CARTESIAN_POINT('',(0.,0.,0.)); +#46 = DIRECTION('',(1.,0.,-0.)); +#47 = DIRECTION('',(0.,0.,1.)); +#48 = DEFINITIONAL_REPRESENTATION('',(#49),#53); +#49 = LINE('',#50,#51); +#50 = CARTESIAN_POINT('',(0.,0.)); +#51 = VECTOR('',#52,1.); +#52 = DIRECTION('',(1.,0.)); +#53 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#54 = PCURVE('',#55,#60); +#55 = PLANE('',#56); +#56 = AXIS2_PLACEMENT_3D('',#57,#58,#59); +#57 = CARTESIAN_POINT('',(0.,0.,0.)); +#58 = DIRECTION('',(-0.,1.,0.)); +#59 = DIRECTION('',(0.,0.,1.)); +#60 = DEFINITIONAL_REPRESENTATION('',(#61),#65); +#61 = LINE('',#62,#63); +#62 = CARTESIAN_POINT('',(0.,0.)); +#63 = VECTOR('',#64,1.); +#64 = DIRECTION('',(1.,0.)); +#65 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#66 = ORIENTED_EDGE('',*,*,#67,.T.); +#67 = EDGE_CURVE('',#33,#68,#70,.T.); +#68 = VERTEX_POINT('',#69); +#69 = CARTESIAN_POINT('',(0.,10.,0.)); +#70 = SURFACE_CURVE('',#71,(#75,#82),.PCURVE_S1.); +#71 = LINE('',#72,#73); +#72 = CARTESIAN_POINT('',(0.,0.,0.)); +#73 = VECTOR('',#74,1.); +#74 = DIRECTION('',(-0.,1.,0.)); +#75 = PCURVE('',#43,#76); +#76 = DEFINITIONAL_REPRESENTATION('',(#77),#81); +#77 = LINE('',#78,#79); +#78 = CARTESIAN_POINT('',(0.,0.)); +#79 = VECTOR('',#80,1.); +#80 = DIRECTION('',(0.,-1.)); +#81 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#82 = PCURVE('',#83,#88); +#83 = PLANE('',#84); +#84 = AXIS2_PLACEMENT_3D('',#85,#86,#87); +#85 = CARTESIAN_POINT('',(0.,0.,0.)); +#86 = DIRECTION('',(0.,0.,1.)); +#87 = DIRECTION('',(1.,0.,-0.)); +#88 = DEFINITIONAL_REPRESENTATION('',(#89),#93); +#89 = LINE('',#90,#91); +#90 = CARTESIAN_POINT('',(0.,0.)); +#91 = VECTOR('',#92,1.); +#92 = DIRECTION('',(0.,1.)); +#93 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#94 = ORIENTED_EDGE('',*,*,#95,.T.); +#95 = EDGE_CURVE('',#68,#96,#98,.T.); +#96 = VERTEX_POINT('',#97); +#97 = CARTESIAN_POINT('',(0.,10.,10.)); +#98 = SURFACE_CURVE('',#99,(#103,#110),.PCURVE_S1.); +#99 = LINE('',#100,#101); +#100 = CARTESIAN_POINT('',(0.,10.,0.)); +#101 = VECTOR('',#102,1.); +#102 = DIRECTION('',(0.,0.,1.)); +#103 = PCURVE('',#43,#104); +#104 = DEFINITIONAL_REPRESENTATION('',(#105),#109); +#105 = LINE('',#106,#107); +#106 = CARTESIAN_POINT('',(0.,-10.)); +#107 = VECTOR('',#108,1.); +#108 = DIRECTION('',(1.,0.)); +#109 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#110 = PCURVE('',#111,#116); +#111 = PLANE('',#112); +#112 = AXIS2_PLACEMENT_3D('',#113,#114,#115); +#113 = CARTESIAN_POINT('',(0.,10.,0.)); +#114 = DIRECTION('',(-0.,1.,0.)); +#115 = DIRECTION('',(0.,0.,1.)); +#116 = DEFINITIONAL_REPRESENTATION('',(#117),#121); +#117 = LINE('',#118,#119); +#118 = CARTESIAN_POINT('',(0.,0.)); +#119 = VECTOR('',#120,1.); +#120 = DIRECTION('',(1.,0.)); +#121 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#122 = ORIENTED_EDGE('',*,*,#123,.F.); +#123 = EDGE_CURVE('',#35,#96,#124,.T.); +#124 = SURFACE_CURVE('',#125,(#129,#136),.PCURVE_S1.); +#125 = LINE('',#126,#127); +#126 = CARTESIAN_POINT('',(0.,0.,10.)); +#127 = VECTOR('',#128,1.); +#128 = DIRECTION('',(-0.,1.,0.)); +#129 = PCURVE('',#43,#130); +#130 = DEFINITIONAL_REPRESENTATION('',(#131),#135); +#131 = LINE('',#132,#133); +#132 = CARTESIAN_POINT('',(10.,0.)); +#133 = VECTOR('',#134,1.); +#134 = DIRECTION('',(0.,-1.)); +#135 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#136 = PCURVE('',#137,#142); +#137 = PLANE('',#138); +#138 = AXIS2_PLACEMENT_3D('',#139,#140,#141); +#139 = CARTESIAN_POINT('',(0.,0.,10.)); +#140 = DIRECTION('',(0.,0.,1.)); +#141 = DIRECTION('',(1.,0.,-0.)); +#142 = DEFINITIONAL_REPRESENTATION('',(#143),#147); +#143 = LINE('',#144,#145); +#144 = CARTESIAN_POINT('',(0.,0.)); +#145 = VECTOR('',#146,1.); +#146 = DIRECTION('',(0.,1.)); +#147 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#148 = ADVANCED_FACE('',(#149),#163,.T.); +#149 = FACE_BOUND('',#150,.T.); +#150 = EDGE_LOOP('',(#151,#181,#204,#227)); +#151 = ORIENTED_EDGE('',*,*,#152,.F.); +#152 = EDGE_CURVE('',#153,#155,#157,.T.); +#153 = VERTEX_POINT('',#154); +#154 = CARTESIAN_POINT('',(10.,0.,0.)); +#155 = VERTEX_POINT('',#156); +#156 = CARTESIAN_POINT('',(10.,0.,10.)); +#157 = SURFACE_CURVE('',#158,(#162,#174),.PCURVE_S1.); +#158 = LINE('',#159,#160); +#159 = CARTESIAN_POINT('',(10.,0.,0.)); +#160 = VECTOR('',#161,1.); +#161 = DIRECTION('',(0.,0.,1.)); +#162 = PCURVE('',#163,#168); +#163 = PLANE('',#164); +#164 = AXIS2_PLACEMENT_3D('',#165,#166,#167); +#165 = CARTESIAN_POINT('',(10.,0.,0.)); +#166 = DIRECTION('',(1.,0.,-0.)); +#167 = DIRECTION('',(0.,0.,1.)); +#168 = DEFINITIONAL_REPRESENTATION('',(#169),#173); +#169 = LINE('',#170,#171); +#170 = CARTESIAN_POINT('',(0.,0.)); +#171 = VECTOR('',#172,1.); +#172 = DIRECTION('',(1.,0.)); +#173 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#174 = PCURVE('',#55,#175); +#175 = DEFINITIONAL_REPRESENTATION('',(#176),#180); +#176 = LINE('',#177,#178); +#177 = CARTESIAN_POINT('',(0.,10.)); +#178 = VECTOR('',#179,1.); +#179 = DIRECTION('',(1.,0.)); +#180 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#181 = ORIENTED_EDGE('',*,*,#182,.T.); +#182 = EDGE_CURVE('',#153,#183,#185,.T.); +#183 = VERTEX_POINT('',#184); +#184 = CARTESIAN_POINT('',(10.,10.,0.)); +#185 = SURFACE_CURVE('',#186,(#190,#197),.PCURVE_S1.); +#186 = LINE('',#187,#188); +#187 = CARTESIAN_POINT('',(10.,0.,0.)); +#188 = VECTOR('',#189,1.); +#189 = DIRECTION('',(-0.,1.,0.)); +#190 = PCURVE('',#163,#191); +#191 = DEFINITIONAL_REPRESENTATION('',(#192),#196); +#192 = LINE('',#193,#194); +#193 = CARTESIAN_POINT('',(0.,0.)); +#194 = VECTOR('',#195,1.); +#195 = DIRECTION('',(0.,-1.)); +#196 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#197 = PCURVE('',#83,#198); +#198 = DEFINITIONAL_REPRESENTATION('',(#199),#203); +#199 = LINE('',#200,#201); +#200 = CARTESIAN_POINT('',(10.,0.)); +#201 = VECTOR('',#202,1.); +#202 = DIRECTION('',(0.,1.)); +#203 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#204 = ORIENTED_EDGE('',*,*,#205,.T.); +#205 = EDGE_CURVE('',#183,#206,#208,.T.); +#206 = VERTEX_POINT('',#207); +#207 = CARTESIAN_POINT('',(10.,10.,10.)); +#208 = SURFACE_CURVE('',#209,(#213,#220),.PCURVE_S1.); +#209 = LINE('',#210,#211); +#210 = CARTESIAN_POINT('',(10.,10.,0.)); +#211 = VECTOR('',#212,1.); +#212 = DIRECTION('',(0.,0.,1.)); +#213 = PCURVE('',#163,#214); +#214 = DEFINITIONAL_REPRESENTATION('',(#215),#219); +#215 = LINE('',#216,#217); +#216 = CARTESIAN_POINT('',(0.,-10.)); +#217 = VECTOR('',#218,1.); +#218 = DIRECTION('',(1.,0.)); +#219 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#220 = PCURVE('',#111,#221); +#221 = DEFINITIONAL_REPRESENTATION('',(#222),#226); +#222 = LINE('',#223,#224); +#223 = CARTESIAN_POINT('',(0.,10.)); +#224 = VECTOR('',#225,1.); +#225 = DIRECTION('',(1.,0.)); +#226 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#227 = ORIENTED_EDGE('',*,*,#228,.F.); +#228 = EDGE_CURVE('',#155,#206,#229,.T.); +#229 = SURFACE_CURVE('',#230,(#234,#241),.PCURVE_S1.); +#230 = LINE('',#231,#232); +#231 = CARTESIAN_POINT('',(10.,0.,10.)); +#232 = VECTOR('',#233,1.); +#233 = DIRECTION('',(0.,1.,0.)); +#234 = PCURVE('',#163,#235); +#235 = DEFINITIONAL_REPRESENTATION('',(#236),#240); +#236 = LINE('',#237,#238); +#237 = CARTESIAN_POINT('',(10.,0.)); +#238 = VECTOR('',#239,1.); +#239 = DIRECTION('',(0.,-1.)); +#240 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#241 = PCURVE('',#137,#242); +#242 = DEFINITIONAL_REPRESENTATION('',(#243),#247); +#243 = LINE('',#244,#245); +#244 = CARTESIAN_POINT('',(10.,0.)); +#245 = VECTOR('',#246,1.); +#246 = DIRECTION('',(0.,1.)); +#247 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#248 = ADVANCED_FACE('',(#249),#55,.F.); +#249 = FACE_BOUND('',#250,.F.); +#250 = EDGE_LOOP('',(#251,#272,#273,#294)); +#251 = ORIENTED_EDGE('',*,*,#252,.F.); +#252 = EDGE_CURVE('',#33,#153,#253,.T.); +#253 = SURFACE_CURVE('',#254,(#258,#265),.PCURVE_S1.); +#254 = LINE('',#255,#256); +#255 = CARTESIAN_POINT('',(0.,0.,0.)); +#256 = VECTOR('',#257,1.); +#257 = DIRECTION('',(1.,0.,-0.)); +#258 = PCURVE('',#55,#259); +#259 = DEFINITIONAL_REPRESENTATION('',(#260),#264); +#260 = LINE('',#261,#262); +#261 = CARTESIAN_POINT('',(0.,0.)); +#262 = VECTOR('',#263,1.); +#263 = DIRECTION('',(0.,1.)); +#264 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#265 = PCURVE('',#83,#266); +#266 = DEFINITIONAL_REPRESENTATION('',(#267),#271); +#267 = LINE('',#268,#269); +#268 = CARTESIAN_POINT('',(0.,0.)); +#269 = VECTOR('',#270,1.); +#270 = DIRECTION('',(1.,0.)); +#271 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#272 = ORIENTED_EDGE('',*,*,#32,.T.); +#273 = ORIENTED_EDGE('',*,*,#274,.T.); +#274 = EDGE_CURVE('',#35,#155,#275,.T.); +#275 = SURFACE_CURVE('',#276,(#280,#287),.PCURVE_S1.); +#276 = LINE('',#277,#278); +#277 = CARTESIAN_POINT('',(0.,0.,10.)); +#278 = VECTOR('',#279,1.); +#279 = DIRECTION('',(1.,0.,-0.)); +#280 = PCURVE('',#55,#281); +#281 = DEFINITIONAL_REPRESENTATION('',(#282),#286); +#282 = LINE('',#283,#284); +#283 = CARTESIAN_POINT('',(10.,0.)); +#284 = VECTOR('',#285,1.); +#285 = DIRECTION('',(0.,1.)); +#286 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#287 = PCURVE('',#137,#288); +#288 = DEFINITIONAL_REPRESENTATION('',(#289),#293); +#289 = LINE('',#290,#291); +#290 = CARTESIAN_POINT('',(0.,0.)); +#291 = VECTOR('',#292,1.); +#292 = DIRECTION('',(1.,0.)); +#293 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#294 = ORIENTED_EDGE('',*,*,#152,.F.); +#295 = ADVANCED_FACE('',(#296),#111,.T.); +#296 = FACE_BOUND('',#297,.T.); +#297 = EDGE_LOOP('',(#298,#319,#320,#341)); +#298 = ORIENTED_EDGE('',*,*,#299,.F.); +#299 = EDGE_CURVE('',#68,#183,#300,.T.); +#300 = SURFACE_CURVE('',#301,(#305,#312),.PCURVE_S1.); +#301 = LINE('',#302,#303); +#302 = CARTESIAN_POINT('',(0.,10.,0.)); +#303 = VECTOR('',#304,1.); +#304 = DIRECTION('',(1.,0.,-0.)); +#305 = PCURVE('',#111,#306); +#306 = DEFINITIONAL_REPRESENTATION('',(#307),#311); +#307 = LINE('',#308,#309); +#308 = CARTESIAN_POINT('',(0.,0.)); +#309 = VECTOR('',#310,1.); +#310 = DIRECTION('',(0.,1.)); +#311 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#312 = PCURVE('',#83,#313); +#313 = DEFINITIONAL_REPRESENTATION('',(#314),#318); +#314 = LINE('',#315,#316); +#315 = CARTESIAN_POINT('',(0.,10.)); +#316 = VECTOR('',#317,1.); +#317 = DIRECTION('',(1.,0.)); +#318 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#319 = ORIENTED_EDGE('',*,*,#95,.T.); +#320 = ORIENTED_EDGE('',*,*,#321,.T.); +#321 = EDGE_CURVE('',#96,#206,#322,.T.); +#322 = SURFACE_CURVE('',#323,(#327,#334),.PCURVE_S1.); +#323 = LINE('',#324,#325); +#324 = CARTESIAN_POINT('',(0.,10.,10.)); +#325 = VECTOR('',#326,1.); +#326 = DIRECTION('',(1.,0.,-0.)); +#327 = PCURVE('',#111,#328); +#328 = DEFINITIONAL_REPRESENTATION('',(#329),#333); +#329 = LINE('',#330,#331); +#330 = CARTESIAN_POINT('',(10.,0.)); +#331 = VECTOR('',#332,1.); +#332 = DIRECTION('',(0.,1.)); +#333 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#334 = PCURVE('',#137,#335); +#335 = DEFINITIONAL_REPRESENTATION('',(#336),#340); +#336 = LINE('',#337,#338); +#337 = CARTESIAN_POINT('',(0.,10.)); +#338 = VECTOR('',#339,1.); +#339 = DIRECTION('',(1.,0.)); +#340 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#341 = ORIENTED_EDGE('',*,*,#205,.F.); +#342 = ADVANCED_FACE('',(#343),#83,.F.); +#343 = FACE_BOUND('',#344,.F.); +#344 = EDGE_LOOP('',(#345,#346,#347,#348)); +#345 = ORIENTED_EDGE('',*,*,#67,.F.); +#346 = ORIENTED_EDGE('',*,*,#252,.T.); +#347 = ORIENTED_EDGE('',*,*,#182,.T.); +#348 = ORIENTED_EDGE('',*,*,#299,.F.); +#349 = ADVANCED_FACE('',(#350),#137,.T.); +#350 = FACE_BOUND('',#351,.T.); +#351 = EDGE_LOOP('',(#352,#353,#354,#355)); +#352 = ORIENTED_EDGE('',*,*,#123,.F.); +#353 = ORIENTED_EDGE('',*,*,#274,.T.); +#354 = ORIENTED_EDGE('',*,*,#228,.T.); +#355 = ORIENTED_EDGE('',*,*,#321,.F.); +#356 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#360)) GLOBAL_UNIT_ASSIGNED_CONTEXT +((#357,#358,#359)) REPRESENTATION_CONTEXT('Context #1', + '3D Context with UNIT and UNCERTAINTY') ); +#357 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) ); +#358 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) ); +#359 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() ); +#360 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#357, + 'distance_accuracy_value','confusion accuracy'); +#361 = SHAPE_DEFINITION_REPRESENTATION(#362,#25); +#362 = PRODUCT_DEFINITION_SHAPE('','',#363); +#363 = PRODUCT_DEFINITION('design','',#364,#367); +#364 = PRODUCT_DEFINITION_FORMATION('','',#365); +#365 = PRODUCT('Würfel','Würfel','',(#366)); +#366 = MECHANICAL_CONTEXT('',#2,'mechanical'); +#367 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design'); +#368 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#369,#371); +#369 = ( REPRESENTATION_RELATIONSHIP('','',#25,#10) +REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#370) +SHAPE_REPRESENTATION_RELATIONSHIP() ); +#370 = ITEM_DEFINED_TRANSFORMATION('','',#11,#15); +#371 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',#372 + ); +#372 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('1','=>[0:1:1:2]','',#5,#363,$); +#373 = PRODUCT_TYPE('part',$,(#365)); +#374 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#375) + ,#356); +#375 = STYLED_ITEM('color',(#376),#26); +#376 = PRESENTATION_STYLE_ASSIGNMENT((#377,#383)); +#377 = SURFACE_STYLE_USAGE(.BOTH.,#378); +#378 = SURFACE_SIDE_STYLE('',(#379)); +#379 = SURFACE_STYLE_FILL_AREA(#380); +#380 = FILL_AREA_STYLE('',(#381)); +#381 = FILL_AREA_STYLE_COLOUR('',#382); +#382 = COLOUR_RGB('',0.800000011921,0.800000011921,0.800000011921); +#383 = CURVE_STYLE('',#384,POSITIVE_LENGTH_MEASURE(0.1),#382); +#384 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous'); +ENDSEC; +END-ISO-10303-21; diff --git a/test/cubed-cube.msh b/test/cubed-cube.msh new file mode 100644 index 00000000..dde325a0 --- /dev/null +++ b/test/cubed-cube.msh @@ -0,0 +1,864 @@ +$MeshFormat +2.2 0 8 +$EndMeshFormat +$Nodes +343 +1 0 0 0 +2 0 0 10 +3 0 10 0 +4 0 10 10 +5 10 0 0 +6 10 0 10 +7 10 10 0 +8 10 10 10 +9 0 0 1.666666666666672 +10 0 0 3.333333333333344 +11 0 0 5.000000000000009 +12 0 0 6.666666666666672 +13 0 0 8.333333333333336 +14 0 1.666666666666672 0 +15 0 3.333333333333344 0 +16 0 5.000000000000009 0 +17 0 6.666666666666672 0 +18 0 8.333333333333336 0 +19 0 10 1.666666666666672 +20 0 10 3.333333333333344 +21 0 10 5.000000000000009 +22 0 10 6.666666666666672 +23 0 10 8.333333333333336 +24 0 1.666666666666672 10 +25 0 3.333333333333344 10 +26 0 5.000000000000009 10 +27 0 6.666666666666672 10 +28 0 8.333333333333336 10 +29 10 0 1.666666666666672 +30 10 0 3.333333333333344 +31 10 0 5.000000000000009 +32 10 0 6.666666666666672 +33 10 0 8.333333333333336 +34 10 1.666666666666672 0 +35 10 3.333333333333344 0 +36 10 5.000000000000009 0 +37 10 6.666666666666672 0 +38 10 8.333333333333336 0 +39 10 10 1.666666666666672 +40 10 10 3.333333333333344 +41 10 10 5.000000000000009 +42 10 10 6.666666666666672 +43 10 10 8.333333333333336 +44 10 1.666666666666672 10 +45 10 3.333333333333344 10 +46 10 5.000000000000009 10 +47 10 6.666666666666672 10 +48 10 8.333333333333336 10 +49 1.666666666666672 0 0 +50 3.333333333333344 0 0 +51 5.000000000000009 0 0 +52 6.666666666666672 0 0 +53 8.333333333333336 0 0 +54 1.666666666666672 0 10 +55 3.333333333333344 0 10 +56 5.000000000000009 0 10 +57 6.666666666666672 0 10 +58 8.333333333333336 0 10 +59 1.666666666666672 10 0 +60 3.333333333333344 10 0 +61 5.000000000000009 10 0 +62 6.666666666666672 10 0 +63 8.333333333333336 10 0 +64 1.666666666666672 10 10 +65 3.333333333333344 10 10 +66 5.000000000000009 10 10 +67 6.666666666666672 10 10 +68 8.333333333333336 10 10 +69 0 1.666666666666668 3.333333333333338 +70 0 8.333333333333336 5.000000000000004 +71 0 5.000000000000005 8.333333333333336 +72 0 5.000000000000006 1.666666666666667 +73 0 8.333333333333334 3.333333333333338 +74 0 3.333333333333338 8.333333333333334 +75 0 8.333333333333336 8.333333333333336 +76 0 1.666666666666668 5.000000000000005 +77 0 6.666666666666671 1.666666666666668 +78 0 1.666666666666668 6.666666666666671 +79 0 1.66666666666667 1.666666666666669 +80 0 1.66666666666667 8.333333333333334 +81 0 8.333333333333334 1.66666666666667 +82 0 5.000000000000003 6.666666666666669 +83 0 3.333333333333337 3.333333333333335 +84 0 3.333333333333335 6.666666666666669 +85 0 6.666666666666669 5.000000000000002 +86 0 5.000000000000003 3.333333333333334 +87 0 3.333333333333339 1.666666666666668 +88 0 6.666666666666671 8.333333333333336 +89 0 8.333333333333336 6.666666666666671 +90 0 6.666666666666668 3.333333333333335 +91 0 5.000000000000002 5.000000000000002 +92 0 3.333333333333335 5.000000000000002 +93 0 6.66666666666667 6.666666666666671 +94 10 1.666666666666668 3.333333333333338 +95 10 8.333333333333336 5.000000000000004 +96 10 5.000000000000005 8.333333333333336 +97 10 5.000000000000004 1.666666666666668 +98 10 8.333333333333337 8.333333333333336 +99 10 8.333333333333334 3.333333333333338 +100 10 3.333333333333338 8.333333333333334 +101 10 1.666666666666667 5.000000000000006 +102 10 6.666666666666671 1.666666666666668 +103 10 1.666666666666668 6.666666666666671 +104 10 1.666666666666669 1.66666666666667 +105 10 1.666666666666669 8.333333333333334 +106 10 8.333333333333334 1.666666666666669 +107 10 6.666666666666669 5.000000000000004 +108 10 3.333333333333333 5.000000000000004 +109 10 6.666666666666668 3.333333333333337 +110 10 3.333333333333334 3.333333333333337 +111 10 3.333333333333337 1.666666666666668 +112 10 6.666666666666671 8.333333333333336 +113 10 8.333333333333337 6.666666666666671 +114 10 5.000000000000003 6.666666666666671 +115 10 3.333333333333335 6.66666666666667 +116 10 5.000000000000001 5.000000000000003 +117 10 5.000000000000002 3.333333333333337 +118 10 6.666666666666671 6.666666666666671 +119 4.963214356275155 0 1.668784957944797 +120 3.317582237776889 0 8.331760196778665 +121 8.315733273001639 0 5.000155748895926 +122 1.623165746041504 0 4.99391383873798 +123 1.636937952053827 0 1.662777951906097 +124 6.654194529315052 0 8.332831488754294 +125 8.323518108830998 0 1.667524092257246 +126 1.656504071342595 0 8.331974911699989 +127 8.323288233378031 0 6.666461769940527 +128 8.327361873953064 0 8.333156029608485 +129 1.625841868965969 0 3.328919181967938 +130 8.316557036413666 0 3.334049509706089 +131 6.638537756742497 0 6.665974027330344 +132 1.642552721132448 0 6.663695878577564 +133 4.982918784821877 0 8.332255412505511 +134 6.64528602688278 0 1.670374112938904 +135 3.278505243836852 0 3.33055000927853 +136 6.62594906800776 0 4.999916920658317 +137 4.937771380378987 0 3.33355951443616 +138 6.62749052424298 0 3.334574749423636 +139 3.286658535168235 0 6.66196704619375 +140 4.958530187990556 0 6.664632353924778 +141 4.943783761023866 0 4.998321579025965 +142 3.296459439269126 0 1.665682739796669 +143 3.270150200748045 0 4.995167900443951 +144 8.319477494274667 10 3.333169972868349 +145 1.642401289952334 10 4.995994122053824 +146 4.990499273962526 10 8.332390464609082 +147 4.974718901986735 10 1.665089100516185 +148 1.650806613158973 10 1.663879441264121 +149 1.666666666666671 10 8.333333333333332 +150 8.326507895108154 10 6.666387147756299 +151 8.324217698423221 10 1.666577446189837 +152 8.330421346341454 10 8.33317246986971 +153 1.637778017620791 10 3.327652077469392 +154 3.324767314036656 10 8.332279894336549 +155 6.64477579136364 10 1.666338457530614 +156 6.660165660811743 10 8.332843092640404 +157 8.321592194848483 10 4.999653680812338 +158 1.651821825244905 10 6.664257878478076 +159 3.28326020484872 10 3.326681050109922 +160 6.634104856166324 10 3.332502948194829 +161 4.97579818627555 10 6.664430588732456 +162 3.284967251501693 10 4.993482825700283 +163 6.641946928853725 10 4.998695732656651 +164 3.308721581528395 10 6.663488840038644 +165 6.651358102186887 10 6.665729135182278 +166 4.956018879142214 10 3.330340837991536 +167 4.961068569266943 10 4.996722349190394 +168 3.306257787745393 10 1.663550909007059 +169 8.332031501668784 3.327655810609839 0 +170 1.661583967397951 4.985925016393396 0 +171 4.99888149235128 8.328781672181401 0 +172 4.993595831504386 1.645761942295224 0 +173 1.660497912810677 1.651563432065564 0 +174 8.332958056923808 8.3315936822691 0 +175 1.665868128287409 8.330677281028967 0 +176 8.333333333333337 1.666666666666669 0 +177 8.332074246359143 4.994289507172165 0 +178 6.662704487145006 3.317607957790754 0 +179 3.323175186310005 1.639797188626136 0 +180 3.332149742463294 8.329006867792472 0 +181 8.332511595730896 6.662870524665738 0 +182 6.664258683158848 1.657777476463054 0 +183 6.665924415024502 8.330016659525276 0 +184 1.664258409514333 6.659472931888667 0 +185 4.991559204424686 3.303632966319623 0 +186 4.996765277527716 6.653675864145596 0 +187 3.32335131306381 3.303903840008758 0 +188 3.325134218047016 4.973125396957162 0 +189 3.329655718808052 6.653762669731537 0 +190 6.663143942894656 4.984579210873332 0 +191 6.66479451352513 6.658229402591791 0 +192 4.992487513742513 4.968476001600282 0 +193 1.660403493758395 3.316764122600103 0 +194 3.332833974604121 8.330588915852831 10 +195 4.990396923629646 1.639192438518225 10 +196 8.331700204977253 4.99348613953155 10 +197 1.66359950713175 4.986809017439535 10 +198 1.659476797213571 1.641166790796788 10 +199 8.331602596644176 1.661100149132812 10 +200 6.666262451736792 8.331036472916939 10 +201 1.666360512036942 8.331775733188479 10 +202 8.333176767431947 8.332461623855972 10 +203 3.324752363659667 1.640654676620429 10 +204 8.331143154549407 3.325601742294733 10 +205 8.332585110528434 6.663185298000827 10 +206 1.665690323527357 6.661884085335791 10 +207 4.999238771603533 8.329411344880642 10 +208 6.660931836157782 1.649309184852187 10 +209 3.322620058061121 3.296169448190562 10 +210 3.331386262994759 6.656799061971727 10 +211 6.662741535306179 4.984497939484297 10 +212 4.988687405622154 3.294823441600734 10 +213 6.660538599871673 3.312736539238734 10 +214 4.997593572036546 6.655043997091015 10 +215 6.66508040097065 6.65903418390889 10 +216 3.327865240662655 4.977063523995539 10 +217 4.993810674308104 4.973188365824303 10 +218 1.660298963080085 3.305559657733506 10 +219 3.323175186310005 1.639797188626136 1.666666665894576 +220 8.333333333333337 1.666666666666669 1.666666666159922 +221 8.333333332883761 8.333333333333336 5.000000000000004 +222 1.666666667399848 6.666666666666669 5.000000000000002 +223 8.333333335154675 3.333333333333338 8.333333333333334 +224 1.666666665276616 5.000000000000006 1.666666666666667 +225 8.333333332534451 8.333333333333337 8.333333333333336 +226 1.66666666735759 5.000000000000002 5.000000000000002 +227 3.325134218047016 4.973125396957162 1.666666665215716 +228 6.66479451352513 6.658229402591791 1.666666668556142 +229 4.992487513742513 4.968476001600282 1.666666662890887 +230 1.666666667636574 6.66666666666667 6.666666666666671 +231 8.333333332812531 8.333333333333334 1.666666666666669 +232 8.333333334638025 5.000000000000003 6.666666666666671 +233 6.666262451736792 8.331036472916939 8.33333333154998 +234 3.317582237776889 1.666666666712437 8.331760196778665 +235 4.963214356275155 1.666666665965598 1.668784957944797 +236 1.666666666034267 3.333333333333335 6.666666666666669 +237 6.66508040097065 6.65903418390889 8.333333333387067 +238 6.634104856166324 8.333333334715782 3.332502948194829 +239 1.666666665693501 6.666666666666671 8.333333333333336 +240 8.332074246359143 4.994289507172165 1.666666666314359 +241 1.666666666304344 6.666666666666668 3.333333333333335 +242 3.284967251501693 8.333333334781612 4.993482825700283 +243 8.332511595730896 6.662870524665738 1.666666666937509 +244 1.659476797213571 1.641166790796788 8.333333332432243 +245 6.651358102186887 8.333333331446589 6.665729135182278 +246 4.996765277527716 6.653675864145596 1.666666669892875 +247 6.660931836157782 1.649309184852187 8.333333333926896 +248 6.638537756742497 1.666666666445091 6.665974027330344 +249 3.331386262994759 6.656799061971727 8.333333334876567 +250 4.988687405622154 3.294823441600734 8.333333333444344 +251 6.660538599871673 3.312736539238734 8.333333333244161 +252 8.332031501668784 3.327655810609839 1.666666663483084 +253 1.660497912810677 1.651563432065564 1.666666666532634 +254 1.666666666666671 8.333333332815677 8.333333333333332 +255 1.623165746041504 1.6666666666034 4.99391383873798 +256 8.333333333273636 3.333333333333333 5.000000000000004 +257 3.332833974604121 8.330588915852831 8.33333333503149 +258 4.97579818627555 8.333333331156744 6.664430588732456 +259 1.660298963080085 3.305559657733506 8.33333333203548 +260 3.28326020484872 8.333333336724735 3.326681050109922 +261 8.331602596644176 1.661100149132812 8.333333335117558 +262 1.666666666603764 8.333333333333336 5.000000000000004 +263 6.665924415024502 8.330016659525276 1.666666667557128 +264 3.308721581528395 8.333333331465084 6.663488840038644 +265 3.286658535168235 1.666666666599032 6.66196704619375 +266 4.937771380378987 1.666666665951131 3.33355951443616 +267 8.326507895108154 8.333333331451792 6.666387147756299 +268 8.332585110528434 6.663185298000827 8.333333332584449 +269 4.982918784821877 1.6666666659068 8.332255412505511 +270 1.664258409514333 6.659472931888667 1.666666667233425 +271 3.322620058061121 3.296169448190562 8.33333333167775 +272 8.33333333683429 5.000000000000005 8.333333333333336 +273 8.333333333060155 6.666666666666669 5.000000000000004 +274 1.666666666327729 1.666666666666668 3.333333333333338 +275 4.99888149235128 8.328781672181401 1.666666669469232 +276 8.333333333095132 1.666666666666668 3.333333333333338 +277 8.333333334111209 6.666666666666671 6.666666666666671 +278 1.666666666231004 1.666666666666668 6.666666666666671 +279 8.319477494274667 8.333333334546891 3.333169972868349 +280 8.333333333713604 5.000000000000002 3.333333333333337 +281 8.333333335124941 3.333333333333335 6.66666666666667 +282 6.62749052424298 1.66666666623669 3.334574749423636 +283 1.66666666508557 3.333333333333335 5.000000000000002 +284 8.333333332051213 6.666666666666668 3.333333333333337 +285 1.637778017620791 8.333333342488848 3.327652077469392 +286 1.666666666089987 5.000000000000003 3.333333333333334 +287 6.62594906800776 1.666666666783335 4.999916920658317 +288 4.991559204424686 3.303632966319623 1.666666666035724 +289 1.666666665979094 3.333333333333337 3.333333333333335 +290 1.666666665657806 5.000000000000005 8.333333333333336 +291 1.666666666853695 5.000000000000003 6.666666666666669 +292 1.651821825244905 8.333333330438013 6.664257878478076 +293 3.270150200748045 1.66666666673903 4.995167900443951 +294 1.666666665802565 8.333333333333334 1.66666666666667 +295 3.332149742463294 8.329006867792472 1.666666666152793 +296 4.956018879142214 8.333333342722435 3.330340837991536 +297 4.961068569266943 8.333333337999449 4.996722349190394 +298 4.997593572036546 6.655043997091015 8.33333333485422 +299 3.32335131306381 3.303903840008758 1.666666665489136 +300 3.327865240662655 4.977063523995539 8.333333333931193 +301 4.993810674308104 4.973188365824303 8.333333333793638 +302 4.943783761023866 1.666666666230662 4.998321579025965 +303 4.990499273962526 8.333333328923789 8.332390464609082 +304 6.662704487145006 3.317607957790754 1.666666665319158 +305 6.64528602688278 1.666666667201381 1.670374112938904 +306 8.315733273001639 1.666666666751797 5.000155748895926 +307 6.663143942894656 4.984579210873332 1.666666668138241 +308 6.662741535306179 4.984497939484297 8.333333333366063 +309 8.333333332710026 3.333333333333334 3.333333333333337 +310 1.660403493758395 3.316764122600103 1.666666666364711 +311 6.641946928853725 8.33333332998944 4.998695732656651 +312 3.329655718808052 6.653762669731537 1.666666670056743 +313 8.333333334210733 1.666666666666668 6.666666666666671 +314 3.278505243836852 1.666666665982843 3.33055000927853 +315 8.333333333196052 5.000000000000001 5.000000000000003 +316 4.958530187990556 1.666666666701269 6.664632353924778 +317 3.333333335751559 6.666666666666669 5.000000000000002 +318 3.33333333945139 5.000000000000002 5.000000000000002 +319 3.325134218047016 4.973125396957162 3.333333331397721 +320 6.66479451352513 6.658229402591791 3.333333336627152 +321 4.992487513742513 4.968476001600282 3.333333328810805 +322 3.333333335727594 6.66666666666667 6.666666666666671 +323 6.66666666911012 5.000000000000003 6.666666666666671 +324 3.333333333488395 3.333333333333335 6.666666666666669 +325 6.66508040097065 6.65903418390889 6.666666667932162 +326 3.333333334384611 6.666666666666668 3.333333333333335 +327 4.996765277527716 6.653675864145596 3.333333337116327 +328 6.638537756742497 3.333333332536744 6.665974027330344 +329 4.988687405622154 3.294823441600734 6.666666666679443 +330 6.666666667093498 3.333333333333333 5.000000000000004 +331 4.97579818627555 6.666666665298601 6.664430588732456 +332 4.937771380378987 3.333333331698917 3.33355951443616 +333 6.666666667487235 6.666666666666669 5.000000000000004 +334 6.666666667036193 5.000000000000002 3.333333333333337 +335 6.62749052424298 3.333333332299917 3.334574749423636 +336 3.33333333143754 3.333333333333335 5.000000000000002 +337 3.333333331313443 3.333333333333337 3.333333333333335 +338 3.333333334724964 5.000000000000003 6.666666666666669 +339 4.961068569266943 6.666666676876886 4.996722349190394 +340 4.993810674308104 4.973188365824303 6.666666667605718 +341 4.943783761023866 3.33333333244255 4.998321579025965 +342 6.666666666438698 5.000000000000001 5.000000000000003 +343 5.000000007071594 5.000000000000002 5.000000000000002 +$EndNodes +$Elements +512 +1 15 2 0 1 1 +2 15 2 0 2 2 +3 15 2 0 3 3 +4 15 2 0 4 4 +5 15 2 0 5 5 +6 15 2 0 6 6 +7 15 2 0 7 7 +8 15 2 0 8 8 +9 1 2 0 1 1 9 +10 1 2 0 1 9 10 +11 1 2 0 1 10 11 +12 1 2 0 1 11 12 +13 1 2 0 1 12 13 +14 1 2 0 1 13 2 +15 1 2 0 2 1 14 +16 1 2 0 2 14 15 +17 1 2 0 2 15 16 +18 1 2 0 2 16 17 +19 1 2 0 2 17 18 +20 1 2 0 2 18 3 +21 1 2 0 3 3 19 +22 1 2 0 3 19 20 +23 1 2 0 3 20 21 +24 1 2 0 3 21 22 +25 1 2 0 3 22 23 +26 1 2 0 3 23 4 +27 1 2 0 4 2 24 +28 1 2 0 4 24 25 +29 1 2 0 4 25 26 +30 1 2 0 4 26 27 +31 1 2 0 4 27 28 +32 1 2 0 4 28 4 +33 1 2 0 5 5 29 +34 1 2 0 5 29 30 +35 1 2 0 5 30 31 +36 1 2 0 5 31 32 +37 1 2 0 5 32 33 +38 1 2 0 5 33 6 +39 1 2 0 6 5 34 +40 1 2 0 6 34 35 +41 1 2 0 6 35 36 +42 1 2 0 6 36 37 +43 1 2 0 6 37 38 +44 1 2 0 6 38 7 +45 1 2 0 7 7 39 +46 1 2 0 7 39 40 +47 1 2 0 7 40 41 +48 1 2 0 7 41 42 +49 1 2 0 7 42 43 +50 1 2 0 7 43 8 +51 1 2 0 8 6 44 +52 1 2 0 8 44 45 +53 1 2 0 8 45 46 +54 1 2 0 8 46 47 +55 1 2 0 8 47 48 +56 1 2 0 8 48 8 +57 1 2 0 9 1 49 +58 1 2 0 9 49 50 +59 1 2 0 9 50 51 +60 1 2 0 9 51 52 +61 1 2 0 9 52 53 +62 1 2 0 9 53 5 +63 1 2 0 10 2 54 +64 1 2 0 10 54 55 +65 1 2 0 10 55 56 +66 1 2 0 10 56 57 +67 1 2 0 10 57 58 +68 1 2 0 10 58 6 +69 1 2 0 11 3 59 +70 1 2 0 11 59 60 +71 1 2 0 11 60 61 +72 1 2 0 11 61 62 +73 1 2 0 11 62 63 +74 1 2 0 11 63 7 +75 1 2 0 12 4 64 +76 1 2 0 12 64 65 +77 1 2 0 12 65 66 +78 1 2 0 12 66 67 +79 1 2 0 12 67 68 +80 1 2 0 12 68 8 +81 3 2 0 1 82 71 88 93 +82 3 2 0 1 82 93 85 91 +83 3 2 0 1 82 84 92 91 +84 3 2 0 1 91 86 83 92 +85 3 2 0 1 86 91 85 90 +86 3 2 0 1 4 28 75 23 +87 3 2 0 1 75 28 27 88 +88 3 2 0 1 18 81 77 17 +89 3 2 0 1 77 90 86 72 +90 3 2 0 1 75 23 22 89 +91 3 2 0 1 14 15 87 79 +92 3 2 0 1 26 27 88 71 +93 3 2 0 1 17 77 72 16 +94 3 2 0 1 89 75 88 93 +95 3 2 0 1 15 87 72 16 +96 3 2 0 1 87 83 86 72 +97 3 2 0 1 89 70 85 93 +98 3 2 0 1 87 83 69 79 +99 3 2 0 1 3 18 81 19 +100 3 2 0 1 26 25 74 71 +101 3 2 0 1 25 74 80 24 +102 3 2 0 1 70 21 22 89 +103 3 2 0 1 80 13 2 24 +104 3 2 0 1 12 78 80 13 +105 3 2 0 1 19 20 73 81 +106 3 2 0 1 82 71 74 84 +107 3 2 0 1 85 70 73 90 +108 3 2 0 1 20 73 70 21 +109 3 2 0 1 74 80 78 84 +110 3 2 0 1 14 79 9 1 +111 3 2 0 1 73 90 77 81 +112 3 2 0 1 10 9 79 69 +113 3 2 0 1 78 12 11 76 +114 3 2 0 1 78 84 92 76 +115 3 2 0 1 69 10 11 76 +116 3 2 0 1 69 76 92 83 +117 3 2 0 2 114 116 107 118 +118 3 2 0 2 108 110 117 116 +119 3 2 0 2 115 114 116 108 +120 3 2 0 2 96 100 115 114 +121 3 2 0 2 117 109 107 116 +122 3 2 0 2 48 98 112 47 +123 3 2 0 2 8 43 98 48 +124 3 2 0 2 114 118 112 96 +125 3 2 0 2 38 37 102 106 +126 3 2 0 2 111 35 34 104 +127 3 2 0 2 35 111 97 36 +128 3 2 0 2 37 102 97 36 +129 3 2 0 2 110 94 104 111 +130 3 2 0 2 98 43 42 113 +131 3 2 0 2 110 111 97 117 +132 3 2 0 2 97 117 109 102 +133 3 2 0 2 100 105 103 115 +134 3 2 0 2 113 95 107 118 +135 3 2 0 2 6 33 105 44 +136 3 2 0 2 118 113 98 112 +137 3 2 0 2 96 112 47 46 +138 3 2 0 2 45 44 105 100 +139 3 2 0 2 32 33 105 103 +140 3 2 0 2 45 46 96 100 +141 3 2 0 2 7 39 106 38 +142 3 2 0 2 41 95 113 42 +143 3 2 0 2 34 5 29 104 +144 3 2 0 2 106 39 40 99 +145 3 2 0 2 95 99 40 41 +146 3 2 0 2 94 30 29 104 +147 3 2 0 2 102 109 99 106 +148 3 2 0 2 107 109 99 95 +149 3 2 0 2 31 32 103 101 +150 3 2 0 2 94 30 31 101 +151 3 2 0 2 115 108 101 103 +152 3 2 0 2 110 94 101 108 +153 3 2 0 3 136 141 137 138 +154 3 2 0 3 143 135 137 141 +155 3 2 0 3 6 58 128 33 +156 3 2 0 3 127 128 33 32 +157 3 2 0 3 53 5 29 125 +158 3 2 0 3 141 140 131 136 +159 3 2 0 3 30 29 125 130 +160 3 2 0 3 57 58 128 124 +161 3 2 0 3 143 141 140 139 +162 3 2 0 3 31 121 127 32 +163 3 2 0 3 136 121 127 131 +164 3 2 0 3 130 138 134 125 +165 3 2 0 3 125 134 52 53 +166 3 2 0 3 30 31 121 130 +167 3 2 0 3 137 138 134 119 +168 3 2 0 3 136 138 130 121 +169 3 2 0 3 133 56 55 120 +170 3 2 0 3 124 133 140 131 +171 3 2 0 3 126 13 2 54 +172 3 2 0 3 120 133 140 139 +173 3 2 0 3 124 133 56 57 +174 3 2 0 3 127 131 124 128 +175 3 2 0 3 12 13 126 132 +176 3 2 0 3 126 54 55 120 +177 3 2 0 3 52 51 119 134 +178 3 2 0 3 139 132 126 120 +179 3 2 0 3 1 49 123 9 +180 3 2 0 3 123 49 50 142 +181 3 2 0 3 143 122 132 139 +182 3 2 0 3 10 9 123 129 +183 3 2 0 3 132 12 11 122 +184 3 2 0 3 142 119 51 50 +185 3 2 0 3 123 142 135 129 +186 3 2 0 3 129 122 11 10 +187 3 2 0 3 129 135 143 122 +188 3 2 0 3 119 137 135 142 +189 3 2 0 4 4 64 149 23 +190 3 2 0 4 68 152 43 8 +191 3 2 0 4 152 43 42 150 +192 3 2 0 4 162 167 166 159 +193 3 2 0 4 67 156 152 68 +194 3 2 0 4 166 167 163 160 +195 3 2 0 4 67 66 146 156 +196 3 2 0 4 154 65 64 149 +197 3 2 0 4 154 65 66 146 +198 3 2 0 4 7 63 151 39 +199 3 2 0 4 157 150 165 163 +200 3 2 0 4 157 41 42 150 +201 3 2 0 4 23 22 158 149 +202 3 2 0 4 156 165 150 152 +203 3 2 0 4 39 151 144 40 +204 3 2 0 4 165 163 167 161 +205 3 2 0 4 146 156 165 161 +206 3 2 0 4 157 144 40 41 +207 3 2 0 4 160 144 157 163 +208 3 2 0 4 59 148 19 3 +209 3 2 0 4 146 161 164 154 +210 3 2 0 4 158 149 154 164 +211 3 2 0 4 161 164 162 167 +212 3 2 0 4 145 158 22 21 +213 3 2 0 4 151 63 62 155 +214 3 2 0 4 162 145 158 164 +215 3 2 0 4 145 162 159 153 +216 3 2 0 4 62 61 147 155 +217 3 2 0 4 19 148 153 20 +218 3 2 0 4 61 147 168 60 +219 3 2 0 4 144 151 155 160 +220 3 2 0 4 60 168 148 59 +221 3 2 0 4 153 145 21 20 +222 3 2 0 4 155 160 166 147 +223 3 2 0 4 147 166 159 168 +224 3 2 0 4 168 148 153 159 +225 3 2 0 5 189 180 171 186 +226 3 2 0 5 187 185 192 188 +227 3 2 0 5 189 184 175 180 +228 3 2 0 5 189 188 192 186 +229 3 2 0 5 38 37 181 174 +230 3 2 0 5 169 35 34 176 +231 3 2 0 5 169 177 36 35 +232 3 2 0 5 183 191 181 174 +233 3 2 0 5 37 181 177 36 +234 3 2 0 5 183 191 186 171 +235 3 2 0 5 18 17 184 175 +236 3 2 0 5 169 178 190 177 +237 3 2 0 5 177 190 191 181 +238 3 2 0 5 7 63 174 38 +239 3 2 0 5 187 193 173 179 +240 3 2 0 5 176 53 5 34 +241 3 2 0 5 14 15 193 173 +242 3 2 0 5 185 178 190 192 +243 3 2 0 5 17 184 170 16 +244 3 2 0 5 193 15 16 170 +245 3 2 0 5 192 190 191 186 +246 3 2 0 5 53 176 182 52 +247 3 2 0 5 59 175 18 3 +248 3 2 0 5 193 170 188 187 +249 3 2 0 5 182 178 169 176 +250 3 2 0 5 174 63 62 183 +251 3 2 0 5 170 188 189 184 +252 3 2 0 5 62 61 171 183 +253 3 2 0 5 61 171 180 60 +254 3 2 0 5 52 182 172 51 +255 3 2 0 5 60 180 175 59 +256 3 2 0 5 14 1 49 173 +257 3 2 0 5 49 50 179 173 +258 3 2 0 5 182 172 185 178 +259 3 2 0 5 50 51 172 179 +260 3 2 0 5 187 185 172 179 +261 3 2 0 6 210 216 217 214 +262 3 2 0 6 4 28 201 64 +263 3 2 0 6 216 217 212 209 +264 3 2 0 6 48 47 205 202 +265 3 2 0 6 68 8 48 202 +266 3 2 0 6 215 200 202 205 +267 3 2 0 6 201 28 27 206 +268 3 2 0 6 200 67 68 202 +269 3 2 0 6 6 58 199 44 +270 3 2 0 6 46 196 205 47 +271 3 2 0 6 207 194 210 214 +272 3 2 0 6 67 200 207 66 +273 3 2 0 6 45 204 199 44 +274 3 2 0 6 210 194 201 206 +275 3 2 0 6 65 64 201 194 +276 3 2 0 6 204 196 46 45 +277 3 2 0 6 65 194 207 66 +278 3 2 0 6 215 200 207 214 +279 3 2 0 6 214 217 211 215 +280 3 2 0 6 197 206 27 26 +281 3 2 0 6 205 215 211 196 +282 3 2 0 6 208 199 58 57 +283 3 2 0 6 209 216 197 218 +284 3 2 0 6 213 211 196 204 +285 3 2 0 6 213 212 217 211 +286 3 2 0 6 213 208 199 204 +287 3 2 0 6 197 206 210 216 +288 3 2 0 6 26 25 218 197 +289 3 2 0 6 25 218 198 24 +290 3 2 0 6 212 209 203 195 +291 3 2 0 6 195 208 213 212 +292 3 2 0 6 56 195 203 55 +293 3 2 0 6 198 24 2 54 +294 3 2 0 6 208 195 56 57 +295 3 2 0 6 54 198 203 55 +296 3 2 0 6 209 218 198 203 +297 5 2 0 1 114 118 107 116 232 277 273 315 +298 5 2 0 1 108 116 117 110 256 315 280 309 +299 5 2 0 1 281 232 114 115 256 315 116 108 +300 5 2 0 1 82 291 230 93 71 290 239 88 +301 5 2 0 1 291 230 222 226 82 93 85 91 +302 5 2 0 1 318 338 291 226 336 324 236 283 +303 5 2 0 1 82 84 92 91 291 236 283 226 +304 5 2 0 1 226 283 92 91 286 289 83 86 +305 5 2 0 1 96 100 223 272 114 115 281 232 +306 5 2 0 1 286 226 222 241 86 91 85 90 +307 5 2 0 1 280 117 109 284 315 116 107 273 +308 5 2 0 1 318 226 291 338 317 222 230 322 +309 5 2 0 1 249 298 214 210 300 301 217 216 +310 5 2 0 1 4 23 149 64 28 75 254 201 +311 5 2 0 1 312 189 180 295 246 186 171 275 +312 5 2 0 1 187 299 288 185 188 227 229 192 +313 5 2 0 1 216 209 271 300 217 212 250 301 +314 5 2 0 1 312 189 184 270 295 180 175 294 +315 5 2 0 1 48 202 225 98 47 205 268 112 +316 5 2 0 1 68 202 225 152 8 48 98 43 +317 5 2 0 1 189 312 227 188 186 246 229 192 +318 5 2 0 1 114 118 277 232 96 112 268 272 +319 5 2 0 1 38 174 181 37 106 231 243 102 +320 5 2 0 1 215 200 202 205 237 233 225 268 +321 5 2 0 1 252 169 35 111 220 176 34 104 +322 5 2 0 1 169 177 240 252 35 36 97 111 +323 5 2 0 1 183 263 228 191 174 231 243 181 +324 5 2 0 1 37 102 243 181 36 97 240 177 +325 5 2 0 1 254 75 88 239 201 28 27 206 +326 5 2 0 1 183 171 186 191 263 275 246 228 +327 5 2 0 1 18 81 77 17 175 294 270 184 +328 5 2 0 1 309 110 94 276 252 111 104 220 +329 5 2 0 1 225 152 43 98 267 150 42 113 +330 5 2 0 1 287 282 138 136 302 266 137 141 +331 5 2 0 1 110 111 252 309 117 97 240 280 +332 5 2 0 1 97 240 280 117 102 243 284 109 +333 5 2 0 1 162 167 297 242 159 166 296 260 +334 5 2 0 1 143 293 302 141 135 314 266 137 +335 5 2 0 1 200 202 225 233 67 68 152 156 +336 5 2 0 1 100 105 261 223 115 103 313 281 +337 5 2 0 1 267 277 273 221 113 118 107 95 +338 5 2 0 1 6 44 105 33 58 199 261 128 +339 5 2 0 1 118 112 98 113 277 268 225 267 +340 5 2 0 1 315 232 277 273 342 323 325 333 +341 5 2 0 1 96 46 47 112 272 196 205 268 +342 5 2 0 1 166 167 297 296 160 163 311 238 +343 5 2 0 1 303 298 214 207 257 249 210 194 +344 5 2 0 1 252 169 178 304 240 177 190 307 +345 5 2 0 1 67 200 207 66 156 233 303 146 +346 5 2 0 1 45 100 105 44 204 223 261 199 +347 5 2 0 1 315 273 284 280 342 333 320 334 +348 5 2 0 1 249 239 206 210 257 254 201 194 +349 5 2 0 1 154 257 194 65 149 254 201 64 +350 5 2 0 1 240 177 190 307 243 181 191 228 +351 5 2 0 1 127 128 33 32 313 261 105 103 +352 5 2 0 1 204 196 46 45 223 272 96 100 +353 5 2 0 1 154 146 66 65 257 303 207 194 +354 5 2 0 1 77 72 224 270 90 86 286 241 +355 5 2 0 1 7 39 151 63 38 106 231 174 +356 5 2 0 1 299 310 193 187 219 253 173 179 +357 5 2 0 1 157 221 267 150 163 311 245 165 +358 5 2 0 1 157 221 95 41 150 267 113 42 +359 5 2 0 1 237 298 214 215 233 303 207 200 +360 5 2 0 1 326 327 321 319 312 246 229 227 +361 5 2 0 1 176 220 125 53 34 104 29 5 +362 5 2 0 1 75 254 292 89 23 149 158 22 +363 5 2 0 1 298 237 215 214 301 308 211 217 +364 5 2 0 1 233 245 165 156 225 267 150 152 +365 5 2 0 1 141 140 131 136 302 316 248 287 +366 5 2 0 1 106 39 151 231 99 40 144 279 +367 5 2 0 1 165 161 167 163 245 258 297 311 +368 5 2 0 1 14 15 87 79 173 193 310 253 +369 5 2 0 1 288 304 178 185 229 307 190 192 +370 5 2 0 1 197 290 71 26 206 239 88 27 +371 5 2 0 1 268 272 196 205 237 308 211 215 +372 5 2 0 1 146 156 233 303 161 165 245 258 +373 5 2 0 1 221 95 99 279 157 41 40 144 +374 5 2 0 1 94 30 130 276 104 29 125 220 +375 5 2 0 1 208 57 124 247 199 58 128 261 +376 5 2 0 1 17 16 170 184 77 72 224 270 +377 5 2 0 1 160 238 279 144 163 311 221 157 +378 5 2 0 1 280 284 243 240 334 320 228 307 +379 5 2 0 1 243 284 109 102 231 279 99 106 +380 5 2 0 1 89 93 230 292 75 88 239 254 +381 5 2 0 1 293 302 316 265 143 141 140 139 +382 5 2 0 1 273 107 109 284 221 95 99 279 +383 5 2 0 1 193 170 16 15 310 224 72 87 +384 5 2 0 1 31 121 127 32 101 306 313 103 +385 5 2 0 1 192 229 307 190 186 246 228 191 +386 5 2 0 1 310 224 72 87 289 286 86 83 +387 5 2 0 1 287 248 131 136 306 313 127 121 +388 5 2 0 1 277 268 225 267 325 237 233 245 +389 5 2 0 1 130 276 220 125 138 282 305 134 +390 5 2 0 1 271 259 218 209 300 290 197 216 +391 5 2 0 1 251 213 204 223 308 211 196 272 +392 5 2 0 1 292 262 222 230 89 70 85 93 +393 5 2 0 1 213 211 308 251 212 217 301 250 +394 5 2 0 1 213 251 223 204 208 247 261 199 +395 5 2 0 1 268 272 308 237 277 232 323 325 +396 5 2 0 1 125 220 176 53 134 305 182 52 +397 5 2 0 1 94 276 130 30 101 306 121 31 +398 5 2 0 1 87 83 69 79 310 289 274 253 +399 5 2 0 1 137 119 235 266 138 134 305 282 +400 5 2 0 1 59 175 294 148 3 18 81 19 +401 5 2 0 1 281 256 108 115 313 306 101 103 +402 5 2 0 1 309 256 306 276 110 108 101 94 +403 5 2 0 1 303 146 161 258 257 154 164 264 +404 5 2 0 1 287 282 276 306 136 138 130 121 +405 5 2 0 1 193 170 224 310 187 188 227 299 +406 5 2 0 1 292 158 149 254 264 164 154 257 +407 5 2 0 1 290 197 216 300 239 206 210 249 +408 5 2 0 1 258 264 164 161 297 242 162 167 +409 5 2 0 1 277 273 333 325 267 221 311 245 +410 5 2 0 1 297 339 333 311 258 331 325 245 +411 5 2 0 1 258 245 233 303 331 325 237 298 +412 5 2 0 1 26 71 290 197 25 74 259 218 +413 5 2 0 1 25 218 198 24 74 259 244 80 +414 5 2 0 1 250 269 195 212 271 234 203 209 +415 5 2 0 1 262 70 89 292 145 21 22 158 +416 5 2 0 1 182 176 169 178 305 220 252 304 +417 5 2 0 1 270 224 227 312 241 286 319 326 +418 5 2 0 1 195 269 250 212 208 247 251 213 +419 5 2 0 1 231 151 63 174 263 155 62 183 +420 5 2 0 1 133 269 234 120 56 195 203 55 +421 5 2 0 1 300 290 239 249 338 291 230 322 +422 5 2 0 1 247 269 316 248 124 133 140 131 +423 5 2 0 1 221 279 284 273 311 238 320 333 +424 5 2 0 1 242 162 145 262 264 164 158 292 +425 5 2 0 1 244 126 54 198 80 13 2 24 +426 5 2 0 1 224 227 188 170 270 312 189 184 +427 5 2 0 1 145 162 242 262 153 159 260 285 +428 5 2 0 1 234 120 139 265 269 133 140 316 +429 5 2 0 1 247 124 57 208 269 133 56 195 +430 5 2 0 1 127 128 261 313 131 124 247 248 +431 5 2 0 1 12 13 126 132 78 80 244 278 +432 5 2 0 1 317 326 319 318 222 241 286 226 +433 5 2 0 1 62 155 147 61 183 263 275 171 +434 5 2 0 1 239 249 322 230 254 257 264 292 +435 5 2 0 1 19 81 294 148 20 73 285 153 +436 5 2 0 1 286 224 227 319 289 310 299 337 +437 5 2 0 1 264 258 303 257 322 331 298 249 +438 5 2 0 1 334 320 228 307 321 327 246 229 +439 5 2 0 1 291 82 84 236 290 71 74 259 +440 5 2 0 1 223 281 313 261 251 328 248 247 +441 5 2 0 1 61 171 275 147 60 180 295 168 +442 5 2 0 1 144 160 155 151 279 238 263 231 +443 5 2 0 1 126 54 55 120 244 198 203 234 +444 5 2 0 1 52 134 305 182 51 119 235 172 +445 5 2 0 1 85 222 241 90 70 262 285 73 +446 5 2 0 1 323 325 331 340 308 237 298 301 +447 5 2 0 1 60 180 295 168 59 175 294 148 +448 5 2 0 1 153 285 262 145 20 73 70 21 +449 5 2 0 1 271 300 338 324 259 290 291 236 +450 5 2 0 1 139 120 234 265 132 126 244 278 +451 5 2 0 1 74 80 78 84 259 244 278 236 +452 5 2 0 1 342 330 256 315 323 328 281 232 +453 5 2 0 1 271 259 244 234 209 218 198 203 +454 5 2 0 1 308 323 232 272 251 328 281 223 +455 5 2 0 1 14 79 9 1 173 253 123 49 +456 5 2 0 1 123 253 219 142 49 173 179 50 +457 5 2 0 1 238 263 231 279 320 228 243 284 +458 5 2 0 1 322 249 300 338 331 298 301 340 +459 5 2 0 1 182 172 235 305 178 185 288 304 +460 5 2 0 1 337 336 318 319 289 283 226 286 +461 5 2 0 1 143 122 132 139 293 255 278 265 +462 5 2 0 1 73 81 294 285 90 77 270 241 +463 5 2 0 1 10 69 274 129 9 79 253 123 +464 5 2 0 1 304 335 282 305 252 309 276 220 +465 5 2 0 1 263 238 160 155 275 296 166 147 +466 5 2 0 1 287 306 256 330 248 313 281 328 +467 5 2 0 1 342 333 339 343 323 325 331 340 +468 5 2 0 1 278 78 76 255 132 12 11 122 +469 5 2 0 1 317 326 241 222 242 260 285 262 +470 5 2 0 1 339 333 320 327 297 311 238 296 +471 5 2 0 1 317 242 262 222 322 264 292 230 +472 5 2 0 1 321 327 339 343 334 320 333 342 +473 5 2 0 1 322 331 340 338 317 339 343 318 +474 5 2 0 1 142 119 51 50 219 235 172 179 +475 5 2 0 1 280 315 342 334 309 256 330 335 +476 5 2 0 1 329 340 338 324 250 301 300 271 +477 5 2 0 1 253 274 129 123 219 314 135 142 +478 5 2 0 1 335 334 280 309 304 307 240 252 +479 5 2 0 1 275 295 260 296 147 168 159 166 +480 5 2 0 1 339 297 242 317 331 258 264 322 +481 5 2 0 1 317 318 319 326 339 343 321 327 +482 5 2 0 1 287 282 335 330 306 276 309 256 +483 5 2 0 1 246 228 263 275 327 320 238 296 +484 5 2 0 1 278 255 76 78 236 283 92 84 +485 5 2 0 1 295 168 148 294 260 159 153 285 +486 5 2 0 1 329 324 265 316 250 271 234 269 +487 5 2 0 1 330 287 302 341 335 282 266 332 +488 5 2 0 1 244 234 265 278 259 271 324 236 +489 5 2 0 1 274 255 76 69 129 122 11 10 +490 5 2 0 1 274 255 122 129 314 293 143 135 +491 5 2 0 1 341 336 337 332 302 293 314 266 +492 5 2 0 1 293 336 337 314 255 283 289 274 +493 5 2 0 1 327 296 260 326 339 297 242 317 +494 5 2 0 1 187 185 288 299 179 172 235 219 +495 5 2 0 1 337 336 341 332 319 318 343 321 +496 5 2 0 1 336 283 255 293 324 236 278 265 +497 5 2 0 1 293 336 324 265 302 341 329 316 +498 5 2 0 1 274 255 283 289 69 76 92 83 +499 5 2 0 1 260 295 275 296 326 312 246 327 +500 5 2 0 1 316 329 250 269 248 328 251 247 +501 5 2 0 1 270 294 285 241 312 295 260 326 +502 5 2 0 1 329 340 301 250 328 323 308 251 +503 5 2 0 1 332 288 304 335 266 235 305 282 +504 5 2 0 1 235 219 142 119 266 314 135 137 +505 5 2 0 1 337 299 288 332 314 219 235 266 +506 5 2 0 1 310 299 337 289 253 219 314 274 +507 5 2 0 1 343 341 329 340 318 336 324 338 +508 5 2 0 1 329 328 330 341 340 323 342 343 +509 5 2 0 1 337 332 288 299 319 321 229 227 +510 5 2 0 1 304 288 332 335 307 229 321 334 +511 5 2 0 1 287 330 341 302 248 328 329 316 +512 5 2 0 1 334 342 343 321 335 330 341 332 +$EndElements diff --git a/test/hybrid-cube.msh b/test/hybrid-cube.msh new file mode 100644 index 00000000..149f68d3 --- /dev/null +++ b/test/hybrid-cube.msh @@ -0,0 +1,873 @@ +$MeshFormat +2.2 0 8 +$EndMeshFormat +$Nodes +344 +1 0 0 0 +2 0 0 10 +3 0 10 0 +4 0 10 10 +5 10 0 0 +6 10 0 10 +7 10 10 0 +8 10 10 10 +9 0 0 1.666666666666672 +10 0 0 3.333333333333344 +11 0 0 5.000000000000009 +12 0 0 6.666666666666672 +13 0 0 8.333333333333336 +14 0 1.666666666666672 0 +15 0 3.333333333333344 0 +16 0 5.000000000000009 0 +17 0 6.666666666666672 0 +18 0 8.333333333333336 0 +19 0 10 1.666666666666672 +20 0 10 3.333333333333344 +21 0 10 5.000000000000009 +22 0 10 6.666666666666672 +23 0 10 8.333333333333336 +24 0 1.666666666666672 10 +25 0 3.333333333333344 10 +26 0 5.000000000000009 10 +27 0 6.666666666666672 10 +28 0 8.333333333333336 10 +29 10 0 1.666666666666672 +30 10 0 3.333333333333344 +31 10 0 5.000000000000009 +32 10 0 6.666666666666672 +33 10 0 8.333333333333336 +34 10 1.666666666666672 0 +35 10 3.333333333333344 0 +36 10 5.000000000000009 0 +37 10 6.666666666666672 0 +38 10 8.333333333333336 0 +39 10 10 1.666666666666672 +40 10 10 3.333333333333344 +41 10 10 5.000000000000009 +42 10 10 6.666666666666672 +43 10 10 8.333333333333336 +44 10 1.666666666666672 10 +45 10 3.333333333333344 10 +46 10 5.000000000000009 10 +47 10 6.666666666666672 10 +48 10 8.333333333333336 10 +49 1.666666666666672 0 0 +50 3.333333333333344 0 0 +51 5.000000000000009 0 0 +52 6.666666666666672 0 0 +53 8.333333333333336 0 0 +54 1.666666666666672 0 10 +55 3.333333333333344 0 10 +56 5.000000000000009 0 10 +57 6.666666666666672 0 10 +58 8.333333333333336 0 10 +59 1.666666666666672 10 0 +60 3.333333333333344 10 0 +61 5.000000000000009 10 0 +62 6.666666666666672 10 0 +63 8.333333333333336 10 0 +64 1.666666666666672 10 10 +65 3.333333333333344 10 10 +66 5.000000000000009 10 10 +67 6.666666666666672 10 10 +68 8.333333333333336 10 10 +69 0 5.000000000000004 8.333333333333337 +70 0 3.333333333333338 1.666666666666668 +71 0 8.333333333333336 5.000000000000009 +72 0 1.666666666666668 5.000000000000006 +73 0 8.333333333333336 8.333333333333336 +74 0 3.333333333333337 8.333333333333337 +75 0 8.333333333333334 1.666666666666669 +76 0 1.666666666666668 6.666666666666672 +77 0 1.66666666666667 1.66666666666667 +78 0 1.666666666666669 8.333333333333337 +79 0 5.000000000000004 1.666666666666668 +80 0 5.000000000000002 6.666666666666671 +81 0 5.000000000000003 3.333333333333336 +82 0 3.333333333333335 5.000000000000004 +83 0 3.333333333333336 3.333333333333337 +84 0 8.333333333333334 3.333333333333338 +85 0 1.666666666666668 3.333333333333339 +86 0 8.333333333333336 6.666666666666671 +87 0 6.666666666666671 8.333333333333337 +88 0 3.333333333333336 6.666666666666672 +89 0 6.666666666666671 1.666666666666668 +90 0 5.000000000000002 5.000000000000004 +91 0 6.66666666666667 6.666666666666671 +92 0 6.66666666666667 5.000000000000005 +93 0 6.66666666666667 3.333333333333337 +94 10 5.000000000000005 8.333333333333336 +95 10 3.333333333333339 1.666666666666668 +96 10 8.333333333333337 5.000000000000004 +97 10 1.666666666666667 5.000000000000005 +98 10 8.333333333333336 8.333333333333336 +99 10 3.333333333333337 8.333333333333334 +100 10 8.333333333333334 3.333333333333337 +101 10 6.666666666666671 1.666666666666667 +102 10 1.666666666666667 6.666666666666669 +103 10 1.666666666666669 1.66666666666667 +104 10 8.333333333333334 1.666666666666669 +105 10 1.666666666666669 8.333333333333334 +106 10 6.666666666666669 3.333333333333335 +107 10 5.000000000000004 6.666666666666671 +108 10 3.333333333333334 5.000000000000003 +109 10 3.333333333333336 3.333333333333336 +110 10 1.666666666666668 3.333333333333338 +111 10 6.666666666666671 8.333333333333336 +112 10 8.333333333333337 6.66666666666667 +113 10 5.000000000000005 1.666666666666667 +114 10 3.333333333333335 6.666666666666668 +115 10 6.666666666666671 5.000000000000002 +116 10 5.000000000000002 5.000000000000001 +117 10 6.666666666666671 6.666666666666671 +118 10 5.000000000000004 3.333333333333334 +119 5.000000000000006 0 1.666666666666669 +120 3.333333333333339 0 8.333333333333337 +121 8.333333333333336 0 5.000000000000007 +122 1.666666666666668 0 5.000000000000007 +123 1.66666666666667 0 1.66666666666667 +124 6.666666666666671 0 8.333333333333337 +125 8.333333333333334 0 1.66666666666667 +126 1.666666666666669 0 8.333333333333337 +127 8.333333333333336 0 6.666666666666671 +128 8.333333333333336 0 8.333333333333336 +129 3.333333333333338 0 1.666666666666669 +130 1.666666666666668 0 3.33333333333334 +131 8.333333333333336 0 3.33333333333334 +132 6.666666666666671 0 5.000000000000005 +133 6.666666666666671 0 6.666666666666671 +134 1.666666666666668 0 6.666666666666672 +135 5.000000000000007 0 8.333333333333337 +136 6.666666666666671 0 1.666666666666669 +137 3.333333333333337 0 5.000000000000005 +138 5.000000000000004 0 3.333333333333337 +139 5.000000000000004 0 5.000000000000004 +140 3.333333333333337 0 3.333333333333338 +141 5.000000000000005 0 6.666666666666673 +142 3.333333333333337 0 6.666666666666673 +143 6.666666666666671 0 3.333333333333338 +144 3.325819545491736 10 8.330117844918796 +145 4.981517593996887 10 1.660213435829615 +146 8.32871176233281 10 4.998677723858195 +147 1.635071918719877 10 4.98513583612906 +148 1.641285395332743 10 1.653829965095092 +149 8.333333333333336 10 1.666666666666672 +150 8.330220336927585 10 6.66574413541743 +151 1.662162179295719 10 8.330926058549844 +152 8.332012109557015 10 8.332925713261476 +153 4.993745441061907 10 8.330970169033998 +154 3.309384452565365 10 6.657042997900374 +155 6.651883160821606 10 4.995624535831115 +156 3.304697219241961 10 1.654495643791025 +157 1.635085693333254 10 3.318890068949913 +158 8.329267064096644 10 3.332180350296297 +159 1.650813517888665 10 6.659716592623695 +160 6.657485176181039 10 6.663740878468262 +161 6.662699500414444 10 8.331987864948598 +162 6.666666666666672 10 1.666666666666669 +163 3.295797638135218 10 4.985649635590115 +164 4.949980024020644 10 3.319457070219448 +165 3.294533871464136 10 3.318223505788806 +166 4.982930299857913 10 6.660643179951268 +167 6.650956351407793 10 3.328748986374459 +168 4.967118326764401 10 4.989697555718453 +169 4.990136067352632 1.637182763854645 0 +170 3.333778305479518 8.328882932486007 0 +171 8.331852285708377 4.992869753381408 0 +172 1.663276315200596 4.97533671803011 0 +173 1.657753767328274 1.641692131956325 0 +174 8.331760559230817 1.661502700638851 0 +175 6.666557858901274 8.331916525352485 0 +176 1.667130308658399 8.329982834314492 0 +177 8.333148603277156 8.331997530014304 0 +178 3.323791957188495 1.638234686091057 0 +179 8.331221011350848 3.324828115971477 0 +180 8.332670988145207 6.662789452312691 0 +181 1.665967520107639 6.654754892402647 0 +182 4.999825127277316 8.329172838426391 0 +183 6.662276128253333 1.651600646418844 0 +184 3.321612456181299 3.28956546502744 0 +185 6.66314954975507 4.9818223878973 0 +186 4.988690928062234 3.29067435201555 0 +187 6.660817510490984 3.308899115113731 0 +188 4.999063009569526 6.652721859401644 0 +189 3.332783649810387 6.647880017968968 0 +190 6.665620038725993 6.658509429039656 0 +191 3.327552521792197 4.960077554541143 0 +192 4.994211699752948 4.967753460163921 0 +193 1.657367303280127 3.296860342739643 0 +194 3.331964559976454 8.329370379076208 10 +195 4.991955091643362 1.650928120218309 10 +196 8.330955322553296 4.994209773730754 10 +197 1.659174425915023 4.983257895012078 10 +198 1.654752250252084 1.647369711906424 10 +199 6.665602014248813 8.330329358239103 10 +200 8.333333333333332 1.666666666666675 10 +201 1.666666666666669 8.333333333333337 10 +202 8.33295137073689 8.332275421606417 10 +203 1.65586805957721 3.312731217741932 10 +204 3.32108662298488 1.645038877088158 10 +205 8.331415686237955 3.328760486742754 10 +206 1.666666666666667 6.666666666666673 10 +207 8.332050129365591 6.663376582289044 10 +208 4.998642401499535 8.329275836360964 10 +209 6.666666666666669 1.666666666666667 10 +210 3.328382654748142 6.652554439130114 10 +211 6.660255281172845 4.984428228332149 10 +212 4.984536395687214 3.300417587918648 10 +213 3.318113205340548 4.954332937045653 10 +214 3.315494821903588 3.297647072072853 10 +215 4.994701101786632 6.65210674876501 10 +216 6.663199914867223 6.657647619162923 10 +217 6.659225782827993 3.316092216541285 10 +218 4.987511039407003 4.968286404001362 10 +219 8.333333333368943 6.666666666666671 1.666666666666667 +220 3.333333333333339 1.666666665595295 8.333333333333337 +221 8.333333333333336 1.666666666603869 5.000000000000007 +222 5.000000000000006 1.666666666402171 1.666666666666669 +223 8.333333333744871 1.666666666666667 6.666666666666669 +224 8.333333333448083 8.333333333333334 3.333333333333337 +225 1.666666666981749 8.333333333333336 8.333333333333336 +226 1.666666666557241 3.333333333333335 5.000000000000004 +227 1.666666664939841 3.333333333333337 8.333333333333337 +228 1.666666666966847 8.333333333333334 1.666666666666669 +229 1.666666665478944 1.666666666666668 6.666666666666672 +230 8.333333333333336 8.333333333166749 1.666666666666672 +231 1.666666666624304 1.66666666666667 1.66666666666667 +232 6.666557858901274 8.331916525352485 1.666666665824507 +233 1.659174425915023 4.983257895012078 8.33333333355135 +234 3.304697219241961 8.333333334421203 1.654495643791025 +235 8.333333335125038 8.333333333333336 8.333333333333336 +236 8.333333333333334 1.666666666734722 1.66666666666667 +237 3.325819545491736 8.333333332629657 8.330117844918796 +238 6.651883160821606 8.333333333307568 4.995624535831115 +239 8.333333332406255 3.333333333333339 1.666666666666668 +240 8.333333335063768 8.333333333333337 5.000000000000004 +241 4.993745441061907 8.333333335070375 8.330970169033998 +242 8.333333333245898 3.333333333333337 8.333333333333334 +243 4.981517593996887 8.33333333554704 1.660213435829615 +244 8.333333333333336 1.666666666363799 3.33333333333334 +245 1.666666666666667 6.666666666666673 8.333333333977038 +246 6.660817510490984 3.308899115113731 1.666666665774547 +247 1.654752250252084 1.647369711906424 8.333333334285916 +248 4.999063009569526 6.652721859401644 1.666666666093936 +249 3.332783649810387 6.647880017968968 1.666666663788888 +250 6.665620038725993 6.658509429039656 1.666666668317261 +251 3.327552521792197 4.960077554541143 1.666666666840393 +252 4.994211699752948 4.967753460163921 1.666666664460261 +253 1.657367303280127 3.296860342739643 1.666666668796723 +254 6.666666666666669 1.666666666666667 8.333333333147229 +255 3.328382654748142 6.652554439130114 8.333333333112201 +256 6.660255281172845 4.984428228332149 8.333333334767726 +257 4.984536395687214 3.300417587918648 8.333333334171897 +258 3.318113205340548 4.954332937045653 8.333333333260976 +259 6.66314954975507 4.9818223878973 1.666666663569666 +260 4.988690928062234 3.29067435201555 1.66666666570325 +261 8.333333333509339 1.666666666666669 8.333333333333334 +262 8.33333333305475 6.666666666666669 3.333333333333335 +263 1.666666666342064 5.000000000000004 1.666666666666668 +264 1.666666666442073 5.000000000000002 6.666666666666671 +265 1.666666665443769 5.000000000000003 3.333333333333336 +266 1.666666667175607 8.333333333333336 5.000000000000009 +267 8.332050129365591 6.663376582289044 8.333333335684518 +268 6.665602014248813 8.330329358239103 8.333333336219223 +269 8.330220336927585 8.333333336313116 6.66574413541743 +270 1.666666669227914 3.333333333333336 3.333333333333337 +271 1.66666666647693 8.333333333333334 3.333333333333338 +272 1.666666665593287 1.666666666666668 3.333333333333339 +273 1.666666666682165 8.333333333333336 6.666666666666671 +274 1.666666664736838 3.333333333333336 6.666666666666672 +275 1.666666666512763 6.666666666666671 1.666666666666668 +276 1.666666665703179 5.000000000000002 5.000000000000004 +277 1.66666666508942 6.66666666666667 6.666666666666671 +278 3.315494821903588 3.297647072072853 8.333333334818224 +279 4.994701101786632 6.65210674876501 8.333333334142916 +280 6.663199914867223 6.657647619162923 8.33333333638509 +281 6.659225782827993 3.316092216541285 8.333333333457933 +282 4.987511039407003 4.968286404001362 8.333333333944736 +283 1.666666667295926 6.66666666666667 5.000000000000005 +284 1.666666665931434 6.66666666666667 3.333333333333337 +285 8.333333332090127 3.333333333333336 3.333333333333336 +286 8.333333332557867 5.000000000000005 1.666666666666667 +287 8.333333333488655 3.333333333333335 6.666666666666668 +288 8.333333334197583 6.666666666666671 5.000000000000002 +289 8.333333333493361 5.000000000000002 5.000000000000001 +290 3.333333333333338 1.666666665674556 1.666666666666669 +291 8.333333336895505 6.666666666666671 6.666666666666671 +292 8.333333332482416 5.000000000000004 3.333333333333334 +293 6.666666666666671 1.666666666352389 5.000000000000005 +294 6.666666666666671 1.666666666440227 6.666666666666671 +295 5.000000000000007 1.666666666357158 8.333333333333337 +296 6.666666666666671 1.666666666272892 1.666666666666669 +297 3.333333333333337 1.666666666532445 5.000000000000005 +298 5.000000000000004 1.666666666510141 3.333333333333337 +299 3.309384452565365 8.333333332354401 6.657042997900374 +300 5.000000000000004 1.666666666793622 5.000000000000004 +301 3.333333333333337 1.666666666982266 3.333333333333338 +302 5.000000000000005 1.666666666207409 6.666666666666673 +303 3.333333333333337 1.666666665076644 6.666666666666673 +304 8.330955322553296 4.994209773730754 8.333333334605049 +305 6.666666666666671 1.666666666468833 3.333333333333338 +306 6.657485176181039 8.333333336509902 6.663740878468262 +307 3.321612456181299 3.28956546502744 1.666666672133376 +308 3.295797638135218 8.333333333794339 4.985649635590115 +309 4.949980024020644 8.333333333891682 3.319457070219448 +310 3.294533871464136 8.333333334251671 3.318223505788806 +311 4.982930299857913 8.333333334456688 6.660643179951268 +312 6.650956351407793 8.33333333222061 3.328748986374459 +313 4.967118326764401 8.333333333292412 4.989697555718453 +314 8.333333335244987 5.000000000000004 6.666666666666671 +315 8.33333333341346 3.333333333333334 5.000000000000003 +316 1.666666666666668 1.666666666608363 5.000000000000007 +317 3.333333332878007 3.333333333333335 5.000000000000004 +318 6.651883160821606 6.666666667763815 4.995624535831115 +319 6.660817510490984 3.308899115113731 3.333333332721931 +320 4.999063009569526 6.652721859401644 3.333333333072986 +321 3.332783649810387 6.647880017968968 3.333333328779428 +322 6.665620038725993 6.658509429039656 3.333333337361623 +323 3.327552521792197 4.960077554541143 3.333333333873684 +324 4.994211699752948 4.967753460163921 3.333333328506439 +325 3.328382654748142 6.652554439130114 6.666666664866541 +326 6.660255281172845 4.984428228332149 6.66666667009722 +327 4.984536395687214 3.300417587918648 6.666666668492916 +328 3.318113205340548 4.954332937045653 6.666666667163838 +329 6.66314954975507 4.9818223878973 3.333333329931121 +330 4.988690928062234 3.29067435201555 3.333333332935152 +331 3.333333338443495 3.333333333333336 3.333333333333337 +332 3.333333327435466 3.333333333333336 6.666666666666672 +333 3.333333331967363 5.000000000000002 5.000000000000004 +334 4.994701101786632 6.65210674876501 6.666666668637723 +335 6.663199914867223 6.657647619162923 6.666666675932389 +336 6.659225782827993 3.316092216541285 6.666666666199356 +337 4.987511039407003 4.968286404001362 6.666666666839074 +338 3.333333334858404 6.66666666666667 5.000000000000005 +339 6.666666667175118 5.000000000000002 5.000000000000001 +340 6.666666666666671 3.333333333659602 5.000000000000005 +341 5.000000000000004 3.333333334378544 5.000000000000004 +342 4.967118326764401 6.666666666623037 4.989697555718453 +343 4.994211699752948 4.967753460163921 4.999999992719579 +344 2.076392070294159 1.123484468479073 4.016730543756097 +$EndNodes +$Elements +520 +1 15 2 0 1 1 +2 15 2 0 2 2 +3 15 2 0 3 3 +4 15 2 0 4 4 +5 15 2 0 5 5 +6 15 2 0 6 6 +7 15 2 0 7 7 +8 15 2 0 8 8 +9 1 2 0 1 1 9 +10 1 2 0 1 9 10 +11 1 2 0 1 10 11 +12 1 2 0 1 11 12 +13 1 2 0 1 12 13 +14 1 2 0 1 13 2 +15 1 2 0 2 1 14 +16 1 2 0 2 14 15 +17 1 2 0 2 15 16 +18 1 2 0 2 16 17 +19 1 2 0 2 17 18 +20 1 2 0 2 18 3 +21 1 2 0 3 3 19 +22 1 2 0 3 19 20 +23 1 2 0 3 20 21 +24 1 2 0 3 21 22 +25 1 2 0 3 22 23 +26 1 2 0 3 23 4 +27 1 2 0 4 2 24 +28 1 2 0 4 24 25 +29 1 2 0 4 25 26 +30 1 2 0 4 26 27 +31 1 2 0 4 27 28 +32 1 2 0 4 28 4 +33 1 2 0 5 5 29 +34 1 2 0 5 29 30 +35 1 2 0 5 30 31 +36 1 2 0 5 31 32 +37 1 2 0 5 32 33 +38 1 2 0 5 33 6 +39 1 2 0 6 5 34 +40 1 2 0 6 34 35 +41 1 2 0 6 35 36 +42 1 2 0 6 36 37 +43 1 2 0 6 37 38 +44 1 2 0 6 38 7 +45 1 2 0 7 7 39 +46 1 2 0 7 39 40 +47 1 2 0 7 40 41 +48 1 2 0 7 41 42 +49 1 2 0 7 42 43 +50 1 2 0 7 43 8 +51 1 2 0 8 6 44 +52 1 2 0 8 44 45 +53 1 2 0 8 45 46 +54 1 2 0 8 46 47 +55 1 2 0 8 47 48 +56 1 2 0 8 48 8 +57 1 2 0 9 1 49 +58 1 2 0 9 49 50 +59 1 2 0 9 50 51 +60 1 2 0 9 51 52 +61 1 2 0 9 52 53 +62 1 2 0 9 53 5 +63 1 2 0 10 2 54 +64 1 2 0 10 54 55 +65 1 2 0 10 55 56 +66 1 2 0 10 56 57 +67 1 2 0 10 57 58 +68 1 2 0 10 58 6 +69 1 2 0 11 3 59 +70 1 2 0 11 59 60 +71 1 2 0 11 60 61 +72 1 2 0 11 61 62 +73 1 2 0 11 62 63 +74 1 2 0 11 63 7 +75 1 2 0 12 4 64 +76 1 2 0 12 64 65 +77 1 2 0 12 65 66 +78 1 2 0 12 66 67 +79 1 2 0 12 67 68 +80 1 2 0 12 68 8 +81 2 2 0 3 130 140 137 +82 2 2 0 3 137 122 130 +83 3 2 0 1 82 90 81 83 +84 3 2 0 1 84 93 92 71 +85 3 2 0 1 85 72 11 10 +86 3 2 0 1 71 86 91 92 +87 3 2 0 1 93 89 75 84 +88 3 2 0 1 72 82 83 85 +89 3 2 0 1 88 82 90 80 +90 3 2 0 1 92 90 80 91 +91 3 2 0 1 92 93 81 90 +92 3 2 0 1 73 87 27 28 +93 3 2 0 1 88 76 72 82 +94 3 2 0 1 85 10 9 77 +95 3 2 0 1 91 86 73 87 +96 3 2 0 1 81 93 89 79 +97 3 2 0 1 76 12 11 72 +98 3 2 0 1 73 28 4 23 +99 3 2 0 1 89 17 18 75 +100 3 2 0 1 87 27 26 69 +101 3 2 0 1 22 23 73 86 +102 3 2 0 1 69 80 91 87 +103 3 2 0 1 74 78 76 88 +104 3 2 0 1 25 74 69 26 +105 3 2 0 1 74 25 24 78 +106 3 2 0 1 69 80 88 74 +107 3 2 0 1 2 13 78 24 +108 3 2 0 1 17 16 79 89 +109 3 2 0 1 22 21 71 86 +110 3 2 0 1 16 15 70 79 +111 3 2 0 1 71 84 20 21 +112 3 2 0 1 13 12 76 78 +113 3 2 0 1 20 19 75 84 +114 3 2 0 1 14 1 9 77 +115 3 2 0 1 14 77 70 15 +116 3 2 0 1 70 83 81 79 +117 3 2 0 1 19 3 18 75 +118 3 2 0 1 70 83 85 77 +119 3 2 0 2 107 116 115 117 +120 3 2 0 2 106 118 113 101 +121 3 2 0 2 104 101 106 100 +122 3 2 0 2 44 105 33 6 +123 3 2 0 2 102 105 99 114 +124 3 2 0 2 30 31 97 110 +125 3 2 0 2 118 113 95 109 +126 3 2 0 2 110 109 108 97 +127 3 2 0 2 115 116 118 106 +128 3 2 0 2 102 114 108 97 +129 3 2 0 2 107 114 108 116 +130 3 2 0 2 102 32 31 97 +131 3 2 0 2 106 115 96 100 +132 3 2 0 2 33 105 102 32 +133 3 2 0 2 103 95 109 110 +134 3 2 0 2 103 110 30 29 +135 3 2 0 2 116 108 109 118 +136 3 2 0 2 104 39 7 38 +137 3 2 0 2 43 98 48 8 +138 3 2 0 2 96 112 117 115 +139 3 2 0 2 112 98 43 42 +140 3 2 0 2 48 98 111 47 +141 3 2 0 2 41 96 100 40 +142 3 2 0 2 40 100 104 39 +143 3 2 0 2 44 45 99 105 +144 3 2 0 2 41 42 112 96 +145 3 2 0 2 98 111 117 112 +146 3 2 0 2 38 37 101 104 +147 3 2 0 2 46 94 99 45 +148 3 2 0 2 29 103 34 5 +149 3 2 0 2 47 46 94 111 +150 3 2 0 2 99 114 107 94 +151 3 2 0 2 107 94 111 117 +152 3 2 0 2 101 113 36 37 +153 3 2 0 2 35 34 103 95 +154 3 2 0 2 36 35 95 113 +155 3 2 0 3 133 141 139 132 +156 3 2 0 3 138 139 137 140 +157 3 2 0 3 132 121 127 133 +158 3 2 0 3 10 130 122 11 +159 3 2 0 3 142 141 135 120 +160 3 2 0 3 58 128 33 6 +161 3 2 0 3 140 138 119 129 +162 3 2 0 3 131 121 31 30 +163 3 2 0 3 132 139 138 143 +164 3 2 0 3 143 131 121 132 +165 3 2 0 3 141 135 124 133 +166 3 2 0 3 137 139 141 142 +167 3 2 0 3 128 124 57 58 +168 3 2 0 3 127 32 31 121 +169 3 2 0 3 122 137 142 134 +170 3 2 0 3 130 10 9 123 +171 3 2 0 3 129 140 130 123 +172 3 2 0 3 133 127 128 124 +173 3 2 0 3 33 128 127 32 +174 3 2 0 3 143 136 125 131 +175 3 2 0 3 125 29 30 131 +176 3 2 0 3 136 143 138 119 +177 3 2 0 3 134 12 11 122 +178 3 2 0 3 29 125 53 5 +179 3 2 0 3 52 53 125 136 +180 3 2 0 3 56 135 124 57 +181 3 2 0 3 120 126 134 142 +182 3 2 0 3 55 120 135 56 +183 3 2 0 3 120 55 54 126 +184 3 2 0 3 52 51 119 136 +185 3 2 0 3 2 54 126 13 +186 3 2 0 3 50 49 123 129 +187 3 2 0 3 50 51 119 129 +188 3 2 0 3 126 134 12 13 +189 3 2 0 3 1 9 123 49 +190 3 2 0 4 149 63 62 162 +191 3 2 0 4 39 149 63 7 +192 3 2 0 4 152 68 8 43 +193 3 2 0 4 150 42 43 152 +194 3 2 0 4 41 40 158 146 +195 3 2 0 4 158 149 39 40 +196 3 2 0 4 151 64 4 23 +197 3 2 0 4 146 41 42 150 +198 3 2 0 4 67 161 152 68 +199 3 2 0 4 167 158 146 155 +200 3 2 0 4 151 144 65 64 +201 3 2 0 4 65 144 153 66 +202 3 2 0 4 67 161 153 66 +203 3 2 0 4 146 150 160 155 +204 3 2 0 4 150 160 161 152 +205 3 2 0 4 153 161 160 166 +206 3 2 0 4 149 162 167 158 +207 3 2 0 4 159 151 23 22 +208 3 2 0 4 62 61 145 162 +209 3 2 0 4 163 154 166 168 +210 3 2 0 4 159 151 144 154 +211 3 2 0 4 154 144 153 166 +212 3 2 0 4 165 164 168 163 +213 3 2 0 4 168 166 160 155 +214 3 2 0 4 162 167 164 145 +215 3 2 0 4 164 168 155 167 +216 3 2 0 4 145 61 60 156 +217 3 2 0 4 145 164 165 156 +218 3 2 0 4 22 21 147 159 +219 3 2 0 4 163 147 157 165 +220 3 2 0 4 165 156 148 157 +221 3 2 0 4 147 21 20 157 +222 3 2 0 4 147 159 154 163 +223 3 2 0 4 20 19 148 157 +224 3 2 0 4 59 148 156 60 +225 3 2 0 4 148 59 3 19 +226 3 2 0 5 63 177 175 62 +227 3 2 0 5 38 7 63 177 +228 3 2 0 5 38 177 180 37 +229 3 2 0 5 5 53 174 34 +230 3 2 0 5 190 180 177 175 +231 3 2 0 5 180 171 36 37 +232 3 2 0 5 35 179 174 34 +233 3 2 0 5 36 35 179 171 +234 3 2 0 5 192 191 189 188 +235 3 2 0 5 192 191 184 186 +236 3 2 0 5 17 18 176 181 +237 3 2 0 5 183 52 53 174 +238 3 2 0 5 188 192 185 190 +239 3 2 0 5 62 175 182 61 +240 3 2 0 5 171 180 190 185 +241 3 2 0 5 175 182 188 190 +242 3 2 0 5 192 186 187 185 +243 3 2 0 5 183 187 179 174 +244 3 2 0 5 171 185 187 179 +245 3 2 0 5 182 170 60 61 +246 3 2 0 5 52 183 169 51 +247 3 2 0 5 184 193 173 178 +248 3 2 0 5 50 49 173 178 +249 3 2 0 5 178 50 51 169 +250 3 2 0 5 169 178 184 186 +251 3 2 0 5 17 181 172 16 +252 3 2 0 5 187 186 169 183 +253 3 2 0 5 16 172 193 15 +254 3 2 0 5 170 189 188 182 +255 3 2 0 5 172 191 184 193 +256 3 2 0 5 176 170 60 59 +257 3 2 0 5 14 1 49 173 +258 3 2 0 5 173 193 15 14 +259 3 2 0 5 191 189 181 172 +260 3 2 0 5 59 176 18 3 +261 3 2 0 5 189 170 176 181 +262 3 2 0 6 200 58 6 44 +263 3 2 0 6 58 200 209 57 +264 3 2 0 6 201 206 27 28 +265 3 2 0 6 68 8 48 202 +266 3 2 0 6 48 47 207 202 +267 3 2 0 6 201 28 4 64 +268 3 2 0 6 200 44 45 205 +269 3 2 0 6 199 67 68 202 +270 3 2 0 6 46 196 205 45 +271 3 2 0 6 47 207 196 46 +272 3 2 0 6 201 194 65 64 +273 3 2 0 6 216 199 202 207 +274 3 2 0 6 65 194 208 66 +275 3 2 0 6 67 66 208 199 +276 3 2 0 6 194 210 215 208 +277 3 2 0 6 216 215 208 199 +278 3 2 0 6 216 207 196 211 +279 3 2 0 6 206 27 26 197 +280 3 2 0 6 214 213 218 212 +281 3 2 0 6 194 201 206 210 +282 3 2 0 6 217 209 200 205 +283 3 2 0 6 217 211 196 205 +284 3 2 0 6 212 217 211 218 +285 3 2 0 6 195 209 57 56 +286 3 2 0 6 206 210 213 197 +287 3 2 0 6 218 211 216 215 +288 3 2 0 6 209 217 212 195 +289 3 2 0 6 213 218 215 210 +290 3 2 0 6 204 195 56 55 +291 3 2 0 6 203 197 26 25 +292 3 2 0 6 203 198 24 25 +293 3 2 0 6 204 214 212 195 +294 3 2 0 6 204 55 54 198 +295 3 2 0 6 2 54 198 24 +296 3 2 0 6 203 197 213 214 +297 3 2 0 6 204 198 203 214 +298 4 2 0 1 137 130 122 297 +299 4 2 0 1 122 316 297 344 +300 4 2 0 1 297 301 130 344 +301 4 2 0 1 130 301 272 344 +302 4 2 0 1 130 122 297 344 +303 5 2 0 1 314 291 117 107 289 288 115 116 +304 5 2 0 1 262 219 101 106 292 286 113 118 +305 5 2 0 1 82 90 276 226 83 81 265 270 +306 5 2 0 1 271 84 93 284 266 71 92 283 +307 5 2 0 1 294 293 132 133 302 300 139 141 +308 5 2 0 1 298 300 297 301 138 139 137 140 +309 5 2 0 1 132 293 294 133 121 221 223 127 +310 5 2 0 1 85 272 316 72 10 130 122 11 +311 5 2 0 1 230 104 100 224 219 101 106 262 +312 5 2 0 1 71 266 273 86 92 283 277 91 +313 5 2 0 1 284 271 228 275 93 84 75 89 +314 5 2 0 1 272 316 297 301 270 226 317 331 +315 5 2 0 1 316 72 82 226 272 85 83 270 +316 5 2 0 1 303 302 295 220 142 141 135 120 +317 5 2 0 1 200 44 6 58 261 105 33 128 +318 5 2 0 1 274 264 276 226 88 80 90 82 +319 5 2 0 1 102 114 287 223 105 99 242 261 +320 5 2 0 1 301 140 129 290 298 138 119 222 +321 5 2 0 1 131 30 110 244 121 31 97 221 +322 5 2 0 1 132 293 305 143 139 300 298 138 +323 5 2 0 1 118 109 285 292 113 95 239 286 +324 5 2 0 1 305 293 132 143 244 221 121 131 +325 5 2 0 1 283 92 90 276 277 91 80 264 +326 5 2 0 1 110 244 221 97 109 285 315 108 +327 5 2 0 1 288 289 292 262 115 116 118 106 +328 5 2 0 1 332 317 297 303 274 226 316 229 +329 5 2 0 1 102 114 108 97 223 287 315 221 +330 5 2 0 1 141 135 124 133 302 295 254 294 +331 5 2 0 1 297 303 142 137 300 302 141 139 +332 5 2 0 1 128 58 200 261 124 57 209 254 +333 5 2 0 1 107 314 289 116 114 287 315 108 +334 5 2 0 1 223 127 121 221 102 32 31 97 +335 5 2 0 1 122 316 229 134 137 297 303 142 +336 5 2 0 1 92 90 81 93 283 276 265 284 +337 5 2 0 1 106 115 96 100 262 288 240 224 +338 5 2 0 1 225 73 87 245 201 28 27 206 +339 5 2 0 1 274 226 316 229 88 82 72 76 +340 5 2 0 1 272 231 123 130 85 77 9 10 +341 5 2 0 1 277 245 225 273 91 87 73 86 +342 5 2 0 1 290 301 272 231 129 140 130 123 +343 5 2 0 1 294 223 261 254 133 127 128 124 +344 5 2 0 1 33 105 102 32 128 261 223 127 +345 5 2 0 1 305 244 131 143 296 236 125 136 +346 5 2 0 1 236 244 110 103 239 285 109 95 +347 5 2 0 1 236 244 131 125 103 110 30 29 +348 5 2 0 1 296 305 298 222 136 143 138 119 +349 5 2 0 1 289 315 285 292 116 108 109 118 +350 5 2 0 1 81 93 284 265 79 89 275 263 +351 5 2 0 1 229 316 122 134 76 72 11 12 +352 5 2 0 1 149 162 62 63 230 232 175 177 +353 5 2 0 1 104 38 177 230 39 7 63 149 +354 5 2 0 1 152 43 8 68 235 98 48 202 +355 5 2 0 1 96 240 288 115 112 269 291 117 +356 5 2 0 1 269 112 42 150 235 98 43 152 +357 5 2 0 1 48 98 111 47 202 235 267 207 +358 5 2 0 1 41 146 158 40 96 240 224 100 +359 5 2 0 1 158 224 230 149 40 100 104 39 +360 5 2 0 1 225 73 28 201 151 23 4 64 +361 5 2 0 1 200 44 105 261 205 45 99 242 +362 5 2 0 1 146 240 96 41 150 269 112 42 +363 5 2 0 1 98 235 269 112 111 267 291 117 +364 5 2 0 1 199 268 161 67 202 235 152 68 +365 5 2 0 1 38 37 101 104 177 180 219 230 +366 5 2 0 1 46 45 205 196 94 99 242 304 +367 5 2 0 1 312 238 240 224 167 155 146 158 +368 5 2 0 1 29 103 34 5 125 236 174 53 +369 5 2 0 1 47 207 267 111 46 196 304 94 +370 5 2 0 1 242 287 314 304 99 114 107 94 +371 5 2 0 1 225 201 194 237 151 64 65 144 +372 5 2 0 1 280 267 235 268 216 207 202 199 +373 5 2 0 1 65 194 237 144 66 208 241 153 +374 5 2 0 1 67 66 153 161 199 208 241 268 +375 5 2 0 1 250 190 175 232 219 180 177 230 +376 5 2 0 1 107 94 111 117 314 304 267 291 +377 5 2 0 1 146 240 269 150 155 238 306 160 +378 5 2 0 1 237 194 210 255 241 208 215 279 +379 5 2 0 1 280 268 241 279 216 199 208 215 +380 5 2 0 1 269 150 160 306 235 152 161 268 +381 5 2 0 1 219 180 37 101 286 171 36 113 +382 5 2 0 1 35 34 103 95 179 174 236 239 +383 5 2 0 1 260 330 298 222 246 319 305 296 +384 5 2 0 1 36 113 286 171 35 95 239 179 +385 5 2 0 1 280 256 304 267 216 211 196 207 +386 5 2 0 1 323 324 252 251 321 320 248 249 +387 5 2 0 1 192 252 248 188 191 251 249 189 +388 5 2 0 1 268 280 335 306 235 267 291 269 +389 5 2 0 1 192 186 260 252 191 184 307 251 +390 5 2 0 1 153 161 268 241 166 160 306 311 +391 5 2 0 1 294 254 281 336 302 295 257 327 +392 5 2 0 1 149 158 167 162 230 224 312 232 +393 5 2 0 1 89 275 181 17 75 228 176 18 +394 5 2 0 1 312 322 262 224 238 318 288 240 +395 5 2 0 1 183 174 236 296 52 53 125 136 +396 5 2 0 1 245 206 27 87 233 197 26 69 +397 5 2 0 1 214 278 258 213 212 257 282 218 +398 5 2 0 1 194 201 225 237 210 206 245 255 +399 5 2 0 1 294 254 261 223 336 281 242 287 +400 5 2 0 1 159 273 225 151 22 86 73 23 +401 5 2 0 1 217 205 200 209 281 242 261 254 +402 5 2 0 1 288 291 269 240 318 335 306 238 +403 5 2 0 1 281 242 304 256 217 205 196 211 +404 5 2 0 1 242 287 336 281 304 314 326 256 +405 5 2 0 1 314 326 256 304 291 335 280 267 +406 5 2 0 1 312 322 250 232 224 262 219 230 +407 5 2 0 1 188 190 250 248 192 185 259 252 +408 5 2 0 1 252 324 329 259 248 320 322 250 +409 5 2 0 1 337 326 256 282 327 336 281 257 +410 5 2 0 1 212 218 211 217 257 282 256 281 +411 5 2 0 1 62 162 145 61 175 232 243 182 +412 5 2 0 1 311 306 268 241 334 335 280 279 +413 5 2 0 1 195 295 254 209 56 135 124 57 +414 5 2 0 1 163 154 299 308 168 166 311 313 +415 5 2 0 1 159 154 144 151 273 299 237 225 +416 5 2 0 1 154 166 153 144 299 311 241 237 +417 5 2 0 1 286 171 185 259 219 180 190 250 +418 5 2 0 1 322 250 219 262 329 259 286 292 +419 5 2 0 1 233 264 80 69 245 277 91 87 +420 5 2 0 1 221 223 287 315 293 294 336 340 +421 5 2 0 1 165 310 309 164 163 308 313 168 +422 5 2 0 1 313 168 166 311 238 155 160 306 +423 5 2 0 1 206 245 255 210 197 233 258 213 +424 5 2 0 1 175 182 188 190 232 243 248 250 +425 5 2 0 1 282 218 211 256 279 215 216 280 +426 5 2 0 1 337 282 256 326 334 279 280 335 +427 5 2 0 1 252 192 185 259 260 186 187 246 +428 5 2 0 1 246 260 330 319 259 252 324 329 +429 5 2 0 1 254 209 217 281 295 195 212 257 +430 5 2 0 1 220 247 229 303 120 126 134 142 +431 5 2 0 1 74 227 247 78 88 274 229 76 +432 5 2 0 1 279 334 337 282 255 325 328 258 +433 5 2 0 1 213 210 215 218 258 255 279 282 +434 5 2 0 1 319 285 244 305 246 239 236 296 +435 5 2 0 1 232 312 167 162 243 309 164 145 +436 5 2 0 1 291 314 326 335 288 289 339 318 +437 5 2 0 1 204 220 295 195 55 120 135 56 +438 5 2 0 1 183 296 236 174 187 246 239 179 +439 5 2 0 1 326 339 289 314 336 340 315 287 +440 5 2 0 1 164 167 155 168 309 312 238 313 +441 5 2 0 1 286 171 179 239 259 185 187 246 +442 5 2 0 1 329 319 246 259 292 285 239 286 +443 5 2 0 1 329 322 318 339 292 262 288 289 +444 5 2 0 1 311 334 279 241 299 325 255 237 +445 5 2 0 1 203 197 233 227 25 26 69 74 +446 5 2 0 1 243 145 61 182 234 156 60 170 +447 5 2 0 1 227 247 198 203 74 78 24 25 +448 5 2 0 1 145 243 309 164 156 234 310 165 +449 5 2 0 1 69 74 88 80 233 227 274 264 +450 5 2 0 1 220 278 214 204 295 257 212 195 +451 5 2 0 1 221 244 305 293 315 285 319 340 +452 5 2 0 1 220 247 126 120 204 198 54 55 +453 5 2 0 1 52 51 119 136 183 169 222 296 +454 5 2 0 1 2 54 126 13 24 198 247 78 +455 5 2 0 1 184 193 173 178 307 253 231 290 +456 5 2 0 1 50 129 290 178 49 123 231 173 +457 5 2 0 1 178 169 222 290 50 51 119 129 +458 5 2 0 1 222 290 307 260 169 178 184 186 +459 5 2 0 1 17 89 79 16 181 275 263 172 +460 5 2 0 1 246 187 183 296 260 186 169 222 +461 5 2 0 1 245 255 325 277 225 237 299 273 +462 5 2 0 1 22 86 71 21 159 273 266 147 +463 5 2 0 1 311 306 335 334 313 238 318 342 +464 5 2 0 1 300 302 294 293 341 327 336 340 +465 5 2 0 1 329 292 289 339 319 285 315 340 +466 5 2 0 1 16 79 70 15 172 263 253 193 +467 5 2 0 1 234 170 182 243 249 189 188 248 +468 5 2 0 1 339 343 342 318 329 324 320 322 +469 5 2 0 1 163 308 266 147 165 310 271 157 +470 5 2 0 1 165 157 148 156 310 271 228 234 +471 5 2 0 1 266 271 84 71 147 157 20 21 +472 5 2 0 1 147 159 273 266 163 154 299 308 +473 5 2 0 1 126 134 12 13 247 229 76 78 +474 5 2 0 1 263 251 307 253 172 191 184 193 +475 5 2 0 1 263 275 284 265 251 249 321 323 +476 5 2 0 1 20 84 75 19 157 271 228 148 +477 5 2 0 1 340 341 327 336 339 343 337 326 +478 5 2 0 1 176 59 148 228 170 60 156 234 +479 5 2 0 1 14 1 49 173 77 9 123 231 +480 5 2 0 1 341 330 319 340 300 298 305 293 +481 5 2 0 1 331 270 265 323 307 253 263 251 +482 5 2 0 1 173 14 77 231 193 15 70 253 +483 5 2 0 1 253 70 83 270 263 79 81 265 +484 5 2 0 1 251 191 172 263 249 189 181 275 +485 5 2 0 1 283 266 273 277 338 308 299 325 +486 5 2 0 1 148 19 3 59 228 75 18 176 +487 5 2 0 1 339 318 342 343 326 335 334 337 +488 5 2 0 1 331 307 290 301 270 253 231 272 +489 5 2 0 1 227 233 197 203 278 258 213 214 +490 5 2 0 1 264 233 258 328 277 245 255 325 +491 5 2 0 1 342 313 308 338 334 311 299 325 +492 5 2 0 1 340 319 330 341 339 329 324 343 +493 5 2 0 1 249 189 181 275 234 170 176 228 +494 5 2 0 1 220 303 332 278 295 302 327 257 +495 5 2 0 1 284 321 338 283 265 323 333 276 +496 5 2 0 1 220 278 227 247 204 214 203 198 +497 5 2 0 1 320 309 310 321 342 313 308 338 +498 5 2 0 1 312 232 250 322 309 243 248 320 +499 5 2 0 1 338 283 266 308 321 284 271 310 +500 5 2 0 1 309 312 238 313 320 322 318 342 +501 5 2 0 1 343 324 330 341 333 323 331 317 +502 5 2 0 1 337 328 333 343 327 332 317 341 +503 5 2 0 1 249 321 310 234 275 284 271 228 +504 5 2 0 1 320 321 310 309 248 249 234 243 +505 5 2 0 1 70 253 270 83 77 231 272 85 +506 5 2 0 1 323 324 320 321 333 343 342 338 +507 5 2 0 1 328 264 277 325 333 276 283 338 +508 5 2 0 1 338 333 343 342 325 328 337 334 +509 5 2 0 1 341 300 302 327 317 297 303 332 +510 5 2 0 1 226 317 331 270 276 333 323 265 +511 5 2 0 1 264 328 258 233 274 332 278 227 +512 5 2 0 1 290 307 331 301 222 260 330 298 +513 5 2 0 1 328 258 278 332 337 282 257 327 +514 5 2 0 1 252 251 307 260 324 323 331 330 +515 5 2 0 1 229 247 220 303 274 227 278 332 +516 5 2 0 1 341 300 297 317 330 298 301 331 +517 5 2 0 1 226 276 264 274 317 333 328 332 +518 7 2 0 1 137 297 301 140 130 +519 7 2 0 1 272 316 122 130 344 +520 7 2 0 1 297 316 272 301 344 +$EndElements diff --git a/test/test_meshmode.py b/test/test_meshmode.py index 01e6c35c..6195e787 100644 --- a/test/test_meshmode.py +++ b/test/test_meshmode.py @@ -802,9 +802,9 @@ def test_nd_quad_submesh(dims): # }}} -# {{{ test_quad_mesh +# {{{ test_quad_mesh_2d -def test_quad_mesh(): +def test_quad_mesh_2d(): from meshmode.mesh.io import generate_gmsh, ScriptWithFilesSource print("BEGIN GEN") mesh = generate_gmsh( @@ -825,6 +825,38 @@ def test_quad_mesh(): # }}} +# {{{ test_quad_mesh_3d + +# This currently (gmsh 2.13.2) crashes gmsh. A massaged version of this using +# 'cube.step' succeeded in generating 'hybrid-cube.msh' and 'cubed-cube.msh'. +def no_test_quad_mesh_3d(): + from meshmode.mesh.io import generate_gmsh, ScriptWithFilesSource + print("BEGIN GEN") + mesh = generate_gmsh( + ScriptWithFilesSource( + """ + Merge "ball-radius-1.step"; + // Mesh.CharacteristicLengthMax = 0.1; + + Mesh.RecombineAll=1; + Mesh.Recombine3DAll=1; + Mesh.Algorithm = 8; + Mesh.Algorithm3D = 9; + // Mesh.Smoothing = 0; + + // Mesh.ElementOrder = 3; + + Mesh 3; + Save "output.msh"; + """, + ["ball-radius-1.step"]), + ) + print("END GEN") + print(mesh.nelements) + +# }}} + + if __name__ == "__main__": import sys if len(sys.argv) > 1: -- GitLab