Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

PolyGeom Class Reference

#include <PolyGeom.H>

Collaboration diagram for PolyGeom:

Collaboration graph
[legend]
List of all members.

Public Methods

 PolyGeom ()
 ~PolyGeom ()

Static Public Methods

void setTolerance (const Real &a_tolerance)
void setVectDx (const RealVect &a_vectDx)
void setVolumeTolerance (const Real &a_tolerance)
void setAreaTolerance (const Real &a_tolerance)
void setLengthTolerance (const Real &a_tolerance)
RealVect cross (const RealVect &a_xvec1, const RealVect &a_xvec0)
Real dot (const RealVect &a_xvec1, const RealVect &a_xvec0)
const RealgetTolerance ()
const RealVectgetVectDx ()
const RealgetVolumeTolerance ()
const RealgetAreaTolerance ()
const RealgetLengthTolerance ()
RealVect normal (const VolIndex &a_vof, const EBISBox &a_ebisBox, const Real &a_bndryArea)
Real bndryArea (const VolIndex &a_vof, const EBISBox &a_ebisBox)
Real computeAlpha (const Real &a_volFrac, const RealVect &a_normal)
Real computeVolume (const Real &a_alpha, const RealVect &a_normal)
void computeNormalAndAlpha (Real &a_alpha, RealVect &a_normal, const int &a_upDir, const Tuple< RealVect, CH_SPACEDIM > &a_poly)
Real matrixSolveComp (const Vector< Vector< Real > > &a_A, const Vector< Real > &a_rhs, const int &a_icomp)
Real determinant (const Vector< Vector< Real > > &a_A)
Real sAndZVolume (const Real &a_alpha, const RealVect &a_normal)
void sortVector (RealVect &vect, IntVect &ivmap)
void posifyVector (RealVect &vect, IntVect &signs)
 make vector all pos and return the signs

void unifyVector (RealVect &normal, Real &sumSquare)
 make vector into a unit vector and return the sum of squares

Tuple< int, CH_SPACEDIM-1 > computeTanDirs (int upDir)

Static Protected Methods

Real twoDFunc (const Real &arg)
Real threeDFunc (const Real &arg)
Real computeAnyVolume (const Real &a_alpha, const Real &a_norm0, const Real &a_norm1, const Real &a_norm2)
RealVect tetCentroid (const RealVect &normal, const Real &alpha)
Real tetVolume (const RealVect &normal, const Real &alpha)

Static Protected Attributes

RealVect s_vectDx
Real s_tolerance
Real s_lengthtolerance
Real s_areatolerance

Detailed Description

PolyGeom encapsulates the functions to generate centroids, normals, etc given the geometric information. It is meant to be used simply as a static class. Its only data member (a static) is its tolerance.


Constructor & Destructor Documentation

PolyGeom::PolyGeom   [inline]
 

PolyGeom::~PolyGeom   [inline]
 


Member Function Documentation

Real PolyGeom::bndryArea const VolIndex   a_vof,
const EBISBox   a_ebisBox
[static]
 

Real PolyGeom::computeAlpha const Real   a_volFrac,
const RealVect   a_normal
[static]
 

Return the inhomogeneous component of the plane eqution ni xi = alpha. Volume fraction must be positive and <= 1.0 and the normals can be in any order.

Real PolyGeom::computeAnyVolume const Real   a_alpha,
const Real   a_norm0,
const Real   a_norm1,
const Real   a_norm2
[static, protected]
 

void PolyGeom::computeNormalAndAlpha Real   a_alpha,
RealVect   a_normal,
const int &    a_upDir,
const Tuple< RealVect, CH_SPACEDIM > &    a_poly
[static]
 

Get the normal and alpha given the points in a polygon. Solves the linear system \ ni xi - alpha = 0\ \sum ni*ni = 1\ for ni and alpha. Always returns nromal[updir] >= 0

Tuple<int, CH_SPACEDIM-1> PolyGeom::computeTanDirs int    upDir [static]
 

Real PolyGeom::computeVolume const Real   a_alpha,
const RealVect   a_normal
[static]
 

Compute the volume fraction in the cell given alpha and the normal.

RealVect PolyGeom::cross const RealVect   a_xvec1,
const RealVect   a_xvec0
[static]
 

compute the cross product between xvec0 and xvec1 (returns xvec1 x xvec0)

Real PolyGeom::determinant const Vector< Vector< Real > > &    a_A [static]
 

Real PolyGeom::dot const RealVect   a_xvec1,
const RealVect   a_xvec0
[static]
 

compute the dot product between xvec0 and xvec1 (returns xvec1 dot xvec0)

const Real& PolyGeom::getAreaTolerance   [static]
 

const Real& PolyGeom::getLengthTolerance   [static]
 

const Real& PolyGeom::getTolerance   [static]
 

const RealVect& PolyGeom::getVectDx   [static]
 

const Real& PolyGeom::getVolumeTolerance   [static]
 

Real PolyGeom::matrixSolveComp const Vector< Vector< Real > > &    a_A,
const Vector< Real > &    a_rhs,
const int &    a_icomp
[static]
 

RealVect PolyGeom::normal const VolIndex   a_vof,
const EBISBox   a_ebisBox,
const Real   a_bndryArea
[static]
 

Return the normal to the boundary at the input VoF. If said normal is undefined, returns the zero vector.

void PolyGeom::posifyVector RealVect   vect,
IntVect   signs
[static]
 

make vector all pos and return the signs

Real PolyGeom::sAndZVolume const Real   a_alpha,
const RealVect   a_normal
[static]
 

andzvolume computes the volume under the curve (covered volume). Does so using Scardovelli and Zaleski's direct formulae. The normal has to be all positive numbers. The normals also must be ordered from lowest to highest.

void PolyGeom::setAreaTolerance const Real   a_tolerance [static]
 

void PolyGeom::setLengthTolerance const Real   a_tolerance [static]
 

void PolyGeom::setTolerance const Real   a_tolerance [static]
 

void PolyGeom::setVectDx const RealVect   a_vectDx [static]
 

void PolyGeom::setVolumeTolerance const Real   a_tolerance [static]
 

void PolyGeom::sortVector RealVect   vect,
IntVect   ivmap
[static]
 

Sort vector from low to high. All comps must be positive. Return reverse mapping

RealVect PolyGeom::tetCentroid const RealVect   normal,
const Real   alpha
[static, protected]
 

Real PolyGeom::tetVolume const RealVect   normal,
const Real   alpha
[static, protected]
 

Real PolyGeom::threeDFunc const Real   arg [static, protected]
 

Real PolyGeom::twoDFunc const Real   arg [static, protected]
 

void PolyGeom::unifyVector RealVect   normal,
Real   sumSquare
[static]
 

make vector into a unit vector and return the sum of squares


Member Data Documentation

Real PolyGeom::s_areatolerance [static, protected]
 

Real PolyGeom::s_lengthtolerance [static, protected]
 

Real PolyGeom::s_tolerance [static, protected]
 

RealVect PolyGeom::s_vectDx [static, protected]
 


The documentation for this class was generated from the following file:
Generated on Wed Apr 16 14:35:27 2003 for EBChombo by doxygen1.2.16