Skip to content

Commit

Permalink
Merge pull request OpenSees#1549 from mhscott/lobatto-16-digits
Browse files Browse the repository at this point in the history
Using 16 sig figs for Lobatto and Radau locations and weights
  • Loading branch information
fmckenna authored Nov 22, 2024
2 parents 4446997 + 8f92d32 commit 6c462e7
Show file tree
Hide file tree
Showing 2 changed files with 262 additions and 262 deletions.
262 changes: 131 additions & 131 deletions SRC/element/forceBeamColumn/LobattoBeamIntegration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -111,87 +111,87 @@ LobattoBeamIntegration::getSectionLocations(int numSections,
double *xi)
{
switch(numSections) {

case 2:
xi[0] = -1.0;
xi[1] = 1.0;
xi[0] = -1.00000000000000e+00;
xi[1] = 1.00000000000000e+00;
break;

case 3:
xi[0] = -1.0;
xi[1] = 0.0;
xi[2] = 1.0;
xi[0] = -1.00000000000000e+00;
xi[1] = 0.0;
xi[2] = 1.00000000000000e+00;
break;

case 4:
xi[0] = -1.0;
xi[1] = -0.44721360;
xi[2] = 0.44721360;
xi[3] = 1.0;
xi[0] = -1.00000000000000e+00;
xi[1] = -4.47213595499958e-01;
xi[2] = 4.47213595499958e-01;
xi[3] = 1.00000000000000e+00;
break;

case 5:
xi[0] = -1.0;
xi[1] = -0.65465367;
xi[2] = 0.0;
xi[3] = 0.65465367;
xi[4] = 1.0;
xi[0] = -1.00000000000000e+00;
xi[1] = -6.54653670707977e-01;
xi[2] = 0.0;
xi[3] = 6.54653670707977e-01;
xi[4] = 1.00000000000000e+00;
break;

case 6:
xi[0] = -1.0;
xi[1] = -0.7650553239;
xi[2] = -0.2852315164;
xi[3] = 0.2852315164;
xi[4] = 0.7650553239;
xi[5] = 1.0;
xi[0] = -1.00000000000000e+00;
xi[1] = -7.65055323929465e-01;
xi[2] = -2.85231516480645e-01;
xi[3] = 2.85231516480645e-01;
xi[4] = 7.65055323929465e-01;
xi[5] = 1.00000000000000e+00;
break;

case 7:
xi[0] = -1.0;
xi[1] = -0.8302238962;
xi[2] = -0.4688487934;
xi[3] = 0.0;
xi[4] = 0.4688487934;
xi[5] = 0.8302238962;
xi[6] = 1.0;
xi[0] = -1.00000000000000e+00;
xi[1] = -8.30223896278567e-01;
xi[2] = -4.68848793470714e-01;
xi[3] = 0.0;
xi[4] = 4.68848793470714e-01;
xi[5] = 8.30223896278567e-01;
xi[6] = 1.00000000000000e+00;
break;

case 8:
xi[0] = -1.0;
xi[1] = -0.8717401485;
xi[2] = -0.5917001814;
xi[3] = -0.2092992179;
xi[4] = 0.2092992179;
xi[5] = 0.5917001814;
xi[6] = 0.8717401485;
xi[7] = 1.0;
xi[0] = -1.00000000000000e+00;
xi[1] = -8.71740148509606e-01;
xi[2] = -5.91700181433143e-01;
xi[3] = -2.09299217902479e-01;
xi[4] = 2.09299217902479e-01;
xi[5] = 5.91700181433143e-01;
xi[6] = 8.71740148509607e-01;
xi[7] = 1.00000000000000e+00;
break;

case 9:
xi[0] = -1.0;
xi[1] = -0.8997579954;
xi[2] = -0.6771862795;
xi[3] = -0.3631174638;
xi[4] = 0.0;
xi[5] = 0.3631174638;
xi[6] = 0.6771862795;
xi[7] = 0.8997579954;
xi[8] = 1.0;
xi[0] = -1.00000000000000e+00;
xi[1] = -8.99757995411461e-01;
xi[2] = -6.77186279510738e-01;
xi[3] = -3.63117463826178e-01;
xi[4] = 0.0;
xi[5] = 3.63117463826178e-01;
xi[6] = 6.77186279510738e-01;
xi[7] = 8.99757995411461e-01;
xi[8] = 1.00000000000000e+00;
break;

case 10:
xi[0] = -1.0;
xi[1] = -0.9195339082;
xi[2] = -0.7387738651;
xi[3] = -0.4779249498;
xi[4] = -0.1652789577;
xi[5] = 0.1652789577;
xi[6] = 0.4779249498;
xi[7] = 0.7387738651;
xi[8] = 0.9195339082;
xi[9] = 1.0;
break;
xi[0] = -1.00000000000000e+00;
xi[1] = -9.19533908166459e-01;
xi[2] = -7.38773865105505e-01;
xi[3] = -4.77924949810445e-01;
xi[4] = -1.65278957666387e-01;
xi[5] = 1.65278957666387e-01;
xi[6] = 4.77924949810445e-01;
xi[7] = 7.38773865105505e-01;
xi[8] = 9.19533908166459e-01;
xi[9] = 1.00000000000000e+00;
break;

default:
opserr << "LobattoBeamIntegration -- max # integration points is 10\n";
Expand All @@ -210,86 +210,86 @@ LobattoBeamIntegration::getSectionWeights(int numSections, double L,
switch (numSections) {

case 2:
wt[0] = 1.0;
wt[1] = 1.0;
break;
wt[0] = 1.00000000000000e+00;
wt[1] = 1.00000000000000e+00;
break; // sum = 2.00000000000000e+00

case 3:
wt[0] = 0.333333333333333;
wt[1] = 1.333333333333333;
wt[2] = 0.333333333333333;
break;
wt[0] = 3.33333333333333e-01;
wt[1] = 1.33333333333333e+00;
wt[2] = 3.33333333333334e-01;
break; // sum = 2.00000000000000e+00

case 4:
wt[0] = 0.166666666666667;
wt[1] = 0.833333333333333;
wt[2] = 0.833333333333333;
wt[3] = 0.166666666666667;
break;
case 4:
wt[0] = 1.66666666666667e-01;
wt[1] = 8.33333333333333e-01;
wt[2] = 8.33333333333334e-01;
wt[3] = 1.66666666666666e-01;
break; // sum = 2.00000000000000e+00

case 5:
wt[0] = 0.1;
wt[1] = 0.5444444444;
wt[2] = 0.7111111111;
wt[3] = 0.5444444444;
wt[4] = 0.1;
break;
wt[0] = 1.00000000000000e-01;
wt[1] = 5.44444444444445e-01;
wt[2] = 7.11111111111111e-01;
wt[3] = 5.44444444444444e-01;
wt[4] = 1.00000000000000e-01;
break; // sum = 2.00000000000000e+00

case 6:
wt[0] = 0.06666666667;
wt[1] = 0.3784749562;
wt[2] = 0.5548583770;
wt[3] = 0.5548583770;
wt[4] = 0.3784749562;
wt[5] = 0.06666666667;
break;
case 6:
wt[0] = 6.66666666666666e-02;
wt[1] = 3.78474956297848e-01;
wt[2] = 5.54858377035486e-01;
wt[3] = 5.54858377035487e-01;
wt[4] = 3.78474956297848e-01;
wt[5] = 6.66666666666668e-02;
break; // sum = 2.00000000000000e+00

case 7:
wt[0] = 4.76190476190473e-02;
wt[1] = 2.76826047361566e-01;
wt[2] = 4.31745381209863e-01;
wt[3] = 4.87619047619048e-01;
wt[4] = 4.31745381209863e-01;
wt[5] = 2.76826047361567e-01;
wt[6] = 4.76190476190480e-02;
break; // sum = 2.00000000000000e+00

case 8:
wt[0] = 3.57142857142856e-02;
wt[1] = 2.10704227143506e-01;
wt[2] = 3.41122692483505e-01;
wt[3] = 4.12458794658704e-01;
wt[4] = 4.12458794658703e-01;
wt[5] = 3.41122692483505e-01;
wt[6] = 2.10704227143506e-01;
wt[7] = 3.57142857142862e-02;
break; // sum = 2.00000000000000e+00

case 9:
wt[0] = 2.77777777777778e-02;
wt[1] = 1.65495361560806e-01;
wt[2] = 2.74538712500162e-01;
wt[3] = 3.46428510973046e-01;
wt[4] = 3.71519274376417e-01;
wt[5] = 3.46428510973047e-01;
wt[6] = 2.74538712500161e-01;
wt[7] = 1.65495361560806e-01;
wt[8] = 2.77777777777781e-02;
break; // sum = 2.00000000000000e+00

case 10:
wt[0] = 2.22222222222225e-02;
wt[1] = 1.33305990851070e-01;
wt[2] = 2.24889342063126e-01;
wt[3] = 2.92042683679684e-01;
wt[4] = 3.27539761183898e-01;
wt[5] = 3.27539761183897e-01;
wt[6] = 2.92042683679685e-01;
wt[7] = 2.24889342063126e-01;
wt[8] = 1.33305990851070e-01;
wt[9] = 2.22222222222225e-02;
break; // sum = 2.00000000000000e+00

case 7:
wt[0] = 0.04761904762;
wt[1] = 0.2768260473;
wt[2] = 0.4317453812;
wt[3] = 0.4876190476;
wt[4] = 0.4317453812;
wt[5] = 0.2768260473;
wt[6] = 0.04761904762;
break;

case 8:
wt[0] = 0.03571428571;
wt[1] = 0.2107042271;
wt[2] = 0.3411226924;
wt[3] = 0.4124587946;
wt[4] = 0.4124587946;
wt[5] = 0.3411226924;
wt[6] = 0.2107042271;
wt[7] = 0.03571428571;
break;

case 9:
wt[0] = 0.02777777778;
wt[1] = 0.1654953615;
wt[2] = 0.2745387125;
wt[3] = 0.3464285109;
wt[4] = 0.3715192743;
wt[5] = 0.3464285109;
wt[6] = 0.2745387125;
wt[7] = 0.1654953615;
wt[8] = 0.02777777778;
break;

case 10:
wt[0] = 0.02222222222;
wt[1] = 0.1333059908;
wt[2] = 0.2248893421;
wt[3] = 0.2920426836;
wt[4] = 0.3275397611;
wt[5] = 0.3275397611;
wt[6] = 0.2920426836;
wt[7] = 0.2248893421;
wt[8] = 0.1333059908;
wt[9] = 0.02222222222;
break;

default:
opserr << "LobattoBeamIntegration -- max # integration points is 10\n";
break;
Expand Down
Loading

0 comments on commit 6c462e7

Please sign in to comment.