30 bool enforceCornerPeriodicity =
true;
42 iPos [ 0 ] - xMinus [ 0 ], iPos [ 1 ] - xMinus [ 1 ]
49 oDuplicatable =
false;
52 if ( iPos.
distance(cornerPos) < iNodeDistTol ) {
59 if ( iPos.
distance(cornerPos) < iNodeDistTol ) {
66 if ( iPos.
distance(cornerPos) < iNodeDistTol ) {
76 if ( iPos.
distance(cornerPos) < iNodeDistTol ) {
bool mMeshIsPeriodic
true -> the traction lives only on gammaPlus, so that we get strong periodicity as a special case...
virtual void postInitialize()
Performs post initialization steps.
REGISTER_BoundaryCondition(BoundaryCondition)
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
FloatArray mUC
Upper corner of domain (assuming a rectangular RVE)
int mTractionInterpOrder
Order of interpolation for traction (0->piecewise constant, 1->piecewise linear)
PrescribedGradientBCWeakPeriodic(int n, Domain *d)
double distance(const FloatArray &x) const
Computes the distance between position represented by receiver and position given as parameter...
virtual void giveBoundaryCoordVector(FloatArray &oX, const FloatArray &iPos) const
void giveMirroredPointOnGammaMinus(FloatArray &oPosMinus, const FloatArray &iPosPlus) const
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
void createTractionMesh(bool iEnforceCornerPeriodicity, int iNumSides)
virtual ~PrescribedGradientBCWeakPeriodic()
Imposes a prescribed gradient weakly on the boundary with an independent traction discretization...
virtual void checkIfCorner(bool &oIsCorner, bool &oDuplicatable, const FloatArray &iPos, const double &iNodeDistTol) const
Class representing vector of real numbers.
IRResultType
Type defining the return values of InputRecord reading operations.
FloatArray mLC
Lower corner of domain (assuming a rectangular RVE)
the oofem namespace is to define a context or scope in which all oofem names are defined.