#include <integrationrule.h>


Public Member Functions | |
| IntegrationRule (int n, Element *e, int startIndx, int endIndx, bool dynamic) | |
| Constructor. | |
| IntegrationRule (int n, Element *e) | |
| virtual | ~IntegrationRule () |
| Destructor. | |
| int | getNumberOfIntegrationPoints () |
| Returns number of integration points of receiver. | |
| GaussPoint * | getIntegrationPoint (int n) |
| Access particular integration point of receiver. | |
| int | getStartIndexOfLocalStrainWhereApply () |
| Returns starting component index, for which receiver applies. | |
| int | getEndIndexOfLocalStrainWhereApply () |
| Returns last component index, for which receiver applies. | |
| int | setUpIntegrationPoints (integrationDomain mode, int nPoints, MaterialMode matMode) |
| Initializes the receiver. | |
| int | setUpEmbeddedIntegrationPoints (integrationDomain mode, int nPoints, MaterialMode matMode, const FloatArray **coords) |
| Initializes the receiver. | |
| virtual void | printOutputAt (FILE *file, TimeStep *stepN) |
| Prints receiver's output to given stream. | |
| void | updateYourself (TimeStep *tStep) |
| Updates receiver state. | |
| void | initForNewStep () |
| Initializes receiver. | |
| Element * | giveElement () |
| Returns reference to element containing receiver. | |
| Geometry * | giveGeometry (GaussPoint *gp) |
| Returns reference to geometry asscoiated with GaussPoint. | |
| FEInterpolation * | giveInterpolation (GaussPoint *gp) |
| Returns reference to interpolation asscoiated with GaussPoint. | |
| int | giveNumber () |
| Returns the receiver number. | |
| virtual int | getRequiredNumberOfIntegrationPoints (integrationDomain dType, int approxOrder) |
| Abstract service. | |
| virtual contextIOResultType | saveContext (DataStream *stream, ContextMode mode, void *obj) |
| Saves receiver's context to stream. | |
| virtual contextIOResultType | restoreContext (DataStream *stream, ContextMode mode, void *obj) |
| Restores receiver's context to stream. | |
| void | clear () |
| Clears the receiver, ie dealocates all integration points. | |
| virtual classType | giveClassID () const |
| Returns classType id of receiver. | |
| virtual const char * | giveClassName () const |
| Returns class name of the receiver. | |
| virtual IRResultType | initializeFrom (InputRecord *ir) |
Protected Member Functions | |
| virtual int | SetUpPointsOnLine (int, MaterialMode, GaussPoint ***) |
| Sets up receiver's integration points on unit line integration domain. | |
| virtual int | SetUpPointsOnTriagle (int, MaterialMode, GaussPoint ***) |
| Sets up receiver's integration points on triangular (area coords) integration domain. | |
| virtual int | SetUpPointsOnSquare (int, MaterialMode, GaussPoint ***) |
| Sets up receiver's integration points on unit square integration domain. | |
| virtual int | SetUpPointsOnCube (int, MaterialMode, GaussPoint ***) |
| Sets up receiver's integration points on unit cube integration domain. | |
| virtual int | SetUpPointsOnTetrahedra (int, MaterialMode, GaussPoint ***) |
| Sets up receiver's integration points on tetrahedra (volume coords) integration domain. | |
| virtual int | SetUpPointsOn2DEmbeddedLine (int nPoints, MaterialMode mode, GaussPoint ***, const FloatArray **coords) |
| Sets up integration points on 2D embedded line inside 2D volume (the list of local coordinates should be provided). | |
Protected Attributes | |
| int | number |
| number | |
| Element * | elem |
| GaussPoint ** | gaussPointArray |
| Array containing integration points. | |
| int | numberOfIntegrationPoints |
| Number of integration point of receiver. | |
| int | firstLocalStrainIndx |
| firstLocalStrainIndx and lastLocalStrainIndx indexes describe range of components (strains for example) for which receiver integration points apply. | |
| int | lastLocalStrainIndx |
| bool | isDynamic |
| flag indicating that rule is dynamic, ie, its gauss points (their number, coordinates, weights) can change during computation. | |
The integration rule is a collection of integration points used to numerically integrate some formula. The number of integration points and their coordinates and integration weights depends on integration rule type (rule for integration in 1d, 2d, 3d) and required acurracy. General services for inicialization are declared. Services for integration point retrieval are provided.
In general, finite elements can have multiple integration rules, for diferrent tasks or when some components are integrated using reduced or selective integration. Therefore, first and last index variables are introduced to characterize components for which given integration rule applies.
The integration rule is a rather passive object. It does not perform numerical integration - it just provide way how to set up correct integration points and weights.
Because integration points contain related history parameters (using matarial status), the unique copy of integration rule must exist on each element. The integration rule is exclusively possessed by particular finite element.
Definition at line 77 of file integrationrule.h.
Constructor.
| n | number associated with receiver | |
| domain | reference to domain. | |
| startIndx | first component, for which rule applies | |
| endIndx | last component, for which rule applies | |
| dynamic | flag indicating that receiver can change |
Definition at line 49 of file integrationrule.C.
References elem, firstLocalStrainIndx, gaussPointArray, isDynamic, lastLocalStrainIndx, number, and numberOfIntegrationPoints.
| IntegrationRule::IntegrationRule | ( | int | n, | |
| Element * | e | |||
| ) |
Definition at line 60 of file integrationrule.C.
References elem, firstLocalStrainIndx, gaussPointArray, isDynamic, lastLocalStrainIndx, number, and numberOfIntegrationPoints.
| IntegrationRule::~IntegrationRule | ( | ) | [virtual] |
| int IntegrationRule::getNumberOfIntegrationPoints | ( | ) | [inline] |
Returns number of integration points of receiver.
Definition at line 148 of file integrationrule.h.
References numberOfIntegrationPoints.
Referenced by MMALeastSquareProjection::__init(), MMAContainingElementProjection::__init(), Element::adaptiveFinish(), Element::adaptiveMap(), StructuralElement::adaptiveUpdate(), StructuralElement::addNonlocalStiffnessContributions(), NonlocalMaterialExtensionInterface::buildNonlocalPointTable(), TR1_2D_SUPG_AXI::computeAccelerationTerm_MB(), TR1_2D_SUPG2_AXI::computeAccelerationTerm_MB(), TR1_2D_SUPG2::computeAccelerationTerm_MB(), SUPGElement2::computeAccelerationTerm_MB(), TR1_2D_SUPG_AXI::computeAccelerationTerm_MC(), TR1_2D_SUPG2_AXI::computeAccelerationTerm_MC(), SUPGElement2::computeAccelerationTerm_MC(), TR1_2D_SUPG_AXI::computeAdvectionDerivativeTerm_MB(), TR1_2D_SUPG2_AXI::computeAdvectionDerivativeTerm_MB(), TR1_2D_SUPG2::computeAdvectionDerivativeTerm_MB(), SUPGElement2::computeAdvectionDerivativeTerm_MB(), TR1_2D_SUPG_AXI::computeAdvectionDerivativeTerm_MC(), TR1_2D_SUPG2_AXI::computeAdvectionDerivativeTerm_MC(), SUPGElement2::computeAdvectionDerivativeTerm_MC(), TR1_2D_SUPG_AXI::computeAdvectionTerm_MB(), TR1_2D_SUPG2_AXI::computeAdvectionTerm_MB(), TR1_2D_SUPG2::computeAdvectionTerm_MB(), SUPGElement2::computeAdvectionTerm_MB(), TR1_2D_SUPG_AXI::computeAdvectionTerm_MC(), TR1_2D_SUPG2_AXI::computeAdvectionTerm_MC(), SUPGElement2::computeAdvectionTerm_MC(), TR1_2D_SUPG_AXI::computeBCRhsTerm_MB(), TR1_2D_SUPG2_AXI::computeBCRhsTerm_MB(), TR1_2D_SUPG2::computeBCRhsTerm_MB(), SUPGElement2::computeBCRhsTerm_MB(), TR1_2D_SUPG_AXI::computeBCRhsTerm_MC(), TR1_2D_SUPG2_AXI::computeBCRhsTerm_MC(), SUPGElement2::computeBCRhsTerm_MC(), TransportElement::computeBCSubMtrxAt(), StructuralElement::computeBodyLoadVectorAt(), TransportElement::computeCapacitySubMatrix(), TransportElement::computeConductivitySubMatrix(), StructuralElement::computeConsistentMassMatrix(), TR1_2D_SUPG_AXI::computeDiffusionDerivativeTerm_MB(), TR1_2D_SUPG2_AXI::computeDiffusionDerivativeTerm_MB(), TR1_2D_SUPG2::computeDiffusionDerivativeTerm_MB(), SUPGElement2::computeDiffusionDerivativeTerm_MB(), TR1_2D_SUPG_AXI::computeDiffusionDerivativeTerm_MC(), TR1_2D_SUPG2_AXI::computeDiffusionDerivativeTerm_MC(), TR1_2D_SUPG_AXI::computeDiffusionTerm_MB(), TR1_2D_SUPG2_AXI::computeDiffusionTerm_MB(), TR1_2D_SUPG2::computeDiffusionTerm_MB(), SUPGElement2::computeDiffusionTerm_MB(), TR1_2D_SUPG_AXI::computeDiffusionTerm_MC(), TR1_2D_SUPG2_AXI::computeDiffusionTerm_MC(), TransportElement::computeEdgeBCSubVectorAt(), StructuralElement::computeEdgeLoadVectorAt(), LIBeam2dNL::computeInitialStressMatrix(), TransportElement::computeInternalSourceRhsSubVectorAt(), TransportElement::computeIntSourceLHSSubMatrix(), TR1_2D_SUPG_AXI::computeLinearAdvectionTerm_MC(), TR1_2D_SUPG2_AXI::computeLinearAdvectionTerm_MC(), SUPGElement2::computeLinearAdvectionTerm_MC(), TR1_2D_SUPG_AXI::computeLSICStabilizationTerm_MB(), TR1_2D_SUPG2_AXI::computeLSICStabilizationTerm_MB(), TR1_2D_SUPG2::computeLSICStabilizationTerm_MB(), SUPGElement2::computeLSICStabilizationTerm_MB(), SPRNodalRecoveryModel::computePatch(), StructuralElement::computePrescribedStrainLocalLoadVectorAt(), TR1_2D_SUPG_AXI::computePressureTerm_MB(), TR1_2D_SUPG2_AXI::computePressureTerm_MB(), SUPGElement2::computePressureTerm_MB(), TR1_2D_SUPG_AXI::computePressureTerm_MC(), TR1_2D_SUPG2_AXI::computePressureTerm_MC(), TR1_2D_SUPG2::computePressureTerm_MC(), SUPGElement2::computePressureTerm_MC(), StructuralElement::computeStiffnessMatrix(), NLStructuralElement::computeStiffnessMatrix(), StructuralElement::computeStiffnessMatrix_withIRulesAsSubcells(), NLStructuralElement::computeStiffnessMatrix_withIRulesAsSubcells(), TransportElement::computeSurfaceBCSubVectorAt(), StructuralElement::computeSurfaceLoadVectorAt(), Quad1PlaneStrain::DirectErrorIndicatorRCI_giveCharacteristicSize(), QTrPlaneStress2d::DirectErrorIndicatorRCI_giveCharacteristicSize(), PlaneStress2d::DirectErrorIndicatorRCI_giveCharacteristicSize(), HOMExportModule::doOutput(), HuertaRemeshingCriteria::estimateMeshDensities(), Element::estimatePackSize(), DummySpatialLocalizer::giveAllElementsWithIpWithinBox(), LSpace::giveCharacteristicLenght(), OctreeSpatialLocalizer::giveClosestIP(), DummySpatialLocalizer::giveClosestIP(), OctreeSpatialLocalizer::giveClosestIPWithinOctant(), ScalarErrorIndicator::giveElementError(), OctreeSpatialLocalizer::giveElementsWithIPWithinBox(), StructuralElement::giveInternalForcesVector(), NLStructuralElement::giveInternalForcesVector(), StructuralElement::giveNonlocalLocationArray(), MicroMaterial::giveRealStressVector(), LSpace::HuertaRemeshingCriteriaI_giveCharacteristicSize(), OctreeSpatialLocalizer::initElementIPDataStructure(), Element::ipEvaluator(), PY1_3D_SUPG::LS_PCS_computeF(), PY1_3D_SUPG::LS_PCS_computeVolume(), LSpace::NodalAveragingRecoveryMI_computeNodalValue(), Element::packUnknowns(), Element::predictRelativeComputationalCost(), NonlocalMaterialExtensionInterface::rebuildNonlocalPointTable(), HuertaErrorEstimator::solveRefinedElementProblem(), Quad1PlaneStrain::SPRNodalRecoveryMI_giveNumberOfIP(), PlaneStress2d::SPRNodalRecoveryMI_giveNumberOfIP(), LTRSpace::SPRNodalRecoveryMI_giveNumberOfIP(), LSpace::SPRNodalRecoveryMI_giveNumberOfIP(), L4Axisymm::SPRNodalRecoveryMI_giveNumberOfIP(), Axisymm3d::SPRNodalRecoveryMI_giveNumberOfIP(), Element::unpackAndUpdateUnknowns(), StructuralElement::updateBeforeNonlocalAverage(), TR1_2D_SUPG2_AXI::updateIntegrationRules(), TR1_2D_SUPG2::updateIntegrationRules(), TransportElement::updateInternalState(), SUPGElement2::updateInternalState(), SUPGElement::updateInternalState(), StructuralElement::updateInternalState(), CBSElement::updateInternalState(), TR1_2D_SUPG2_AXI::updateStabilizationCoeffs(), TR1_2D_SUPG2::updateStabilizationCoeffs(), SUPGElement2::updateStabilizationCoeffs(), ZZErrorEstimatorInterface::ZZErrorEstimatorI_computeElementContributions(), ZZNodalRecoveryModelInterface::ZZNodalRecoveryMI_computeNNMatrix(), and ZZNodalRecoveryModelInterface::ZZNodalRecoveryMI_computeNValProduct().
| GaussPoint * IntegrationRule::getIntegrationPoint | ( | int | n | ) |
Access particular integration point of receiver.
| n | integration point number (should be in range 0,.., getNumberOfIntegrationPoints()-1). |
Definition at line 98 of file integrationrule.C.
References gaussPointArray, numberOfIntegrationPoints, and OOFEM_ERROR2.
Referenced by MMALeastSquareProjection::__init(), MMAContainingElementProjection::__init(), Element::adaptiveMap(), StructuralElement::adaptiveUpdate(), StructuralElement::addNonlocalStiffnessContributions(), NonlocalMaterialExtensionInterface::buildNonlocalPointTable(), TR1_2D_SUPG_AXI::computeAccelerationTerm_MB(), TR1_2D_SUPG2_AXI::computeAccelerationTerm_MB(), TR1_2D_SUPG2::computeAccelerationTerm_MB(), SUPGElement2::computeAccelerationTerm_MB(), TR1_2D_SUPG_AXI::computeAccelerationTerm_MC(), TR1_2D_SUPG2_AXI::computeAccelerationTerm_MC(), SUPGElement2::computeAccelerationTerm_MC(), TR1_2D_SUPG_AXI::computeAdvectionDerivativeTerm_MB(), TR1_2D_SUPG2_AXI::computeAdvectionDerivativeTerm_MB(), TR1_2D_SUPG2::computeAdvectionDerivativeTerm_MB(), SUPGElement2::computeAdvectionDerivativeTerm_MB(), TR1_2D_SUPG_AXI::computeAdvectionDerivativeTerm_MC(), TR1_2D_SUPG2_AXI::computeAdvectionDerivativeTerm_MC(), SUPGElement2::computeAdvectionDerivativeTerm_MC(), TR1_2D_SUPG_AXI::computeAdvectionTerm_MB(), TR1_2D_SUPG2_AXI::computeAdvectionTerm_MB(), TR1_2D_SUPG2::computeAdvectionTerm_MB(), SUPGElement2::computeAdvectionTerm_MB(), TR1_2D_SUPG_AXI::computeAdvectionTerm_MC(), TR1_2D_SUPG2_AXI::computeAdvectionTerm_MC(), SUPGElement2::computeAdvectionTerm_MC(), TR1_2D_SUPG_AXI::computeBCRhsTerm_MB(), TR1_2D_SUPG2_AXI::computeBCRhsTerm_MB(), TR1_2D_SUPG2::computeBCRhsTerm_MB(), SUPGElement2::computeBCRhsTerm_MB(), TR1_2D_SUPG_AXI::computeBCRhsTerm_MC(), TR1_2D_SUPG2_AXI::computeBCRhsTerm_MC(), SUPGElement2::computeBCRhsTerm_MC(), TransportElement::computeBCSubMtrxAt(), TrPlaneStrRot::computeBmatrixAt(), StructuralElement::computeBodyLoadVectorAt(), RerShell::computeBodyLoadVectorAt(), CCTPlate::computeBodyLoadVectorAt(), TransportElement::computeCapacitySubMatrix(), TransportElement::computeConductivitySubMatrix(), StructuralElement::computeConsistentMassMatrix(), Beam3d::computeConsistentMassMatrix(), Beam2d::computeConsistentMassMatrix(), TR1_2D_SUPG_AXI::computeDiffusionDerivativeTerm_MB(), TR1_2D_SUPG2_AXI::computeDiffusionDerivativeTerm_MB(), TR1_2D_SUPG2::computeDiffusionDerivativeTerm_MB(), SUPGElement2::computeDiffusionDerivativeTerm_MB(), TR1_2D_SUPG_AXI::computeDiffusionDerivativeTerm_MC(), TR1_2D_SUPG2_AXI::computeDiffusionDerivativeTerm_MC(), TR1_2D_SUPG_AXI::computeDiffusionTerm_MB(), TR1_2D_SUPG2_AXI::computeDiffusionTerm_MB(), TR1_2D_SUPG2::computeDiffusionTerm_MB(), SUPGElement2::computeDiffusionTerm_MB(), TR1_2D_SUPG_AXI::computeDiffusionTerm_MC(), TR1_2D_SUPG2_AXI::computeDiffusionTerm_MC(), TR1_2D_CBS::computeDiffusionTermsI(), TransportElement::computeEdgeBCSubVectorAt(), StructuralElement::computeEdgeLoadVectorAt(), LIBeam2dNL::computeInitialStressMatrix(), TransportElement::computeInternalSourceRhsSubVectorAt(), TransportElement::computeIntSourceLHSSubMatrix(), TR1_2D_SUPG_AXI::computeLinearAdvectionTerm_MC(), TR1_2D_SUPG2_AXI::computeLinearAdvectionTerm_MC(), SUPGElement2::computeLinearAdvectionTerm_MC(), TR1_2D_SUPG_AXI::computeLSICStabilizationTerm_MB(), TR1_2D_SUPG2_AXI::computeLSICStabilizationTerm_MB(), TR1_2D_SUPG2::computeLSICStabilizationTerm_MB(), SUPGElement2::computeLSICStabilizationTerm_MB(), Truss3d::computeLumpedMassMatrix(), Truss2d::computeLumpedMassMatrix(), Truss1d::computeLumpedMassMatrix(), RerShell::computeLumpedMassMatrix(), LTRSpace::computeLumpedMassMatrix(), LIBeam3dNL2::computeLumpedMassMatrix(), LIBeam3dNL::computeLumpedMassMatrix(), LIBeam3d2::computeLumpedMassMatrix(), LIBeam3d::computeLumpedMassMatrix(), LIBeam2dNL::computeLumpedMassMatrix(), LIBeam2d::computeLumpedMassMatrix(), CCTPlate::computeLumpedMassMatrix(), SPRNodalRecoveryModel::computePatch(), StructuralElement::computePrescribedStrainLocalLoadVectorAt(), TR1_2D_CBS::computePrescribedTractionPressure(), TR1_2D_SUPG_AXI::computePressureTerm_MB(), TR1_2D_SUPG2_AXI::computePressureTerm_MB(), SUPGElement2::computePressureTerm_MB(), TR1_2D_SUPG_AXI::computePressureTerm_MC(), TR1_2D_SUPG2_AXI::computePressureTerm_MC(), TR1_2D_SUPG2::computePressureTerm_MC(), SUPGElement2::computePressureTerm_MC(), StructuralElement::computeStiffnessMatrix(), NLStructuralElement::computeStiffnessMatrix(), LIBeam3dNL2::computeStiffnessMatrix(), LIBeam3dNL::computeStiffnessMatrix(), StructuralElement::computeStiffnessMatrix_withIRulesAsSubcells(), NLStructuralElement::computeStiffnessMatrix_withIRulesAsSubcells(), TrPlaneStrRot::computeStrainVector(), Q4Axisymm::computeStrainVector(), L4Axisymm::computeStrainVector(), Axisymm3d::computeStrainVector(), TransportElement::computeSurfaceBCSubVectorAt(), StructuralElement::computeSurfaceLoadVectorAt(), LIBeam3dNL2::computeTempCurv(), LIBeam3dNL::computeTempCurv(), Quad1PlaneStrain::DirectErrorIndicatorRCI_giveCharacteristicSize(), QTrPlaneStress2d::DirectErrorIndicatorRCI_giveCharacteristicSize(), PlaneStress2d::DirectErrorIndicatorRCI_giveCharacteristicSize(), HOMExportModule::doOutput(), HuertaRemeshingCriteria::estimateMeshDensities(), Element::estimatePackSize(), DummySpatialLocalizer::giveAllElementsWithIpWithinBox(), LSpace::giveCharacteristicLenght(), OctreeSpatialLocalizer::giveClosestIP(), DummySpatialLocalizer::giveClosestIP(), OctreeSpatialLocalizer::giveClosestIPWithinOctant(), ScalarErrorIndicator::giveElementError(), OctreeSpatialLocalizer::giveElementsWithIPWithinBox(), StructuralElement::giveInternalForcesVector(), NLStructuralElement::giveInternalForcesVector(), LIBeam3dNL2::giveInternalForcesVector(), LIBeam3dNL::giveInternalForcesVector(), StructuralElement::giveNonlocalLocationArray(), MicroMaterial::giveRealStressVector(), LSpace::HuertaRemeshingCriteriaI_giveCharacteristicSize(), OctreeSpatialLocalizer::initElementIPDataStructure(), Element::ipEvaluator(), PY1_3D_SUPG::LS_PCS_computedN(), PY1_3D_SUPG::LS_PCS_computeF(), PY1_3D_SUPG::LS_PCS_computeVolume(), Truss1d::NodalAveragingRecoveryMI_computeNodalValue(), TrPlaneStress2d::NodalAveragingRecoveryMI_computeNodalValue(), TrPlaneStrain::NodalAveragingRecoveryMI_computeNodalValue(), TR1_2D_SUPG2_AXI::NodalAveragingRecoveryMI_computeNodalValue(), TR1_2D_SUPG2::NodalAveragingRecoveryMI_computeNodalValue(), TR1_2D_SUPG::NodalAveragingRecoveryMI_computeNodalValue(), TR1_2D_CBS::NodalAveragingRecoveryMI_computeNodalValue(), LTRSpace::NodalAveragingRecoveryMI_computeNodalValue(), LSpace::NodalAveragingRecoveryMI_computeNodalValue(), CCTPlate::NodalAveragingRecoveryMI_computeNodalValue(), Axisymm3d::NodalAveragingRecoveryMI_computeNodalValue(), Element::packUnknowns(), Element::predictRelativeComputationalCost(), TR1_2D_SUPG2_AXI::printOutputAt(), TR1_2D_SUPG2::printOutputAt(), RerShell::printOutputAt(), NonlocalMaterialExtensionInterface::rebuildNonlocalPointTable(), HuertaErrorEstimatorInterface::setupRefinedElementProblem1D(), HuertaErrorEstimatorInterface::setupRefinedElementProblem2D(), HuertaErrorEstimatorInterface::setupRefinedElementProblem3D(), HuertaErrorEstimator::solveRefinedElementProblem(), QTrPlaneStress2d::SPRNodalRecoveryMI_giveDofManRecordSize(), Element::unpackAndUpdateUnknowns(), StructuralElement::updateBeforeNonlocalAverage(), TR1_2D_SUPG2_AXI::updateIntegrationRules(), TR1_2D_SUPG2::updateIntegrationRules(), TransportElement::updateInternalState(), SUPGElement2::updateInternalState(), SUPGElement::updateInternalState(), StructuralElement::updateInternalState(), CBSElement::updateInternalState(), TR1_2D_SUPG_AXI::updateStabilizationCoeffs(), TR1_2D_SUPG2_AXI::updateStabilizationCoeffs(), TR1_2D_SUPG2::updateStabilizationCoeffs(), TR1_2D_SUPG::updateStabilizationCoeffs(), SUPGElement2::updateStabilizationCoeffs(), XfemElementInterface::XfemElementInterface_updateIntegrationRule(), ZZErrorEstimatorInterface::ZZErrorEstimatorI_computeElementContributions(), ZZNodalRecoveryModelInterface::ZZNodalRecoveryMI_computeNNMatrix(), ZZNodalRecoveryModelInterface::ZZNodalRecoveryMI_computeNValProduct(), Truss1d::ZZNodalRecoveryMI_giveDofManRecordSize(), TrPlaneStress2d::ZZNodalRecoveryMI_giveDofManRecordSize(), TrPlaneStrain::ZZNodalRecoveryMI_giveDofManRecordSize(), TR1_2D_SUPG2_AXI::ZZNodalRecoveryMI_giveDofManRecordSize(), TR1_2D_SUPG2::ZZNodalRecoveryMI_giveDofManRecordSize(), TR1_2D_SUPG::ZZNodalRecoveryMI_giveDofManRecordSize(), TR1_2D_CBS::ZZNodalRecoveryMI_giveDofManRecordSize(), Quad1PlaneStrain::ZZNodalRecoveryMI_giveDofManRecordSize(), QPlaneStress2d::ZZNodalRecoveryMI_giveDofManRecordSize(), PlaneStress2d::ZZNodalRecoveryMI_giveDofManRecordSize(), LTRSpace::ZZNodalRecoveryMI_giveDofManRecordSize(), LSpace::ZZNodalRecoveryMI_giveDofManRecordSize(), L4Axisymm::ZZNodalRecoveryMI_giveDofManRecordSize(), and Axisymm3d::ZZNodalRecoveryMI_giveDofManRecordSize().
| int IntegrationRule::getStartIndexOfLocalStrainWhereApply | ( | ) | [inline] |
Returns starting component index, for which receiver applies.
Definition at line 157 of file integrationrule.h.
References firstLocalStrainIndx.
Referenced by StructuralElement::computeStiffnessMatrix(), and NLStructuralElement::computeStiffnessMatrix().
| int IntegrationRule::getEndIndexOfLocalStrainWhereApply | ( | ) | [inline] |
Returns last component index, for which receiver applies.
Definition at line 161 of file integrationrule.h.
References lastLocalStrainIndx.
Referenced by StructuralElement::computeStiffnessMatrix(), and NLStructuralElement::computeStiffnessMatrix().
| int IntegrationRule::setUpIntegrationPoints | ( | integrationDomain | mode, | |
| int | nPoints, | |||
| MaterialMode | matMode | |||
| ) |
Initializes the receiver.
Receiver integration points are created acording to given parameters.
| mode | describes integration domain | |
| nPoints | required number of integration points of receiver | |
| matMode | material mode of receiver's integration points |
Definition at line 319 of file integrationrule.C.
References _Cube, _Line, _Square, _Tetrahedra, _Triangle, gaussPointArray, numberOfIntegrationPoints, OOFEM_ERROR, SetUpPointsOnCube(), SetUpPointsOnLine(), SetUpPointsOnSquare(), SetUpPointsOnTetrahedra(), and SetUpPointsOnTriagle().
Referenced by TransportElement::computeBCSubMtrxAt(), TrPlaneStrRot::computeBmatrixAt(), StructuralElement::computeConsistentMassMatrix(), TransportElement::computeEdgeBCSubVectorAt(), StructuralElement::computeEdgeLoadVectorAt(), Truss3d::computeGaussPoints(), Truss2d::computeGaussPoints(), Truss1d::computeGaussPoints(), TrPlaneStress2d::computeGaussPoints(), TrPlaneStrRot::computeGaussPoints(), TrPlaneStrain::computeGaussPoints(), Tr1_ht::computeGaussPoints(), TR1_2D_SUPG_AXI::computeGaussPoints(), TR1_2D_SUPG::computeGaussPoints(), TR1_2D_CBS::computeGaussPoints(), Tetrah1_ht::computeGaussPoints(), RerShell::computeGaussPoints(), Quad1PlaneStrain::computeGaussPoints(), Quad1_ht::computeGaussPoints(), QTrPlaneStress2d::computeGaussPoints(), QSpace::computeGaussPoints(), QPlaneStress2d::computeGaussPoints(), Q4Axisymm::computeGaussPoints(), PY1_3D_SUPG::computeGaussPoints(), PlaneStress2d::computeGaussPoints(), LTRSpace::computeGaussPoints(), LSpace::computeGaussPoints(), LIBeam3dNL2::computeGaussPoints(), LIBeam3dNL::computeGaussPoints(), LIBeam3d2::computeGaussPoints(), LIBeam3d::computeGaussPoints(), LIBeam2dNL::computeGaussPoints(), LIBeam2d::computeGaussPoints(), L4Axisymm::computeGaussPoints(), InterfaceElem1d::computeGaussPoints(), InterfaceElement3dTrLin::computeGaussPoints(), InterfaceElem2dQuad::computeGaussPoints(), CCTPlate::computeGaussPoints(), Brick1_ht::computeGaussPoints(), Beam3d::computeGaussPoints(), Beam2d::computeGaussPoints(), Axisymm3d::computeGaussPoints(), Tetrah1_ht::GetSurfaceIntegrationRule(), QSpace::GetSurfaceIntegrationRule(), LTRSpace::GetSurfaceIntegrationRule(), LSpace::GetSurfaceIntegrationRule(), Brick1_ht::GetSurfaceIntegrationRule(), TR1_2D_SUPG2_AXI::updateIntegrationRules(), TR1_2D_SUPG2::updateIntegrationRules(), and XfemElementInterface::XfemElementInterface_updateIntegrationRule().
| int IntegrationRule::setUpEmbeddedIntegrationPoints | ( | integrationDomain | mode, | |
| int | nPoints, | |||
| MaterialMode | matMode, | |||
| const FloatArray ** | coords | |||
| ) |
Initializes the receiver.
Receiver integration points are created acording to given parameters.
| mode | describes integration domain | |
| nPoints | required number of integration points of receiver | |
| matMode | material mode of receiver's integration points |
Definition at line 346 of file integrationrule.C.
References _Embedded2dLine, gaussPointArray, numberOfIntegrationPoints, OOFEM_ERROR, and SetUpPointsOn2DEmbeddedLine().
| void IntegrationRule::printOutputAt | ( | FILE * | file, | |
| TimeStep * | stepN | |||
| ) | [virtual] |
Prints receiver's output to given stream.
Invokes printOutputAt service on all receiver's integration points.
Definition at line 110 of file integrationrule.C.
References gaussPointArray, numberOfIntegrationPoints, and GaussPoint::printOutputAt().
Referenced by SUPGElement2::printOutputAt(), SUPGElement::printOutputAt(), Element::printOutputAt(), and CBSElement::printOutputAt().
| void IntegrationRule::updateYourself | ( | TimeStep * | tStep | ) |
Updates receiver state.
Calls updateYourself service of all receiver's integration points.
Definition at line 121 of file integrationrule.C.
References gaussPointArray, numberOfIntegrationPoints, and GaussPoint::updateYourself().
Referenced by Element::updateYourself().
| void IntegrationRule::initForNewStep | ( | ) |
Initializes receiver.
Calls initForNewStep service of all receiver's integration points.
Definition at line 133 of file integrationrule.C.
References gaussPointArray, GaussPoint::giveMaterial(), Material::initGpForNewStep(), and numberOfIntegrationPoints.
Referenced by Element::initForNewStep().
| Element* IntegrationRule::giveElement | ( | ) | [inline] |
Returns reference to element containing receiver.
Definition at line 197 of file integrationrule.h.
References elem.
Referenced by GaussPoint::giveElement().
| Geometry * IntegrationRule::giveGeometry | ( | GaussPoint * | gp | ) |
Returns reference to geometry asscoiated with GaussPoint.
Definition at line 93 of file integrationrule.C.
References elem, and Element::giveGeometry().
| FEInterpolation * IntegrationRule::giveInterpolation | ( | GaussPoint * | gp | ) |
Returns reference to interpolation asscoiated with GaussPoint.
Definition at line 95 of file integrationrule.C.
References elem, and Element::giveInterpolation().
| int IntegrationRule::giveNumber | ( | ) | [inline] |
Returns the receiver number.
Definition at line 203 of file integrationrule.h.
References number.
Referenced by GaussPoint::printOutputAt().
| virtual int IntegrationRule::getRequiredNumberOfIntegrationPoints | ( | integrationDomain | dType, | |
| int | approxOrder | |||
| ) | [inline, virtual] |
Abstract service.
` Returns requred number of integration points to exactly integrate polynomial of order approxOrder on given domain. When approxOrder is too large and is not supported by implementation method returns -1. Must be overloaded by derived classes.
Reimplemented in GaussIntegrationRule, and LobattoIntegrationRule.
Definition at line 211 of file integrationrule.h.
Referenced by Tetrah1_ht::GetSurfaceIntegrationRule(), LTRSpace::GetSurfaceIntegrationRule(), LSpace::GetSurfaceIntegrationRule(), and Brick1_ht::GetSurfaceIntegrationRule().
| contextIOResultType IntegrationRule::saveContext | ( | DataStream * | stream, | |
| ContextMode | mode, | |||
| void * | obj | |||
| ) | [virtual] |
Saves receiver's context to stream.
Calls saveContext service for all receiver's integration points. Note: does not call the FEMComponent::saveContext service, in order not to write class id info for each integration rule.
| throws | an ContextIOERR exception if error encountered. |
Definition at line 150 of file integrationrule.C.
References CIO_IOERR, CIO_OK, CM_Definition, firstLocalStrainIndx, gaussPointArray, GaussPoint::giveCoordinates(), GaussPoint::giveCrossSection(), GaussPoint::giveMaterialMode(), GaussPoint::giveWeight(), isDynamic, lastLocalStrainIndx, numberOfIntegrationPoints, OOFEM_ERROR, CrossSection::saveContext(), FloatArray::storeYourself(), THROW_CIOERR, and DataStream::write().
| contextIOResultType IntegrationRule::restoreContext | ( | DataStream * | stream, | |
| ContextMode | mode, | |||
| void * | obj | |||
| ) | [virtual] |
Restores receiver's context to stream.
Calls restoreContext service for all receiver's integration points. Note: does not call the FEMComponent::restoreContext service, in order not to write class id info for each integration rule.
| obj | should be a pointer to invoking element, ie., to which the receiver will belong to. |
| throws | an ContextIOERR exception if error encountered. |
Definition at line 220 of file integrationrule.C.
References CIO_IOERR, CIO_OK, clear(), CM_Definition, firstLocalStrainIndx, gaussPointArray, FloatArray::GiveCopy(), GaussPoint::giveCrossSection(), isDynamic, lastLocalStrainIndx, numberOfIntegrationPoints, OOFEM_ERROR, DataStream::read(), CrossSection::restoreContext(), FloatArray::restoreYourself(), GaussPoint::setCoordinates(), GaussPoint::setMaterialMode(), GaussPoint::setWeight(), and THROW_CIOERR.
| void IntegrationRule::clear | ( | ) |
Clears the receiver, ie dealocates all integration points.
Definition at line 78 of file integrationrule.C.
References gaussPointArray, and numberOfIntegrationPoints.
Referenced by restoreContext(), TR1_2D_SUPG2_AXI::updateIntegrationRules(), TR1_2D_SUPG2::updateIntegrationRules(), and ~IntegrationRule().
| virtual classType IntegrationRule::giveClassID | ( | ) | const [inline, virtual] |
Returns classType id of receiver.
Reimplemented in GaussIntegrationRule, and LobattoIntegrationRule.
Definition at line 236 of file integrationrule.h.
References IntegrationRuleClass.
Referenced by Element::saveContext().
| virtual const char* IntegrationRule::giveClassName | ( | ) | const [inline, virtual] |
Returns class name of the receiver.
Reimplemented in GaussIntegrationRule, and LobattoIntegrationRule.
Definition at line 238 of file integrationrule.h.
| virtual IRResultType IntegrationRule::initializeFrom | ( | InputRecord * | ir | ) | [inline, virtual] |
Reimplemented in GaussIntegrationRule, and LobattoIntegrationRule.
Definition at line 239 of file integrationrule.h.
References IRRT_OK.
| virtual int IntegrationRule::SetUpPointsOnLine | ( | int | , | |
| MaterialMode | , | |||
| GaussPoint *** | ||||
| ) | [inline, protected, virtual] |
Sets up receiver's integration points on unit line integration domain.
Default implementaion does not sets up any integration points and returns 0. Must be overloaded by deived classes.
Reimplemented in GaussIntegrationRule.
Definition at line 248 of file integrationrule.h.
Referenced by setUpIntegrationPoints().
| virtual int IntegrationRule::SetUpPointsOnTriagle | ( | int | , | |
| MaterialMode | , | |||
| GaussPoint *** | ||||
| ) | [inline, protected, virtual] |
Sets up receiver's integration points on triangular (area coords) integration domain.
Default implementaion does not sets up any integration points and returns 0. Must be overloaded by deived classes.
Reimplemented in GaussIntegrationRule, and PatchIntegrationRule.
Definition at line 255 of file integrationrule.h.
Referenced by setUpIntegrationPoints().
| virtual int IntegrationRule::SetUpPointsOnSquare | ( | int | , | |
| MaterialMode | , | |||
| GaussPoint *** | ||||
| ) | [inline, protected, virtual] |
Sets up receiver's integration points on unit square integration domain.
Default implementaion does not sets up any integration points and returns 0. Must be overloaded by deived classes.
Reimplemented in GaussIntegrationRule.
Definition at line 262 of file integrationrule.h.
Referenced by setUpIntegrationPoints().
| virtual int IntegrationRule::SetUpPointsOnCube | ( | int | , | |
| MaterialMode | , | |||
| GaussPoint *** | ||||
| ) | [inline, protected, virtual] |
Sets up receiver's integration points on unit cube integration domain.
Default implementaion does not sets up any integration points and returns 0. Must be overloaded by deived classes.
Reimplemented in GaussIntegrationRule.
Definition at line 269 of file integrationrule.h.
Referenced by setUpIntegrationPoints().
| virtual int IntegrationRule::SetUpPointsOnTetrahedra | ( | int | , | |
| MaterialMode | , | |||
| GaussPoint *** | ||||
| ) | [inline, protected, virtual] |
Sets up receiver's integration points on tetrahedra (volume coords) integration domain.
Default implementaion does not sets up any integration points and returns 0. Must be overloaded by deived classes.
Reimplemented in GaussIntegrationRule.
Definition at line 276 of file integrationrule.h.
Referenced by setUpIntegrationPoints().
| virtual int IntegrationRule::SetUpPointsOn2DEmbeddedLine | ( | int | nPoints, | |
| MaterialMode | mode, | |||
| GaussPoint *** | , | |||
| const FloatArray ** | coords | |||
| ) | [inline, protected, virtual] |
Sets up integration points on 2D embedded line inside 2D volume (the list of local coordinates should be provided).
Reimplemented in GaussIntegrationRule.
Definition at line 281 of file integrationrule.h.
Referenced by setUpEmbeddedIntegrationPoints().
int IntegrationRule::number [protected] |
number
Definition at line 113 of file integrationrule.h.
Referenced by giveNumber(), and IntegrationRule().
Element* IntegrationRule::elem [protected] |
Definition at line 115 of file integrationrule.h.
Referenced by giveElement(), giveGeometry(), giveInterpolation(), and IntegrationRule().
GaussPoint** IntegrationRule::gaussPointArray [protected] |
Array containing integration points.
Definition at line 118 of file integrationrule.h.
Referenced by clear(), getIntegrationPoint(), initForNewStep(), IntegrationRule(), printOutputAt(), restoreContext(), saveContext(), setUpEmbeddedIntegrationPoints(), setUpIntegrationPoints(), and updateYourself().
int IntegrationRule::numberOfIntegrationPoints [protected] |
Number of integration point of receiver.
Definition at line 120 of file integrationrule.h.
Referenced by clear(), getIntegrationPoint(), getNumberOfIntegrationPoints(), initForNewStep(), IntegrationRule(), printOutputAt(), restoreContext(), saveContext(), setUpEmbeddedIntegrationPoints(), setUpIntegrationPoints(), PatchIntegrationRule::SetUpPointsOnTriagle(), and updateYourself().
int IntegrationRule::firstLocalStrainIndx [protected] |
firstLocalStrainIndx and lastLocalStrainIndx indexes describe range of components (strains for example) for which receiver integration points apply.
Definition at line 125 of file integrationrule.h.
Referenced by getStartIndexOfLocalStrainWhereApply(), IntegrationRule(), restoreContext(), saveContext(), and PatchIntegrationRule::SetUpPointsOnTriagle().
int IntegrationRule::lastLocalStrainIndx [protected] |
Definition at line 125 of file integrationrule.h.
Referenced by getEndIndexOfLocalStrainWhereApply(), IntegrationRule(), restoreContext(), saveContext(), and PatchIntegrationRule::SetUpPointsOnTriagle().
bool IntegrationRule::isDynamic [protected] |
flag indicating that rule is dynamic, ie, its gauss points (their number, coordinates, weights) can change during computation.
Then some more data should be stored/restored from context file to reflect such dynamic feature
Definition at line 129 of file integrationrule.h.
Referenced by IntegrationRule(), restoreContext(), and saveContext().
1.5.5 written by Dimitri van Heesch,
© 1997-2001