54 BoundaryLoad :: initializeFrom(ir);
65NeumannMomentLoad :: computeXbar()
83 for (
auto &gp: *iRule ) {
84 FloatArray lcoords = gp->giveNaturalCoordinates();
88 coord.
times(gp->giveWeight()*fabs(detJ));
90 V += gp->giveWeight()*fabs(detJ);
108 if ( ( mode != VM_Total ) && ( mode != VM_Incremental ) ) {
126 if ( this->
domain->giveNumberOfSpatialDimensions() == 3 ) {
158 double l =
p+
g.dotProduct(xdiff);
165 answer=answer*factor;
#define REGISTER_BoundaryCondition(class)
virtual FEInterpolation * giveInterpolation() const
virtual Element_Geometry_Type giveGeometryType() const =0
virtual int global2local(FloatArray &answer, const FloatArray &gcoords, const FEICellGeometry &cellgeo) const =0
virtual double giveTransformationJacobian(const FloatArray &lcoords, const FEICellGeometry &cellgeo) const
virtual std::unique_ptr< IntegrationRule > giveIntegrationRule(int order, const Element_Geometry_Type) const
virtual double boundaryEvalNormal(FloatArray &answer, int boundary, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const =0
virtual void local2global(FloatArray &answer, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const =0
Domain * giveDomain() const
Domain * domain
Link to domain object, useful for communicating with other FEM components.
Function * giveTimeFunction()
void computeXbar()
Compute centre of mass for set cset.
int cset
Set containing elements used to calculate xbar.
FloatArray xbar
Center of structure.
IntArray celements
Array containing elements elements in set cset.
#define _IFT_NeumannMomentLoad_Gradient
#define _IFT_NeumannMomentLoad_Constant
#define _IFT_NeumannMomentLoad_CenterSet