MCPcopy Create free account
hub / github.com/OpenSees/OpenSees / getNd1

Method getNd1

SRC/element/mixedBeamColumn/MixedBeamColumn3d.cpp:1859–1896  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1857}
1858
1859Matrix MixedBeamColumn3d::getNd1(int sec, const Vector &v, double L, bool geomLinear) {
1860 double xi[MAX_NUM_SECTIONS];
1861 beamIntegr->getSectionLocations(numSections, L, xi);
1862
1863 double x = L*xi[sec];
1864
1865 Matrix Nd1(NDM_SECTION,NDM_NATURAL);
1866 Nd1.Zero();
1867
1868 if (geomLinear) {
1869
1870 Nd1(0,0) = 1.0;
1871 Nd1(1,1) = -x/L + 1.0;
1872 Nd1(1,3) = x/L;
1873 Nd1(2,2) = -x/L + 1.0;
1874 Nd1(2,4) = x/L;
1875
1876 } else {
1877
1878 double A,B;
1879
1880 A = L * ( x/L - 2*pow(x/L,2) + pow(x/L,3) ) * v[1]
1881 + L * ( -pow(x/L,2) + pow(x/L,3) ) * v[3];
1882
1883 B = L * ( x/L - 2*pow(x/L,2) + pow(x/L,3) ) * v[2]
1884 + L * ( -pow(x/L,2) + pow(x/L,3) ) * v[4];
1885
1886 Nd1(0,0) = 1.0;
1887 Nd1(1,0) = A;
1888 Nd1(1,1) = -x/L + 1.0;
1889 Nd1(1,3) = x/L;
1890 Nd1(2,0) = B;
1891 Nd1(2,2) = -x/L + 1.0;
1892 Nd1(2,4) = x/L;
1893 }
1894
1895 return Nd1;
1896}
1897
1898void MixedBeamColumn3d::getSectionTangent(int sec,int type,Matrix &kSection,
1899 double &GJ) {

Callers 2

revertToStartMethod · 0.95
updateMethod · 0.95

Calls 2

getSectionLocationsMethod · 0.45
ZeroMethod · 0.45

Tested by

no test coverage detected