OpenMD 3.0
Molecular Dynamics in the Open
Loading...
Searching...
No Matches
OpenMD::Ellipsoid Class Reference

An ellipsoid in OpenMD is restricted to having two equal equatorial semi-axes. More...

#include <Ellipsoid.hpp>

+ Inheritance diagram for OpenMD::Ellipsoid:

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 bool isComposite ()
 
virtual bool isSpherical ()
 
virtual bool isMesh ()
 
virtual HydroPropgetHydroProp (RealType viscosity)
 
RealType getRAxial ()
 
RealType getREquatorial ()
 
RealType getRMajor ()
 
RealType getRMinor ()
 
virtual Vector3d getOrigin ()
 
Mat3x3d getRotMat ()
 
- Public Member Functions inherited from OpenMD::Shape
std::string getName ()
 
void setName (const std::string name)
 

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 68 of file Ellipsoid.hpp.

Constructor & Destructor Documentation

◆ Ellipsoid()

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

Definition at line 52 of file Ellipsoid.cpp.

Member Function Documentation

◆ getBoundingBox()

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

Implements OpenMD::Shape.

Definition at line 82 of file Ellipsoid.cpp.

◆ getHydroProp()

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

Implements OpenMD::Shape.

Definition at line 92 of file Ellipsoid.cpp.

◆ getOrigin()

virtual Vector3d OpenMD::Ellipsoid::getOrigin ( )
inlinevirtual

Implements OpenMD::Shape.

Definition at line 85 of file Ellipsoid.hpp.

◆ getRAxial()

RealType OpenMD::Ellipsoid::getRAxial ( )
inline

Definition at line 81 of file Ellipsoid.hpp.

◆ getREquatorial()

RealType OpenMD::Ellipsoid::getREquatorial ( )
inline

Definition at line 82 of file Ellipsoid.hpp.

◆ getRMajor()

RealType OpenMD::Ellipsoid::getRMajor ( )
inline

Definition at line 83 of file Ellipsoid.hpp.

◆ getRMinor()

RealType OpenMD::Ellipsoid::getRMinor ( )
inline

Definition at line 84 of file Ellipsoid.hpp.

◆ getRotMat()

Mat3x3d OpenMD::Ellipsoid::getRotMat ( )
inline

Definition at line 86 of file Ellipsoid.hpp.

◆ hasAnalyticalSolution()

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

Implements OpenMD::Shape.

Definition at line 74 of file Ellipsoid.hpp.

◆ isComposite()

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

Implements OpenMD::Shape.

Definition at line 75 of file Ellipsoid.hpp.

◆ isInterior()

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

Implements OpenMD::Shape.

Definition at line 65 of file Ellipsoid.cpp.

◆ isMesh()

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

Implements OpenMD::Shape.

Definition at line 77 of file Ellipsoid.hpp.

◆ isSpherical()

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

Implements OpenMD::Shape.

Definition at line 76 of file Ellipsoid.hpp.


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