1 #ifndef EMM_DisplacementOperator_H 2 #define EMM_DisplacementOperator_H 215 SP::EMM_4SymmetricTensors
mLe;
363 mElasticTensorAdimensionizedParameter=Le;
419 mInitUFileScale=scale;
454 mInitVFileScale=scale;
498 mLimitConditionOnPoints->copy(lc);
508 mLimitConditionOnPoints->setSize(1);
509 (*mLimitConditionOnPoints.get())[0]=lc;
518 if (!mConstraints->loadFromFile(dataFile))
520 "EMM_DisplacementOperator::setConstraints(fileName)",
521 "error in reading the file "+dataFile);
530 mConstraints->setSize(1);
543 mConstraints->setSize(1);
553 mConstraints->copy(data);
567 return *mConstraints.get();
573 return *mConstraints.get();
584 return *mLimitConditionOnPoints.
get();
773 dim=mUn->getDimension();
774 succeeds=mUn->getValues(n,values);
779 dim=mVn->getDimension();
780 succeeds=mVn->getValues(n,values);
786 dim=mAccelerator->getDimension();
787 succeeds=mAccelerator->getValues(n,values);
809 dim=mUn->getDimension();
810 succeeds=mUn->getValues(n,values);
815 dim=mVn->getDimension();
816 succeeds=mVn->getValues(n,values);
821 dim=mAccelerator->getDimension();
822 succeeds=mAccelerator->getValues(n,values);
846 dim=mUn->getDimension();
847 succeeds=mUn->getValues(n,values);
852 dim=mVn->getDimension();
853 succeeds=mVn->getValues(n,values);
859 dim=mAccelerator->getDimension();
860 succeeds=mAccelerator->getValues(n,values);
906 mUn->initField(Ux,Uy,Uz);
925 else if (t<0)
return *mUnm1.get();
926 else return *mUt.get();
944 mVn->initField(Vx,Vy,Vz);
957 else return *mVt.get();
971 return *mAccelerator.get();
977 return *mAccelerator.get();
1006 return mSolver.get();
1021 return ((mElasticityState & 1)==1);
1026 return (mElasticityState==EQUILIBRIUM_STATE);
1031 return (mElasticityState==FROZEN_STATE);
1039 mTimeIntegrationMethod=m;
1051 mTimeIntegrationOrder=o;
1294 mIsEquilibriumMatrixConditioned=c;
1431 "EMM_DisplacementOperator::computeElasticStress(U,S)",
1432 "displacement field has incompatible real type");
1436 "EMM_DisplacementOperator::computeElasticStress(U,S)",
1437 "stress field has incompatible real type");
1441 "EMM_DisplacementOperator::computeElasticStress(U,S)",
1442 "stress field & displacement field has incompatible size");
1595 const tReal* M)
const;
tBoolean computeFieldsAtTimeWithGL1Interpolation(const tReal &dt, const EMM_RealArray &sigma, const EMM_RealField &dM_dt0, const EMM_RealField &M0, const EMM_RealField &U0, const EMM_RealField &V0, EMM_RealField &Ut, EMM_RealField &Vt) const
compute the new U & V at by gauss legendre interpolation of degre N (N=1)
Definition: EMM_DisplacementOperator.cpp:1243
const EMM_RealField & getVelocity(const tReal &t) const
get the velocity at time
Definition: EMM_DisplacementOperator.h:955
tString mInitVFile
Definition: EMM_DisplacementOperator.h:288
void periodicProjection(const tCellFlag &periodicity, const tUInteger nPoints[3], EMM_RealField &V) const
make the periodic projection of the field V
Definition: EMM_DisplacementOperator.cpp:336
This class describes a morse array of symmetric tensors of 4 order.
Definition: EMM_4SymmetricTensors.h:17
const EMM_RealField & getAccelerator() const
get the accelerator for reading
Definition: EMM_DisplacementOperator.h:976
This class describes a grid3d mesh.
Definition: EMM_Grid3D.h:48
tReal mInitVFileScale
Definition: EMM_DisplacementOperator.h:290
void setInitialDisplacement(const tReal U0, const tReal &U1, const tReal &U2)
set initial displacement field
Definition: EMM_DisplacementOperator.h:435
SP::EMM_RealField mAccelerator_t
Definition: EMM_DisplacementOperator.h:278
virtual tBoolean restore(const EMM_LandauLifschitzSystem &system, const tString &prefix, const tString &suffix, const tString &ext)
restore the operator data from file(s)
Definition: EMM_DisplacementOperator.cpp:936
virtual SP::EMM_BlockEquilibriumMatrix NewEquilibriumMatrix() const
create the equilibrium matrix
Definition: EMM_DisplacementOperator.cpp:1420
tReal mMsat
Definition: EMM_DisplacementOperator.h:304
virtual void computeElasticStress(const EMM_RealField &U, EMM_RealField &S) const
compute the elastic stress for all cells
Definition: EMM_DisplacementOperator.h:1424
void setSolver(SP::MATH_Solver solver)
set the solver
Definition: EMM_DisplacementOperator.h:997
#define tLimitCondition
Definition: EMM_Types.h:19
tReal mElasticTensorAdimensionizedParameter
Definition: EMM_DisplacementOperator.h:301
virtual void initializeEquilibriumSolver(const EMM_RealField &U0)
initialize the equilibrium solver
Definition: EMM_DisplacementOperator.cpp:1423
const EMM_4Tensors & getLambdaMDoubleDotLambdaE() const
return the adimensionized magnetic tensor distribution
Definition: EMM_DisplacementOperator.h:400
tReal computeEnergy(const tReal &t, const tUIndex &nCells, const tDimension &dim, const EMM_RealArray &sigma, const tReal *M) const
compute the energy of the magnetostriction operator at current displacement and velocity ...
Definition: EMM_DisplacementOperator.cpp:1651
EMM_2PackedSymmetricTensors mEpsilonUt
Definition: EMM_DisplacementOperator.h:257
static const tFlag UNSTEADY_STATE
Definition: EMM_DisplacementOperator.h:211
#define tUInteger
Definition: types.h:91
SP::MATH_GaussLegendreIntegration mIntegrator
Definition: EMM_DisplacementOperator.h:309
SPC::EMM_LimitConditionArray getLimitConditionOnPointsByReference() const
Definition: EMM_DisplacementOperator.h:592
tReal computeCineticEnergyAtTime(const tReal &t) const
compute the energy due to velocity
Definition: EMM_DisplacementOperator.h:1603
const EMM_4SymmetricTensors & getLambdaMDoubleDotLambdaEDoubleDotLambdaM() const
return the adimensionized magnetic tensor distribution
Definition: EMM_DisplacementOperator.h:406
const EMM_2PackedSymmetricTensors & getElasticTensor() const
return the elastic tensor
Definition: EMM_DisplacementOperator.h:742
tUCInt mTimeIntegrationOrder
Definition: EMM_DisplacementOperator.h:238
virtual tBoolean isGradientComputationable() const
return true if the gradient of the magnetic excitation is computationable
Definition: EMM_DisplacementOperator.h:885
const tFlag & getConstraintFaces() const
get the constraint faces if face f is constrainted
Definition: EMM_DisplacementOperator.h:559
EMM_RealField & getAccelerator()
get the accelerator for writing
Definition: EMM_DisplacementOperator.h:970
void setIsEquilibriumMatrixReconditioned(const tBoolean &c)
set to true if the equilibrium matrix is conditioned
Definition: EMM_DisplacementOperator.h:1293
virtual void buildDataOnBoundaryFaces(const EMM_Grid3D &mesh, const EMM_LimitConditionArray &limitConditionOnPoints, const EMM_RealField &U0, EMM_RealField &DnU0)=0
build the data on boundary faces
SP::EMM_4Tensors mLme
Definition: EMM_DisplacementOperator.h:219
EMM_RealField & getDisplacement()
get the displacement for writing
Definition: EMM_DisplacementOperator.h:911
tBoolean computeEquilibriumState(const EMM_RealArray &sigma, const EMM_RealField &M, const EMM_RealField &U0, EMM_RealField &U)
compute the equilibirum state
Definition: EMM_DisplacementOperator.cpp:1478
void nullProjectionOnDirichletBoundary(EMM_RealField &V) const
project the velocity to 0 on dirichlet boundary points
Definition: EMM_DisplacementOperator.cpp:124
virtual ~EMM_DisplacementOperator(void)
destroy
Definition: EMM_DisplacementOperator.cpp:118
tBoolean isEquilibriumState() const
Definition: EMM_DisplacementOperator.h:1025
virtual tULLInt getMemorySize() const
return the memory size in byte
Definition: EMM_DisplacementOperator.cpp:854
T & get(const tUIndex &i)
get the value of the array at index i
Definition: CORE_Array.h:555
virtual void spaceProjection(EMM_RealField &V) const =0
make the projection of the vector B into the solving linear space
const EMM_RealField & getVelocity() const
get the velocity at t for reading
Definition: EMM_DisplacementOperator.h:963
#define tUCInt
Definition: types.h:21
virtual tBoolean computeFieldsAtTime(const tReal &t, const tFlag &order, const EMM_RealArray &sigma, const EMM_RealField &dM_dt0, const EMM_RealField &M0)
compute the fields of operator at time
Definition: EMM_DisplacementOperator.cpp:996
#define tUSInt
Definition: types.h:28
const tBoolean & isEquilibriumMatrixReconditioned() const
get if the equilibrium matrix is conditioned
Definition: EMM_DisplacementOperator.h:1299
virtual tReal computeCineticEnergy(const EMM_RealField &V) const =0
compute the energy due to velocity
void computeElasticStress(const tUIndex &nData, const tDimension &dim, const tReal *U, tReal *D) const
compute the elastic stress
Definition: EMM_DisplacementOperator.h:1481
void setConstraints(const tFlag &C, const tString &dataFile)
set constraints from file defined on points
Definition: EMM_DisplacementOperator.h:516
SP::EMM_4SymmetricTensors mLmem
Definition: EMM_DisplacementOperator.h:226
#define tBoolean
Definition: types.h:139
SP::EMM_4SymmetricTensors mLe
Definition: EMM_DisplacementOperator.h:215
static const tFlag P1
Definition: EMM_DisplacementOperator.h:201
SP::EMM_RealField mInitV
Definition: EMM_DisplacementOperator.h:292
void computeStress(const EMM_RealArray &sigma, const EMM_RealField &U, const EMM_RealField &M, EMM_RealField &stress) const
compute the stress
Definition: EMM_DisplacementOperator.h:1405
tBoolean computeFieldsAtTimeWithTE2(const tReal &dtau, const tReal &dt, const EMM_RealField &accelerator, const EMM_RealField &U0, const EMM_RealField &U1, EMM_RealField &U2, EMM_RealField &V2) const
compute the new U & V at by taylor extension of order 2
Definition: EMM_DisplacementOperator.cpp:1194
virtual tBoolean getDataField(const tUSInt &index, tString &dataName, tUIndex &n, tDimension &dim, const double *&values) const
get the data field at index for saving data in vtk,txt,... files.
Definition: EMM_DisplacementOperator.h:804
const EMM_LimitConditionArray & getLimitConditionOnPoints() const
Definition: EMM_DisplacementOperator.h:583
virtual void computeElasticTensor(const EMM_RealField &U, EMM_2PackedSymmetricTensors &eTensor)
compute the elastic tensor for all cells
Definition: EMM_DisplacementOperator.cpp:1623
const EMM_RealField & getConstraints() const
get the constraints field for reading
Definition: EMM_DisplacementOperator.h:566
static const tFlag TE
Definition: EMM_DisplacementOperator.h:202
virtual tBoolean resetToInitialState(const EMM_LandauLifschitzSystem &system)
reset the opertaro to initial state
Definition: EMM_DisplacementOperator.cpp:771
tReal computePotentialEnergyAtTime(const tReal &t) const
compute the potential energy to the space variation of the displacement
Definition: EMM_DisplacementOperator.h:1620
virtual tString toString() const
turn the martix into string
Definition: EMM_DisplacementOperator.h:1655
void computeMagneticStress(const EMM_RealArray &sigma, const EMM_RealField &M, EMM_RealField &S) const
compute the magnetic stress for all cells
Definition: EMM_DisplacementOperator.h:1519
#define tDimension
Definition: EMM_Types.h:10
tReal mL[3]
Definition: EMM_DisplacementOperator.h:241
void setInitialVelocity(const tReal data[3])
set initial velocity field
Definition: EMM_DisplacementOperator.h:467
void projectionOnDirichletBoundary(const EMM_RealField &V0, EMM_RealField &V) const
project the velocity to 0 on dirichlet boundary points
Definition: EMM_DisplacementOperator.cpp:156
SP::EMM_RealField mMs
Definition: EMM_DisplacementOperator.h:313
static const tFlag FROZEN_STATE
Definition: EMM_DisplacementOperator.h:209
void setTimeIntegrationOrder(const tInt &o)
set the time integration order for new field
Definition: EMM_DisplacementOperator.h:1050
EMM_DisplacementOperator(void)
create
Definition: EMM_DisplacementOperator.cpp:26
SP::MATH_Solver mSolver
Definition: EMM_DisplacementOperator.h:316
SP::EMM_RealField mUt
Definition: EMM_DisplacementOperator.h:266
tReal mCFL
Definition: EMM_DisplacementOperator.h:244
void setInitialDisplacement(const tReal &scale, const tString &dataFile)
set initial displacement field.
Definition: EMM_DisplacementOperator.h:417
void setLimitConditionOnPoints(const tLimitCondition &lc)
set the limit condition to all points
Definition: EMM_DisplacementOperator.h:507
const EMM_RealField & getDisplacement() const
get the displacement for reading
Definition: EMM_DisplacementOperator.h:917
const EMM_RealField & getDisplacement(const tReal &t) const
get the veolicty at time
Definition: EMM_DisplacementOperator.h:923
This class describes a morse array of symmetric tensors of 2 order in packed form.
Definition: EMM_2PackedSymmetricTensors.h:20
const EMM_4SymmetricTensors & getLambdaE() const
return the adimensionized elastic tensor distribution
Definition: EMM_DisplacementOperator.h:386
const tReal * getAdimensionizedSegmentsSize() const
get the segments size in all directions
Definition: EMM_DisplacementOperator.h:371
tFlag mConstraintFaces
Definition: EMM_DisplacementOperator.h:295
virtual void computeEquilibriumMatrixDiagonalConditioner(MATH_Vector &D) const
compute the diagonal conditioner
Definition: EMM_DisplacementOperator.h:1307
#define tCellFlag
Definition: EMM_Types.h:16
This class describes the displacement operator defined on the data of the mesh.
Definition: EMM_DisplacementOperator.h:193
tReal mTc
Definition: EMM_DisplacementOperator.h:302
SP::EMM_BlockEquilibriumMatrix mEquilibriumMatrix
Definition: EMM_DisplacementOperator.h:320
virtual void spaceRelevant(EMM_RealField &V) const =0
make the relevment of the vector B from the solving linear space.
virtual tReal computePotentialEnergy(const EMM_RealField &U) const
compute the potential energy to the space variation of the displacement
Definition: EMM_DisplacementOperator.cpp:1644
static const tFlag EQUILIBRIUM_STATE
Definition: EMM_DisplacementOperator.h:210
SP::EMM_4Tensors mLem
Definition: EMM_DisplacementOperator.h:222
tReal computeStressConstraintEnergy(const tReal &t) const
compute the energy of the boundary stress constraint
Definition: EMM_DisplacementOperator.h:1635
This class is an operator of a E-MicromM package which computes the field of the operator with respec...
Definition: EMM_Operator.h:24
This class describes a resolution of landau-lifschitz system of the Core Package for E-MicroM...
Definition: EMM_LandauLifschitzSystem.h:88
const tFlag & getTimeIntegrationMethod() const
get the time integration method for next time step
Definition: EMM_DisplacementOperator.h:1044
tReal mLc
Definition: EMM_DisplacementOperator.h:303
virtual void initField(const tReal &f)=0
init the field to uniform value in each direction
SP::EMM_RealField mConstraints
Definition: EMM_DisplacementOperator.h:298
virtual tBoolean getDataField(const tUSInt &index, tString &dataName, tUIndex &n, tDimension &dim, const long double *&values) const
get the data field at index for saving data in vtk,txt,... files.
Definition: EMM_DisplacementOperator.h:841
void setCFL(const tReal &cfl)
set the cfl for computing the initial time step
Definition: EMM_DisplacementOperator.h:1073
virtual void toDoAfterThisSetting()
method called after the setting of the shared pointer this method can only be called once...
Definition: EMM_Object.h:71
SP::EMM_RealField mInitU
Definition: EMM_DisplacementOperator.h:286
This class describes a masked vector.
Definition: MATH_Vector.h:16
virtual tBoolean backup(const tString &prefix, const tString &suffix, const tString &ext) const
backup of the operator data into file(s) used for restoring
Definition: EMM_DisplacementOperator.cpp:891
virtual void adimensionize(const tReal &Le, const tReal &Ms, const tReal &T, const tReal &L)
adimensionize the operator
Definition: EMM_DisplacementOperator.h:362
virtual tBoolean getValues(tUIndex &size, const float *&values) const
get the values
Definition: EMM_RealField.h:585
void setInitialVelocity(const tReal &V0, const tReal &V1, const tReal &V2)
set initial velocity field
Definition: EMM_DisplacementOperator.h:478
EMM_Array< tLimitCondition > EMM_LimitConditionArray
Definition: EMM_Array.h:279
tFlag mTimeIntegrationMethod
Definition: EMM_DisplacementOperator.h:235
tBoolean isSteadyState() const
Definition: EMM_DisplacementOperator.h:1020
tReal mDt
Definition: EMM_DisplacementOperator.h:245
virtual tBoolean getDataField(const tUSInt &index, tString &dataName, tUIndex &n, tDimension &dim, const float *&values) const
get the data field at index for saving data in vtk,txt,... files.
Definition: EMM_DisplacementOperator.h:768
tReal mInitUFileScale
Definition: EMM_DisplacementOperator.h:284
SP::EMM_RealField mVn
Definition: EMM_DisplacementOperator.h:272
const tUCInt & getTimeIntegrationOrder() const
get the time integration order for new field
Definition: EMM_DisplacementOperator.h:1056
#define tUIndex
Definition: types.h:126
const tReal & getTimeStep() const
get the time step for elasticty
Definition: EMM_DisplacementOperator.h:1063
This class describes a real array.
Definition: EMM_RealArray.h:16
const tDimension & getDimension() const
get the dimension
Definition: EMM_RealField.h:553
tBoolean isFrozenState() const
Definition: EMM_DisplacementOperator.h:1030
SP::EMM_RealField mVt
Definition: EMM_DisplacementOperator.h:269
virtual void setSize(const tUIndex &n)=0
set the size of the vector
virtual tBoolean discretize(const EMM_LandauLifschitzSystem &system)
discretize and initialize the operator
Definition: EMM_DisplacementOperator.cpp:475
virtual void setSolver(const tString &solverName)
set the solver
Definition: EMM_DisplacementOperator.cpp:1402
void setDisplacement(const tReal &Ux, const tReal &Uy, const tReal &Uz)
set the displacement field to an uniform vector defied on points
Definition: EMM_DisplacementOperator.h:905
DEFINE_SPTR(EMM_DisplacementOperator)
This class describes a solver of Ax=b.
Definition: MATH_Solver.h:18
MATH_Solver * getSolver()
get the solver of the system
Definition: EMM_DisplacementOperator.h:1005
#define tString
Definition: types.h:135
tFlag mElasticityState
Definition: EMM_DisplacementOperator.h:231
virtual tString toString() const
return the string representation of the object node
Definition: CORE_Object.h:326
const EMM_RealArray & getAdimensionizedVolumicMass() const
get the adimensionized volumic mass per cell
Definition: EMM_DisplacementOperator.h:379
SP::EMM_LimitConditionArray mLimitConditionOnPoints
Definition: EMM_DisplacementOperator.h:253
void setValue(const tUIndex &i, const tDimension &k, const tReal &v)
set the value at point i and for coordinate k
Definition: EMM_RealField.h:253
tBoolean computeFieldsAtTimeWithTE1(const tReal &dt, const EMM_RealField &accelerator, const EMM_RealField &U0, const EMM_RealField &V0, EMM_RealField &U1, EMM_RealField &V1) const
compute the new U & V at by taylor extension of order 2
Definition: EMM_DisplacementOperator.cpp:1163
tBoolean computeAccelerator(EMM_RealField &V)
compute the accelerator from the mass matrix : M.X=V V:=X
Definition: EMM_DisplacementOperator.cpp:1382
SP::EMM_RealField mUnm1
Definition: EMM_DisplacementOperator.h:260
virtual void toDoAfterThisSetting()
method called after the setting of the shared pointer this method can only be called once...
Definition: EMM_DisplacementOperator.h:345
SP::EMM_RealField mUs
Definition: EMM_DisplacementOperator.h:312
tString mInitUFile
Definition: EMM_DisplacementOperator.h:282
this class describes the exceptions raised for E-MicromM package
Definition: EMM_Exception.h:14
EMM_RealField & getVelocity()
get the velocity for writing
Definition: EMM_DisplacementOperator.h:949
tBoolean computeFieldsAtTimeWithGLnInterpolation(const tReal &dt, const EMM_RealArray &sigma, const EMM_RealField &dM_dt0, const EMM_RealField &M0, const EMM_RealField &U0, const EMM_RealField &V0, EMM_RealField &Ut, EMM_RealField &Vt, EMM_RealField &Us, EMM_RealField &Ms)
compute the new U & V at by gauss legendre interpolation of degre N (N=4)
Definition: EMM_DisplacementOperator.cpp:1286
This class describes a morse array of tensors of 4 order.
Definition: EMM_4Tensors.h:19
EMM_RealArray mKappa
Definition: EMM_DisplacementOperator.h:248
void setTimeIntegrationMethod(const tFlag &m)
set the time integration method for new field
Definition: EMM_DisplacementOperator.h:1038
void setDimension(const tDimension &d)
set the dimension
Definition: EMM_RealField.h:158
tBoolean mIsEquilibriumMatrixConditioned
Definition: EMM_DisplacementOperator.h:319
void setInitialDisplacement(const tReal data[3])
set initial displacement field
Definition: EMM_DisplacementOperator.h:424
void setDisplacement(const EMM_RealField &u)
set the displacement field
Definition: EMM_DisplacementOperator.h:897
SP_OBJECT(EMM_DisplacementOperator)
void setVelocity(const EMM_RealField &v)
set the velocity of dicplacement defined on points
Definition: EMM_DisplacementOperator.h:934
const EMM_4Tensors & getLambdaEDoubleDotLambdaM() const
return the adimensionized magnetic tensor distribution
Definition: EMM_DisplacementOperator.h:393
void setInitialDisplacement(const EMM_RealField &data)
set initial displacement field
Definition: EMM_DisplacementOperator.h:444
#define tULLInt
Definition: types.h:45
void setConstraints(const tFlag &C, const tReal &C0, const tReal &C1, const tReal &C2)
set initial constriants field
Definition: EMM_DisplacementOperator.h:540
void setInitialVelocity(const tReal &scale, const tString &dataFile)
set initial velocity field
Definition: EMM_DisplacementOperator.h:452
This class describes a real field.
Definition: EMM_RealField.h:21
SP::EMM_RealField mAccelerator
Definition: EMM_DisplacementOperator.h:275
virtual tBoolean solveAcceleratorSystem(EMM_RealField &V)=0
solve the accelerator system : M.X=V V:=X
void setVelocity(const tReal &Vx, const tReal &Vy, const tReal &Vz)
set the displacement velocity field to an uniform vector defined on points
Definition: EMM_DisplacementOperator.h:943
#define tInt
Definition: types.h:35
void setInitialVelocity(const EMM_RealField &data)
set initial velocity field
Definition: EMM_DisplacementOperator.h:459
virtual tBoolean updateAtNextTimeStep(const tReal &dt, const EMM_RealArray &sigma, const EMM_RealField &Mt)
update the data of operator at next time step
Definition: EMM_DisplacementOperator.cpp:1074
This class describes a general array.
Definition: EMM_Array.h:18
SP::EMM_RealField mUn
Definition: EMM_DisplacementOperator.h:263
virtual void setSize(const tUIndex &n)=0
set the size
virtual tUSInt getDataFieldsNumber() const
get the number of field used in the operator
Definition: EMM_DisplacementOperator.h:751
tBoolean computePastDisplacement(const tReal &dt, const EMM_RealField &accelerator, const EMM_RealField &U0, const EMM_RealField &V0, EMM_RealField &U) const
compute from and with time step dt
Definition: EMM_DisplacementOperator.cpp:1147
void setLimitConditionOnPoints(const EMM_IntArray &lc)
set the limit condition each point is set to
Definition: EMM_DisplacementOperator.h:497
EMM_RealField & getConstraints()
get the constraints field for writing
Definition: EMM_DisplacementOperator.h:572
void setElasticityState(const tFlag &v)
set the elasticity state
Definition: EMM_DisplacementOperator.h:1014
#define tReal
Definition: types.h:118
virtual void computeElasticStressMatrixProduct(const tUIndex &nData, const tDimension &dim, const tReal *U, tReal *D) const
compute the elastic stress Matrix product
Definition: EMM_DisplacementOperator.h:1349
void setConstraints(const tFlag &C, const tReal data[3])
set constraints field
Definition: EMM_DisplacementOperator.h:528
void setConstraints(const tFlag &C, const EMM_RealField &data)
set constraints
Definition: EMM_DisplacementOperator.h:551
virtual tBoolean isAffine() const
return true if the operator is either constant or linear
Definition: EMM_DisplacementOperator.h:879
#define tFlag
Definition: types.h:74