|
Phyth v0.1.0
A dimensional safe C++ header-only mechanics and electromagnetics simulation library.
|
Uniform surface traction on a rectangular patch. More...
#include <SurfaceForce.hpp>


Private Member Functions | |
| Matrix3x3< Quantity< Pascal > > | NumericalIntegrateStress (const Vector3< Quantity< Meter > > &point, const int nu, const int nv) const |
| Numerical integration of stress over the surface. | |
Private Attributes | |
| Vector3< Quantity< Meter > > | center_ |
| Vector3< Scalar > | u_axis_ |
| Vector3< Scalar > | v_axis_ |
| Quantity< Meter > | width_ |
| Quantity< Meter > | height_ |
| Vector3< Quantity< Pascal > > | traction_ |
| IsotropicMaterial | material_ |
Uniform surface traction on a rectangular patch.
SurfaceForce represents a traction distribution on a flat rectangular surface. The stress field is computed by numerical integration using the midpoint rule with configurable resolution.
Example:
Definition at line 29 of file SurfaceForce.hpp.
|
inlineexplicitnoexcept |
Construct a rectangular surface traction.
| center | Center of the rectangle |
| u_axis | Direction of the width axis (unit vector) |
| v_axis | Direction of the height axis (unit vector) |
| width | Length along u_axis |
| height | Length along v_axis |
| traction | Uniform traction vector |
| material | Material properties |
u_axis and v_axis must be orthogonal. This is checked at runtime.
Definition at line 44 of file SurfaceForce.hpp.
|
inlineoverridevirtual |
Get the force vector at a point.
Surface force is distributed, so returns zero at any single point.
Implements Phyth::Mechanics::ForceSource.
Definition at line 80 of file SurfaceForce.hpp.
|
inlineoverridevirtual |
Get the minimum distance from a point to the rectangular surface.
| point | Position to compute distance from |
Implements Phyth::Mechanics::ForceSource.
Definition at line 101 of file SurfaceForce.hpp.
|
inlineoverridevirtual |
Compute stress tensor at a point using numerical integration.
| point | Position to evaluate |
Implements Phyth::Mechanics::ForceSource.
Definition at line 69 of file SurfaceForce.hpp.
|
inlineoverridevirtual |
Get the total force of this source.
Implements Phyth::Mechanics::ForceSource.
Definition at line 91 of file SurfaceForce.hpp.
Get the traction vector.
Definition at line 118 of file SurfaceForce.hpp.
|
inlineprivate |
Numerical integration of stress over the surface.
Uses the midpoint rule with nu * nv segments. Each segment contributes dsigma = Kelvin(dF) where dF = traction * dA.
| point | Evaluation point |
| nu | Number of segments along u axis |
| nv | Number of segments along v axis |
Definition at line 147 of file SurfaceForce.hpp.
|
inline |
Set the traction vector.
Definition at line 125 of file SurfaceForce.hpp.
Definition at line 130 of file SurfaceForce.hpp.
Definition at line 132 of file SurfaceForce.hpp.
|
private |
Definition at line 134 of file SurfaceForce.hpp.
Definition at line 133 of file SurfaceForce.hpp.
Definition at line 131 of file SurfaceForce.hpp.
Definition at line 131 of file SurfaceForce.hpp.
Definition at line 132 of file SurfaceForce.hpp.