|
IFEM
90A354
|
Class for assembly of reaction- and interface forces. More...
#include <ReactionsOnly.h>


Public Member Functions | |
| ReactionsOnly (const SAM *sam, const ProcessAdm &adm, RealArray *rf=nullptr, Vector *sf=nullptr) | |
| The constructor initializes the data members. More... | |
| virtual | ~ReactionsOnly () |
| Empty destructor. | |
| virtual void | initialize (char) |
| Initializes the integrated quantity to zero. | |
| virtual bool | finalize (bool) |
| Finalizes the integrated quantity after element assembly. | |
| virtual bool | assemble (const LocalIntegral *elmObj, int elmId) |
| Adds a LocalIntegral object into a corresponding global object. More... | |
| virtual bool | haveContributions (size_t pidx, const std::vector< Property > &pvec) const |
| Returns true if the patch pidx have any force contributions. More... | |
Public Member Functions inherited from GlobalIntegral | |
| GlobalIntegral () | |
| The default constructor. | |
| virtual | ~GlobalIntegral () |
| Empty destructor. | |
| virtual bool | threadSafe () const |
| Returns true if all elements can be assembled in parallel. | |
Private Attributes | |
| const SAM * | mySam |
| Data for FE assembly management. | |
| const ProcessAdm & | myAdm |
| Parallel processing administrator. | |
| StdVector | b |
| Internal right-hand-side vector used in the force assembly. | |
| RealArray * | R |
| Nodal reaction forces. | |
| Vector * | S |
| Nodal internal forces. | |
Class for assembly of reaction- and interface forces.
This class can be used for linear problems which normally consists of a single assembly loop. For non-linear problems, the reaction forces for a given solution state is calculated during the subsequent iteration where the solution vector of the previous iteration is used. In linear problems we therefore need a separate assembly loop where only the reaction forces are calculated. This class is provided to facilitate such calculations.
The class can also be used to calculate interface force resultants, for boundaries not associated with dirichlet conditions.
| ReactionsOnly::ReactionsOnly | ( | const SAM * | sam, |
| const ProcessAdm & | adm, | ||
| RealArray * | rf = nullptr, |
||
| Vector * | sf = nullptr |
||
| ) |
The constructor initializes the data members.
| [in] | sam | Data for FE assembly management |
| [in] | adm | Parallell processing administrator |
| [in] | rf | Reaction forces to be assembled |
| [in] | sf | Internal force vector to be assembled |
References b, SAM::getNoEquations(), SAM::getNoSpecifiedDOFs(), R, and StdVector::redim().
|
virtual |
Adds a LocalIntegral object into a corresponding global object.
| [in] | elmObj | The local integral object to add into *this. |
| [in] | elmId | Global number of the element associated with elmObj |
Reimplemented from GlobalIntegral.
References SAM::assembleSystem(), b, ElmMats::getRHSVector(), mySam, and R.
|
virtual |
Returns true if the patch pidx have any force contributions.
| [in] | pidx | 1-based patch index |
| [in] | pvec | Physical property mapping |
Reimplemented from GlobalIntegral.