Public Member Functions | |
quadricMetric (partTetMeshSimplex &simplex) | |
~quadricMetric () | |
void | optimizeNodePosition (const scalar tol=0.001) |
![]() | |
simplexSmoother (partTetMeshSimplex &simplex) | |
construct from partTetMeshSimplex More... | |
virtual | ~simplexSmoother () |
Private Member Functions | |
scalar | evaluateMetric () const |
evaluate the value of the metric More... | |
void | evaluateGradients (vector &grad, tensor &gradGrad) const |
evaluate metric gradients More... | |
Private Attributes | |
point & | p_ |
free vertex More... | |
DynList< vector, 64 > | normals_ |
normals of triangles forming the outer hull More... | |
DynList< point, 64 > | centres_ |
centres of triangles forming the outer hull More... | |
Additional Inherited Members | |
![]() | |
DynList< point, 128 > & | points_ |
mesh points More... | |
const DynList< partTet, 128 > & | tets_ |
list tets around the given vertex More... | |
const label | pointI_ |
label of the point More... | |
boundBox | bb_ |
bound box More... | |
Definition at line 51 of file quadricMetric.H.
quadricMetric | ( | partTetMeshSimplex & | simplex | ) |
Definition at line 68 of file quadricMetric.C.
References partTet::a(), partTet::b(), partTet::c(), triangle::centre(), quadricMetric::centres_, forAll, Foam::mag(), n, triangle::normal(), quadricMetric::normals_, simplexSmoother::points_, and simplexSmoother::tets_.
~quadricMetric | ( | ) |
Definition at line 97 of file quadricMetric.C.
|
private |
evaluate the value of the metric
Definition at line 42 of file quadricMetric.C.
References quadricMetric::centres_, forAll, quadricMetric::normals_, quadricMetric::p_, and Foam::sqr().
Referenced by quadricMetric::optimizeNodePosition().
evaluate metric gradients
Definition at line 52 of file quadricMetric.C.
References quadricMetric::centres_, forAll, Foam::fvc::grad(), quadricMetric::normals_, quadricMetric::p_, Vector< scalar >::zero, and Tensor::zero.
Referenced by quadricMetric::optimizeNodePosition().
|
virtual |
find the best position such that all tets making a simplex have a positive volume
store previous value
evaluate gradients
calculate displacement
it seems that this direction is wrong
Implements simplexSmoother.
Definition at line 104 of file quadricMetric.C.
References simplexSmoother::bb_, quadricMetric::centres_, boundBox::contains(), Foam::det(), Foam::endl(), quadricMetric::evaluateGradients(), quadricMetric::evaluateMetric(), forAll, Foam::func(), Foam::Info, Foam::inv(), Foam::mag(), Foam::magSqr(), boundBox::max(), boundBox::min(), VectorSpace< Vector< scalar >, scalar, 3 >::nComponents, quadricMetric::normals_, quadricMetric::p_, relax(), Foam::sqr(), and Vector< scalar >::zero.
|
private |
free vertex
Definition at line 57 of file quadricMetric.H.
Referenced by quadricMetric::evaluateGradients(), quadricMetric::evaluateMetric(), and quadricMetric::optimizeNodePosition().
normals of triangles forming the outer hull
Definition at line 60 of file quadricMetric.H.
Referenced by quadricMetric::evaluateGradients(), quadricMetric::evaluateMetric(), quadricMetric::optimizeNodePosition(), and quadricMetric::quadricMetric().
centres of triangles forming the outer hull
Definition at line 63 of file quadricMetric.H.
Referenced by quadricMetric::evaluateGradients(), quadricMetric::evaluateMetric(), quadricMetric::optimizeNodePosition(), and quadricMetric::quadricMetric().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.