|
ESyS-Particle
2.3.4
|
class for edge in 2D "mesh" More...
#include <Edge2D.h>


Public Types | |
| typedef Vec3(Edge2D::* | VectorFieldFunction) () const |
| typedef double(Edge2D::* | ScalarFieldFunction) () const |
Public Member Functions | |
| Edge2D (int, int, const Vec3 &, const Vec3 &, int, int) | |
| void | moveNode (int, const Vec3 &) |
| int | getID () |
| void | applyForce (const Vec3 &f) |
| void | zeroForce () |
| Vec3 | getNormal () const |
| Vec3 | toGlobal (const Vec3 &) |
| Vec3 | toLocal (const Vec3 &) |
| pair< int, Vec3 > | getP0 () const |
| pair< int, Vec3 > | getP1 () const |
| Vec3 | getForce () const |
| Vec3 | getForceDensity () const |
| double | getPressure () const |
| void | print () |
Public Member Functions inherited from AEdge | |
| AEdge (const Vec3 &, const Vec3 &) | |
| virtual | ~AEdge () |
| double | sep (const Vec3 &) const |
| pair< bool, double > | dist (const Vec3 &) const |
| Vec3 | getBoundingBoxMin () const |
| Vec3 | getBoundingBoxMax () const |
Static Public Member Functions | |
| static VectorFieldFunction | getVectorFieldFunction (const string &) |
| static ScalarFieldFunction | getScalarFieldFunction (const string &) |
Private Attributes | |
| Vec3 | m_normal |
| Vec3 | m_force |
| int | m_id0 |
| int | m_id1 |
| int | m_edge_id |
| int | m_tag |
Friends | |
| ostream & | operator<< (ostream &, const Edge2D &) |
| output for debugging purposes More... | |
Additional Inherited Members | |
Protected Attributes inherited from AEdge | |
| Vec3 | m_p0 |
| Vec3 | m_p1 |
class for edge in 2D "mesh"
| typedef double(Edge2D::* Edge2D::ScalarFieldFunction) () const |
| typedef Vec3(Edge2D::* Edge2D::VectorFieldFunction) () const |
construct Edge from corner coordinates. Make sure Z=0 for all corners
| id0 | id of the first corner |
| id1 | id of the 2nd corner |
| v0 | first corner |
| v1 | second corner |
| ed_id | edge id |
| tag | edge tag |
References cross(), m_edge_id, m_force, m_id0, m_id1, m_normal, AEdge::m_p0, AEdge::m_p1, m_tag, Vec3::unit(), and Vec3::Z().

|
inline |
References m_force.
Referenced by BEdge2DInteraction::calcForces().

|
inline |
References m_force.
Referenced by getVectorFieldFunction().

|
inline |
References m_force, AEdge::m_p0, and AEdge::m_p1.
Referenced by TSubLattice< T >::getMesh2DStress(), and getVectorFieldFunction().

|
inline |
References m_edge_id.
Referenced by BEdge2DInteraction::BEdge2DInteraction().

|
inline |
References m_normal.
Referenced by EEdge2DInteraction::calcForces().

|
inline |
References m_id0, and AEdge::m_p0.
|
inline |
References m_id1, and AEdge::m_p1.
| double Edge2D::getPressure | ( | ) | const |
Get pressure on the edge from interaction forces
References m_force, m_normal, AEdge::m_p0, and AEdge::m_p1.
Referenced by getScalarFieldFunction().

|
static |
Get the Edge2D member function which returns a scalar field of a given name. Returns NULL if a field with that name doesn't exist.
| name | the name of the field |
References getPressure(), and NULL.

|
static |
Get the Edge2D member function which returns a vector field of a given name. Returns NULL if a field with that name doesn't exist.
| name | the name of the field |
References getForce(), getForceDensity(), and NULL.
Referenced by TSubLattice< T >::addVectorTriangleField().


| void Edge2D::moveNode | ( | int | id, |
| const Vec3 & | d | ||
| ) |
Move one of the corners. The identifier for the corner is the global node id. If the node with the id is not in the edge do nothing.
| id | the global id of the node to be moved |
| d | the amount of movement |
References cross(), m_id0, m_id1, m_normal, AEdge::m_p0, AEdge::m_p1, and Vec3::unit().

| void Edge2D::print | ( | ) |
output Edge2D to cout
References m_normal, AEdge::m_p0, and AEdge::m_p1.
convert point in local coords to global coords
| p | the point in local coords |
References m_normal, AEdge::m_p0, AEdge::m_p1, Vec3::X(), and Vec3::Y().
Referenced by BEdge2DInteraction::calcForces(), and BEdge2DInteraction::getAP().


convert point in global coords into local (x,y,0) coords
| p | the point in global coords |
References m_normal, AEdge::m_p0, AEdge::m_p1, and Vec3::norm2().
Referenced by BEdge2DInteraction::BEdge2DInteraction().


|
inline |
References m_force.
|
friend |
output for debugging purposes
output Edge2D to ostream
|
private |
Referenced by applyForce(), Edge2D(), getForce(), getForceDensity(), getPressure(), and zeroForce().
|
private |
Referenced by Edge2D(), getP0(), and moveNode().
|
private |
Referenced by Edge2D(), getP1(), and moveNode().
|
private |
Referenced by Edge2D(), getNormal(), getPressure(), moveNode(), operator<<(), print(), toGlobal(), and toLocal().
|
private |
Referenced by Edge2D().