57IntElLine2IntPen :: initializeFrom(
InputRecord &ir,
int priority)
59 StructuralInterfaceElement :: initializeFrom(ir, priority);
82 double X1_i = 0.5 * ( this->
giveNode(i)->giveCoordinate(1) + this->
giveNode(i + numNodes / 2)->giveCoordinate(1) );
83 double X2_i = 0.5 * ( this->
giveNode(i)->giveCoordinate(2) + this->
giveNode(i + numNodes / 2)->giveCoordinate(2) );
84 G.
at(1) += dNdxi.
at(i, 1) * X1_i;
85 G.
at(2) += dNdxi.
at(i, 1) * X2_i;
91IntElLine2IntPen :: computeStiffnessMatrix(
FloatMatrix &answer, MatResponseMode rMode,
TimeStep *tStep)
95 bool matStiffSymmFlag = this->
giveCrossSection()->isCharacteristicMtrxSymmetric(rMode);
141 proj_N.
times(1./area);
142 proj_DN.
times(1./area);
163 if ( matStiffSymmFlag ) {
171 if ( matStiffSymmFlag ) {
178IntElLine2IntPen :: giveInternalForcesVector(
FloatArray &answer,
179 TimeStep *tStep,
int useUpdatedGpRecord)
229 proj_jump.
add(dA, jump);
234 proj_jump.
times(1./area);
235 proj_N.
times(1./area);
#define REGISTER_Element(class)
Node * giveNode(int i) const
virtual int giveNumberOfNodes() const
int numberOfDofMans
Number of dofmanagers.
void computeVectorOf(ValueModeType u, TimeStep *tStep, FloatArray &answer)
CrossSection * giveCrossSection()
virtual IntegrationRule * giveDefaultIntegrationRulePtr()
Domain * giveDomain() const
int number
Component number.
double & at(std::size_t i)
void plusProduct(const FloatMatrix &b, const FloatArray &s, double dV)
void beProductOf(const FloatMatrix &aMatrix, const FloatArray &anArray)
void add(const FloatArray &src)
void subtract(const FloatArray &src)
void rotatedWith(const FloatMatrix &r, char mode='n')
void plusProductSymmUpper(const FloatMatrix &a, const FloatMatrix &b, double dV)
void add(const FloatMatrix &a)
*Sets size of receiver to be an empty matrix It will have zero rows and zero columns size void clear()
void plusProductUnsym(const FloatMatrix &a, const FloatMatrix &b, double dV)
void beProductOf(const FloatMatrix &a, const FloatMatrix &b)
int giveNumberOfRows() const
Returns number of rows of receiver.
double at(std::size_t i, std::size_t j) const
double computeAreaAround(GaussPoint *gp) override
static ParamKey IPK_IntElLine1_axisymmode
void giveStiffnessMatrix_Eng(FloatMatrix &answer, MatResponseMode rMode, IntegrationPoint *ip, TimeStep *tStep) override
void computeTransformationMatrixAt(GaussPoint *gp, FloatMatrix &answer) override
bool axisymmode
Flag controlling axisymmetric mode (integration over unit circumferential angle).
IntElLine2IntPen(int n, Domain *d)
IntElLine2(int n, Domain *d)
void computeNmatrixAt(GaussPoint *gp, FloatMatrix &answer) override
static FEI2dLineQuad interp
FEInterpolation * giveInterpolation() const override
FloatArray initialDisplacements
Initial displacement vector, describes the initial nodal displacements when element has been casted.
bool nlGeometry
Flag indicating if geometrical nonlinearities apply.
virtual void giveStiffnessMatrix_dTdj(FloatMatrix &answer, MatResponseMode rMode, IntegrationPoint *ip, TimeStep *tStep)
virtual void computeTraction(FloatArray &traction, IntegrationPoint *ip, const FloatArray &jump, TimeStep *tStep)
GaussPoint IntegrationPoint
#define PM_UPDATE_PARAMETER(_val, _pm, _ir, _componentnum, _paramkey, _prio)