OpenMD  2.5
Molecular Dynamics in the Open
OpenMD::Triangle Class Reference

#include <Triangle.hpp>

Public Member Functions

 Triangle ()
 
virtual ~Triangle ()
 
void setNormal (Vector3d normal)
 
void setUnitNormal (Vector3d normal)
 
void addVertices (Vector3d P1, Vector3d P2, Vector3d P3)
 
void addVertexSD (StuntDouble *thisSD)
 
std::vector< StuntDouble * > getVertices ()
 
void setArea (RealType area)
 
Vector3d getNormal ()
 
Vector3d getUnitNormal ()
 
RealType getArea ()
 
RealType computeArea ()
 
Vector3d computeNormal ()
 
Vector3d computeCentroid ()
 
Vector3d computeUnitNormal ()
 
void setCentroid (Vector3d centroid)
 
Vector3d getCentroid ()
 
Vector3d getFacetVelocity ()
 
void setFacetVelocity (Vector3d facetVelocity)
 
void setFacetMass (RealType mass)
 
RealType getFacetMass ()
 
RealType a ()
 
RealType b ()
 
RealType c ()
 
RealType getHydroLength ()
 
RealType getIncircleRadius ()
 
RealType getCircumcircleRadius ()
 
Mat3x3d computeHydrodynamicTensor (RealType viscosity)
 

Private Member Functions

Mat3x3d hydro_tensor (const Vector3d &ri, const Vector3d &rj0, const Vector3d &rj1, const Vector3d &rj2, RealType s, RealType viscosity)
 

Private Attributes

std::vector< StuntDouble * > vertexSD_
 
Vector3d normal_
 
Vector3d unitnormal_
 
Vector3d centroid_
 
Vector3d vertices_ [3]
 
RealType area_
 
RealType mass_
 
Vector3d facetVelocity_
 
Vector3d a_
 
Vector3d b_
 
Vector3d c_
 
RealType alpha_
 
RealType beta_
 
RealType gamma_
 
bool HaveArea_
 
bool HaveNormal_
 
bool HaveUnitNormal_
 
bool HaveCentroid_
 

Detailed Description

Triangle provides geometric data to OpenMD. Triangle includes information about the normal, centroid and the atoms that belong to this triangle.

Definition at line 72 of file Triangle.hpp.

Constructor & Destructor Documentation

◆ Triangle()

Triangle::Triangle ( )

Definition at line 56 of file Triangle.cpp.

◆ ~Triangle()

virtual OpenMD::Triangle::~Triangle ( )
inlinevirtual

Definition at line 76 of file Triangle.hpp.

Member Function Documentation

◆ a()

RealType OpenMD::Triangle::a ( )
inline

◆ addVertexSD()

void OpenMD::Triangle::addVertexSD ( StuntDouble thisSD)
inline

Definition at line 89 of file Triangle.hpp.

References vertexSD_.

Referenced by OpenMD::AlphaHull::computeHull(), and OpenMD::ConvexHull::computeHull().

◆ addVertices()

void Triangle::addVertices ( Vector3d  P1,
Vector3d  P2,
Vector3d  P3 
)

Definition at line 62 of file Triangle.cpp.

References a_, b_, c_, and vertices_.

Referenced by OpenMD::AlphaHull::computeHull(), OpenMD::ConvexHull::computeHull(), and setUnitNormal().

◆ b()

RealType OpenMD::Triangle::b ( )
inline

◆ c()

RealType OpenMD::Triangle::c ( )
inline

◆ computeArea()

RealType Triangle::computeArea ( )

Definition at line 74 of file Triangle.cpp.

References area_, getNormal(), HaveArea_, and OpenMD::Vector< Real, Dim >::length().

Referenced by getArea().

◆ computeCentroid()

Vector3d Triangle::computeCentroid ( )

Definition at line 93 of file Triangle.cpp.

References centroid_, HaveCentroid_, and vertices_.

Referenced by getArea(), and getCentroid().

◆ computeHydrodynamicTensor()

Mat3x3d Triangle::computeHydrodynamicTensor ( RealType  viscosity)

◆ computeNormal()

Vector3d Triangle::computeNormal ( )

Definition at line 80 of file Triangle.cpp.

References a_, b_, OpenMD::cross(), HaveNormal_, and normal_.

Referenced by getArea(), and getNormal().

◆ computeUnitNormal()

Vector3d Triangle::computeUnitNormal ( )

◆ getArea()

◆ getCentroid()

Vector3d OpenMD::Triangle::getCentroid ( )
inline

◆ getCircumcircleRadius()

RealType OpenMD::Triangle::getCircumcircleRadius ( )
inline

Definition at line 184 of file Triangle.hpp.

References a(), b(), c(), computeHydrodynamicTensor(), and hydro_tensor().

◆ getFacetMass()

RealType OpenMD::Triangle::getFacetMass ( )
inline

Definition at line 153 of file Triangle.hpp.

References mass_.

◆ getFacetVelocity()

Vector3d OpenMD::Triangle::getFacetVelocity ( )
inline

Definition at line 141 of file Triangle.hpp.

References facetVelocity_.

Referenced by OpenMD::LangevinHullForceManager::postCalculation().

◆ getHydroLength()

RealType OpenMD::Triangle::getHydroLength ( )
inline

Definition at line 169 of file Triangle.hpp.

References a(), b(), and c().

◆ getIncircleRadius()

RealType OpenMD::Triangle::getIncircleRadius ( )
inline

Definition at line 180 of file Triangle.hpp.

References a(), b(), c(), and getArea().

◆ getNormal()

Vector3d OpenMD::Triangle::getNormal ( )
inline

Definition at line 100 of file Triangle.hpp.

References computeNormal(), HaveNormal_, and normal_.

Referenced by computeArea().

◆ getUnitNormal()

Vector3d OpenMD::Triangle::getUnitNormal ( )
inline

◆ getVertices()

std::vector<StuntDouble*> OpenMD::Triangle::getVertices ( )
inline

◆ hydro_tensor()

Mat3x3d Triangle::hydro_tensor ( const Vector3d ri,
const Vector3d rj0,
const Vector3d rj1,
const Vector3d rj2,
RealType  s,
RealType  viscosity 
)
private

◆ setArea()

void OpenMD::Triangle::setArea ( RealType  area)
inline

Definition at line 95 of file Triangle.hpp.

References area_, and HaveArea_.

Referenced by OpenMD::ConvexHull::computeHull().

◆ setCentroid()

void OpenMD::Triangle::setCentroid ( Vector3d  centroid)
inline

Definition at line 128 of file Triangle.hpp.

References centroid_, and HaveCentroid_.

Referenced by OpenMD::ConvexHull::computeHull().

◆ setFacetMass()

void OpenMD::Triangle::setFacetMass ( RealType  mass)
inline

Definition at line 149 of file Triangle.hpp.

References mass_.

Referenced by OpenMD::AlphaHull::computeHull(), and OpenMD::ConvexHull::computeHull().

◆ setFacetVelocity()

void OpenMD::Triangle::setFacetVelocity ( Vector3d  facetVelocity)
inline

Definition at line 145 of file Triangle.hpp.

References facetVelocity_.

Referenced by OpenMD::AlphaHull::computeHull(), and OpenMD::ConvexHull::computeHull().

◆ setNormal()

void OpenMD::Triangle::setNormal ( Vector3d  normal)
inline

Definition at line 78 of file Triangle.hpp.

References HaveNormal_, and normal_.

◆ setUnitNormal()

void OpenMD::Triangle::setUnitNormal ( Vector3d  normal)
inline

Definition at line 82 of file Triangle.hpp.

References addVertices(), HaveUnitNormal_, and unitnormal_.

Referenced by OpenMD::ConvexHull::computeHull().

Member Data Documentation

◆ a_

Vector3d OpenMD::Triangle::a_
private

◆ alpha_

RealType OpenMD::Triangle::alpha_
private

Definition at line 212 of file Triangle.hpp.

◆ area_

RealType OpenMD::Triangle::area_
private

Definition at line 207 of file Triangle.hpp.

Referenced by computeArea(), getArea(), and setArea().

◆ b_

Vector3d OpenMD::Triangle::b_
private

◆ beta_

RealType OpenMD::Triangle::beta_
private

Definition at line 212 of file Triangle.hpp.

◆ c_

Vector3d OpenMD::Triangle::c_
private

Definition at line 211 of file Triangle.hpp.

Referenced by addVertices(), c(), and computeHydrodynamicTensor().

◆ centroid_

Vector3d OpenMD::Triangle::centroid_
private

Definition at line 205 of file Triangle.hpp.

Referenced by computeCentroid(), computeHydrodynamicTensor(), getCentroid(), and setCentroid().

◆ facetVelocity_

Vector3d OpenMD::Triangle::facetVelocity_
private

Definition at line 209 of file Triangle.hpp.

Referenced by getFacetVelocity(), and setFacetVelocity().

◆ gamma_

RealType OpenMD::Triangle::gamma_
private

Definition at line 212 of file Triangle.hpp.

◆ HaveArea_

bool OpenMD::Triangle::HaveArea_
private

Definition at line 213 of file Triangle.hpp.

Referenced by computeArea(), getArea(), and setArea().

◆ HaveCentroid_

bool OpenMD::Triangle::HaveCentroid_
private

Definition at line 216 of file Triangle.hpp.

Referenced by computeCentroid(), getCentroid(), and setCentroid().

◆ HaveNormal_

bool OpenMD::Triangle::HaveNormal_
private

Definition at line 214 of file Triangle.hpp.

Referenced by computeNormal(), getNormal(), and setNormal().

◆ HaveUnitNormal_

bool OpenMD::Triangle::HaveUnitNormal_
private

Definition at line 215 of file Triangle.hpp.

Referenced by computeUnitNormal(), getUnitNormal(), and setUnitNormal().

◆ mass_

RealType OpenMD::Triangle::mass_
private

Definition at line 208 of file Triangle.hpp.

Referenced by getFacetMass(), and setFacetMass().

◆ normal_

Vector3d OpenMD::Triangle::normal_
private

Definition at line 203 of file Triangle.hpp.

Referenced by computeNormal(), getNormal(), and setNormal().

◆ unitnormal_

Vector3d OpenMD::Triangle::unitnormal_
private

Definition at line 204 of file Triangle.hpp.

Referenced by computeUnitNormal(), getUnitNormal(), and setUnitNormal().

◆ vertexSD_

std::vector<StuntDouble*> OpenMD::Triangle::vertexSD_
private

Definition at line 202 of file Triangle.hpp.

Referenced by addVertexSD(), and getVertices().

◆ vertices_

Vector3d OpenMD::Triangle::vertices_[3]
private

Definition at line 206 of file Triangle.hpp.

Referenced by addVertices(), computeCentroid(), and computeHydrodynamicTensor().


The documentation for this class was generated from the following files: