00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #include <cmath>
00030
00031 #include "GaussianQuadratureRule.hpp"
00032 #include "Exception.hpp"
00033 #include "UblasCustomFunctions.hpp"
00034
00035 template<unsigned ELEMENT_DIM>
00036 const ChastePoint<ELEMENT_DIM>& GaussianQuadratureRule<ELEMENT_DIM>::rGetQuadPoint(unsigned index) const
00037 {
00038 assert(index < mNumQuadPoints);
00039 return mPoints[index];
00040 }
00041
00042 template<unsigned ELEMENT_DIM>
00043 double GaussianQuadratureRule<ELEMENT_DIM>::GetWeight(unsigned index) const
00044 {
00045 assert(index < mNumQuadPoints);
00046 return mWeights[index];
00047 }
00048
00049 template<unsigned ELEMENT_DIM>
00050 unsigned GaussianQuadratureRule<ELEMENT_DIM>::GetNumQuadPoints() const
00051 {
00052 return mNumQuadPoints;
00053 }
00054
00059 template<>
00060 GaussianQuadratureRule<0>::GaussianQuadratureRule(unsigned numPointsInEachDimension)
00061 {
00062 mNumQuadPoints = 1;
00063 mWeights.reserve(mNumQuadPoints);
00064 mPoints.reserve(mNumQuadPoints);
00065 mWeights.push_back(1);
00066 mPoints.push_back(ChastePoint<0>());
00067 }
00068
00073 template<>
00074 GaussianQuadratureRule<1>::GaussianQuadratureRule(unsigned numPointsInEachDimension)
00075 {
00076 mNumQuadPoints = numPointsInEachDimension;
00077
00078 mWeights.reserve(mNumQuadPoints);
00079 mPoints.reserve(mNumQuadPoints);
00080 switch (numPointsInEachDimension)
00081 {
00082 case 1:
00083 mWeights.push_back(1);
00084 mPoints.push_back(ChastePoint<1>(0.5));
00085 break;
00086 case 2:
00087 mWeights.push_back(0.5);
00088 mWeights.push_back(0.5);
00089
00090 mPoints.push_back(ChastePoint<1>(0.21132486540519));
00091 mPoints.push_back(ChastePoint<1>(0.78867513459481));
00092 break;
00093 case 3:
00094 mWeights.push_back(5.0/18.0);
00095 mWeights.push_back(4.0/9.0);
00096 mWeights.push_back(5.0/18.0);
00097 mPoints.push_back(ChastePoint<1>(0.1127016654));
00098 mPoints.push_back(ChastePoint<1>(0.5));
00099 mPoints.push_back(ChastePoint<1>(0.8872983346));
00100 break;
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142 default:
00143 EXCEPTION("Number of gauss points per dimension not supported.");
00144 }
00145 }
00146
00151 template<>
00152 GaussianQuadratureRule<2>::GaussianQuadratureRule(unsigned numPointsInEachDimension)
00153 {
00154 mNumQuadPoints = numPointsInEachDimension * numPointsInEachDimension;
00155
00156 mWeights.reserve(mNumQuadPoints);
00157 mPoints.reserve(mNumQuadPoints);
00158
00159 switch (numPointsInEachDimension)
00160 {
00161 case 1:
00162 mWeights.push_back(0.5);
00163 mPoints.push_back(ChastePoint<2>(0.25,0.5));
00164 break;
00165
00166 case 2:
00167 mWeights.push_back(0.19716878364870);
00168 mWeights.push_back(0.19716878364870);
00169 mWeights.push_back(0.05283121635130);
00170 mWeights.push_back(0.05283121635130);
00171
00172 mPoints.push_back(ChastePoint<2>(0.16666666666667,0.21132486540519));
00173 mPoints.push_back(ChastePoint<2>(0.62200846792815,0.21132486540519));
00174 mPoints.push_back(ChastePoint<2>(0.04465819873852,0.78867513459481));
00175 mPoints.push_back(ChastePoint<2>(0.16666666666667,0.78867513459481));
00176 break;
00177
00178 case 3:
00179 mWeights.push_back(0.06846437766975);
00180 mWeights.push_back(0.10954300427160);
00181 mWeights.push_back(0.06846437766975);
00182 mWeights.push_back(0.06172839506173);
00183 mWeights.push_back(0.09876543209877);
00184 mWeights.push_back(0.06172839506173);
00185 mWeights.push_back(0.00869611615741);
00186 mWeights.push_back(0.01391378585185);
00187 mWeights.push_back(0.00869611615741);
00188
00189 mPoints.push_back(ChastePoint<2>(0.10000000001607,0.11270166540000));
00190 mPoints.push_back(ChastePoint<2>(0.44364916730000,0.11270166540000));
00191 mPoints.push_back(ChastePoint<2>(0.78729833458393,0.11270166540000));
00192 mPoints.push_back(ChastePoint<2>(0.05635083270000,0.50000000000000));
00193 mPoints.push_back(ChastePoint<2>(0.25000000000000,0.50000000000000));
00194 mPoints.push_back(ChastePoint<2>(0.44364916730000,0.50000000000000));
00195 mPoints.push_back(ChastePoint<2>(0.01270166538393,0.88729833460000));
00196 mPoints.push_back(ChastePoint<2>(0.05635083270000,0.88729833460000));
00197 mPoints.push_back(ChastePoint<2>(0.10000000001607,0.88729833460000));
00198 break;
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222
00223
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233
00234
00235
00236
00237
00238
00239
00240
00241
00242
00243
00244
00245
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265
00266
00267
00268
00269
00270
00271
00272
00273
00274
00275
00276
00277
00278
00279
00280
00281
00282
00283
00284
00285
00286
00287
00288
00289
00290
00291
00292
00293
00294
00295
00296
00297
00298
00299
00300
00301
00302
00303
00304
00305
00306
00307
00308
00309
00310
00311
00312
00313
00314
00315
00316
00317
00318
00319
00320
00321
00322
00323
00324
00325
00326
00327
00328
00329
00330
00331
00332
00333
00334
00335
00336
00337
00338
00339
00340
00341
00342
00343
00344
00345
00346
00347
00348
00349
00350
00351
00352
00353
00354
00355
00356
00357
00358
00359
00360
00361
00362
00363
00364
00365
00366
00367
00368
00369
00370
00371
00372
00373
00374
00375
00376
00377
00378
00379
00380
00381
00382
00383
00384
00385
00386
00387
00388
00389
00390
00391
00392
00393
00394
00395
00396
00397
00398
00399
00400
00401
00402
00403
00404
00405
00406
00407
00408
00409
00410
00411
00412
00413
00414
00415
00416 default:
00417 EXCEPTION("Number of gauss points per dimension not supported.");
00418 }
00419 }
00420
00425 template<>
00426 GaussianQuadratureRule<3>::GaussianQuadratureRule(unsigned numPointsInEachDimension)
00427 {
00428 mNumQuadPoints = numPointsInEachDimension * numPointsInEachDimension * numPointsInEachDimension;
00429
00430 mWeights.reserve(mNumQuadPoints);
00431 mPoints.reserve(mNumQuadPoints);
00432
00433 switch (numPointsInEachDimension)
00434 {
00435 case 1:
00436 mWeights.push_back(0.12500000000000);
00437 mPoints.push_back(ChastePoint<3>(0.25000000000000,0.50000000000000,0.12500000000000));
00438 break;
00439
00440 case 2:
00441 mWeights.push_back(0.06132032652029);
00442 mWeights.push_back(0.01643073197073);
00443 mWeights.push_back(0.00440260136261);
00444 mWeights.push_back(0.00117967347971);
00445 mWeights.push_back(0.06132032652029);
00446 mWeights.push_back(0.01643073197073);
00447 mWeights.push_back(0.00440260136261);
00448 mWeights.push_back(0.00117967347971);
00449
00450 mPoints.push_back(ChastePoint<3>(0.16666666666667, 0.21132486540519, 0.13144585576580));
00451 mPoints.push_back(ChastePoint<3>(0.62200846792815, 0.21132486540519, 0.03522081090086));
00452 mPoints.push_back(ChastePoint<3>(0.04465819873852, 0.78867513459481, 0.03522081090086));
00453 mPoints.push_back(ChastePoint<3>(0.16666666666667, 0.78867513459481, 0.00943738783766));
00454 mPoints.push_back(ChastePoint<3>(0.16666666666667, 0.21132486540519, 0.49056261216234));
00455 mPoints.push_back(ChastePoint<3>(0.62200846792815, 0.21132486540519, 0.13144585576580));
00456 mPoints.push_back(ChastePoint<3>(0.04465819873852, 0.78867513459481, 0.13144585576580));
00457 mPoints.push_back(ChastePoint<3>(0.16666666666667, 0.78867513459481, 0.03522081090086));
00458 break;
00459
00460 case 3:
00461 mWeights.push_back(0.01497274736603);
00462 mWeights.push_back(0.01349962850795);
00463 mWeights.push_back(0.00190178826891);
00464 mWeights.push_back(0.00760715307442);
00465 mWeights.push_back(0.00685871056241);
00466 mWeights.push_back(0.00096623512860);
00467 mWeights.push_back(0.00024155878219);
00468 mWeights.push_back(0.00021779261632);
00469 mWeights.push_back(0.00003068198821);
00470 mWeights.push_back(0.02395639578565);
00471 mWeights.push_back(0.02159940561273);
00472 mWeights.push_back(0.00304286123026);
00473 mWeights.push_back(0.01217144491907);
00474 mWeights.push_back(0.01097393689986);
00475 mWeights.push_back(0.00154597620576);
00476 mWeights.push_back(0.00038649405150);
00477 mWeights.push_back(0.00034846818612);
00478 mWeights.push_back(0.00004909118114);
00479 mWeights.push_back(0.01497274736603);
00480 mWeights.push_back(0.01349962850795);
00481 mWeights.push_back(0.00190178826891);
00482 mWeights.push_back(0.00760715307442);
00483 mWeights.push_back(0.00685871056241);
00484 mWeights.push_back(0.00096623512860);
00485 mWeights.push_back(0.00024155878219);
00486 mWeights.push_back(0.00021779261632);
00487 mWeights.push_back(0.00003068198821);
00488
00489 mPoints.push_back(ChastePoint<3>(0.10000000001607, 0.11270166540000, 0.08872983347426));
00490 mPoints.push_back(ChastePoint<3>(0.44364916730000, 0.11270166540000, 0.05000000000803));
00491 mPoints.push_back(ChastePoint<3>(0.78729833458393, 0.11270166540000, 0.01127016654181));
00492 mPoints.push_back(ChastePoint<3>(0.05635083270000, 0.50000000000000, 0.05000000000803));
00493 mPoints.push_back(ChastePoint<3>(0.25000000000000, 0.50000000000000, 0.02817541635000));
00494 mPoints.push_back(ChastePoint<3>(0.44364916730000, 0.50000000000000, 0.00635083269197));
00495 mPoints.push_back(ChastePoint<3>(0.01270166538393, 0.88729833460000, 0.01127016654181));
00496 mPoints.push_back(ChastePoint<3>(0.05635083270000, 0.88729833460000, 0.00635083269197));
00497 mPoints.push_back(ChastePoint<3>(0.10000000001607, 0.88729833460000, 0.00143149884212));
00498 mPoints.push_back(ChastePoint<3>(0.10000000001607, 0.11270166540000, 0.39364916729197));
00499 mPoints.push_back(ChastePoint<3>(0.44364916730000, 0.11270166540000, 0.22182458365000));
00500 mPoints.push_back(ChastePoint<3>(0.78729833458393, 0.11270166540000, 0.05000000000803));
00501 mPoints.push_back(ChastePoint<3>(0.05635083270000, 0.50000000000000, 0.22182458365000));
00502 mPoints.push_back(ChastePoint<3>(0.25000000000000, 0.50000000000000, 0.12500000000000));
00503 mPoints.push_back(ChastePoint<3>(0.44364916730000, 0.50000000000000, 0.02817541635000));
00504 mPoints.push_back(ChastePoint<3>(0.01270166538393, 0.88729833460000, 0.05000000000803));
00505 mPoints.push_back(ChastePoint<3>(0.05635083270000, 0.88729833460000, 0.02817541635000));
00506 mPoints.push_back(ChastePoint<3>(0.10000000001607, 0.88729833460000, 0.00635083269197));
00507 mPoints.push_back(ChastePoint<3>(0.10000000001607, 0.11270166540000, 0.69856850110968));
00508 mPoints.push_back(ChastePoint<3>(0.44364916730000, 0.11270166540000, 0.39364916729197));
00509 mPoints.push_back(ChastePoint<3>(0.78729833458393, 0.11270166540000, 0.08872983347426));
00510 mPoints.push_back(ChastePoint<3>(0.05635083270000, 0.50000000000000, 0.39364916729197));
00511 mPoints.push_back(ChastePoint<3>(0.25000000000000, 0.50000000000000, 0.22182458365000));
00512 mPoints.push_back(ChastePoint<3>(0.44364916730000, 0.50000000000000, 0.05000000000803));
00513 mPoints.push_back(ChastePoint<3>(0.01270166538393, 0.88729833460000, 0.08872983347426));
00514 mPoints.push_back(ChastePoint<3>(0.05635083270000, 0.88729833460000, 0.05000000000803));
00515 mPoints.push_back(ChastePoint<3>(0.10000000001607, 0.88729833460000, 0.01127016654181));
00516 break;
00517
00518 case 4:
00519 mWeights.push_back(0.00423982561968);
00520 mWeights.push_back(0.00572288385156);
00521 mWeights.push_back(0.00281885467361);
00522 mWeights.push_back(0.00031634320391);
00523 mWeights.push_back(0.00412036229051);
00524 mWeights.push_back(0.00556163317318);
00525 mWeights.push_back(0.00273942929295);
00526 mWeights.push_back(0.00030742976838);
00527 mWeights.push_back(0.00099965677330);
00528 mWeights.push_back(0.00134932898618);
00529 mWeights.push_back(0.00066462336430);
00530 mWeights.push_back(0.00007458670588);
00531 mWeights.push_back(0.00002360309872);
00532 mWeights.push_back(0.00003185928022);
00533 mWeights.push_back(0.00001569255698);
00534 mWeights.push_back(0.00000176108183);
00535 mWeights.push_back(0.00794866986669);
00536 mWeights.push_back(0.01072905315027);
00537 mWeights.push_back(0.00528468555374);
00538 mWeights.push_back(0.00059306865848);
00539 mWeights.push_back(0.00772470439029);
00540 mWeights.push_back(0.01042674628127);
00541 mWeights.push_back(0.00513578175757);
00542 mWeights.push_back(0.00057635807584);
00543 mWeights.push_back(0.00187411992466);
00544 mWeights.push_back(0.00252967258912);
00545 mWeights.push_back(0.00124601155388);
00546 mWeights.push_back(0.00013983242583);
00547 mWeights.push_back(0.00004425022545);
00548 mWeights.push_back(0.00005972861231);
00549 mWeights.push_back(0.00002941983138);
00550 mWeights.push_back(0.00000330161175);
00551 mWeights.push_back(0.00794866986669);
00552 mWeights.push_back(0.01072905315027);
00553 mWeights.push_back(0.00528468555374);
00554 mWeights.push_back(0.00059306865848);
00555 mWeights.push_back(0.00772470439029);
00556 mWeights.push_back(0.01042674628127);
00557 mWeights.push_back(0.00513578175757);
00558 mWeights.push_back(0.00057635807584);
00559 mWeights.push_back(0.00187411992466);
00560 mWeights.push_back(0.00252967258912);
00561 mWeights.push_back(0.00124601155388);
00562 mWeights.push_back(0.00013983242583);
00563 mWeights.push_back(0.00004425022545);
00564 mWeights.push_back(0.00005972861231);
00565 mWeights.push_back(0.00002941983138);
00566 mWeights.push_back(0.00000330161175);
00567 mWeights.push_back(0.00423982561968);
00568 mWeights.push_back(0.00572288385156);
00569 mWeights.push_back(0.00281885467361);
00570 mWeights.push_back(0.00031634320391);
00571 mWeights.push_back(0.00412036229051);
00572 mWeights.push_back(0.00556163317318);
00573 mWeights.push_back(0.00273942929295);
00574 mWeights.push_back(0.00030742976838);
00575 mWeights.push_back(0.00099965677330);
00576 mWeights.push_back(0.00134932898618);
00577 mWeights.push_back(0.00066462336430);
00578 mWeights.push_back(0.00007458670588);
00579 mWeights.push_back(0.00002360309872);
00580 mWeights.push_back(0.00003185928022);
00581 mWeights.push_back(0.00001569255698);
00582 mWeights.push_back(0.00000176108183);
00583
00584 mPoints.push_back(ChastePoint<3>(0.06461106321099, 0.06943184420000, 0.06012499793653));
00585 mPoints.push_back(ChastePoint<3>(0.30709631152509, 0.06943184420000, 0.04328879995478));
00586 mPoints.push_back(ChastePoint<3>(0.62347184427491, 0.06943184420000, 0.02132226325621));
00587 mPoints.push_back(ChastePoint<3>(0.86595709258901, 0.06943184420000, 0.00448606527446));
00588 mPoints.push_back(ChastePoint<3>(0.04651867752509, 0.33000947820000, 0.04328879995478));
00589 mPoints.push_back(ChastePoint<3>(0.22110322249816, 0.33000947820000, 0.03116707302848));
00590 mPoints.push_back(ChastePoint<3>(0.44888729930184, 0.33000947820000, 0.01535160449661));
00591 mPoints.push_back(ChastePoint<3>(0.62347184427491, 0.33000947820000, 0.00322987757031));
00592 mPoints.push_back(ChastePoint<3>(0.02291316667491, 0.66999052180000, 0.02132226325621));
00593 mPoints.push_back(ChastePoint<3>(0.10890625570184, 0.66999052180000, 0.01535160449661));
00594 mPoints.push_back(ChastePoint<3>(0.22110322249816, 0.66999052180000, 0.00756156217830));
00595 mPoints.push_back(ChastePoint<3>(0.30709631152509, 0.66999052180000, 0.00159090341870));
00596 mPoints.push_back(ChastePoint<3>(0.00482078098901, 0.93056815580000, 0.00448606527446));
00597 mPoints.push_back(ChastePoint<3>(0.02291316667491, 0.93056815580000, 0.00322987757031));
00598 mPoints.push_back(ChastePoint<3>(0.04651867752509, 0.93056815580000, 0.00159090341870));
00599 mPoints.push_back(ChastePoint<3>(0.06461106321099, 0.93056815580000, 0.00033471571455));
00600 mPoints.push_back(ChastePoint<3>(0.06461106321099, 0.06943184420000, 0.28577404826889));
00601 mPoints.push_back(ChastePoint<3>(0.30709631152509, 0.06943184420000, 0.20575161800155));
00602 mPoints.push_back(ChastePoint<3>(0.62347184427491, 0.06943184420000, 0.10134469352354));
00603 mPoints.push_back(ChastePoint<3>(0.86595709258901, 0.06943184420000, 0.02132226325621));
00604 mPoints.push_back(ChastePoint<3>(0.04651867752509, 0.33000947820000, 0.20575161800155));
00605 mPoints.push_back(ChastePoint<3>(0.22110322249816, 0.33000947820000, 0.14813706341321));
00606 mPoints.push_back(ChastePoint<3>(0.44888729930184, 0.33000947820000, 0.07296615908496));
00607 mPoints.push_back(ChastePoint<3>(0.62347184427491, 0.33000947820000, 0.01535160449661));
00608 mPoints.push_back(ChastePoint<3>(0.02291316667491, 0.66999052180000, 0.10134469352354));
00609 mPoints.push_back(ChastePoint<3>(0.10890625570184, 0.66999052180000, 0.07296615908496));
00610 mPoints.push_back(ChastePoint<3>(0.22110322249816, 0.66999052180000, 0.03594009661688));
00611 mPoints.push_back(ChastePoint<3>(0.30709631152509, 0.66999052180000, 0.00756156217830));
00612 mPoints.push_back(ChastePoint<3>(0.00482078098901, 0.93056815580000, 0.02132226325621));
00613 mPoints.push_back(ChastePoint<3>(0.02291316667491, 0.93056815580000, 0.01535160449661));
00614 mPoints.push_back(ChastePoint<3>(0.04651867752509, 0.93056815580000, 0.00756156217830));
00615 mPoints.push_back(ChastePoint<3>(0.06461106321099, 0.93056815580000, 0.00159090341870));
00616 mPoints.push_back(ChastePoint<3>(0.06461106321099, 0.06943184420000, 0.58018304432012));
00617 mPoints.push_back(ChastePoint<3>(0.30709631152509, 0.06943184420000, 0.41772022627335));
00618 mPoints.push_back(ChastePoint<3>(0.62347184427491, 0.06943184420000, 0.20575161800155));
00619 mPoints.push_back(ChastePoint<3>(0.86595709258901, 0.06943184420000, 0.04328879995478));
00620 mPoints.push_back(ChastePoint<3>(0.04651867752509, 0.33000947820000, 0.41772022627335));
00621 mPoints.push_back(ChastePoint<3>(0.22110322249816, 0.33000947820000, 0.30075023588863));
00622 mPoints.push_back(ChastePoint<3>(0.44888729930184, 0.33000947820000, 0.14813706341321));
00623 mPoints.push_back(ChastePoint<3>(0.62347184427491, 0.33000947820000, 0.03116707302848));
00624 mPoints.push_back(ChastePoint<3>(0.02291316667491, 0.66999052180000, 0.20575161800155));
00625 mPoints.push_back(ChastePoint<3>(0.10890625570184, 0.66999052180000, 0.14813706341321));
00626 mPoints.push_back(ChastePoint<3>(0.22110322249816, 0.66999052180000, 0.07296615908496));
00627 mPoints.push_back(ChastePoint<3>(0.30709631152509, 0.66999052180000, 0.01535160449661));
00628 mPoints.push_back(ChastePoint<3>(0.00482078098901, 0.93056815580000, 0.04328879995478));
00629 mPoints.push_back(ChastePoint<3>(0.02291316667491, 0.93056815580000, 0.03116707302848));
00630 mPoints.push_back(ChastePoint<3>(0.04651867752509, 0.93056815580000, 0.01535160449661));
00631 mPoints.push_back(ChastePoint<3>(0.06461106321099, 0.93056815580000, 0.00322987757031));
00632 mPoints.push_back(ChastePoint<3>(0.06461106321099, 0.06943184420000, 0.80583209465249));
00633 mPoints.push_back(ChastePoint<3>(0.30709631152509, 0.06943184420000, 0.58018304432012));
00634 mPoints.push_back(ChastePoint<3>(0.62347184427491, 0.06943184420000, 0.28577404826889));
00635 mPoints.push_back(ChastePoint<3>(0.86595709258901, 0.06943184420000, 0.06012499793653));
00636 mPoints.push_back(ChastePoint<3>(0.04651867752509, 0.33000947820000, 0.58018304432012));
00637 mPoints.push_back(ChastePoint<3>(0.22110322249816, 0.33000947820000, 0.41772022627335));
00638 mPoints.push_back(ChastePoint<3>(0.44888729930184, 0.33000947820000, 0.20575161800155));
00639 mPoints.push_back(ChastePoint<3>(0.62347184427491, 0.33000947820000, 0.04328879995478));
00640 mPoints.push_back(ChastePoint<3>(0.02291316667491, 0.66999052180000, 0.28577404826889));
00641 mPoints.push_back(ChastePoint<3>(0.10890625570184, 0.66999052180000, 0.20575161800155));
00642 mPoints.push_back(ChastePoint<3>(0.22110322249816, 0.66999052180000, 0.10134469352354));
00643 mPoints.push_back(ChastePoint<3>(0.30709631152509, 0.66999052180000, 0.02132226325621));
00644 mPoints.push_back(ChastePoint<3>(0.00482078098901, 0.93056815580000, 0.06012499793653));
00645 mPoints.push_back(ChastePoint<3>(0.02291316667491, 0.93056815580000, 0.04328879995478));
00646 mPoints.push_back(ChastePoint<3>(0.04651867752509, 0.93056815580000, 0.02132226325621));
00647 mPoints.push_back(ChastePoint<3>(0.06461106321099, 0.93056815580000, 0.00448606527446));
00648 break;
00649
00650 default:
00651 EXCEPTION("Number of gauss points per dimension not supported.");
00652 }
00653 }
00654
00655 template<unsigned ELEMENT_DIM>
00656 GaussianQuadratureRule<ELEMENT_DIM>::GaussianQuadratureRule(unsigned numPointsInEachDimension)
00657 {
00658 EXCEPTION("Gauss points not available for this dimension.");
00659 }
00660
00661
00663
00665
00666 template class GaussianQuadratureRule<0>;
00667 template class GaussianQuadratureRule<1>;
00668 template class GaussianQuadratureRule<2>;
00669 template class GaussianQuadratureRule<3>;
00670 template class GaussianQuadratureRule<4>;