mathcomp.assemble
Class MiniAssembler

java.lang.Object
  extended by mathcomp.monitor.DefaultReportable
      extended by mathcomp.monitor.DefaultAlgorithm
          extended by mathcomp.assemble.Assembler
              extended by mathcomp.assemble.MiniAssembler
All Implemented Interfaces:
java.lang.Runnable, Algorithm, Reportable
Direct Known Subclasses:
AbstractCDA_Mini, MiniLaplaceAssembler

public abstract class MiniAssembler
extends Assembler

An Assembler class for mini elements.

Author:
ch.wust

Field Summary
 
Fields inherited from class mathcomp.assemble.Assembler
dirichletBoundaryValues, solScale
 
Constructor Summary
MiniAssembler()
           
 
Method Summary
 void createDof(Grid grid, java.util.Set dof)
          All global Objects, that represent a degreeOfFreedom are added to dof.
 double[] evalApproxGradient(Node n, Triangle t, Vector x)
          For H1 error calculations we need to know the gradient of the approximated solution in a node n.
 double evalApproxSolution(Node n, Triangle t, Vector x)
          Evaluates the FEM solution in a Node.
 double evalBasisFuncOnRef(Node u, int localBasisNumber)
          Returns the value of the linear basis function with the local number localBasisNumber at the Node u on the standart-triangle.
 double evalGradXBasisFuncOnRef(Node u, int localBasisNumber)
           
 double evalGradYBasisFuncOnRef(Node u, int localBasisNumber)
           
 int getLocalNodeNumber(Triangle t, Node n)
           
 java.util.Set getPaintNodes()
           
 
Methods inherited from class mathcomp.assemble.Assembler
addDirichletNodes, assembleGlobal, calcDirichletBoundary, createSurfaces, createSurfaces, evalExactGradient, evalExactSolution, evalF, getDof, getElementMatrix, getEpsilon, getErrorCalculator, getExactPartialX, getExactPartialY, getGrid, getInfoUrl, getM, getPreferredGridFileName, getSolScale, getY, report, run, setEpsilon, setGrid, setM, setTauIndex, setY, toString
 
Methods inherited from class mathcomp.monitor.DefaultAlgorithm
algoAbortIfNeeded, algoCancel, algoClear, algoCount, algoIncrement, algoMax, isAlgoCancel, setAlgoCount, setAlgoMax
 
Methods inherited from class mathcomp.monitor.DefaultReportable
getReport, setReport
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface mathcomp.monitor.Reportable
getReport, setReport
 

Constructor Detail

MiniAssembler

public MiniAssembler()
Method Detail

createDof

public void createDof(Grid grid,
                      java.util.Set dof)
Description copied from class: Assembler
All global Objects, that represent a degreeOfFreedom are added to dof.

Specified by:
createDof in class Assembler
Parameters:
grid - the current grid
dof - the Set where the DOFs have to be put in

getPaintNodes

public java.util.Set getPaintNodes()

evalApproxSolution

public double evalApproxSolution(Node n,
                                 Triangle t,
                                 Vector x)
Description copied from class: Assembler
Evaluates the FEM solution in a Node. To do that we do need the triangle. We need this method for an easy l2 and l\infty error calculation.

Specified by:
evalApproxSolution in class Assembler
Parameters:
n - Node where the solution has to be evaluated
t - the triangle that contains the Node n
x - the solution vector
Returns:
the value of the solution in n

evalApproxGradient

public double[] evalApproxGradient(Node n,
                                   Triangle t,
                                   Vector x)
Description copied from class: Assembler
For H1 error calculations we need to know the gradient of the approximated solution in a node n. If we don't know that, return [0.0,0.0] for every node n. TODO this should become abstract.

Overrides:
evalApproxGradient in class Assembler
Parameters:
n - node where the approximated gradient should be evaluated

evalBasisFuncOnRef

public double evalBasisFuncOnRef(Node u,
                                 int localBasisNumber)
Returns the value of the linear basis function with the local number localBasisNumber at the Node u on the standart-triangle.


evalGradXBasisFuncOnRef

public double evalGradXBasisFuncOnRef(Node u,
                                      int localBasisNumber)

evalGradYBasisFuncOnRef

public double evalGradYBasisFuncOnRef(Node u,
                                      int localBasisNumber)

getLocalNodeNumber

public int getLocalNodeNumber(Triangle t,
                              Node n)