IFEM 90A354
ForceIntegrator.h
Go to the documentation of this file.
1// $Id$
2//==============================================================================
12//==============================================================================
13
14#ifndef _FORCE_INTEGRATOR_H
15#define _FORCE_INTEGRATOR_H
16
17#include "MatVec.h"
18
19class SIMbase;
20class Vec3;
21class ForceBase;
22class GlbForceVec;
23struct TimeDomain;
24
25
26namespace SIM
27{
35 Vector getBoundaryForce(const Vectors& solution, SIMbase* model, int code,
36 const TimeDomain& time, const RealArray* X0);
44 Vector getBoundaryForce(const Vectors& solution, SIMbase* model, int code,
45 const TimeDomain& time, const Vec3* X0 = nullptr);
46
53 bool getNodalForces(const Vectors& solution, SIMbase* model, int code,
54 const TimeDomain& time, GlbForceVec& force);
55
60 bool initBoundaryNodeMap(SIMbase* model, int code, GlbForceVec& force);
61
70 bool integrate(const Vectors& solution, SIMbase* model, int code,
71 const TimeDomain& time, ForceBase* forceInt,
72 GlbForceVec* force = nullptr);
73}
74
75#endif
std::vector< Real > RealArray
A real-valued array without algebraic operations.
Definition ImmersedBoundaries.h:32
Global algebraic operations on index 1-based matrices and vectors.
std::vector< Vector > Vectors
An array of real-valued vectors with algebraic operations.
Definition MatVec.h:37
Base class representing a system level boundary force quantity.
Definition IntegrandBase.h:534
Class for storage of a global nodal force vector with assembly methods.
Definition GlbForceVec.h:31
Base class for NURBS-based FEM simulators.
Definition SIMbase.h:72
Simple class for representing a point in 3D space.
Definition Vec3.h:27
A vector class with some added algebraic operations.
Definition matrix.h:64
Simulation scope.
Definition ForceIntegrator.h:27
bool initBoundaryNodeMap(SIMbase *model, int code, GlbForceVec &force)
Detects the global nodes that reside on a specified boundary.
Definition ForceIntegrator.C:83
bool getNodalForces(const Vectors &solution, SIMbase *model, int code, const TimeDomain &time, GlbForceVec &force)
Integrates nodal forces on a specified boundary.
Definition ForceIntegrator.C:61
Vector getBoundaryForce(const Vectors &solution, SIMbase *model, int code, const TimeDomain &time, const RealArray *X0)
Integrates the force resultant on a specified boundary.
Definition ForceIntegrator.C:23
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.
Definition ForceIntegrator.C:91
Struct representing the time domain.
Definition TimeDomain.h:23