一维、二维、三维高斯积分点及权重-Gauss integrations and weights
Gauss integrations and weights(Containing the program)目录1. 1D bar element(p181 computation mechanics)2. 2D triangle element(p230 computation mechanics)123. 2D quadrilateral element(p182 computation mechanics)154. 3D tetrahedron element(p231 computation mechanics)175. 3D hexahedron element (p187 computation mechanics)191. 1D bar element(p181 computation mechanics)Order nAccuracy grade (2*n-1)Location gWeight w1110.02.0231-1/V31.021/V31.0351-V0.65/920.08/93V0.65/94710.8611363115940530.34785484513745420.3399810435848560.6521451548625463-0.3399810435848560.6521451548625464-0.8611363115940530.3478548451374545910.9061798459386640.23692688505618920.5384693101056830.478628670499366300.5688888888888894-0.5384693101056830.4786286704993665-0.9061798459386640.23692688505618961110.9324695142031520.17132449237917020.6612093864662650.36076157304813930.2386191860831970.4679139345726914-0.2386191860831970.4679139345726915-0.6612093864662650.3607615730481396-0.9324695142031520.17132449237917012231-0.9815606342467320.0471753363864754720.9041172563704520.10693932599536373-0.76990267419431770.16007832854335864-0.58731795428661430.20316742672306725-0.36783149899818040.23349253653835346-0.125233408511146880.249147045813402770.125233408511146880.249147045813402780.36783149899818040.233492536538353490.58731795428661430.2031674267230672100.76990267419431770.1600783285433586110.9041172563704520.1069393259953637120.9815606342467320.04717533638647547root3 = 1./sqrt(3.) ; r15 = .2*sqrt(15.)nip = ubound( s , 1 )w = (/5./9.,8./9.,5./9./); v=(/5./9.*w,8./9.*w,5./9.*w/)select case (element) case('line')select case(nip)case(1)s(1,1)=0. ; wt(1)=2.case(2) s(1,1)=root3 ; s(2,1)=-s(1,1) ; wt(1)=1. ; wt(2)=1.case(3)s(1,1)=r15 ; s(2,1)=.0; s(3,1)=-s(1,1)wt = wcase(4) s(1,1)=.861136311594053 ; s(2,1)=.339981043584856 s(3,1)=-s(2,1) ; s(4,1)=-s(1,1)wt(1)=.347854845137454 ; wt(2)=.652145154862546 wt(3)=wt(2) ; wt(4)=wt(1)case(5) s(1,1)=.906179845938664 ; s(2,1)=.538469310105683 s(3,1)=.0 ; s(4,1)=-s(2,1) ; s(5,1)=-s(1,1) wt(1)=.236926885056189 ; wt(2)=.478628670499366 wt(3)=.568888888888889 ; wt(4)=wt(2) ; wt(5)=wt(1)case(6)s(1,1)=.932469514203152 ; s(2,1)=.661209386466265;s(3,1)=.238619186083197 s(4,1)=-s(3,1) ; s(5,1)=-s(2,1) ; s(6,1)=-s(1,1)wt(1)=.171324492379170 ; wt(2)=.360761573048139;wt(3)=.467913934572691 wt(4)=wt(3); wt(5)=wt(2) ; wt(6)=wt(1)case defaultprint*,"wrong number of integrating points for a line"end select% Copyright (c) 2010, Thomas-Peter Fries, RWTH Aachen University function xxIntRef, wwIntRef = IntPoints1DGauss(nQ)% Set Gauss points in 1D reference element from -1, 1.if nQData.0.0000000000000000e+0002.0000000000000000e+000;elseif nQData.-5.7735026918962573e-0011.0000000000000000e+0005.7735026918962573e-0011.0000000000000000e+000;elseif nQData.-7.7459666924148340e-0015.5555555555555558e-0010.0000000000000000e+0008.8888888888888884e-0017.7459666924148340e-0015.5555555555555558e-001;elseif nQData.-8.6113631159405257e-0013.4785484513745385e-001-3.3998104358485626e-0016.5214515486254609e-0013.3998104358485626e-0016.5214515486254609e-0018.6113631159405257e-0013.4785484513745385e-001;elseif nQData.-9.0617984593866396e-0012.3692688505618908e-001-5.3846931010568311e-0014.7862867049936647e-0010.0000000000000000e+0005.6888888888888889e-0015.3846931010568311e-0014.7862867049936647e-0019.0617984593866396e-0012.3692688505618908e-001;elseif nQData.-9.3246951420315205e-0011.7132449237917036e-001-6.6120938646626448e-0013.6076157304813861e-001-2.3861918608319688e-0014.6791393457269104e-0012.3861918608319688e-0014.6791393457269104e-0016.6120938646626448e-0013.6076157304813861e-0019.3246951420315205e-0011.7132449237917036e-001;.2948496616886970e-001.7970539148927664e-001.8183005050511892e-0011795918367346940e-0018183005050511892e-0017970539148927664e-0012948496616886970e-001.0122853629037626e-001.2238103445337448e-001.1370664587788727e-001.6268378337836199e-0016268378337836199e-0011370664587788727e-0012238103445337448e-0010122853629037626e-001.1274388361574412e-002.8064816069485740e-001.6061069640293544e-001.1234707704000286e-0013023935500125978e-0011234707704000286e-0016061069640293544e-0018064816069485740e-0011274388361574412e-002.6671344308688138e-002.4945134915058059e-001.1908636251598204e-001.6926671930999635e-001.9552422471475287e-0019552422471475287e-0016926671930999635e-0011908636251598204e-0014945134915058059e-0011231233812361222elseif nQ = 7Data = .-9.4910791234275849e-001 -7.4153118559939446e-001 -4.0584515137739718e-0010.0000000000000000e+000 44.0584515137739718e-001 37.4153118559939446e-001 2 9.4910791234275849e-001 1 ;elseif nQ = 8Data = .-9.6028985649753618e-001-7.9666647741362673e-001-5.2553240991632899e-001 -1.8343464249564978e-0011.8343464249564978e-001 35.2553240991632899e-001 37.9666647741362673e-001 2 9.6028985649753618e-001 1 ;elseif nQ = 9Data = .-9.6816023950762609e-001-8.3603110732663577e-001-6.1337143270059036e-001 -3.2425342340380892e-0010.0000000000000000e+000 33.2425342340380892e-001 36.1337143270059036e-001 28.3603110732663577e-001 1 9.6816023950762609e-001 8 ;elseif nQ = 10 Data = .-9.7390652851717174e-001-8.6506336668898454e-001-6.7940956829902444e-001-4.3339539412924721e-001-1.4887433898163116e-0011.4887433898163116e-001 24.3339539412924721e-001 26.7940956829902444e-001 28.6506336668898454e-001 1511224112224911229.7390652851717174e-001 6.6671344308688138e-002 ;elseif nQ = 11 Data = .-9.7822865814605697e-001-8.8706259976809532e-001-7.3015200557404936e-001-5.1909612920681181e-001-2.6954315595234501e-0010.0000000000000000e+000 22.6954315595234501e-001 25.1909612920681181e-001 27.3015200557404936e-001 18.8706259976809532e-001 1 9.7822865814605697e-001 5 ;elseif nQ = 12 Data = .-9.8156063424671924e-001-9.0411725637047491e-001-7.6990267419430469e-001-5.8731795428661737e-001-3.6783149899818024e-001-1.2523340851146891e-0011.2523340851146891e-001 23.6783149899818024e-001 25.8731795428661737e-001 27.6990267419430469e-001 19.0411725637047491e-001 1 9.8156063424671924e-001 4 ;elseif nQ = 13 Data = .-9.8418305471858814e-001-9.1759839922297792e-001-8.0157809073330988e-001-6.4234933944034023e-001-4.4849275103644681e-001-2.3045831595513477e-0010.0000000000000000e+000 22.3045831595513477e-001 24.4849275103644681e-001 26.4234933944034023e-001 1.5668567116173663e-002.2558036946490461e-001.8629021092773426e-001.3319376459199048e-001.6280454451024665e-0017292508677790062e-0016280454451024665e-0013319376459199048e-0018629021092773426e-0012558036946490461e-0015668567116173663e-002.7175336386511828e-002.0693932599531843e-001.6007832854334622e-001.0316742672306592e-001.3349253653835481e-001.4914704581340277e-0014914704581340277e-0013349253653835481e-0010316742672306592e-0016007832854334622e-0010693932599531843e-0017175336386511828e-002.0484004765315877e-002.2121499837728452e-002.3887351021978725e-001.7814598076194574e-001.0781604753688851e-001.2628318026289723e-0013255155323087390e-0012628318026289723e-0010781604753688851e-0017814598076194574e-0013887351021978725e-0018.0157809073330988e-001 13811122371111126919.1759839922297792e-001 9.2121499837728452e-0029.8418305471858814e-001 4.0484004765315877e-002 ;elseif nQ = 14 Data = .-9.8628380869681231e-001-9.2843488366357352e-001-8.2720131506976502e-001-6.8729290481168548e-001-5.1524863635815410e-001-3.1911236892788974e-001-1.0805494870734367e-0011.0805494870734367e-001 23.1911236892788974e-001 25.1524863635815410e-001 16.8729290481168548e-001 18.2720131506976502e-001 19.2843488366357352e-001 8 9.8628380869681231e-001 3 ;elseif nQ = 15 Data = .-9.8799251802048538e-001-9.3727339240070595e-001-8.4820658341042721e-001-7.2441773136017007e-001-5.7097217260853883e-001-3.9415134707756339e-001 -2.0119409399743449e-0010.0000000000000000e+000 22.0119409399743449e-001 13.9415134707756339e-001 15.7097217260853883e-001 17.2441773136017007e-001 18.4820658341042721e-001 19.3727339240070595e-001 7 9.8799251802048538e-001 3 ;elseif nQ = 16 Data = .-9.8940093499164994e-001-9.4457502307323260e-001-8.6563120238783176e-001.5119460331751860e-002.0158087159760208e-002 .2151857068790319e-001 .5720316715819355e-001 .8553839747793782e-001 .0519846372129560e-001 .1526385346315779e-001 1526385346315779e-001 0519846372129560e-001 8553839747793782e-001 5720316715819355e-001 2151857068790319e-001 0158087159760208e-002 5119460331751860e-002.0753241996117269e-002.0366047488108124e-002 .0715922046717194e-001 .3957067792615432e-001 .6626920581699392e-001 .8616100001556221e-001 .9843148532711158e-001 0257824192556129e-001 9843148532711158e-001 8616100001556221e-001 6626920581699392e-001 3957067792615432e-001 0715922046717194e-001 0366047488108124e-002 0753241996117269e-002.7152459411754096e-002.2253523938647894e-002.5158511682492786e-002.2462897125553388e-001-7.5540440835500300e-001111125811111247111111-6.1787624440264377e-001-4.5801677765722737e-001-2.8160355077925892e-001-9.5012509837637427e-002 9.5012509837637427e-002 1 2.8160355077925892e-001 1 4.5801677765722737e-001 1 6.1787624440264377e-001 1 7.5540440835500300e-001 1 8.6563120238783176e-001 9 9.4457502307323260e-001 6 9.8940093499164994e-001 2 ;elseif nQ = 17Data = .-9.9057547531441736e-001-9.5067552176876780e-001-8.8023915372698591e-001-7.8151400389680137e-001-6.5767115921669084e-001-5.1269053708647694e-001-3.5123176345387630e-001-1.7848418149584788e-001 0.0000000000000000e+000 1 1.7848418149584788e-001 1 3.5123176345387630e-001 1 5.1269053708647694e-001 1 6.5767115921669084e-001 1 7.8151400389680137e-001 1 8.8023915372698591e-001 8 9.5067552176876780e-001 5 9.9057547531441736e-001 2 ;elseif nQ = 18Data = .-9.9156516842093090e-001-9.5582394957139771e-001-8.9260246649755570e-001-8.0370495897252314e-001-6.9168704306035322e-001-5.5977083107394754e-001-4.1175116146284263e-001-2.5188622569150554e-001.4959598881657674e-001.6915651939500254e-001 .8260341504492358e-001 .8945061045506850e-001 8945061045506850e-001 8260341504492358e-001 6915651939500254e-001 4959598881657674e-001 2462897125553388e-001 5158511682492786e-002 2253523938647894e-002 7152459411754096e-002.4148302868547931e-002 .5459529373987203e-002 .5036148317179178e-002 .1188384719340397e-001 .3513636846852548e-001 .5404576107681028e-001 .6800410215645004e-001 .7656270536699264e-001 7944647035620653e-001 7656270536699264e-001 6800410215645004e-001 5404576107681028e-001 3513636846852548e-001 1188384719340397e-001 5036148317179178e-002 5459529373987203e-002 4148302868547931e-002.1616013526483312e-002.9714548894969797e-002.6425730254889052e-002.0094204410628717e-001.2255520671147846e-001.4064291467065065e-001.5468467512626524e-001.6427648374583273e-001.6914238296314360e-001-8.4775013041735292e-00214691111114681111118.4775013041735292e-002 12.5188622569150554e-001 14.1175116146284263e-001 15.5977083107394754e-001 16.9168704306035322e-001 18.0370495897252314e-001 18.9260246649755570e-001 79.5582394957139771e-001 4 9.9156516842093090e-001 2 ;elseif nQ = 19Data = .-9.9240684384358435e-001-9.6020815213483002e-001-9.0315590361481790e-001-8.2271465653714282e-001-7.2096617733522939e-001-6.0054530466168110e-001-4.6457074137596099e-001-3.1656409996362989e-001 -1.6035864564022539e-0010.0000000000000000e+000 11.6035864564022539e-001 13.1656409996362989e-001 14.6457074137596099e-001 16.0054530466168110e-001 17.2096617733522939e-001 18.2271465653714282e-001 99.0315590361481790e-001 69.6020815213483002e-001 4 9.9240684384358435e-001 1 ;elseif nQ = 20 Data = .-9.9312859918509488e-001-9.6397192727791381e-001-9.1223442825132595e-001-8.3911697182221878e-001-7.4633190646015080e-001-6.3605368072651502e-001-5.1086700195082702e-001-3.7370608871541955e-001-2.2778585114164507e-0016914238296314360e-0016427648374583273e-0015468467512626524e-0014064291467065065e-0012255520671147846e-0010094204410628717e-0016425730254889052e-0029714548894969797e-0021616013526483312e-002.9461788229726478e-002 .4814226765699600e-002 .9044542737641226e-002 .1490021622449999e-002 .1156664554733399e-001 .2875396253933621e-001 .4260670217360660e-001 .5276604206585967e-001 .5896884339395434e-001 6105444984878370e-001 5896884339395434e-001 5276604206585967e-001 4260670217360660e-001 2875396253933621e-001 1156664554733399e-001 1490021622449999e-002 9044542737641226e-002 4814226765699600e-002 9461788229726478e-002.7614007139152118e-002.0601429800386939e-002.2672048334109068e-002.3276741576704755e-002.0193011981724044e-001.1819453196151841e-001.3168863844917664e-001.4209610931838204e-001.4917298647260374e-001.5275338713072584e-001-7.6526521133497338e-0027.6526521133497338e-0022.2778585114164507e-0013.7370608871541955e-0015.1086700195082702e-0016.3605368072651502e-0017.4633190646015080e-0018.3911697182221878e-0019.1223442825132595e-0019.6397192727791381e-0019.9312859918509488e-0011.5275338713072584e-0011.4917298647260374e-0011.4209610931838204e-0011.3168863844917664e-0011.1819453196151841e-0011.0193011981724044e-0018.3276741576704755e-0026.2672048334109068e-0024.0601429800386939e-0021.7614007139152118e-002;elseif nQ = 21Data = .-9.9375217062038945e-001-9.6722683856630631e-001-9.2009933415040079e-001-8.5336336458331730e-001-7.6843996347567789e-001-6.6713880419741234e-001-5.5161883588721983e-001-4.2434212020743878e-001-2.8802131680240106e-001-1.4556185416089507e-0011.6017228257774335e-0023.6953789770852494e-0025.7134425426857205e-0027.6100113628379304e-0029.3444423456033862e-0021.0879729916714838e-0011.2183141605372853e-0011.3226893863333747e-0011.3988739479107315e-0011.4452440398997005e-0010.0000000000000000e+0001.4556185416089507e-0012.8802131680240106e-0014.2434212020743878e-0015.5161883588721983e-0016.6713880419741234e-0017.6843996347567789e-0018.5336336458331730e-0019.2009933415040079e-0019.6722683856630631e-0019.9375217062038945e-0011.4608113364969041e-0011.4452440398997005e-0011.3988739479107315e-0011.3226893863333747e-0011.2183141605372853e-0011.0879729916714838e-0019.3444423456033862e-0027.6100113628379304e-0025.7134425426857205e-0023.6953789770852494e-0021.6017228257774335e-002;elseerror( 'The number ' num2str(nQ) ' is not implemented.') end xxIntRef = Data(:, 1)'wwIntRef = Data(:, 2)'% % Plot situation.% reset(cla), reset(clf), hold on'k*');% a = plot(xxIntRef, zeros(size(xxIntRef), % set(a, 'LineWidth', 2, 'MarkerSize', 15) % a = line(-1 1, 0 0);% set(a, 'LineWidth', 2, 'Color', 'k')% box on, axis equal, axis(-1 1 -0.1 0.1)2. 2D triangle element(p230 computation mechanics)Order nLocation gLocationWeight w1(a)11/31/31.03(c)10.50.51/320.50.01/330.00.51/34(d)11/31/3-27/4823/51/525/4831/51/525/4841/53/525/48610.8168475729804590.0915762135097710.109951743655322*0.520.0915762135097710.8168475729804590.109951743655322*0.530.0915762135097710.0915762135097710.109951743655322*0.540.1081030181680700.4459484909159650.223381589678011*0.550.4459484909159650.1081030181680700.223381589678011*0.560.4459484909159650.4459484909159650.223381589678011*0.5121.8738219710169960.0630890144915020.050844906370207*0.52.0630890144915020.8738219710169960.050844906370207*0.53.0630890144915020.0630890144915020.050844906370207*0.54.5014265096581790.2492867451709100.116786275726379*0.55.2492867451709100.5014265096581790.116786275726379*0.56.5014265096581790.5014265096581790.116786275726379*0.57.6365024991213990.3103524510337850.082851075618374*0.58.6365024991213990.0531450498448160.082851075618374*0.59.3103524510337850.6365024991213990.082851075618374*0.5100.3103524510337850.0531450498448160.082851075618374*0.511.0531450498448160.6365024991213990.082851075618374*0.512.0531450498448160.3103524510337850.082851075618374*0.5case('triangle')select case(nip)case(1) ! for triangles weights multiplied by .5 s(1,1)=1./3. ; s(1,2)=1./3. ; wt(1)= .5case(3)s(1,1)=.5 ; s(1,2)=.5 ; s(2,1)=.5 s(2,2)=0.; s(3,1)=0. ; s(3,2)=.5 wt(1)=1./3. ; wt(2)=wt(1) ; wt(3)=wt(1) ; wt = .5*wt case(6)s(1,1)=.816847572980459 ; s(1,2)=.091576213509771 s(2,1)=s(1,2); s(2,2)=s(1,1) ; s(3,1)=s(1,2); s(3,2)=s(1,2) s(4,1)=.108103018168070 ; s(4,2)=.445948490915965 s(5,1)=s(4,2) ; s(5,2)=s(4,1) ; s(6,1)=s(4,2) ; s(6,2)=s(4,2) wt(1)=.109951743655322 ; wt(2)=wt(1) ; wt(3)=wt(1) wt(4)=.223381589678011 ; wt(5)=wt(4) ; wt(6)=wt(4) ; wt = .5*wt case(7)s(1,1)=1./3. ; s(1,2)=1./3.;s(2,1)=.797426985353087 ;s(2,2)=.101286507323456 s(3,1)=s(2,2) ; s(3,2)=s(2,1) ; s(4,1)=s(2,2) ; s(4,2)=s(2,2) s(5,1)=.470142064105115 ; s(5,2)=.059715871789770 s(6,1)=s(5,2) ; s(6,2)=s(5,1); s(7,1)=s(5,1); s(7,2)=s(5,1) wt(1)=.225 ; wt(2)=.125939180544827 ; wt(3)=wt(2); wt(4)=wt(2) wt(5)=.132394152788506; wt(6)=wt(5) ; wt(7)=wt(5) ;wt = .5*wt case(12)s(1,1)=.873821971016996 ; s(1,2)=.063089014491502 s(2,1)=s(1,2) ; s(2,2)=s(1,1); s(3,1)=s(1,2) ; s(3,2)=s(1,2) s(4,1)=.501426509658179 ; s(4,2)=.249286745170910 s(5,1)=s(4,2); s(5,2)=s(4,1) ; s(6,1)=s(4,2) ; s(6,2)=s(4,2) s(7,1)=.636502499121399 ; s(7,2)=.310352451033785 s(8,1)=s(7,1) ; s(8,2)=.053145049844816 ; s(9,1)=s(7,2) ; s(9,2)=s(7,1) s(10,1)=s(7,2) ; s(10,2)=s(8,2) ; s(11,1)=s(8,2); s(11,2)=s(7,1) s(12,1)=s(8,2) ; s(12,2)=s(7,2) wt(1)=.050844906370207 ; wt(2)=wt(1); wt(3)=wt(1) wt(4)=.116786275726379 ; wt(5)=wt(4); wt(6)=wt(4) wt(7)=.082851075618374 ; wt(8:12)=wt(7) ; wt = .5*wtcase(16)s(1,1)=1./3. ; s(1,2)=1./3. ; s(2,1)=.658861384496478 s(2,2)=.170569307751761 ; s(3,1)=s(2,2) ; s(3,2)=s(2,1) s(4,1)=s(2,2) ; s(4,2)=s(2,2)s(5,1)=.898905543365938 ; s(5,2)=.050547228317031 s(6,1)=s(5,2); s(6,2)=s(5,1) ; s(7,1)=s(5,2) ; s(7,2)=s(5,2) s(8,1)=.081414823414554; s(8,2)=.459292588292723 s(9,1)=s(8,2) ; s(9,2)=s(8,1); s(10,1)=s(8,2) ; s(10,2)=s(8,2) s(11,1)=.008394777409958; s(11,2)=.263112829634638 s(12,1)=s(11,1) ; s(12,2)=.728492392955404s(13,1)=s(11,2) ; s(13,2)=s(11,1) ; s(14,1)=s(11,2); s(14,2)=s(12,2) s(15,1)=s(12,2) ; s(15,2)=s(11,1) ; s(16,1)=s(12,2) ; s(16,2)=s(11,2) wt(1)=.144315607677787 ; wt(2)=.103217370534718 ; wt(3)=wt(2); wt(4)=wt(2) wt(5)=.032458497623198 ; wt(6)=wt(5); wt(7)=wt(5)wt(8)=.095091634267284 ; wt(9)=wt(8); wt(10)=wt(8)wt(11)=.027230314174435 ; wt(12:16) = wt(11) ; wt = .5*wtcase defaultprint*,"wrong number of integrating points for a triangle" end selectg点)高斯积分云賦荷存枳分时取样点IOrder nLocation ELocationWeight w110.00.04.0411/丿31/丿31.021/丿31/丿31.031/丿31