mathcomp.gridgeom
Class Transformation

java.lang.Object
  extended by mathcomp.gridgeom.Transformation

public class Transformation
extends java.lang.Object

Author:
chwust To change the template for this generated type comment go to Window - Preferences - Java - Code Generation - Code and Comments

Field Summary
static Node[] gaussPoints
           
static double[] gaussPoints1D
          The gauss points for a five point 1D gauss formula on [-1,1].
static double[] gaussWeights
          Gauss weights for a four point 2D gauss formula on the standart triangle.
static double[] gaussWeights1D
          The gauss weights for a five point 1D gauss formula on [-1,1].
 
Constructor Summary
Transformation()
           
 
Method Summary
static void fillGradVector(Triangle t, Vector[] toFillVector)
          For every triangle preprocessed method to calculate the gradVector.
static Vector[] getGradVector(Triangle t, Vector[] toFillVector)
           
static Node getRealFromRef(Triangle t, Node v_onRef)
          Returns the coordinates of v_onRef in x coordinates.
static Node getRealFromRefEdge(Edge e, double d_onRef)
          Returns the coordinates of d_onRef in [-1,1] mapped on the Edge e.
static Node getRefFromReal(Triangle t, Node v_onReal)
          Returns the coordinates of v_onReal in eta coordinates.
static double[] mapGradientRealToRef(Triangle t, double xg, double yg)
           
static double[] mapGradientRefToReal(Triangle t, double xg, double yg)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

gaussWeights1D

public static final double[] gaussWeights1D
The gauss weights for a five point 1D gauss formula on [-1,1].


gaussPoints1D

public static final double[] gaussPoints1D
The gauss points for a five point 1D gauss formula on [-1,1].


gaussWeights

public static final double[] gaussWeights
Gauss weights for a four point 2D gauss formula on the standart triangle.


gaussPoints

public static final Node[] gaussPoints
Constructor Detail

Transformation

public Transformation()
Method Detail

getRealFromRefEdge

public static Node getRealFromRefEdge(Edge e,
                                      double d_onRef)
Returns the coordinates of d_onRef in [-1,1] mapped on the Edge e.

Parameters:
e - the "real"-Edge
d_onRef - coordinates in eta
Returns:
d in x coordinates

getRealFromRef

public static Node getRealFromRef(Triangle t,
                                  Node v_onRef)
Returns the coordinates of v_onRef in x coordinates.

Parameters:
t - the "real"-triangle
v_onRef - coordinates in eta
Returns:
v in x coordinates

getRefFromReal

public static Node getRefFromReal(Triangle t,
                                  Node v_onReal)
Returns the coordinates of v_onReal in eta coordinates.

Parameters:
t - the "real"-triangle
v_onReal - coordinates in x
Returns:
v in eta coordinates

fillGradVector

public static void fillGradVector(Triangle t,
                                  Vector[] toFillVector)
For every triangle preprocessed method to calculate the gradVector. That means that we calculate the constant gradient to every basis function in a Vector array. The array indices stand for the derivation variable - ie. gradVector[0].get(u) returns the derivation by x (or x_1) of the basis function indentified by the Node u. Abstract we calculate [d(b_i o phi)/d(x_j)]i=1..3,j=1..2 where b_i are the basis functions on the real triangle, phi is the transformation map and the x_1 are the real coordinate directions.

Parameters:
t - the current triangle
toFillVector - the vector array

getGradVector

public static Vector[] getGradVector(Triangle t,
                                     Vector[] toFillVector)

mapGradientRealToRef

public static double[] mapGradientRealToRef(Triangle t,
                                            double xg,
                                            double yg)

mapGradientRefToReal

public static double[] mapGradientRefToReal(Triangle t,
                                            double xg,
                                            double yg)