|
|
| SAMpatch () |
| | Empty default constructor.
|
| |
|
virtual | ~SAMpatch () |
| | Empty destructor.
|
| |
| bool | init (const std::vector< ASMbase * > &patches, int numNod, const std::vector< char > &dTypes) |
| | Allocates the dynamic arrays and populates them with data.
|
| |
| bool | updateConstraintEqs (const Vector *prevSol=nullptr) |
| | Updates the multi-point constraint array TTCC.
|
| |
|
std::vector< ASMbase * >::const_iterator | begin () const |
| | Returns the start iterator of the patch container.
|
| |
|
std::vector< ASMbase * >::const_iterator | end () const |
| | Returns the end iterator of the patch container.
|
| |
|
size_t | getNoPatches () const |
| | Returns the number of patches in model.
|
| |
| virtual bool | merge (const SAM *other, const std::map< int, int > *old2new) |
| | Merges the assembly data from another SIM with this.
|
| |
|
| SAM () |
| | The constructor initializes an empty object.
|
| |
|
virtual | ~SAM () |
| | The destructor frees the dynamically allocated arrays.
|
| |
|
void | print (std::ostream &os) const |
| | Prints out the key data to the given stream.
|
| |
|
template<class T > |
| void | printVector (T &os, const RealArray &vec, const char *heading=nullptr) const |
| | Prints out a nodal DOF vector to the given stream.
|
| |
|
int | getNoElms () const |
| | Returns the number of elements in the model.
|
| |
| int | getNoNodes (char dofType='A') const |
| | Returns the number of FE nodes in the model.
|
| |
|
int | getNoDOFs () const |
| | Returns the total number of DOFs in the model.
|
| |
|
int | getNoSpecifiedDOFs () const |
| | Returns the number of specified DOFs in the model.
|
| |
|
int | getNoConstraints () const |
| | Returns the total number of constraint equations in the model.
|
| |
|
int | getNoEquations () const |
| | Returns the number of equations (free DOFs) in the model.
|
| |
| IntSet | getEquations (char dType, int dof=0) const |
| | Returns the equations numbers for a given DOF type.
|
| |
|
const int * | getMADOF () const |
| | Returns the Matrix of Accumulated DOFs.
|
| |
|
const int * | getMEQN () const |
| | Returns the Matrix of EQuation Numbers.
|
| |
| void | getDofCouplings (IntVec &irow, IntVec &jcol) const |
| | Computes the sparse structure (DOF couplings) in the system matrix.
|
| |
|
void | getDofCouplings (std::vector< IntSet > &dofc) const |
| | Finds the set of free DOFs coupled to each free DOF.
|
| |
| bool | assembleSystem (SystemMatrix &sysK, SystemVector &sysRHS, const Matrix &eK, int iel=0, RealArray *reactionForces=nullptr) const |
| | Adds an element stiffness matrix into the system stiffness matrix.
|
| |
| bool | assembleSystem (SystemMatrix &sysM, const Matrix &eM, int iel=0) const |
| | Adds an element matrix into the corresponding system matrix.
|
| |
| bool | assembleSystem (SystemVector &sysRHS, const Matrix &eK, int iel=0, RealArray *reactionForces=nullptr) const |
| | Adds element stiffness contributions to the system load vector.
|
| |
| bool | assembleSystem (SystemVector &sysRHS, const RealArray &eS, int iel=0, RealArray *reactionForces=nullptr) const |
| | Adds an element load vector into the system load vector.
|
| |
| bool | assembleSystem (SystemVector &sysRHS, const Real *nS, int inod=0, RealArray *reactionForces=nullptr) const |
| | Adds a node load vector into the system load vector.
|
| |
| bool | assembleSystem (SystemVector &sysRHS, Real S, const std::pair< int, int > &dof) const |
| | Adds a node load vector into the system load vector.
|
| |
| void | addToRHS (SystemVector &sysRHS, const RealArray &S) const |
| | Adds a global load vector into the system load vector.
|
| |
| bool | getElmNodes (IntVec &mnpc, int iel) const |
| | Finds the matrix of nodal point correspondance for an element.
|
| |
| bool | getElmEqns (IntVec &meen, int iel, size_t nedof=0) const |
| | Finds the matrix of equation numbers for an element.
|
| |
| void | getUniqueEqns (IntSet &meen, int iel) const |
| | Finds the set of unique equation numbers for an element.
|
| |
| bool | getNodeEqns (IntVec &mnen, int inod) const |
| | Finds the matrix of equation numbers for a node.
|
| |
| char | getNodeType (int inod) const |
| | Returns the DOF classification of a given node.
|
| |
| std::pair< int, int > | getNodeDOFs (int inod) const |
| | Returns the first and last DOFs for a node.
|
| |
| std::pair< int, int > | getNodeAndLocalDof (int idof, bool eqno=false) const |
| | Returns the internal node number and local index for a global DOF.
|
| |
| int | getEquation (int inod, int ldof) const |
| | Finds the equation number corresponding to a local nodal DOF.
|
| |
| Real | getDofVal (const RealArray &dofVec, int inod, int ldof) const |
| | Returns specified solution component from a global solution vector.
|
| |
| virtual bool | expandSolution (const SystemVector &solVec, Vector &dofVec, Real scaleSD=Real(1)) const |
| | Expands a solution vector from equation-ordering to DOF-ordering.
|
| |
| bool | expandVector (const Vector &solVec, Vector &dofVec) const |
| | Expands a solution vector from equation-ordering to DOF-ordering.
|
| |
| bool | getSolVec (RealArray &solVec, const RealArray &dofVec) const |
| | Extracts equation-ordered solution vector from DOF-ordered vector.
|
| |
| bool | applyDirichlet (Vector &dofVec) const |
| | Applies the non-homogenous Dirichlet BCs to the given vector.
|
| |
| virtual Real | dot (const Vector &x, const Vector &y, char dofType='D') const |
| | Computes the dot-product of two vectors of length NDOF.
|
| |
| Real | norm2 (const Vector &x, char dofType='D') const |
| | Computes the l2-norm of a vector of length NDOF.
|
| |
| virtual Real | normL2 (const Vector &x, char dofType='D') const |
| | Computes the L2-norm of a vector of length NDOF.
|
| |
| virtual Real | normInf (const Vector &x, size_t &comp, char dofType='D') const |
| | Computes the L_infinity-norm of a vector of length NDOF.
|
| |
| virtual Real | normReact (const RealArray &u, const RealArray &rf) const |
| | Computes the energy norm contributions from nodal reaction forces.
|
| |
| Real | getReaction (int dir, const RealArray &rf, const IntVec *nodes=nullptr) const |
| | Returns the total reaction force in the given coordinate direction.
|
| |
| bool | haveReaction (int dir, const IntVec *nodes=nullptr) const |
| | Checks for total reaction force in the given coordinate direction.
|
| |
| bool | getNodalReactions (int inod, const RealArray &rf, RealArray &nrf) const |
| | Returns a vector of reaction forces for a given node.
|
| |
This is a sub-class of SAM with added functionality for spline models.
It contains some additional methods for initializing the SAM data for an FE model based on a set of ASMbase patches.