ConformTransformationP1Triangle Class Reference

#include <ConformTransformation.hpp>

Collaboration diagram for ConformTransformationP1Triangle:

Collaboration graph
[legend]

List of all members.

Public Member Functions

void value (const TinyVector< 3, real_t > &X, TinyVector< 3, real_t > &result) const
 computes the value at X (X is inside the reference element).
void value (const real_t &x, const real_t &y, const real_t &z, TinyVector< 3, real_t > &result) const
 computes the value at (x,y,z) ((x,y,z) is inside the reference element).
void dx (const TinyVector< 3, real_t > &X, TinyVector< 3, real_t > &__result) const
void dx (const real_t &x, const real_t &y, const real_t &z, TinyVector< 3, real_t > &__result) const
void dy (const TinyVector< 3, real_t > &X, TinyVector< 3, real_t > &__result) const
void dy (const real_t &x, const real_t &y, const real_t &z, TinyVector< 3, real_t > &__result) const
void dz (const TinyVector< 3, real_t > &X, TinyVector< 3, real_t > &__result) const
void dz (const real_t &x, const real_t &y, const real_t &z, TinyVector< 3, real_t > &__result) const
bool invertT (const TinyVector< 3, real_t > &X, TinyVector< 3, real_t > &Xhat) const
 Computes Xhat, the point which transformed is X.
bool invertT (const real_t &x, const real_t &y, const real_t &z, TinyVector< 3, real_t > &Xhat) const
real_t integrate (const ScalarFunctionBase &f) const
 ConformTransformationP1Triangle (const Triangle &T)

Private Attributes

const Triangle__T
const TinyVector< 3, real_t > __a
const TinyVector< 3, real_t > __b_a
const TinyVector< 3, real_t > __c_a

Friends

class ConformTransformationP1TriangleJacobian


Detailed Description

Definition at line 44 of file ConformTransformation.hpp.


Constructor & Destructor Documentation

ConformTransformationP1Triangle::ConformTransformationP1Triangle ( const Triangle T  )  [inline]


Member Function Documentation

void ConformTransformationP1Triangle::value ( const TinyVector< 3, real_t > &  X,
TinyVector< 3, real_t > &  result 
) const [inline]

computes the value at X (X is inside the reference element).

Definition at line 58 of file ConformTransformation.hpp.

Referenced by MeshOfTriangles::buildLocalizationTools().

00060   {
00061     value(X[0],X[1],X[2],result);
00062   }

void ConformTransformationP1Triangle::value ( const real_t &  x,
const real_t &  y,
const real_t &  z,
TinyVector< 3, real_t > &  result 
) const [inline]

computes the value at (x,y,z) ((x,y,z) is inside the reference element).

Definition at line 65 of file ConformTransformation.hpp.

References __a, __b_a, and __c_a.

00067   {
00068     result  = __a;
00069     result += __b_a*x;
00070     result += __c_a*y;
00071   }

void ConformTransformationP1Triangle::dx ( const TinyVector< 3, real_t > &  X,
TinyVector< 3, real_t > &  __result 
) const [inline]

Definition at line 75 of file ConformTransformation.hpp.

00077   {
00078     dx(X[0], X[1], X[2], __result);
00079   }

void ConformTransformationP1Triangle::dx ( const real_t &  x,
const real_t &  y,
const real_t &  z,
TinyVector< 3, real_t > &  __result 
) const [inline]

Definition at line 81 of file ConformTransformation.hpp.

References __b_a.

00083   {
00084     __result = __b_a;
00085   }

void ConformTransformationP1Triangle::dy ( const TinyVector< 3, real_t > &  X,
TinyVector< 3, real_t > &  __result 
) const [inline]

Definition at line 87 of file ConformTransformation.hpp.

00089   {
00090     dy(X[0], X[1], X[2], __result);
00091   }

void ConformTransformationP1Triangle::dy ( const real_t &  x,
const real_t &  y,
const real_t &  z,
TinyVector< 3, real_t > &  __result 
) const [inline]

Definition at line 93 of file ConformTransformation.hpp.

References __c_a.

00095   {
00096     __result = __c_a;
00097   }

void ConformTransformationP1Triangle::dz ( const TinyVector< 3, real_t > &  X,
TinyVector< 3, real_t > &  __result 
) const [inline]

Definition at line 99 of file ConformTransformation.hpp.

00101   {
00102     dz(X[0], X[1], X[2], __result);
00103   }

void ConformTransformationP1Triangle::dz ( const real_t &  x,
const real_t &  y,
const real_t &  z,
TinyVector< 3, real_t > &  __result 
) const [inline]

Definition at line 105 of file ConformTransformation.hpp.

00107   {
00108     __result = 0;
00109   }

bool ConformTransformationP1Triangle::invertT ( const TinyVector< 3, real_t > &  X,
TinyVector< 3, real_t > &  Xhat 
) const [inline]

Computes Xhat, the point which transformed is X.

Definition at line 117 of file ConformTransformation.hpp.

00119   {
00120     return invertT(X[0],X[1],X[2], Xhat);
00121   }

bool ConformTransformationP1Triangle::invertT ( const real_t &  x,
const real_t &  y,
const real_t &  z,
TinyVector< 3, real_t > &  Xhat 
) const [inline]

Computes Xhat, the point which transformed is (x ,y,z)

Parameters:
x $ x $
y $ y $
z $ z $
Xhat $ \hat{\mathbf{x}} $
Returns:
true
Warning:
This only works for planar triangles

Definition at line 136 of file ConformTransformation.hpp.

References __a, __b_a, and __c_a.

00138   {
00139     TinyMatrix<2,2,real_t> A;
00140     for (size_t i=0; i<2; ++i) {
00141       A(i,0) = __b_a[i];
00142       A(i,1) = __c_a[i];
00143     }
00144 
00145     TinyVector<2,real_t> b;
00146     b[0] = x-__a[0];
00147     b[1] = y-__a[1];
00148 
00149     TinyVector<2,real_t> u = b/A;
00150     Xhat[0] = u[0];
00151     Xhat[1] = u[1];
00152     Xhat[2] = 0;
00153 
00154     TinyVector<3,real_t> result  = __a;
00155     result += __b_a*u[0];
00156     result += __c_a*u[1];
00157 
00158     return true;
00159   }

real_t ConformTransformationP1Triangle::integrate ( const ScalarFunctionBase f  )  const

Computes the integrale of the function f on an element using the reference element

Definition at line 175 of file ConformTransformation.cpp.

References ErrorHandler::unexpected.

00176 {
00177   throw ErrorHandler(__FILE__,__LINE__,
00178                      "not implemented",
00179                      ErrorHandler::unexpected);
00180 
00181   return 0.;
00182 }


Friends And Related Function Documentation

Definition at line 47 of file ConformTransformation.hpp.


Member Data Documentation

Definition at line 52 of file ConformTransformation.hpp.

Referenced by invertT(), and value().

Definition at line 53 of file ConformTransformation.hpp.

Referenced by dx(), invertT(), and value().

Definition at line 54 of file ConformTransformation.hpp.

Referenced by dy(), invertT(), and value().


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

Generated on Wed Nov 19 00:05:03 2008 for FreeFEM3D (aka ff3d) by  doxygen 1.5.6