92 answer.
at(1, 1) = halfMass;
93 answer.
at(2, 2) = halfMass;
131 answer.
at(1, 1) = n.
at(1);
132 answer.
at(1, 2) = n.
at(2);
177 int &localNodeId,
int &localElemId,
int &localBcId,
187 for (
int inode = 0; inode < nodes; inode++ ) {
189 if ( corner [ inode ].giveSize() != 3 ) {
191 cor [ inode ].
at(1) = corner [ inode ].
at(1);
192 cor [ inode ].
at(2) = 0.0;
193 cor [ inode ].
at(3) = 0.0;
195 corner [ inode ] = cor [ inode ];
198 x += corner [ inode ].
at(1);
203 midNode.
at(1) = x / nodes;
209 sMode, tStep, nodes, corner, midNode,
210 localNodeId, localElemId, localBcId,
211 controlNode, controlDof, aMode,
"Truss1d");
227 if ( !
gc.testElementGraphicActivity(
this) ) {
232 EASValsSetColor(
gc.getElementColor() );
240 go = CreateLine3D(p);
241 EGWithMaskChangeAttributes(WIDTH_MASK | COLOR_MASK | LAYER_MASK, go);
242 EGAttachObject(go, ( EObjectP )
this);
243 EMAddGraphicsToModel(ESIModel(), go);
250 double defScale =
gc.getDefScale();
253 if ( !
gc.testElementGraphicActivity(
this) ) {
258 EASValsSetColor(
gc.getDeformedElementColor() );
267 go = CreateLine3D(p);
268 EGWithMaskChangeAttributes(WIDTH_MASK | COLOR_MASK | LAYER_MASK, go);
269 EMAddGraphicsToModel(ESIModel(), go);
275 int i, indx, result = 0;
279 double s[ 2 ], defScale;
281 if ( !
gc.testElementGraphicActivity(
this) ) {
299 indx =
gc.giveIntVarIndx();
301 s [ 0 ] = v1.
at(indx);
302 s [ 1 ] = v2.
at(indx);
307 for ( i = 0; i < 2; i++ ) {
308 if (
gc.getInternalVarsDefGeoFlag() ) {
310 defScale =
gc.getDefScale();
322 tr = CreateLine3D(p);
323 EGWithMaskChangeAttributes(LAYER_MASK, tr);
324 EMAddGraphicsToModel(ESIModel(), tr);
326 double landScale =
gc.getLandScale();
328 for ( i = 0; i < 2; i++ ) {
329 if (
gc.getInternalVarsDefGeoFlag() ) {
331 defScale =
gc.getDefScale();
334 p [ i ].z = s [ i ] * landScale;
338 p [ i ].z = s [ i ] * landScale;
350 pp [ 0 ].x = p [ 0 ].x;
353 pp [ 1 ].x = p [ 0 ].x;
355 pp [ 1 ].z = p [ 0 ].z;
356 pp [ 2 ].x = p [ 1 ].x;
358 pp [ 2 ].z = p [ 1 ].z;
359 pp [ 3 ].x = p [ 1 ].x;
362 tr = CreateQuad3D(pp);
364 EASValsSetColor(
gc.getDeformedElementColor() );
366 EASValsSetFillStyle(FILL_HOLLOW);
367 EGWithMaskChangeAttributes(WIDTH_MASK | FILL_MASK | COLOR_MASK | LAYER_MASK, tr);
368 EMAddGraphicsToModel(ESIModel(), tr);
371 EASValsSetColor(
gc.getDeformedElementColor() );
372 tr = CreateLine3D(p);
373 EGWithMaskChangeAttributes(WIDTH_MASK | COLOR_MASK | LAYER_MASK, tr);
374 EMAddGraphicsToModel(ESIModel(), tr);
#define REGISTER_Element(class)
virtual double give(CrossSectionProperty a, GaussPoint *gp) const
virtual int setupIntegrationPoints(IntegrationRule &irule, int npoints, Element *element)
double giveCoordinate(int i) const
const FloatArray & giveCoordinates() const
Node * giveNode(int i) const
int numberOfDofMans
Number of dofmanagers.
std::vector< std ::unique_ptr< IntegrationRule > > integrationRulesArray
CrossSection * giveCrossSection()
virtual double computeLength()
void resize(Index rows, Index cols)
void beTranspositionOf(const FloatMatrix &src)
void zero()
Zeroes all coefficient of receiver.
double at(std::size_t i, std::size_t j) const
const FloatArray & giveNaturalCoordinates() const
Returns coordinate array of receiver.
const FloatArray & giveSubPatchCoordinates() const
Returns local sub-patch coordinates of the receiver.
double giveWeight()
Returns integration weight of receiver.
SetupMode
Mode for problem setup.
void setupRefinedElementProblem1D(Element *element, RefinedElement *refinedElement, int level, int nodeId, IntArray &localNodeIdArray, IntArray &globalNodeIdArray, HuertaErrorEstimatorInterface ::SetupMode mode, TimeStep *tStep, int nodes, FloatArray *corner, FloatArray &midNode, int &localNodeId, int &localElemId, int &localBcId, IntArray &controlNode, IntArray &controlDof, HuertaErrorEstimator ::AnalysisMode aMode, const char *edgetype)
HuertaErrorEstimatorInterface()
Constructor.
AnalysisMode
Mode of analysis.
NLStructuralElement(int n, Domain *d)
NodalAveragingRecoveryModelInterface()
Constructor.
virtual double giveUpdatedCoordinate(int ic, TimeStep *tStep, double scale=1.)
SpatialLocalizerInterface(Element *element)
virtual FloatMatrixF< 1, 1 > giveStiffnessMatrix_dPdF_1d(MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const =0
virtual FloatArrayF< 1 > giveRealStress_1d(const FloatArrayF< 1 > &reducedStrain, GaussPoint *gp, TimeStep *tStep) const =0
virtual FloatMatrixF< 1, 1 > giveStiffnessMatrix_1d(MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const =0
StructuralCrossSection * giveStructuralCrossSection()
Helper function which returns the structural cross-section for the element.
int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override
int giveInternalStateAtNode(FloatArray &answer, InternalStateType type, InternalStateMode mode, int node, TimeStep *tStep) override
void drawDeformedGeometry(oofegGraphicContext &gc, TimeStep *tStep, UnknownType) override
void computeGaussPoints() override
void computeLumpedMassMatrix(FloatMatrix &answer, TimeStep *tStep) override
Truss1d(int n, Domain *d)
void HuertaErrorEstimatorI_setupRefinedElementProblem(RefinedElement *refinedElement, int level, int nodeId, IntArray &localNodeIdArray, IntArray &globalNodeIdArray, HuertaErrorEstimatorInterface::SetupMode sMode, TimeStep *tStep, int &localNodeId, int &localElemId, int &localBcId, IntArray &controlNode, IntArray &controlDof, HuertaErrorEstimator::AnalysisMode aMode) override
void NodalAveragingRecoveryMI_computeNodalValue(FloatArray &answer, int node, InternalStateType type, TimeStep *tStep) override
void computeBHmatrixAt(GaussPoint *gp, FloatMatrix &answer) override
void giveDofManDofIDMask(int inode, IntArray &) const override
void drawRawGeometry(oofegGraphicContext &gc, TimeStep *tStep) override
void computeNmatrixAt(const FloatArray &iLocCoord, FloatMatrix &answer) override
void computeConstitutiveMatrix_dPdF_At(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep) override
FEInterpolation * giveInterpolation() const override
double computeVolumeAround(GaussPoint *gp) override
void computeConstitutiveMatrixAt(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep) override
Interface * giveInterface(InterfaceType it) override
void computeStressVector(FloatArray &answer, const FloatArray &strain, GaussPoint *gp, TimeStep *tStep) override
void HuertaErrorEstimatorI_computeNmatrixAt(GaussPoint *gp, FloatMatrix &answer) override
void computeBmatrixAt(GaussPoint *gp, FloatMatrix &answer, int=1, int=ALL_STRAINS) override
void drawScalar(oofegGraphicContext &gc, TimeStep *tStep) override
ZZErrorEstimatorInterface(Element *element)
Constructor.
ZZNodalRecoveryModelInterface(Element *element)
Constructor.
@ HuertaErrorEstimatorInterfaceType
@ ZZNodalRecoveryModelInterfaceType
@ ZZErrorEstimatorInterfaceType
@ SpatialLocalizerInterfaceType
@ NodalAveragingRecoveryModelInterfaceType
oofem::oofegGraphicContext gc[OOFEG_LAST_LAYER]
#define OOFEG_VARPLOT_PATTERN_LAYER
#define OOFEG_DEFORMED_GEOMETRY_LAYER
#define OOFEG_DEFORMED_GEOMETRY_WIDTH
#define OOFEG_RAW_GEOMETRY_WIDTH
#define OOFEG_RAW_GEOMETRY_LAYER