RobWorkProject
24.12.4-
|
Base class for discrete beam geometries. More...
#include <BeamGeometry.hpp>
Inherited by BeamGeometryCuboid.
Public Member Functions | |
BeamGeometry (double L, const std::vector< double > &Exvec, const std::vector< double > &vxvec, const std::vector< double > &rhovec, const rw::math::Transform3D<> &wTb, const rw::math::Vector3D<> &G) | |
Constructor for the BeamGeometry class. More... | |
void | setTransform (const rw::math::Transform3D<> &T) |
Sets the homogeneous transform of the beam. More... | |
rw::math::Transform3D | getTransform (void) const |
Retrieves the world to beam base transform of the beam. More... | |
void | setG (const rw::math::Vector3D<> &G) |
sets the directional vector of gravity More... | |
rw::math::Vector3D | getG (void) const |
retrieves the directional vector of gravity More... | |
Methods for retrieving material parameters | |
double | Ex (const int i) const |
returns the value of Young's modulus at x = i * h More... | |
double | vx (const int i) const |
returns the value of Poisson's ratio at x = i * h More... | |
double | rho (const int i) const |
returns the value of the mass density at x = i * h More... | |
double | kappa (const int i) const |
returns the kappa coefficient at x = i * h More... | |
double | g1 (void) const |
returns the x-component of vector of gravity for the current configuration of the beam More... | |
double | g2 (void) const |
returns the y-component of vector of gravity for the current configuration of the beam More... | |
Integrals to be evaluate by derived classes | |
virtual double | b0 (const int i) const =0 |
Evaluate the \(b_0\) integral. More... | |
virtual double | b1 (const int i) const =0 |
Evaluate the \(b_1\) integral. More... | |
virtual double | c2 (const int i) const =0 |
Evaluate the \( c_2 \) integral. More... | |
virtual double | c3 (const int i) const =0 |
Evaluate the \( c_3 \) integral. More... | |
virtual double | c4 (const int i) const =0 |
Evaluate the \( c_4 \) integral. More... | |
virtual double | B0 (const int i) const =0 |
evaluate the \( B_0 \) constant More... | |
double | get_a (void) const |
return left boundary of domain More... | |
double | get_b (void) const |
return right boundary of domain More... | |
double | get_h (void) const |
return stepsize More... | |
double | getL (void) const |
return length of beam More... | |
int | getM (void) const |
return number of cross sections in beam More... | |
std::ostream & | operator<< (std::ostream &out, const BeamGeometry &obj) |
Base class for discrete beam geometries.
BeamGeometry | ( | double | L, |
const std::vector< double > & | Exvec, | ||
const std::vector< double > & | vxvec, | ||
const std::vector< double > & | rhovec, | ||
const rw::math::Transform3D<> & | wTb, | ||
const rw::math::Vector3D<> & | G | ||
) |
Constructor for the BeamGeometry class.
L | length of object |
Exvec | vector of Young's modulus for each cross beam cros section, in MPa |
vxvec | vector of Poisson's ratio for each cross beam cros section |
rhovec | vector of mass density for each cross beam cros section, in kg/mm^3 |
wTb | world to base of beam transform |
G | vector of gravity, m/s^2 |
|
pure virtual |
Evaluate the \(b_0\) integral.
Evaluate the \(b_0\) integral, defined as
\[ b_0 = \int \int_{A(x)} \rho (x, y, z) y^0 dz dy \]
at \(x = i h\)
i | index at which to evaluate the integral |
Implemented in BeamGeometryCuboid.
|
pure virtual |
evaluate the \( B_0 \) constant
\[ B_0(x) = B_0^*(L) - B_0^*(x) \]
with
\[ B_0^*(x) = \int_0^x b_0(s) ds \]
i | index at which to evaluate the integral |
Implemented in BeamGeometryCuboid.
|
pure virtual |
Evaluate the \(b_1\) integral.
Evaluate the \(b_1\) integral, defined as
\[ b_1 = \int \int_{A(x)} \rho (x, y, z) y^1 dz dy \]
at \(x = i h\)
i | index at which to evaluate the integral |
Implemented in BeamGeometryCuboid.
|
pure virtual |
Evaluate the \( c_2 \) integral.
Evaluate the \( c_2 \) integral, defined as
\[ c_2 = \int \int_{A(x)} \frac{K(x,y,z)}{8} y^2 dz dy \]
at \( x = i h \)
i | index at which to evaluate the integral |
Implemented in BeamGeometryCuboid.
|
pure virtual |
Evaluate the \( c_3 \) integral.
Evaluate the \( c_3 \) integral, defined as
\[ c_3 = \int \int_{A(x)} \frac{K(x,y,z)}{8} y^3 dz dy \]
at \( x = i h \)
i | index at which to evaluate the integral |
Implemented in BeamGeometryCuboid.
|
pure virtual |
Evaluate the \( c_4 \) integral.
Evaluate the \( c_4 \) integral, defined as
\[ c_4 = \int \int_{A(x)} \frac{K(x,y,z)}{8} y^4 dz dy \]
at \( x = i h \)
i | index at which to evaluate the integral |
Implemented in BeamGeometryCuboid.
double Ex | ( | const int | i | ) | const |
returns the value of Young's modulus at x = i * h
i | index at which to return the value |
double g1 | ( | void | ) | const |
returns the x-component of vector of gravity for the current configuration of the beam
double g2 | ( | void | ) | const |
returns the y-component of vector of gravity for the current configuration of the beam
|
inline |
return left boundary of domain
|
inline |
return right boundary of domain
|
inline |
return stepsize
rw::math::Vector3D getG | ( | void | ) | const |
retrieves the directional vector of gravity
|
inline |
return length of beam
|
inline |
return number of cross sections in beam
rw::math::Transform3D getTransform | ( | void | ) | const |
Retrieves the world to beam base transform of the beam.
double kappa | ( | const int | i | ) | const |
returns the kappa coefficient at x = i * h
Kappa is the coefficient relating the i,k = (1,1) coefficients of strain to stress in a plane stress situation, i.e.
\[ \sigma_{11} = \frac{E}{1 - \nu^2} u_{11} \]
with \( \kappa = \frac{E}{1 - \nu^2} \)
i | index at which to return the value |
double rho | ( | const int | i | ) | const |
returns the value of the mass density at x = i * h
i | index at which to return the value |
void setG | ( | const rw::math::Vector3D<> & | G | ) |
sets the directional vector of gravity
G | directional vector of gravity |
void setTransform | ( | const rw::math::Transform3D<> & | T | ) |
Sets the homogeneous transform of the beam.
T | world to beam base transform |
double vx | ( | const int | i | ) | const |
returns the value of Poisson's ratio at x = i * h
i | index at which to return the value |
|
friend |
outputs the geometry to stream
out | the stream |
obj | the geometry |