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

#include <Ellipsoid.hpp>

Inheritance diagram for OpenMD::Ellipsoid:
OpenMD::Shape

Public Member Functions

 Ellipsoid (Vector3d origin, RealType rAxial, RealType rEquatorial, Mat3x3d rotMat)
 
virtual bool isInterior (Vector3d pos)
 
virtual std::pair< Vector3d, Vector3dgetBoundingBox ()
 
virtual bool hasAnalyticalSolution ()
 
virtual HydroPropgetHydroProp (RealType viscosity, RealType temperature)
 
RealType getRAxial ()
 
RealType getREquatorial ()
 
RealType getRMajor ()
 
RealType getRMinor ()
 
- Public Member Functions inherited from OpenMD::Shape
virtual ~Shape ()
 

Private Attributes

Vector3d origin_
 
RealType rAxial_
 
RealType rEquatorial_
 
RealType rMajor_
 
RealType rMinor_
 
Mat3x3d rotMat_
 

Detailed Description

An ellipsoid in OpenMD is restricted to having two equal equatorial semi-axes. OpenMD treats the "special" axis as the z-coordinate in the body fixed reference frame. That is:

z^2 / a^2 + (x^2 + y^2) / b^2 = 1

If a >= b, the ellipsoid is a prolate spheroid, and if a < b, the ellipsoid is oblate. Ellipsoids are specified in the constructor using an axial length (a), and a equatorial length (b). A Vector3d can be used to position the center of the ellipsoid, and a rotation matrix can also be used to orient the ellipsoid to a preferred lab-fixed coordinate frame.

Definition at line 64 of file Ellipsoid.hpp.

Constructor & Destructor Documentation

◆ Ellipsoid()

OpenMD::Ellipsoid::Ellipsoid ( Vector3d  origin,
RealType  rAxial,
RealType  rEquatorial,
Mat3x3d  rotMat 
)

Definition at line 49 of file Ellipsoid.cpp.

References rAxial_, rEquatorial_, rMajor_, and rMinor_.

Member Function Documentation

◆ getBoundingBox()

std::pair< Vector3d, Vector3d > OpenMD::Ellipsoid::getBoundingBox ( )
virtual

Implements OpenMD::Shape.

Definition at line 79 of file Ellipsoid.cpp.

References origin_, rAxial_, and rEquatorial_.

◆ getHydroProp()

HydroProp * OpenMD::Ellipsoid::getHydroProp ( RealType  viscosity,
RealType  temperature 
)
virtual

◆ getRAxial()

RealType OpenMD::Ellipsoid::getRAxial ( )
inline

Definition at line 73 of file Ellipsoid.hpp.

References rAxial_.

◆ getREquatorial()

RealType OpenMD::Ellipsoid::getREquatorial ( )
inline

Definition at line 74 of file Ellipsoid.hpp.

References rEquatorial_.

◆ getRMajor()

RealType OpenMD::Ellipsoid::getRMajor ( )
inline

Definition at line 75 of file Ellipsoid.hpp.

References rMajor_.

◆ getRMinor()

RealType OpenMD::Ellipsoid::getRMinor ( )
inline

Definition at line 76 of file Ellipsoid.hpp.

References rMinor_.

◆ hasAnalyticalSolution()

virtual bool OpenMD::Ellipsoid::hasAnalyticalSolution ( )
inlinevirtual

Implements OpenMD::Shape.

Definition at line 69 of file Ellipsoid.hpp.

References getHydroProp().

◆ isInterior()

bool OpenMD::Ellipsoid::isInterior ( Vector3d  pos)
virtual

Implements OpenMD::Shape.

Definition at line 62 of file Ellipsoid.cpp.

References origin_, rAxial_, rEquatorial_, and rotMat_.

Member Data Documentation

◆ origin_

Vector3d OpenMD::Ellipsoid::origin_
private

Definition at line 80 of file Ellipsoid.hpp.

Referenced by getBoundingBox(), and isInterior().

◆ rAxial_

RealType OpenMD::Ellipsoid::rAxial_
private

Definition at line 81 of file Ellipsoid.hpp.

Referenced by Ellipsoid(), getBoundingBox(), getHydroProp(), getRAxial(), and isInterior().

◆ rEquatorial_

RealType OpenMD::Ellipsoid::rEquatorial_
private

Definition at line 82 of file Ellipsoid.hpp.

Referenced by Ellipsoid(), getBoundingBox(), getHydroProp(), getREquatorial(), and isInterior().

◆ rMajor_

RealType OpenMD::Ellipsoid::rMajor_
private

Definition at line 83 of file Ellipsoid.hpp.

Referenced by Ellipsoid(), and getRMajor().

◆ rMinor_

RealType OpenMD::Ellipsoid::rMinor_
private

Definition at line 84 of file Ellipsoid.hpp.

Referenced by Ellipsoid(), and getRMinor().

◆ rotMat_

Mat3x3d OpenMD::Ellipsoid::rotMat_
private

Definition at line 85 of file Ellipsoid.hpp.

Referenced by isInterior().


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