]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Aggiunto step-54
authorAndrea Mola <mola.andrea@gmail.com>
Mon, 22 Sep 2014 15:17:00 +0000 (17:17 +0200)
committerLuca Heltai <luca.heltai@sissa.it>
Fri, 31 Oct 2014 10:06:59 +0000 (11:06 +0100)
Aggiunti autori

iges file DTMB-5415_bulbous_bow.iges has been added as the geometry for the step-54 example

first working version of step-54 completed

added initial mesh for step-54 and fixed memory leakin same test

CMakeLists.txt fixed in step-54

fixed cmakelists in step-54

updating step-54.cc

examples/step-54/CMakeLists.txt [new file with mode: 0644]
examples/step-54/DTMB-5415_bulbous_bow.iges [new file with mode: 0644]
examples/step-54/coarse_circle.inp [new file with mode: 0644]
examples/step-54/coarse_sphere.inp [new file with mode: 0644]
examples/step-54/initial_mesh_3d.inp [new file with mode: 0644]
examples/step-54/parameters.prm [new file with mode: 0644]
examples/step-54/step-54.cc [new file with mode: 0644]

diff --git a/examples/step-54/CMakeLists.txt b/examples/step-54/CMakeLists.txt
new file mode 100644 (file)
index 0000000..33e2197
--- /dev/null
@@ -0,0 +1,50 @@
+##
+#  CMake script for the step-34 tutorial program:
+##
+
+# Set the name of the project and target:
+SET(TARGET "step-54")
+
+# Declare all source files the target consists of. Here, this is only
+# the one step-X.cc file, but as you expand your project you may wish
+# to add other source files as well. If your project becomes much larger,
+# you may want to either replace the following statement by something like
+#  FILE(GLOB_RECURSE TARGET_SRC  "source/*.cc")
+#  FILE(GLOB_RECURSE TARGET_INC  "include/*.h")
+#  SET(TARGET_SRC ${TARGET_SRC}  ${TARGET_INC})
+# or switch altogether to the large project CMakeLists.txt file discussed
+# in the "CMake in user projects" page accessible from the "User info"
+# page of the documentation.
+SET(TARGET_SRC
+  ${TARGET}.cc
+  )
+
+# Usually, you will not need to modify anything beyond this point...
+
+CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8)
+
+FIND_PACKAGE(deal.II 8.2 QUIET
+  HINTS ${deal.II_DIR} ${DEAL_II_DIR} ../ ../../ $ENV{DEAL_II_DIR}
+  )
+IF(NOT ${deal.II_FOUND})
+  MESSAGE(FATAL_ERROR "\n"
+    "*** Could not locate a (sufficiently recent) version of deal.II. ***\n\n"
+    "You may want to either pass a flag -DDEAL_II_DIR=/path/to/deal.II to cmake\n"
+    "or set an environment variable \"DEAL_II_DIR\" that contains this path."
+    )
+ENDIF()
+
+#
+# Are all dependencies fullfilled?
+#
+IF(NOT DEAL_II_WITH_OPENCASCADE)
+  MESSAGE(FATAL_ERROR "
+Error! The deal.II library found at ${DEAL_II_PATH} was not configured with
+    DEAL_II_WITH_OPENCASCADE = ON
+One or all of these are OFF in your installation but are required for this tutorial step."
+    )
+ENDIF()
+
+DEAL_II_INITIALIZE_CACHED_VARIABLES()
+PROJECT(${TARGET})
+DEAL_II_INVOKE_AUTOPILOT()
diff --git a/examples/step-54/DTMB-5415_bulbous_bow.iges b/examples/step-54/DTMB-5415_bulbous_bow.iges
new file mode 100644 (file)
index 0000000..4dbd780
--- /dev/null
@@ -0,0 +1,549 @@
+                                                                        S0000001
+,,31HOpen CASCADE IGES processor 6.5,13HFilename.iges,                  G0000001
+16HOpen CASCADE 6.5,31HOpen CASCADE IGES processor 6.5,32,308,15,308,15,G0000002
+,1.,6,1HM,1,0.01,15H20140926.165225,1.4463E-05,3.063474,5Hamola,,11,0,  G0000003
+15H20140926.165225,;                                                    G0000004
+     510       1       0       0       0       0       0       000010000D0000001
+     510       0       0       1       1                               0D0000002
+     128       2       0       0       0       0       0       000010000D0000003
+     128       0       0     166       0                               0D0000004
+     508     168       0       0       0       0       0       000010000D0000005
+     508       0       0       2       1                               0D0000006
+     504     170       0       0       0       0       0       000010001D0000007
+     504       0       0       1       1                               0D0000008
+     126     171       0       0       0       0       0       000010000D0000009
+     126       0       0      73       0                               0D0000010
+     502     244       0       0       0       0       0       000010000D0000011
+     502       0       0       2       1                               0D0000012
+     126     246       0       0       0       0       0       000010000D0000013
+     126       0       0      10       0                               0D0000014
+     126     256       0       0       0       0       0       000010000D0000015
+     126       0       0       9       0                               0D0000016
+     126     265       0       0       0       0       0       000010000D0000017
+     126       0       0      14       0                               0D0000018
+     126     279       0       0       0       0       0       000010000D0000019
+     126       0       0     232       0                               0D0000020
+     126     511       0       0       0       0       0       000010000D0000021
+     126       0       0       4       0                               0D0000022
+     126     515       0       0       0       0       0       000010000D0000023
+     126       0       0       2       0                               0D0000024
+     110     517       0       0       0       0       0       000010000D0000025
+     110       0       0       1       0                               0D0000026
+510,3,1,1,5;                                                     0000001P0000001
+128,18,13,3,3,0,0,1,0,0,0.,0.,0.,0.,1.,2.,2.5,2.5,2.5,3.,3.5,    0000003P0000002
+3.5,3.5,4.,5.,6.,7.,8.,9.,10.,10.,10.,10.,0.,0.,0.,0.,1.,2.,3.,  0000003P0000003
+4.,5.,6.,7.,8.,9.,10.,11.,11.,11.,11.,1.,1.,1.,1.,1.,1.,1.,1.,   0000003P0000004
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000003P0000005
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000003P0000006
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000003P0000007
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000003P0000008
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000003P0000009
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000003P0000010
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000003P0000011
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000003P0000012
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000003P0000013
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000003P0000014
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000003P0000015
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000003P0000016
+1.,1.,1.,1.,1.,1.,-1.8411253,0.,-0.247075893,-1.8735103,0.,      0000003P0000017
+-0.247080363,-1.9382801,0.,-0.247089304,-1.9817766,0.,           0000003P0000018
+-0.247094968,-2.0045777,0.,-0.247096822,-2.0094125,0.,           0000003P0000019
+-0.247098092,-2.0150569,0.,-0.256362056,-2.0231086,0.,           0000003P0000020
+-0.27006388,-2.0299576,0.,-0.28255951,-2.0351962,0.,-0.29223011, 0000003P0000021
+-2.0420465,0.,-0.29384303,-2.0783114,0.,-0.30069283,-2.1701788,  0000003P0000022
+0.,-0.3188375,-2.3136179,0.,-0.34504804,-2.4542424,0.,           0000003P0000023
+-0.3656138,-2.56746892,0.,-0.3712712,-2.61219314,0.,-0.3624128,  0000003P0000024
+-2.62871465,0.,-0.3531455,-2.63758308,0.,-0.34670038,-1.8411299, 0000003P0000025
+4.028084E-03,-0.245868605,-1.8735149,4.028084E-03,-0.245867361,  0000003P0000026
+-1.9382783,4.028084E-03,-0.245069547,-1.9824499,2.351634E-03,    0000003P0000027
+-0.245080291,-2.0045777,1.64785E-03,-0.247096822,-2.0094125,     0000003P0000028
+2.014042E-03,-0.247098092,-2.0150569,2.014042E-03,-0.256362056,  0000003P0000029
+-2.0231086,2.014042E-03,-0.27006388,-2.0299576,2.014042E-03,     0000003P0000030
+-0.28255951,-2.0351962,2.014042E-03,-0.29223011,-2.0420465,      0000003P0000031
+1.613535E-03,-0.29384303,-2.0783114,1.027621E-02,-0.30069283,    0000003P0000032
+-2.1701788,2.337321E-02,-0.3188375,-2.3136179,4.472666E-02,      0000003P0000033
+-0.34504804,-2.4542424,5.92312E-02,-0.3656138,-2.56746892,       0000003P0000034
+6.124524E-02,-0.3712712,-2.61219314,4.029232E-02,-0.3624128,     0000003P0000035
+-2.63717686,3.42502E-02,-0.34670076,-2.64685205,0.,-0.34025493,  0000003P0000036
+-1.8411301,1.128321E-02,-0.239820764,-1.873515,1.087699E-02,     0000003P0000037
+-0.239825209,-1.9382791,1.087699E-02,-0.239834175,-1.9848368,    0000003P0000038
+9.669704E-03,-0.239842735,-2.0069992,6.848881E-03,-0.242259748,  0000003P0000039
+-2.0118352,5.641619E-03,-0.24346828,-2.0182799,2.014042E-03,     0000003P0000040
+-0.251930493,-2.0259314,2.014042E-03,-0.26603892,-2.0335879,     0000003P0000041
+2.014042E-03,-0.27933483,-2.0384195,2.014042E-03,-0.28819905,    0000003P0000042
+-2.0448693,2.014042E-03,-0.28981236,-2.0794531,2.155942E-02,     0000003P0000043
+-0.29787668,-2.1738078,5.278283E-02,-0.30796289,-2.3136218,      0000003P0000044
+8.945331E-02,-0.32449563,-2.4542456,0.1140338,-0.34426036,       0000003P0000045
+-2.57714109,0.1104062,-0.3491078,-2.63556549,7.817007E-02,       0000003P0000046
+-0.33662631,-2.660955046,3.182991E-02,-0.32051344,-2.660955046,  0000003P0000047
+0.,-0.32051344,-1.8411296,2.014616E-02,-0.23310917,-1.8735145,   0000003P0000048
+1.933941E-02,-0.23311364,-1.9382844,1.853263E-02,-0.23312258,    0000003P0000049
+-1.9872519,1.571755E-02,-0.23419888,-2.0094147,1.128321E-02,     0000003P0000050
+-0.23702214,-2.014251,9.669704E-03,-0.23863692,-2.0215018,       0000003P0000051
+2.780741E-03,-0.246291617,-2.0307661,2.014042E-03,-0.25959179,   0000003P0000052
+-2.038823,2.014042E-03,-0.27288737,-2.0440647,2.014042E-03,      0000003P0000053
+-0.27973714,-2.0513153,2.014042E-03,-0.28094918,-2.0855003,      0000003P0000054
+2.169102E-02,-0.28471115,-2.1818662,5.358958E-02,-0.27935259,    0000003P0000055
+-2.3140284,0.1003303,-0.2813821,-2.4542511,0.1341799,            0000003P0000056
+-0.28825046,-2.58319229,0.1386086,-0.29068343,-2.64685584,       0000003P0000057
+8.381169E-02,-0.29472149,-2.666596513,3.182991E-02,-0.29553292,  0000003P0000058
+-2.666596513,0.,-0.29553292,-1.8411293,2.820805E-02,-0.22652348, 0000003P0000059
+-1.8735142,2.659454E-02,-0.22652795,-1.9382841,2.458049E-02,     0000003P0000060
+-0.22653689,-1.9888655,2.055241E-02,-0.22815525,-2.0118358,      0000003P0000061
+1.651859E-02,-0.23178453,-2.0166665,1.369779E-02,-0.23339931,    0000003P0000062
+-2.0243224,6.042127E-03,-0.239846367,-2.0346502,2.014042E-03,    0000003P0000063
+-0.252390284,-2.0440621,2.014042E-03,-0.26442582,-2.0488986,     0000003P0000064
+2.014042E-03,-0.27248326,-2.0565547,2.014042E-03,-0.27288819,    0000003P0000065
+-2.0895265,7.792974E-03,-0.27645102,-2.1879153,2.458049E-02,     0000003P0000066
+-0.26202737,-2.3136316,5.358958E-02,-0.254387384,-2.4538562,     0000003P0000067
+0.1019438,-0.244731422,-2.58319533,0.112014,-0.244348949,        0000003P0000068
+-2.64363816,6.165149E-02,-0.255233153,-2.661364494,2.900911E-02, 0000003P0000069
+-0.26813071,-2.661364494,0.,-0.26813071,-1.8411329,3.787775E-02, 0000003P0000070
+-0.21806107,-1.8735178,3.586371E-02,-0.21806551,-1.938282,       0000003P0000071
+3.263666E-02,-0.21807448,-1.9918544,2.961561E-02,-0.21808228,    0000003P0000072
+-2.0157525,2.458049E-02,-0.22262047,-2.0215042,2.21602E-02,      0000003P0000073
+-0.22413141,-2.0308896,1.853263E-02,-0.22607957,-2.0452261,      0000003P0000074
+1.168375E-02,-0.22997428,-2.0600373,6.614312E-03,-0.23360536,    0000003P0000075
+-2.0687585,5.584393E-03,-0.23505064,-2.0771076,4.548759E-03,     0000003P0000076
+-0.23622732,-2.1075961,4.29702E-03,-0.239723812,-2.1955747,      0000003P0000077
+2.578778E-02,-0.23503096,-2.3136336,3.868453E-02,-0.23182093,    0000003P0000078
+-2.4538556,6.285878E-02,-0.22539201,-2.57393393,7.534928E-02,    0000003P0000079
+-0.2217796,-2.62711813,1.531132E-02,-0.23508504,-2.6444467,      0000003P0000080
+1.613535E-03,-0.244755933,-2.6444467,0.,-0.244755933,-1.8411331, 0000003P0000081
+4.351937E-02,-0.21201891,-1.8740329,4.150533E-02,-0.21202293,    0000003P0000082
+-1.9382821,3.747153E-02,-0.21203233,-1.9928616,3.411286E-02,     0000003P0000083
+-0.21203921,-2.0199368,3.270532E-02,-0.21204287,-2.0271461,      0000003P0000084
+3.223616E-02,-0.21204193,-2.0373079,3.182991E-02,-0.21204401,    0000003P0000085
+-2.0539924,3.102887E-02,-0.21204579,-2.0704824,3.022211E-02,     0000003P0000086
+-0.21204774,-2.0797402,2.983304E-02,-0.21205066,-2.0889979,      0000003P0000087
+2.944967E-02,-0.21204782,-2.1198208,2.833967E-02,-0.21205374,    0000003P0000088
+-2.2024253,2.699504E-02,-0.21206339,-2.3136383,3.344342E-02,     0000003P0000089
+-0.21208099,-2.4538605,4.634017E-02,-0.21209473,-2.5674881,      0000003P0000090
+3.062262E-02,-0.21211013,-2.62027095,1.007595E-02,-0.21211866,   0000003P0000091
+-2.63558227,1.613535E-03,-0.21211599,-2.63558227,0.,-0.21211599, 0000003P0000092
+-1.8411358,7.534928E-02,-0.17776872,-1.8735207,7.051441E-02,     0000003P0000093
+-0.17777319,-1.9382906,6.406604E-02,-0.17778213,-1.9967497,      0000003P0000094
+5.970039E-02,-0.178123,-2.0261365,5.73831E-02,-0.17818175,       0000003P0000095
+-2.0356002,5.658777E-02,-0.17819018,-2.0450697,5.579245E-02,     0000003P0000096
+-0.17819861,-2.0633448,5.41446E-02,-0.17819892,-2.0815228,       0000003P0000097
+5.216489E-02,-0.17820504,-2.0914099,5.107203E-02,-0.17820166,    0000003P0000098
+-2.1012913,4.99792E-02,-0.17820397,-2.1333272,4.640311E-02,      0000003P0000099
+-0.17820877,-2.2108908,3.868453E-02,-0.17821736,-2.3132352,      0000003P0000100
+2.981587E-02,-0.17823168,-2.4538636,1.813212E-02,-0.17825078,    0000003P0000101
+-2.56668444,5.641619E-03,-0.17826117,-2.61181166,2.820797E-03,   0000003P0000102
+-0.17827105,-2.63075053,1.613535E-03,-0.17827077,-2.63075053,0., 0000003P0000103
+-0.17827077,-1.8411412,0.1136276,-0.1278067,-1.8735262,          0000003P0000104
+0.1091989,-0.1278111,-1.938296,9.831624E-02,-0.1278201,          0000003P0000105
+-1.996566,8.824603E-02,-0.1278236,-2.0288765,8.340545E-02,       0000003P0000106
+-0.1278281,-2.0394846,8.186631E-02,-0.1278298,-2.0500927,        0000003P0000107
+8.032145E-02,-0.1278314,-2.070977,7.736332E-02,-0.127835,        0000003P0000108
+-2.0917296,7.441093E-02,-0.1278388,-2.1026181,7.286605E-02,      0000003P0000109
+-0.1278402,-2.1135065,7.132119E-02,-0.1278416,-2.1477052,        0000003P0000110
+6.648633E-02,-0.1278444,-2.2205656,5.64104E-02,-0.1278516,       0000003P0000111
+-2.317274,3.908504E-02,-0.1278654,-2.4550759,2.055241E-02,       0000003P0000112
+-0.1278814,-2.56911053,9.269171E-03,-0.1287031,-2.60819559,      0000003P0000113
+6.042127E-03,-0.1287071,-2.627535,4.028084E-03,-0.1287122,       0000003P0000114
+-2.627535,0.,-0.1287122,-1.8411536,0.1692312,-4.19809E-02,       0000003P0000115
+-1.8735386,0.1607745,-4.19853E-02,-1.9383084,0.1462642,          0000003P0000116
+-4.19943E-02,-1.9967672,0.1328353,-4.19976E-02,-2.0312921,       0000003P0000117
+0.1250767,-4.20058E-02,-2.0427469,0.1225248,-4.20067E-02,        0000003P0000118
+-2.0542018,0.1199729,-4.20076E-02,-2.0770086,0.1149378,          0000003P0000119
+-4.20094E-02,-2.0996552,0.1100343,-4.20114E-02,-2.1113618,       0000003P0000120
+0.1074653,-4.20121E-02,-2.1230684,0.1048962,-4.20127E-02,        0000003P0000121
+-2.1593327,9.684004E-02,-4.20193E-02,-2.2318612,7.937736E-02,    0000003P0000122
+-4.20268E-02,-2.3289702,5.600987E-02,-4.20403E-02,-2.4655648,    0000003P0000123
+2.900911E-02,-4.20574E-02,-2.58846162,1.047646E-02,-4.20756E-02, 0000003P0000124
+-2.62794719,5.641619E-03,-4.20793E-02,-2.64527255,4.028084E-03,  0000003P0000125
+-4.20805E-02,-2.64527255,0.,-4.20805E-02,-1.8411636,0.211137,    0000003P0000126
+4.02173E-02,-1.8735486,0.2034814,4.02129E-02,-1.938317,          0000003P0000127
+0.1869628,4.18175E-02,-1.9967793,0.1715199,4.41601E-02,          0000003P0000128
+-2.0331165,0.1627027,4.57213E-02,-2.045269,0.1597389,            0000003P0000129
+4.62074E-02,-2.0574215,0.156775,4.66878E-02,-2.0818066,          0000003P0000130
+0.1508016,4.75914E-02,-2.1059632,0.1444218,4.81629E-02,          0000003P0000131
+-2.1184477,0.1411032,4.84548E-02,-2.1309379,0.1377904,           0000003P0000132
+4.87467E-02,-2.1696216,0.1274627,4.96463E-02,-2.2471825,         0000003P0000133
+0.1079859,5.26588E-02,-2.3515437,8.09909E-02,5.58677E-02,        0000003P0000134
+-2.4921706,4.593394E-02,5.74621E-02,-2.61627429,1.933941E-02,    0000003P0000135
+5.78512E-02,-2.672284183,1.087699E-02,5.78456E-02,-2.69485063,   0000003P0000136
+4.028084E-03,5.78436E-02,-2.69485063,0.,5.78436E-02,-1.8411737,  0000003P0000137
+0.246194,0.1224213,-1.8735586,0.2385383,0.1224168,-1.9383255,    0000003P0000138
+0.2244343,0.1256292,-1.9967878,0.21235,0.1279718,-2.034938,      0000003P0000139
+0.2032811,0.1304387,-2.0478282,0.2001513,0.131326,-2.0607184,    0000003P0000140
+0.1970216,0.1322133,-2.0868535,0.1905389,0.1341256,-2.1130285,   0000003P0000141
+0.1839932,0.1361008,-2.1266452,0.1806231,0.137189,-2.1402676,    0000003P0000142
+0.1772588,0.138283,-2.1827252,0.1668853,0.1418525,-2.2693611,    0000003P0000143
+0.147071,0.1505722,-2.3954806,0.1172551,0.1614339,-2.5437597,    0000003P0000144
+7.897685E-02,0.1730998,-2.68519165,4.150533E-02,0.1827512,       0000003P0000145
+-2.75248379,1.813212E-02,0.1899997,-2.7734371,4.028084E-03,      0000003P0000146
+0.1895956,-2.7734367,0.,0.1899962,-1.8411863,0.2844723,          0000003P0000147
+0.2017987,-1.8735713,0.2776234,0.2017942,-1.9383381,0.2643261,   0000003P0000148
+0.2050066,-1.9967992,0.2508972,0.2086938,-2.0370607,0.2448036,   0000003P0000149
+0.2112084,-2.0508606,0.2427781,0.2121538,-2.0646605,0.2407526,   0000003P0000150
+0.2131049,-2.0930096,0.2367245,0.2152137,-2.1220676,0.2318897,   0000003P0000151
+0.218067,-2.1374174,0.2292405,0.219752,-2.1527672,0.2265857,     0000003P0000152
+0.2214368,-2.2012706,0.217923,0.227272,-2.3040248,0.1994533,     0000003P0000153
+0.2420315,-2.4551299,0.173265,0.2665911,-2.61066653,0.1345805,   0000003P0000154
+0.2879278,-2.7710322,8.13914E-02,0.303221,-2.8673392,            0000003P0000155
+4.029232E-02,0.310462,-2.9197186,4.028084E-03,0.3136801,         0000003P0000156
+-2.9225432,0.,0.3156911,-1.8410594,0.3328265,0.3146194,          0000003P0000157
+-1.8736931,0.3296052,0.3178422,-1.9383544,0.3231568,0.3238753,   0000003P0000158
+-1.9966245,0.3161019,0.329914,-2.0399682,0.3109695,0.334291,     0000003P0000159
+-2.0551008,0.3091615,0.335804,-2.0702276,0.3073591,0.3373228,    0000003P0000160
+-2.1018601,0.3035656,0.340476,-2.1352376,0.2994346,0.3437625,    0000003P0000161
+-2.1530419,0.2970886,0.345524,-2.1708463,0.2947485,0.3472855,    0000003P0000162
+-2.2276119,0.2868925,0.3529166,-2.3491699,0.2667464,0.3653246,   0000003P0000163
+-2.5192064,0.2280619,0.3794081,-2.68159585,0.1817274,0.3902689,  0000003P0000164
+-2.8443828,0.1273311,0.3983035,-2.9801719,6.447229E-02,          0000003P0000165
+0.4031263,-3.0595482,4.028084E-03,0.4043209,-3.0595482,0.,       0000003P0000166
+0.4043209,1.961052526,10.,0.,11.;                                0000003P0000167
+508,4,0,7,1,0,1,0,19,0,7,2,1,1,0,21,0,7,3,1,1,0,23,0,7,4,0,1,0,  0000005P0000168
+25;                                                              0000005P0000169
+504,4,9,11,1,11,2,13,11,1,11,3,15,11,3,11,4,17,11,2,11,4;        0000007P0000170
+126,80,5,1,0,1,0,0.,0.,0.,0.,0.,0.,1.294475869E-02,              0000009P0000171
+1.294475869E-02,1.294475869E-02,3.677477935E-02,3.677477935E-02, 0000009P0000172
+3.677477935E-02,6.37318215E-02,6.37318215E-02,6.37318215E-02,    0000009P0000173
+9.214808598E-02,9.214808598E-02,9.214808598E-02,0.121332981,     0000009P0000174
+0.121332981,0.121332981,0.151632798,0.151632798,0.151632798,     0000009P0000175
+0.1758443,0.1758443,0.1758443,0.210359082,0.210359082,           0000009P0000176
+0.210359082,0.246682918,0.246682918,0.246682918,0.284528737,     0000009P0000177
+0.284528737,0.284528737,0.32376227,0.32376227,0.32376227,        0000009P0000178
+0.364138741,0.364138741,0.364138741,0.405236432,0.405236432,     0000009P0000179
+0.405236432,0.436342998,0.436342998,0.436342998,0.478039961,     0000009P0000180
+0.478039961,0.478039961,0.519962761,0.519962761,0.519962761,     0000009P0000181
+0.562315329,0.562315329,0.562315329,0.605309669,0.605309669,     0000009P0000182
+0.605309669,0.649262383,0.649262383,0.649262383,0.68324956,      0000009P0000183
+0.68324956,0.68324956,0.730724691,0.730724691,0.730724691,       0000009P0000184
+0.780978326,0.780978326,0.780978326,0.83357938,0.83357938,       0000009P0000185
+0.83357938,0.887890113,0.887890113,0.887890113,0.943462915,      0000009P0000186
+0.943462915,0.943462915,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000009P0000187
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000009P0000188
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000009P0000189
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000009P0000190
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,-2.010663,-5.551115123E-17,     0000009P0000191
+-0.249154631,-2.010663,2.192562401E-03,-0.248088702,-2.010663,   0000009P0000192
+2.470301091E-04,-0.249728099,-2.010663,3.029158552E-03,          0000009P0000193
+-0.246771216,-2.010663,3.365191399E-03,-0.24532699,-2.010663,    0000009P0000194
+5.118457775E-03,-0.244005691,-2.010663,5.873359039E-03,          0000009P0000195
+-0.243052269,-2.010663,7.654583196E-03,-0.241150896,-2.010663,   0000009P0000196
+9.260894273E-03,-0.239319174,-2.010663,1.010271957E-02,          0000009P0000197
+-0.238369708,-2.010663,1.181875623E-02,-0.236455061,-2.010663,   0000009P0000198
+1.366229627E-02,-0.234480774,-2.010663,1.466167086E-02,          0000009P0000199
+-0.233419917,-2.010663,1.683693655E-02,-0.231118987,-2.010663,   0000009P0000200
+1.927946131E-02,-0.228503427,-2.010663,2.055775019E-02,          0000009P0000201
+-0.227114481,-2.010663,2.317581602E-02,-0.22422026,-2.010663,    0000009P0000202
+2.577881373E-02,-0.221216062,-2.010663,2.700662073E-02,          0000009P0000203
+-0.219762714,-2.010663,2.933857512E-02,-0.216890233,-2.010663,   0000009P0000204
+3.198439543E-02,-0.213478303,-2.010663,3.324359497E-02,          0000009P0000205
+-0.211833043,-2.010663,3.649498241E-02,-0.207551568,-2.010663,   0000009P0000206
+4.020176937E-02,-0.202626255,-2.010663,4.245514765E-02,          0000009P0000207
+-0.199578673,-2.010663,4.719737423E-02,-0.193029949,-2.010663,   0000009P0000208
+5.208215231E-02,-0.185939422,-2.010663,5.460381E-02,-0.1821745,  0000009P0000209
+-2.010663,5.974289917E-02,-0.174236858,-2.010663,                0000009P0000210
+6.481581795E-02,-0.165808396,-2.010663,6.739620648E-02,          0000009P0000211
+-0.161387569,-2.010663,7.264475388E-02,-0.152160249,-2.010663,   0000009P0000212
+7.790443011E-02,-0.142521964,-2.010663,8.059095806E-02,          0000009P0000213
+-0.137520136,-2.010663,8.606806939E-02,-0.127200057,-2.010663,   0000009P0000214
+9.161316932E-02,-0.116564868,-2.010663,9.444582827E-02,          0000009P0000215
+-0.111101167,-2.010663,0.100168309,-9.9976354E-02,-2.010663,     0000009P0000216
+0.105899822,-8.8671986E-02,-2.010663,0.108786628,-8.2933649E-02, 0000009P0000217
+-2.010663,0.113846214,-7.2796344E-02,-2.010663,0.118870191,      0000009P0000218
+-6.2576161E-02,-2.010663,0.121026173,-5.8159836E-02,-2.010663,   0000009P0000219
+0.126048143,-4.7797163E-02,-2.010663,0.131002538,-3.7381703E-02, 0000009P0000220
+-2.010663,0.13381038,-3.1401874E-02,-2.010663,0.139406089,       0000009P0000221
+-1.938662E-02,-2.010663,0.144935488,-7.346199E-03,-2.010663,     0000009P0000222
+0.147694038,-1.311825E-03,-2.010663,0.153216264,1.0798475E-02,   0000009P0000223
+-2.010663,0.158704444,2.2838304E-02,-2.010663,0.16145713,        0000009P0000224
+2.8863258E-02,-2.010663,0.166999357,4.09423E-02,-2.010663,       0000009P0000225
+0.172546846,5.2866785E-02,-2.010663,0.17534571,5.8833209E-02,    0000009P0000226
+-2.010663,0.1810135,7.0837885E-02,-2.010663,0.186703971,         0000009P0000227
+8.2735759E-02,-2.010663,0.189584341,8.8724639E-02,-2.010663,     0000009P0000228
+0.194712178,9.9331819E-02,-2.010663,0.199840153,0.109860809,     0000009P0000229
+-2.010663,0.202072482,0.114430279,-2.010663,0.207403955,         0000009P0000230
+0.125321152,-2.010663,0.212701313,0.136082592,-2.010663,         0000009P0000231
+0.215756708,0.142292757,-2.010663,0.222083463,0.155063531,       0000009P0000232
+-2.010663,0.228501245,0.167835869,-2.010663,0.231834725,         0000009P0000233
+0.174416948,-2.010663,0.238710655,0.187900455,-2.010663,         0000009P0000234
+0.245687148,0.201417533,-2.010663,0.24927514,0.208333764,        0000009P0000235
+-2.010663,0.256599596,0.222391991,-2.010663,0.26397988,          0000009P0000236
+0.236452081,-2.010663,0.267739885,0.243592745,-2.010663,         0000009P0000237
+0.275365647,0.258035896,-2.010663,0.283020109,0.272464637,       0000009P0000238
+-2.010663,0.286896874,0.279757443,-2.010663,0.294726199,         0000009P0000239
+0.294459216,-2.010663,0.302569582,0.309140062,-2.010663,         0000009P0000240
+0.306527711,0.316538185,-2.010663,0.310488219,0.32393137,        0000009P0000241
+-2.010663,0.314450974,0.331320309,0.,1.,1.,6.160081347E-14,      0000009P0000242
+1.026680225E-14;                                                 0000009P0000243
+502,4,-2.010663,0.,-0.249154631,-2.010663,0.314450974,           0000011P0000244
+0.331320309,-2.63758308,0.,-0.34670038,-3.0595482,0.,0.4043209;  0000011P0000245
+126,13,3,1,0,1,0,2.537723945,2.537723945,2.537723945,            0000013P0000246
+2.537723945,3.,3.5,3.5,3.5,4.,5.,6.,7.,8.,9.,10.,10.,10.,10.,1., 0000013P0000247
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,-2.010663,0.,             0000013P0000248
+-0.249154631,-2.015662672,0.,-0.257394113,-2.023366971,0.,       0000013P0000249
+-0.270535264,-2.0299576,0.,-0.28255951,-2.0351962,0.,            0000013P0000250
+-0.29223011,-2.0420465,0.,-0.29384303,-2.0783114,0.,-0.30069283, 0000013P0000251
+-2.1701788,0.,-0.3188375,-2.3136179,0.,-0.34504804,-2.4542424,   0000013P0000252
+0.,-0.3656138,-2.56746892,0.,-0.3712712,-2.61219314,0.,          0000013P0000253
+-0.3624128,-2.62871465,0.,-0.3531455,-2.63758308,0.,-0.34670038, 0000013P0000254
+2.537723945,10.,0.,1.,0.;                                        0000013P0000255
+126,13,3,1,0,1,0,0.,0.,0.,0.,1.,2.,3.,4.,5.,6.,7.,8.,9.,10.,11., 0000015P0000256
+11.,11.,11.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,           0000015P0000257
+-2.63758308,0.,-0.34670038,-2.64685205,0.,-0.34025493,           0000015P0000258
+-2.660955046,0.,-0.32051344,-2.666596513,0.,-0.29553292,         0000015P0000259
+-2.661364494,0.,-0.26813071,-2.6444467,0.,-0.244755933,          0000015P0000260
+-2.63558227,0.,-0.21211599,-2.63075053,0.,-0.17827077,-2.627535, 0000015P0000261
+0.,-0.1287122,-2.64527255,0.,-4.20805E-02,-2.69485063,0.,        0000015P0000262
+5.78436E-02,-2.7734367,0.,0.1899962,-2.9225432,0.,0.3156911,     0000015P0000263
+-3.0595482,0.,0.4043209,0.,11.,0.,-1.,0.;                        0000015P0000264
+126,17,3,0,0,1,0,1.983431199,1.983431199,1.983431199,            0000017P0000265
+1.983431199,2.,2.5,2.5,2.5,3.,3.5,3.5,3.5,4.,5.,6.,7.,8.,9.,10., 0000017P0000266
+10.,10.,10.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000017P0000267
+1.,-2.010663,0.314450974,0.331320309,-2.0111089,0.31439781,      0000017P0000268
+0.331365701,-2.025041531,0.312736992,0.332783652,-2.0399682,     0000017P0000269
+0.3109695,0.334291,-2.0551008,0.3091615,0.335804,-2.0702276,     0000017P0000270
+0.3073591,0.3373228,-2.1018601,0.3035656,0.340476,-2.1352376,    0000017P0000271
+0.2994346,0.3437625,-2.1530419,0.2970886,0.345524,-2.1708463,    0000017P0000272
+0.2947485,0.3472855,-2.2276119,0.2868925,0.3529166,-2.3491699,   0000017P0000273
+0.2667464,0.3653246,-2.5192064,0.2280619,0.3794081,-2.68159585,  0000017P0000274
+0.1817274,0.3902689,-2.8443828,0.1273311,0.3983035,-2.9801719,   0000017P0000275
+6.447229E-02,0.4031263,-3.0595482,4.028084E-03,0.4043209,        0000017P0000276
+-3.0595482,0.,0.4043209,1.983431199,10.,0.115177732,             0000017P0000277
+-0.166179628,0.979345915;                                        0000017P0000278
+126,312,8,1,0,1,0,0.,0.,0.,0.,0.,0.,0.,0.,0.,8.516307792E-02,    0000019P0000279
+8.516307792E-02,8.516307792E-02,8.516307792E-02,8.516307792E-02, 0000019P0000280
+8.516307792E-02,8.516307792E-02,8.516307792E-02,0.170326155,     0000019P0000281
+0.170326155,0.170326155,0.170326155,0.170326155,0.170326155,     0000019P0000282
+0.170326155,0.170326155,0.227101539,0.227101539,0.227101539,     0000019P0000283
+0.227101539,0.227101539,0.227101539,0.227101539,0.227101539,     0000019P0000284
+0.259544616,0.259544616,0.259544616,0.259544616,0.259544616,     0000019P0000285
+0.259544616,0.259544616,0.259544616,0.296622419,0.296622419,     0000019P0000286
+0.296622419,0.296622419,0.296622419,0.296622419,0.296622419,     0000019P0000287
+0.296622419,0.306190884,0.306190884,0.306190884,0.306190884,     0000019P0000288
+0.306190884,0.306190884,0.306190884,0.306190884,0.316068009,     0000019P0000289
+0.316068009,0.316068009,0.316068009,0.316068009,0.316068009,     0000019P0000290
+0.316068009,0.316068009,0.337139209,0.337139209,0.337139209,     0000019P0000291
+0.337139209,0.337139209,0.337139209,0.337139209,0.337139209,     0000019P0000292
+0.359615157,0.359615157,0.359615157,0.359615157,0.359615157,     0000019P0000293
+0.359615157,0.359615157,0.359615157,0.3835895,0.3835895,         0000019P0000294
+0.3835895,0.3835895,0.3835895,0.3835895,0.3835895,0.3835895,     0000019P0000295
+0.409162134,0.409162134,0.409162134,0.409162134,0.409162134,     0000019P0000296
+0.409162134,0.409162134,0.409162134,0.436439609,0.436439609,     0000019P0000297
+0.436439609,0.436439609,0.436439609,0.436439609,0.436439609,     0000019P0000298
+0.436439609,0.450518306,0.450518306,0.450518306,0.450518306,     0000019P0000299
+0.450518306,0.450518306,0.450518306,0.450518306,0.514878064,     0000019P0000300
+0.514878064,0.514878064,0.514878064,0.514878064,0.514878064,     0000019P0000301
+0.514878064,0.514878064,0.549203268,0.549203268,0.549203268,     0000019P0000302
+0.549203268,0.549203268,0.549203268,0.549203268,0.549203268,     0000019P0000303
+0.566919503,0.566919503,0.566919503,0.566919503,0.566919503,     0000019P0000304
+0.566919503,0.566919503,0.566919503,0.585207229,0.585207229,     0000019P0000305
+0.585207229,0.585207229,0.585207229,0.585207229,0.585207229,     0000019P0000306
+0.585207229,0.624221044,0.624221044,0.624221044,0.624221044,     0000019P0000307
+0.624221044,0.624221044,0.624221044,0.624221044,0.644357206,     0000019P0000308
+0.644357206,0.644357206,0.644357206,0.644357206,0.644357206,     0000019P0000309
+0.644357206,0.644357206,0.665142923,0.665142923,0.665142923,     0000019P0000310
+0.665142923,0.665142923,0.665142923,0.665142923,0.665142923,     0000019P0000311
+0.675700747,0.675700747,0.675700747,0.675700747,0.675700747,     0000019P0000312
+0.675700747,0.675700747,0.675700747,0.686426156,0.686426156,     0000019P0000313
+0.686426156,0.686426156,0.686426156,0.686426156,0.686426156,     0000019P0000314
+0.686426156,0.708568935,0.708568935,0.708568935,0.708568935,     0000019P0000315
+0.708568935,0.708568935,0.708568935,0.708568935,0.731425997,     0000019P0000316
+0.731425997,0.731425997,0.731425997,0.731425997,0.731425997,     0000019P0000317
+0.731425997,0.731425997,0.755020384,0.755020384,0.755020384,     0000019P0000318
+0.755020384,0.755020384,0.755020384,0.755020384,0.755020384,     0000019P0000319
+0.760965426,0.760965426,0.760965426,0.760965426,0.760965426,     0000019P0000320
+0.760965426,0.760965426,0.760965426,0.785512698,0.785512698,     0000019P0000321
+0.785512698,0.785512698,0.785512698,0.785512698,0.785512698,     0000019P0000322
+0.785512698,0.797981154,0.797981154,0.797981154,0.797981154,     0000019P0000323
+0.797981154,0.797981154,0.797981154,0.797981154,0.823722481,     0000019P0000324
+0.823722481,0.823722481,0.823722481,0.823722481,0.823722481,     0000019P0000325
+0.823722481,0.823722481,0.826952766,0.826952766,0.826952766,     0000019P0000326
+0.826952766,0.826952766,0.826952766,0.826952766,0.826952766,     0000019P0000327
+0.833464205,0.833464205,0.833464205,0.833464205,0.833464205,     0000019P0000328
+0.833464205,0.833464205,0.833464205,0.846693795,0.846693795,     0000019P0000329
+0.846693795,0.846693795,0.846693795,0.846693795,0.846693795,     0000019P0000330
+0.846693795,0.853360675,0.853360675,0.853360675,0.853360675,     0000019P0000331
+0.853360675,0.853360675,0.853360675,0.853360675,0.866906083,     0000019P0000332
+0.866906083,0.866906083,0.866906083,0.866906083,0.866906083,     0000019P0000333
+0.866906083,0.866906083,0.870305715,0.870305715,0.870305715,     0000019P0000334
+0.870305715,0.870305715,0.870305715,0.870305715,0.870305715,     0000019P0000335
+0.994635102,0.994635102,0.994635102,0.994635102,0.994635102,     0000019P0000336
+0.994635102,0.994635102,0.994635102,0.995607375,0.995607375,     0000019P0000337
+0.995607375,0.995607375,0.995607375,0.995607375,0.995607375,     0000019P0000338
+0.995607375,0.999511718,0.999511718,0.999511718,0.999511718,     0000019P0000339
+0.999511718,0.999511718,0.999511718,0.999511718,1.,1.,1.,1.,1.,  0000019P0000340
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000019P0000341
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000019P0000342
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000019P0000343
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000019P0000344
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000019P0000345
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000019P0000346
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000019P0000347
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000019P0000348
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000019P0000349
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000019P0000350
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000019P0000351
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000019P0000352
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000019P0000353
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000019P0000354
+1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,1.,  0000019P0000355
+1.,1.,1.983431198,10.999999998,0.,1.984239761,10.980949557,0.,   0000019P0000356
+1.985055869,10.961335918,0.,1.985879815,10.94111261,0.,          0000019P0000357
+1.986711913,10.920228083,0.,1.987552497,10.898623092,0.,         0000019P0000358
+1.98840192,10.876228074,0.,1.989260547,10.852960527,0.,          0000019P0000359
+1.990128755,10.828722388,0.,1.990996967,10.804484071,0.,         0000019P0000360
+1.991874745,10.779275206,0.,1.992762521,10.752995452,0.,         0000019P0000361
+1.993660679,10.725528191,0.,1.994569596,10.696736577,0.,         0000019P0000362
+1.995489774,10.666451536,0.,1.996421846,10.634460177,0.,         0000019P0000363
+1.997366229,10.600503086,0.,1.997995822,10.577864908,0.,         0000019P0000364
+1.998630919,10.554351929,0.,1.999271649,10.529886582,0.,         0000019P0000365
+1.99991834,10.504374634,0.,2.000570641,10.477728763,0.,          0000019P0000366
+2.001229385,10.449817468,0.,2.001893615,10.420543263,0.,         0000019P0000367
+2.002563803,10.389765756,0.,2.002946762,10.372178802,0.,         0000019P0000368
+2.003331639,10.354101413,0.,2.003718407,10.335510738,0.,         0000019P0000369
+2.00410702,10.316383231,0.,2.004497414,10.296696507,0.,          0000019P0000370
+2.004889508,10.276431198,0.,2.005283204,10.255572817,0.,         0000019P0000371
+2.005678388,10.234113617,0.,2.00613004,10.209588818,0.,          0000019P0000372
+2.006583525,10.184280468,0.,2.007038973,10.158176055,0.,         0000019P0000373
+2.007496196,10.131278482,0.,2.007952471,10.103629097,0.,         0000019P0000374
+2.008411397,10.075250463,0.,2.008870947,10.046243496,0.,         0000019P0000375
+2.009330215,10.016732675,0.,2.009448733,10.009116986,0.,         0000019P0000376
+2.009567213,10.001468179,0.,2.0096857,9.993785556,0.,            0000019P0000377
+2.009803887,9.986082806,0.,2.009922268,9.978340462,0.,           0000019P0000378
+2.010040498,9.970573418,0.,2.010158793,9.962773369,0.,           0000019P0000379
+2.010277097,9.954942907,0.,2.01039922,9.946859787,0.,            0000019P0000380
+2.010521364,9.938743722,0.,2.010643547,9.93059447,0.,            0000019P0000381
+2.010765773,9.92241189,0.,2.010888037,9.914195943,0.,            0000019P0000382
+2.011010325,9.905946692,0.,2.011132608,9.897664301,0.,           0000019P0000383
+2.011254851,9.889349036,0.,2.011515635,9.871609745,0.,           0000019P0000384
+2.01177614,9.853721796,0.,2.012036498,9.835683479,0.,            0000019P0000385
+2.012296796,9.817494013,0.,2.012557079,9.799153554,0.,           0000019P0000386
+2.012817345,9.780663189,0.,2.013077552,9.762024938,0.,           0000019P0000387
+2.013337612,9.743241754,0.,2.013615012,9.723206388,0.,           0000019P0000388
+2.013892316,9.703005814,0.,2.014169365,9.68264438,0.,2.01444617, 0000019P0000389
+9.662125722,0.,2.014722763,9.641455413,0.,2.014999124,           0000019P0000390
+9.620641256,0.,2.015275179,9.599691231,0.,2.015550874,           0000019P0000391
+9.578609086,0.,2.015844955,9.556121517,0.,2.016138657,           0000019P0000392
+9.53348401,0.,2.016431969,9.510702805,0.,2.016724922,            0000019P0000393
+9.487782881,0.,2.017017576,9.464728446,0.,2.017310008,           0000019P0000394
+9.441543434,0.,2.017602294,9.418231991,0.,2.017894501,           0000019P0000395
+9.394798975,0.,2.018206182,9.369803695,0.,2.018517785,           0000019P0000396
+9.344670595,0.,2.018829412,9.319403822,0.,2.019140967,           0000019P0000397
+9.294012557,0.,2.019452517,9.268506214,0.,2.019764366,           0000019P0000398
+9.242892519,0.,2.020076824,9.217178435,0.,2.020389673,           0000019P0000399
+9.191373965,0.,2.020723403,9.163849185,0.,2.021057661,           0000019P0000400
+9.136220573,0.,2.021392708,9.108502014,0.,2.021728027,           0000019P0000401
+9.080694383,0.,2.022064986,9.052832337,0.,2.02240181,            0000019P0000402
+9.024893084,0.,2.022741238,8.996932592,0.,2.023081799,           0000019P0000403
+8.968928405,0.,2.023257582,8.954474807,0.,2.023433699,           0000019P0000404
+8.940010385,0.,2.023610182,8.925535466,0.,2.023787062,           0000019P0000405
+8.911050379,0.,2.023964372,8.896555453,0.,2.024142145,           0000019P0000406
+8.882051015,0.,2.024320413,8.867537393,0.,2.024499207,           0000019P0000407
+8.853014917,0.,2.025316517,8.786626368,0.,2.026144673,           0000019P0000408
+8.720052423,0.,2.026986203,8.653323171,0.,2.027841491,           0000019P0000409
+8.586463654,0.,2.02871436,8.519512223,0.,2.029608015,            0000019P0000410
+8.452511908,0.,2.030521909,8.385500032,0.,2.031460064,           0000019P0000411
+8.318521268,0.,2.03196038,8.28279932,0.,2.032467484,8.247085811, 0000019P0000412
+0.,2.032982203,8.211389961,0.,2.033504066,8.17571571,0.,         0000019P0000413
+2.034033132,8.140064498,0.,2.034570488,8.104437115,0.,           0000019P0000414
+2.035117402,8.068834639,0.,2.035673156,8.03325845,0.,            0000019P0000415
+2.035960004,8.014896741,0.,2.036249353,7.996540641,0.,           0000019P0000416
+2.036540862,7.978195581,0.,2.036834779,7.959856222,0.,           0000019P0000417
+2.037131438,7.941517524,0.,2.037430827,7.923176816,0.,           0000019P0000418
+2.037732608,7.904831636,0.,2.03803699,7.886478127,0.,            0000019P0000419
+2.038351187,7.867532619,0.,2.038668107,7.848578451,0.,           0000019P0000420
+2.038987765,7.829612197,0.,2.039310182,7.810630377,0.,           0000019P0000421
+2.03963538,7.791629457,0.,2.039963388,7.772605852,0.,            0000019P0000422
+2.040294239,7.75355592,0.,2.040627968,7.734475966,0.,            0000019P0000423
+2.041339901,7.693772116,0.,2.042065016,7.652931214,0.,           0000019P0000424
+2.042803537,7.611917448,0.,2.043555817,7.57069243,0.,2.04432234, 0000019P0000425
+7.529214466,0.,2.045103728,7.487437821,0.,2.045900751,           0000019P0000426
+7.445311995,0.,2.046714329,7.402780986,0.,2.047134242,           0000019P0000427
+7.380829428,0.,2.047558487,7.358770448,0.,2.04798735,            0000019P0000428
+7.336594957,0.,2.048420786,7.314296127,0.,2.04885883,            0000019P0000429
+7.291866066,0.,2.049301739,7.269294569,0.,2.049749877,           0000019P0000430
+7.246569973,0.,2.050203343,7.223682109,0.,2.050671436,           0000019P0000431
+7.200055919,0.,2.051145218,7.176255733,0.,2.051624881,           0000019P0000432
+7.152269558,0.,2.052110591,7.12808507,0.,2.052602533,            0000019P0000433
+7.103688945,0.,2.053100947,7.079066185,0.,2.053606168,           0000019P0000434
+7.05419944,0.,2.05411867,7.029068342,0.,2.054378989,7.016303367, 0000019P0000435
+0.,2.054641168,7.003469673,0.,2.054905394,6.990567981,0.,        0000019P0000436
+2.0551713,6.977583519,0.,2.055439763,6.964534522,0.,2.055710452, 0000019P0000437
+6.951406354,0.,2.055983861,6.938205931,0.,2.056260137,           0000019P0000438
+6.924930307,0.,2.056540821,6.911444062,0.,2.056824446,           0000019P0000439
+6.897880621,0.,2.057111295,6.884239407,0.,2.057401653,           0000019P0000440
+6.87051984,0.,2.057695804,6.856721341,0.,2.057994031,            0000019P0000441
+6.842843333,0.,2.058296619,6.828885237,0.,2.058603851,           0000019P0000442
+6.814846474,0.,2.059238173,6.785863293,0.,2.059892477,           0000019P0000443
+6.756536938,0.,2.060569494,6.726862904,0.,2.061272233,           0000019P0000444
+6.696837644,0.,2.062003984,6.666458567,0.,2.062768318,           0000019P0000445
+6.635724041,0.,2.063569082,6.604633392,0.,2.064410408,           0000019P0000446
+6.573186902,0.,2.065278904,6.540725963,0.,2.066190591,6.5078865, 0000019P0000447
+0.,2.067150126,6.474668219,0.,2.068162484,6.441073231,0.,        0000019P0000448
+2.069232962,6.407106049,0.,2.070367174,6.372773589,0.,           0000019P0000449
+2.071571058,6.338085169,0.,2.072850869,6.303052512,0.,           0000019P0000450
+2.074171939,6.266889902,0.,2.075573948,6.230360304,0.,           0000019P0000451
+2.077063446,6.19347863,0.,2.078648047,6.156258644,0.,            0000019P0000452
+2.080334801,6.118722383,0.,2.082131124,6.08089451,0.,            0000019P0000453
+2.084045402,6.042798064,0.,2.086084429,6.004468098,0.,           0000019P0000454
+2.086598181,5.994810133,0.,2.087119881,5.985137851,0.,           0000019P0000455
+2.087649489,5.975450784,0.,2.088186969,5.965748459,0.,           0000019P0000456
+2.088732283,5.956030407,0.,2.089285392,5.946296157,0.,           0000019P0000457
+2.089846259,5.936545239,0.,2.090414847,5.926777183,0.,           0000019P0000458
+2.092762564,5.886444393,0.,2.095241888,5.845819299,0.,           0000019P0000459
+2.097850175,5.80486631,0.,2.100584782,5.763548375,0.,            0000019P0000460
+2.103443131,5.721824703,0.,2.106422769,5.679648479,0.,           0000019P0000461
+2.109521433,5.636964582,0.,2.112737111,5.593707303,0.,           0000019P0000462
+2.11437048,5.571735231,0.,2.116034006,5.549615468,0.,            0000019P0000463
+2.117727522,5.527338289,0.,2.119450763,5.504894408,0.,           0000019P0000464
+2.121203412,5.482274285,0.,2.122985145,5.459467439,0.,           0000019P0000465
+2.124795681,5.436461755,0.,2.126634825,5.413242798,0.,           0000019P0000466
+2.130431756,5.365306965,0.,2.134350486,5.316463793,0.,           0000019P0000467
+2.138388831,5.266589867,0.,2.142544404,5.215541767,0.,           0000019P0000468
+2.146814514,5.163135359,0.,2.15119473,5.109154538,0.,            0000019P0000469
+2.155677975,5.053322892,0.,2.160255935,4.995171767,0.,           0000019P0000470
+2.160830434,4.987874404,0.,2.161406401,4.980541279,0.,           0000019P0000471
+2.161983857,4.973172191,0.,2.162562822,4.965766941,0.,           0000019P0000472
+2.163143319,4.958325329,0.,2.163725366,4.950847154,0.,           0000019P0000473
+2.164308986,4.943332216,0.,2.1648942,4.935780315,0.,2.166073846, 0000019P0000474
+4.920557578,0.,2.167259972,4.905184733,0.,2.168452757,           0000019P0000475
+4.889660236,0.,2.169652377,4.873982759,0.,2.170859011,           0000019P0000476
+4.858151192,0.,2.172072839,4.842164642,0.,2.173294042,           0000019P0000477
+4.826022432,0.,2.174522802,4.809724104,0.,2.17701933,            0000019P0000478
+4.776610035,0.,2.179547051,4.742851778,0.,2.182107486,           0000019P0000479
+4.708445723,0.,2.184702175,4.673393135,0.,2.187332641,           0000019P0000480
+4.637701151,0.,2.190000361,4.601383791,0.,2.192706738,           0000019P0000481
+4.564462963,0.,2.195453066,4.526969466,0.,2.196837055,           0000019P0000482
+4.50807492,0.,2.19823111,4.489036014,0.,2.199635679,4.469852715, 0000019P0000483
+0.,2.201050659,4.450533095,0.,2.202475917,4.43108612,0.,         0000019P0000484
+2.203911519,4.411518341,0.,2.205357687,4.391834486,0.,           0000019P0000485
+2.206814475,4.372041949,0.,2.209774303,4.331828494,0.,           0000019P0000486
+2.212778096,4.291164565,0.,2.215826947,4.250103437,0.,           0000019P0000487
+2.218922543,4.208694744,0.,2.22206608,4.166999273,0.,            0000019P0000488
+2.225257285,4.125099511,0.,2.228493528,4.083105959,0.,           0000019P0000489
+2.231769062,4.041159195,0.,2.232591154,4.030631439,0.,           0000019P0000490
+2.233415764,4.020105744,0.,2.234242548,4.00958967,0.,            0000019P0000491
+2.235072246,3.99906767,0.,2.235903005,3.988579271,0.,            0000019P0000492
+2.236736759,3.978082853,0.,2.237572614,3.967597442,0.,           0000019P0000493
+2.238410965,3.957114247,0.,2.268686384,3.586585898,0.,           0000019P0000494
+2.306476754,3.097603196,0.,2.327287014,3.075685891,0.,           0000019P0000495
+2.399342021,1.942197312,0.,2.359616172,2.143616437,0.,           0000019P0000496
+2.445786875,1.323805042,0.,2.478905511,0.768445753,0.,           0000019P0000497
+2.52286648,0.197888699,0.,2.523203055,0.193405813,0.,2.52353963, 0000019P0000498
+0.188922927,0.,2.523876204,0.184440041,0.,2.524212779,           0000019P0000499
+0.179957155,0.,2.524549354,0.175474269,0.,2.524885928,           0000019P0000500
+0.170991382,0.,2.525222503,0.166508496,0.,2.525559078,           0000019P0000501
+0.16202561,0.,2.526910656,0.144023746,0.,2.528262234,            0000019P0000502
+0.126021881,0.,2.529613813,0.108020017,0.,2.530965391,           0000019P0000503
+9.001815282E-02,0.,2.532316969,7.201628848E-02,0.,2.533668548,   0000019P0000504
+5.401442415E-02,0.,2.535020126,3.601255982E-02,0.,2.536371704,   0000019P0000505
+1.801069549E-02,0.,2.536539497,1.58040887E-02,0.,2.536718137,    0000019P0000506
+1.320519093E-02,0.,2.53685457,1.213278926E-02,0.,2.537086413,    0000019P0000507
+7.609639345E-03,0.,2.53718069,8.061970397E-03,0.,2.537405247,    0000019P0000508
+3.802333079E-03,0.,2.537550024,2.428190827E-03,0.,2.53772394,    0000019P0000509
+1.401645235E-07,0.,0.,1.,0.,0.,1.;                               0000019P0000510
+126,4,2,0,0,1,0,2.537723945,2.537723945,2.537723945,3.5,3.5,10., 0000021P0000511
+10.,10.,1.,1.,1.,1.,1.,2.537723945,0.,0.,3.018861968,0.,0.,3.5,  0000021P0000512
+0.,0.,6.75,-1.434890022E-17,-0.,10.,0.,0.,2.537723945,10.,0.,0., 0000021P0000513
+1.;                                                              0000021P0000514
+126,2,2,0,0,1,0,0.,0.,0.,11.,11.,11.,1.,1.,1.,10.,               0000023P0000515
+1.690495512E-13,0.,10.,5.5,0.,10.,11.,0.,0.,11.,0.,0.,1.;        0000023P0000516
+110,10.,11.,0.,1.983431199,11.,0.;                               0000025P0000517
+S      1G      4D     26P    517                                        T0000001
diff --git a/examples/step-54/coarse_circle.inp b/examples/step-54/coarse_circle.inp
new file mode 100644 (file)
index 0000000..dda97cd
--- /dev/null
@@ -0,0 +1,21 @@
+10 10 0 0 0
+1      0 1.0 0
+2      0.587785252292 0.809016994375 0
+3      0.951056516295 0.309016994375 0
+4      0.951056516295 -0.309016994375 0
+5      0.587785252292 -0.809016994375 0
+6      0 -1.0 0
+7      -0.587785252292 -0.809016994375 0
+8      -0.951056516295 -0.309016994375 0
+9      -0.951056516295 0.309016994375 0
+10     -0.587785252292 0.809016994375 0
+1 1 line 1 2
+2 1 line 2 3
+3 1 line 3 4
+4 1 line 4 5
+5 1 line 5 6
+6 1 line 6 7
+7 1 line 7 8
+8 1 line 8 9
+9 1 line 9 10
+10 1 line 10 1
diff --git a/examples/step-54/coarse_sphere.inp b/examples/step-54/coarse_sphere.inp
new file mode 100644 (file)
index 0000000..5ea249c
--- /dev/null
@@ -0,0 +1,15 @@
+8 6 0 0 0
+1      -0.577350269 -0.577350269 -0.577350269
+2       0.577350269 -0.577350269 -0.577350269
+3      -0.577350269  0.577350269 -0.577350269
+4       0.577350269  0.577350269 -0.577350269
+5      -0.577350269 -0.577350269  0.577350269
+6       0.577350269 -0.577350269  0.577350269
+7      -0.577350269  0.577350269  0.577350269
+8       0.577350269  0.577350269  0.577350269
+1 1 quad 3 4 2 1
+2 1 quad 5 6 8 7
+3 1 quad 1 2 6 5 
+4 1 quad 3 7 8 4
+5 1 quad 5 7 3 1
+6 1 quad 2 4 8 6
diff --git a/examples/step-54/initial_mesh_3d.inp b/examples/step-54/initial_mesh_3d.inp
new file mode 100644 (file)
index 0000000..8080f67
--- /dev/null
@@ -0,0 +1,11 @@
+4 1 0 0 0
+1      -3.0595482 0 0.4043209
+2      -2.63758308 0 -0.34670038
+3      -2.010663 0 -0.249154631
+4      -2.010663 0.314450974 0.331320309
+1 1 quad 1 2 3 4
+2 2 line 1 2
+3 3 line 2 3
+4 4 line 3 4
+5 5 line 4 1
+
diff --git a/examples/step-54/parameters.prm b/examples/step-54/parameters.prm
new file mode 100644 (file)
index 0000000..6f276ea
--- /dev/null
@@ -0,0 +1,12 @@
+# Listing of Parameters
+# ---------------------
+set Number of cycles                = 6
+
+
+subsection Quadrature rules
+  set Quadrature order          = 4
+  set Quadrature type           = gauss
+end
+
+
+
diff --git a/examples/step-54/step-54.cc b/examples/step-54/step-54.cc
new file mode 100644 (file)
index 0000000..ba1c919
--- /dev/null
@@ -0,0 +1,371 @@
+/* ---------------------------------------------------------------------
+ * $Id$
+ *
+ * Copyright (C) 2009 - 2013 by the deal.II authors
+ *
+ * This file is part of the deal.II library.
+ *
+ * The deal.II library is free software; you can use it, redistribute
+ * it, and/or modify it under the terms of the GNU Lesser General
+ * Public License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * The full text of the license can be found in the file LICENSE at
+ * the top level of the deal.II distribution.
+ *
+ * ---------------------------------------------------------------------
+ *  Authors: Andrea Mola, Luca Heltai, 2014
+ */
+
+
+// @sect3{Include files}
+
+// The program starts with including a bunch of include files that we will use
+// in the various parts of the program. Most of them have been discussed in
+// previous tutorials already:
+#include <deal.II/base/smartpointer.h>
+#include <deal.II/base/convergence_table.h>
+#include <deal.II/base/quadrature_lib.h>
+#include <deal.II/base/quadrature_selector.h>
+#include <deal.II/base/parsed_function.h>
+#include <deal.II/base/utilities.h>
+
+#include <deal.II/lac/full_matrix.h>
+#include <deal.II/lac/vector.h>
+#include <deal.II/lac/solver_control.h>
+#include <deal.II/lac/solver_gmres.h>
+#include <deal.II/lac/precondition.h>
+
+#include <deal.II/grid/tria.h>
+#include <deal.II/grid/tria_iterator.h>
+#include <deal.II/grid/tria_accessor.h>
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/grid/grid_in.h>
+#include <deal.II/grid/grid_out.h>
+#include <deal.II/grid/tria_boundary_lib.h>
+
+#include <deal.II/opencascade/boundary_lib.h>
+#include <deal.II/opencascade/utilities.h>
+
+#include <deal.II/dofs/dof_handler.h>
+#include <deal.II/dofs/dof_accessor.h>
+#include <deal.II/dofs/dof_tools.h>
+
+#include <deal.II/fe/fe_q.h>
+#include <deal.II/fe/fe_values.h>
+#include <deal.II/fe/mapping_q.h>
+
+#include <deal.II/numerics/data_out.h>
+#include <deal.II/numerics/vector_tools.h>
+
+// And here are a few C++ standard header files that we will need:
+#include <cmath>
+#include <iostream>
+#include <fstream>
+#include <string>
+
+// The last part of this preamble is to import everything in the dealii
+// namespace into the one into which everything in this program will go:
+namespace Step54
+{
+  using namespace dealii;
+
+
+
+  // @sect3{The TriangulationOnCAD class}
+
+  // The structure of a boundary element method code is very similar to the
+  // structure of a finite element code, and so the member functions of this
+  // class are like those of most of the other tutorial programs. In
+  // particular, by now you should be familiar with reading parameters from an
+  // external file, and with the splitting of the different tasks into
+  // different modules. The same applies to boundary element methods, and we
+  // won't comment too much on them, except on the differences.
+
+  class TriangulationOnCAD
+  {
+  public:
+    TriangulationOnCAD(const unsigned int fe_degree = 1,
+               const unsigned int mapping_degree = 1);
+
+    
+    ~TriangulationOnCAD();
+
+    void run();
+
+  private:
+
+    void read_parameters (const std::string &filename);
+
+    void read_domain();
+
+    void refine_and_resize();
+
+    void output_results(const unsigned int cycle);
+
+    Triangulation<2, 3>   tria;
+    FE_Q<2,3>             fe;
+    DoFHandler<2,3>       dh;
+    MappingQ<2,3>      mapping;
+
+    std_cxx11::shared_ptr<Quadrature<2> > quadrature;
+
+    SolverControl solver_control;
+
+    unsigned int n_cycles;
+
+    OpenCASCADE::ArclengthProjectionLineManifold<2,3> *line_projector;
+    OpenCASCADE::NormalProjectionBoundary<2,3> *normal_projector;
+    OpenCASCADE::DirectionalProjectionBoundary<2,3> *directional_projector;
+
+  };
+
+
+  // @sect4{TriangulationOnCAD::TriangulationOnCAD and TriangulationOnCAD::read_parameters}
+
+  // The constructor initializes the various object in much the same way as
+  // done in the finite element programs such as step-4 or step-6. The only
+  // new ingredient here is the ParsedFunction object, which needs, at
+  // construction time, the specification of the number of components.
+  //
+  // For the exact solution the number of vector components is one, and no
+  // action is required since one is the default value for a ParsedFunction
+  // object. The wind, however, requires dim components to be
+  // specified. Notice that when declaring entries in a parameter file for the
+  // expression of the Functions::ParsedFunction, we need to specify the
+  // number of components explicitly, since the function
+  // Functions::ParsedFunction::declare_parameters is static, and has no
+  // knowledge of the number of components.
+
+  TriangulationOnCAD::TriangulationOnCAD(const unsigned int fe_degree,
+                              const unsigned int mapping_degree)
+    :
+    fe(fe_degree),
+    dh(tria),
+    mapping(mapping_degree, true)
+  {}
+
+  TriangulationOnCAD::~TriangulationOnCAD()
+  {
+  tria.set_manifold(1);
+  tria.set_manifold(2);
+  delete line_projector;
+  delete normal_projector;
+  delete directional_projector;
+  }
+
+  void TriangulationOnCAD::read_parameters (const std::string &filename)
+  {
+    deallog << std::endl << "Parsing parameter file " << filename << std::endl
+            << "for a three dimensional geometry. " << std::endl;
+
+    ParameterHandler prm;
+
+    prm.declare_entry("Number of cycles", "4",
+                      Patterns::Integer());
+
+    prm.enter_subsection("Quadrature rules");
+    {
+      prm.declare_entry("Quadrature type", "gauss",
+                        Patterns::Selection(QuadratureSelector<(2)>::get_quadrature_names()));
+      prm.declare_entry("Quadrature order", "4", Patterns::Integer());
+    }
+    prm.leave_subsection();
+
+    // After declaring all these parameters to the ParameterHandler object,
+    // let's read an input file that will give the parameters their values. We
+    // then proceed to extract these values from the ParameterHandler object:
+    prm.read_input(filename);
+
+    n_cycles = prm.get_integer("Number of cycles");
+
+    prm.enter_subsection("Quadrature rules");
+    {
+      quadrature =
+        std_cxx11::shared_ptr<Quadrature<2> >
+        (new QuadratureSelector<2> (prm.get("Quadrature type"),
+                                        prm.get_integer("Quadrature order")));
+    }
+    prm.leave_subsection();
+
+  }
+
+
+  // @sect4{TriangulationOnCAD::read_domain}
+
+
+  // Some of the mesh formats supported in deal.II use by default three
+  // dimensional points to describe meshes. These are the formats which are
+  // compatible with the boundary element method capabilities of deal.II. In
+  // particular we can use either UCD or GMSH formats. In both cases, we have
+  // to be particularly careful with the orientation of the mesh, because,
+  // unlike in the standard finite element case, no reordering or
+  // compatibility check is performed here.  All meshes are considered as
+  // oriented, because they are embedded in a higher dimensional space. (See
+  // the documentation of the GridIn and of the Triangulation for further
+  // details on orientation of cells in a triangulation.) In our case, the
+  // normals to the mesh are external to both the circle in 2d or the sphere
+  // in 3d.
+  //
+  // The other detail that is required for appropriate refinement of the
+  // boundary element mesh, is an accurate description of the manifold that
+  // the mesh is approximating. We already saw this several times for the
+  // boundary of standard finite element meshes (for example in step-5 and
+  // step-6), and here the principle and usage is the same, except that the
+  // HyperBallBoundary class takes an additional template parameter that
+  // specifies the embedding space dimension. The function object still has to
+  // be static to live at least as long as the triangulation object to which
+  // it is attached.
+
+
+  void TriangulationOnCAD::read_domain()
+  {
+
+
+    std::ifstream in;
+
+    in.open ("initial_mesh_3d.inp");
+
+    GridIn<2,3> gi;
+    gi.attach_triangulation (tria);
+    gi.read_ucd (in);
+
+
+    Triangulation<2,3>::active_cell_iterator cell = tria.begin_active();
+    cell->set_manifold_id(1);
+
+    for (unsigned int f=0; f<GeometryInfo<2>::faces_per_cell; ++f)
+        cell->face(f)->set_manifold_id(2);
+
+    TopoDS_Shape bow_surface = OpenCASCADE::read_IGES("DTMB-5415_bulbous_bow.iges",1e-3);
+
+    std::vector<TopoDS_Compound> compounds;
+    std::vector<TopoDS_CompSolid> compsolids;
+    std::vector<TopoDS_Solid> solids;
+    std::vector<TopoDS_Shell> shells;
+    std::vector<TopoDS_Wire> wires;    
+
+    OpenCASCADE::extract_compound_shapes(bow_surface,
+                                         compounds,
+                                         compsolids,
+                                         solids,
+                                         shells,
+                                         wires);
+
+
+    line_projector = new OpenCASCADE::ArclengthProjectionLineManifold<2,3>(wires[0]);
+    normal_projector = new OpenCASCADE::NormalProjectionBoundary<2,3>(bow_surface);
+    directional_projector = new OpenCASCADE::DirectionalProjectionBoundary<2,3>(bow_surface, Point<3>(0.0,1.0,0.0));
+
+    tria.set_manifold(2, *line_projector);
+    tria.set_manifold(1,*directional_projector);
+  }
+
+
+  // @sect4{TriangulationOnCAD::refine_and_resize}
+
+  // This function globally refines the mesh, distributes degrees of freedom,
+  // and resizes matrices and vectors.
+
+
+  void TriangulationOnCAD::refine_and_resize()
+  {
+    tria.refine_global(1);
+
+    dh.distribute_dofs(fe);
+
+    const unsigned int n_dofs =  dh.n_dofs();
+
+  }
+
+
+
+
+  // @sect4{TriangulationOnCAD::output_results}
+
+  // Outputting the results of our computations is a rather mechanical
+  // tasks. All the components of this function have been discussed before.
+
+  void TriangulationOnCAD::output_results(const unsigned int cycle)
+  {
+
+    std::string filename = ( Utilities::int_to_string(3) +
+                             "d_mesh_" +
+                             Utilities::int_to_string(cycle) +
+                             ".inp" );
+  std::ofstream logfile(filename.c_str());
+  GridOut grid_out;
+  grid_out.write_ucd(tria, logfile);
+
+
+  }
+
+
+  // @sect4{TriangulationOnCAD::run}
+
+  // This is the main function. It should be self explanatory in its
+  // briefness:
+
+  void TriangulationOnCAD::run()
+  {
+
+    read_parameters("parameters.prm");
+
+    read_domain();
+
+    for (unsigned int cycle=0; cycle<n_cycles; ++cycle)
+      {
+        refine_and_resize();
+        output_results(cycle);
+      }
+
+  }
+}
+
+
+// @sect3{The main() function}
+
+// This is the main function of this program. It is exactly like all previous
+// tutorial programs:
+int main ()
+{
+  try
+    {
+      using namespace dealii;
+      using namespace Step54;
+
+      const unsigned int degree = 1;
+      const unsigned int mapping_degree = 1;
+
+      deallog.depth_console (3);
+      TriangulationOnCAD triangulation_on_cad(degree, mapping_degree);
+      triangulation_on_cad.run();
+
+    }
+  catch (std::exception &exc)
+    {
+      std::cerr << std::endl << std::endl
+                << "----------------------------------------------------"
+                << std::endl;
+      std::cerr << "Exception on processing: " << std::endl
+                << exc.what() << std::endl
+                << "Aborting!" << std::endl
+                << "----------------------------------------------------"
+                << std::endl;
+
+      return 1;
+    }
+  catch (...)
+    {
+      std::cerr << std::endl << std::endl
+                << "----------------------------------------------------"
+                << std::endl;
+      std::cerr << "Unknown exception!" << std::endl
+                << "Aborting!" << std::endl
+                << "----------------------------------------------------"
+                << std::endl;
+      return 1;
+    }
+
+  return 0;
+}
+

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.