|
IFEM
90A354
|
Simulation scope. More...
Enumerations | |
| enum | Formulation { NONE = 0 , LINEAR = 1 , NONLINEAR = 2 } |
| Enum defining various solution formulations that may occur. More... | |
| enum | SolutionMode { INIT = 0 , STATIC = 1 , ARCLEN = 2 , DYNAMIC , VIBRATION , BUCKLING , STIFF_ONLY , MASS_ONLY , RHS_ONLY , INT_FORCES , RECOVERY , NORMS } |
| Enum defining the various solution modes that may occur. | |
| enum | ConvStatus { FAILURE , DIVERGED , SLOW , OK , CONVERGED } |
| Enum defining the various convergence statuses that may occur. More... | |
Functions | |
| Vector | getBoundaryForce (const Vectors &solution, SIMbase *model, int code, const TimeDomain &time, const RealArray *X0) |
| Integrates the force resultant on a specified boundary. More... | |
| Vector | getBoundaryForce (const Vectors &solution, SIMbase *model, int code, const TimeDomain &time, const Vec3 *X0=nullptr) |
| Integrates the force resultant on a specified boundary. More... | |
| bool | getNodalForces (const Vectors &solution, SIMbase *model, int code, const TimeDomain &time, GlbForceVec &force) |
| Integrates nodal forces on a specified boundary. More... | |
| bool | initBoundaryNodeMap (SIMbase *model, int code, GlbForceVec &force) |
| Detects the global nodes that reside on a specified boundary. More... | |
| bool | integrate (const Vectors &solution, SIMbase *model, int code, const TimeDomain &time, ForceBase *forceInt, GlbForceVec *force=nullptr) |
| Integrates a force integrand on a specified topology set. More... | |
Simulation scope.
| enum SIM::ConvStatus |
Enum defining the various convergence statuses that may occur.
| enum SIM::Formulation |
Enum defining various solution formulations that may occur.
Used as a bit field - power of two values only.
| Vector SIM::getBoundaryForce | ( | const Vectors & | solution, |
| SIMbase * | model, | ||
| int | code, | ||
| const TimeDomain & | time, | ||
| const RealArray * | X0 | ||
| ) |
Integrates the force resultant on a specified boundary.
| [in] | solution | Primary solution vectors in DOF order |
| [in] | model | The isogeometric finite element model |
| [in] | code | Code indentifying the boundary subjected to integration |
| [in] | time | Parameters for nonlinear and time-dependent simulations |
| [in] | X0 | Pivot point for torque calculation |
| Vector SIM::getBoundaryForce | ( | const Vectors & | solution, |
| SIMbase * | model, | ||
| int | code, | ||
| const TimeDomain & | time, | ||
| const Vec3 * | X0 = nullptr |
||
| ) |
Integrates the force resultant on a specified boundary.
| [in] | solution | Primary solution vectors in DOF order |
| [in] | model | The isogeometric finite element model |
| [in] | code | Code indentifying the boundary subjected to integration |
| [in] | time | Parameters for nonlinear and time-dependent simulations |
| [in] | X0 | Pivot point for torque calculation |
References ForceBase::assemble(), SIMbase::getBoundaryForceIntegrand(), SIMbase::getNoElms(), ForceBase::initBuffer(), integrate(), and PROFILE1.
| bool SIM::getNodalForces | ( | const Vectors & | solution, |
| SIMbase * | model, | ||
| int | code, | ||
| const TimeDomain & | time, | ||
| GlbForceVec & | force | ||
| ) |
Integrates nodal forces on a specified boundary.
| [in] | solution | Primary solution vectors in DOF order |
| [in] | model | The isogeometric finite element model |
| [in] | code | Code indentifying the boundary subjected to integration |
| [in] | time | Parameters for nonlinear and time-dependent simulations |
| force | Global nodal force container (compressed storage) |
References GlbForceVec::finalize(), SIMbase::getNodalForceIntegrand(), GlbForceVec::initialize(), integrate(), and PROFILE1.
| bool SIM::initBoundaryNodeMap | ( | SIMbase * | model, |
| int | code, | ||
| GlbForceVec & | force | ||
| ) |
Detects the global nodes that reside on a specified boundary.
| [in] | model | The isogeometric finite element model |
| [in] | code | Property code associated with the boundary |
| [out] | force | Global nodal force container (compressed storage) |
References SIMbase::getBoundaryNodes(), SIMbase::getNoSpaceDim(), and GlbForceVec::initNodeMap().
| bool SIM::integrate | ( | const Vectors & | solution, |
| SIMbase * | model, | ||
| int | code, | ||
| const TimeDomain & | time, | ||
| ForceBase * | forceInt, | ||
| GlbForceVec * | force = nullptr |
||
| ) |
Integrates a force integrand on a specified topology set.
| [in] | solution | Primary solution vectors in DOF order |
| [in] | model | The isogeometric finite element model |
| [in] | code | Code indentifying the boundary subjected to integration |
| [in] | time | Parameters for nonlinear and time-dependent simulations |
| [in] | forceInt | The force integrand to integrate |
| [in] | force | If non-nullptr nodal forces are stored here |
References SIMbase::begin_prop(), SIMbase::end_prop(), SIMbase::extractPatchSolution(), SIMbase::getFEModel(), ASMbase::getNoParamDim(), SIMbase::getPatch(), ForceBase::hasBoundaryTerms(), ForceBase::hasInteriorTerms(), ASMbase::integrate(), and SIMbase::setPatchMaterial().
Referenced by getBoundaryForce(), and getNodalForces().