76 answer.
at(1, 1) = answer.
at(2, 2) = -
N.at(1);
77 answer.
at(1, 3) = answer.
at(2, 4) = -
N.at(2);
79 answer.
at(1, 5) = answer.
at(2, 6) =
N.at(1);
80 answer.
at(1, 7) = answer.
at(2, 8) =
N.at(2);
85IntElLine1PhF :: computeGaussPoints()
104 double X1_i = 0.5 * ( this->
giveNode(i)->giveCoordinate(1) + this->
giveNode(i + numNodes / 2)->giveCoordinate(1) );
105 double X2_i = 0.5 * ( this->
giveNode(i)->giveCoordinate(2) + this->
giveNode(i + numNodes / 2)->giveCoordinate(2) );
106 G.
at(1) += dNdxi.
at(i, 1) * X1_i;
107 G.
at(2) += dNdxi.
at(i, 1) * X2_i;
119 double ds =
norm(G) * weight;
126 for (
int i = 1; i <=
N.giveSize(); i++ ) {
127 double X_i = 0.5 * ( this->
giveNode(i)->giveCoordinate(1) + this->
giveNode(i + numNodes / 2)->giveCoordinate(1) );
133 return ds * thickness;
141 StructuralInterfaceElement :: initializeFrom(ir, priority);
148IntElLine1PhF :: giveDofManDofIDMask(
int inode,
IntArray &answer)
const
150 answer = {D_u, D_v, T_f};
161 answer.
at(1, 1) = G.at(1);
162 answer.
at(2, 1) = -G.at(2);
163 answer.
at(1, 2) = G.at(2);
164 answer.
at(2, 2) = G.at(1);
169IntElLine1PhF :: giveInterpolation()
const
176IntElLine1PhF :: giveDofManDofIDMask_u(
IntArray &answer)
182IntElLine1PhF :: giveDofManDofIDMask_d(
IntArray &answer)
189IntElLine1PhF :: getLocationArray_u(
IntArray &answer )
191 answer = {1, 2, 4, 5, 7, 8, 10, 11};
194IntElLine1PhF :: getLocationArray_d(
IntArray &answer )
196 answer = {3, 6, 9, 12};
218 G.
at(1, 1) = G1.at(1);
219 G.
at(2, 1) = G1.at(2);
#define REGISTER_Element(class)
Node * giveNode(int i) const
virtual int giveNumberOfNodes() const
int numberOfDofMans
Number of dofmanagers.
std::vector< std ::unique_ptr< IntegrationRule > > integrationRulesArray
CrossSection * giveCrossSection()
Domain * giveDomain() const
int number
Component number.
double & at(std::size_t i)
void resize(Index rows, Index cols)
void zero()
Zeroes all coefficient of receiver.
int giveNumberOfRows() const
Returns number of rows of receiver.
double at(std::size_t i, std::size_t j) const
const FloatArray & giveNaturalCoordinates() const
Returns coordinate array of receiver.
double giveWeight()
Returns integration weight of receiver.
static FEI2dLineLin interp
static ParamKey IPK_IntElLine1PhF_axisymmode
FloatArrayF< 2 > computeCovarBaseVectorAt(GaussPoint *gp) const
FEInterpolation * giveInterpolation() const override
void computeCovarBaseVectorsAt(GaussPoint *gp, FloatMatrix &G) override
bool axisymmode
Flag controlling axisymmetric mode (integration over unit circumferential angle).
StructuralInterfaceElementPhF(int n, Domain *d)
StructuralInterfaceCrossSection * giveInterfaceCrossSection()
virtual FloatArrayF< 2 > giveEngTraction_2d(const FloatArrayF< 2 > &jump, double damage, GaussPoint *gp, TimeStep *tStep) const
double norm(const FloatArray &x)
GaussPoint IntegrationPoint
#define PM_UPDATE_PARAMETER(_val, _pm, _ir, _componentnum, _paramkey, _prio)