OpenMD 3.2
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, Vector3d > getBoundingBox ()
virtual bool hasAnalyticalSolution ()
virtual bool isComposite ()
virtual bool isSpherical ()
virtual bool isMesh ()
virtual HydroProp * getHydroProp (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 71 of file Ellipsoid.hpp.

Constructor & Destructor Documentation

◆ Ellipsoid()

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

Definition at line 55 of file Ellipsoid.cpp.

Member Function Documentation

◆ getBoundingBox()

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

Implements OpenMD::Shape.

Definition at line 85 of file Ellipsoid.cpp.

◆ getHydroProp()

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

Implements OpenMD::Shape.

Definition at line 95 of file Ellipsoid.cpp.

◆ getOrigin()

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

Implements OpenMD::Shape.

Definition at line 88 of file Ellipsoid.hpp.

◆ getRAxial()

RealType OpenMD::Ellipsoid::getRAxial ( )
inline

Definition at line 84 of file Ellipsoid.hpp.

◆ getREquatorial()

RealType OpenMD::Ellipsoid::getREquatorial ( )
inline

Definition at line 85 of file Ellipsoid.hpp.

◆ getRMajor()

RealType OpenMD::Ellipsoid::getRMajor ( )
inline

Definition at line 86 of file Ellipsoid.hpp.

◆ getRMinor()

RealType OpenMD::Ellipsoid::getRMinor ( )
inline

Definition at line 87 of file Ellipsoid.hpp.

◆ getRotMat()

Mat3x3d OpenMD::Ellipsoid::getRotMat ( )
inline

Definition at line 89 of file Ellipsoid.hpp.

◆ hasAnalyticalSolution()

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

Implements OpenMD::Shape.

Definition at line 77 of file Ellipsoid.hpp.

◆ isComposite()

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

Implements OpenMD::Shape.

Definition at line 78 of file Ellipsoid.hpp.

◆ isInterior()

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

Implements OpenMD::Shape.

Definition at line 68 of file Ellipsoid.cpp.

◆ isMesh()

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

Implements OpenMD::Shape.

Definition at line 80 of file Ellipsoid.hpp.

◆ isSpherical()

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

Implements OpenMD::Shape.

Definition at line 79 of file Ellipsoid.hpp.


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