|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectmathcomp.monitor.DefaultReportable
mathcomp.monitor.DefaultAlgorithm
mathcomp.assemble.Assembler
public abstract class Assembler
An Assembler
assembles the Matrix for a given Problem.
Field Summary | |
---|---|
java.util.Map |
dirichletBoundaryValues
Maps to every node on a Dirichlet boundary segment its value.. |
double |
solScale
A constant double to scale the calculated solution |
Constructor Summary | |
---|---|
Assembler()
|
Method Summary | |
---|---|
Vector |
addDirichletNodes(Vector sol)
Completes the solution vector by adding the values at the dirichlet nodes |
void |
assembleGlobal()
The main assemble method generally called from outside. |
java.util.Map |
calcDirichletBoundary(java.util.Map boundaryNodes)
Pre-calculation of the values at the Dirichlet boundary stored in a HashMap that maps to every Dirichlet boundary point its corresponding value by considering the boundary indetifier info for this boundary segment. |
abstract void |
createDof(Grid grid,
java.util.Set dof)
All global Objects, that represent a degreeOfFreedom are added to dof. |
Surface[] |
createSurfaces(Vector x)
Generates and returns an array of Surface Objects. |
Surface[] |
createSurfaces(Vector x,
Vector fineSolution)
|
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. |
abstract double |
evalApproxSolution(Node n,
Triangle t,
Vector x)
Evaluates the FEM solution in a Node. |
double[] |
evalExactGradient(Node n)
For H1 error calculations we need to know the exact gradient of a problem. |
double |
evalExactSolution(Node n)
For error calculations we need to know the exact solution of a problem. |
abstract double |
evalF(Node n)
Evaluates the right hand side function f on the Node n |
java.util.Set |
getDof()
|
Matrix |
getElementMatrix(Triangle t)
Return the Element Matrix of this Assembler |
double |
getEpsilon()
|
ErrorCalculator |
getErrorCalculator()
|
double |
getExactPartialX(Node n)
Direct access to partialX |
double |
getExactPartialY(Node n)
Direct access to partialY |
Grid |
getGrid()
|
java.lang.String |
getInfoUrl()
Here you can specify the URL to the HTML-Description of your model problem |
Matrix |
getM()
|
java.lang.String |
getPreferredGridFileName()
Every Assembler has a preferred grid. |
double |
getSolScale()
|
Vector |
getY()
|
void |
report()
This is the one method, where reporting is handled for GridRefiner. |
void |
run()
|
void |
setEpsilon(double e)
|
void |
setGrid(Grid grid)
|
void |
setM(Matrix matrix)
|
void |
setTauIndex(int i)
|
void |
setY(Vector vector)
|
abstract java.lang.String |
toString()
Set the name of your assembler by overwriting this method in your assembler class. |
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 |
Field Detail |
---|
public double solScale
public java.util.Map dirichletBoundaryValues
Constructor Detail |
---|
public Assembler()
Method Detail |
---|
public Vector addDirichletNodes(Vector sol)
sol
- the calculated solution vector
public abstract void createDof(Grid grid, java.util.Set dof)
grid
- the current griddof
- the Set where the DOFs have to be put inpublic java.lang.String getPreferredGridFileName()
Assembler
has a preferred grid. If this method is
not implemented in the specific assembler class, "square.grid" is
default.
public abstract double evalApproxSolution(Node n, Triangle t, Vector x)
n
- Node where the solution has to be evaluatedt
- the triangle that contains the Node nx
- the solution vector
public double[] evalApproxGradient(Node n, Triangle t, Vector x)
n
- node where the approximated gradient should be evaluatedpublic double evalExactSolution(Node n)
n
- node where the exact solution should be evaluatedpublic double[] evalExactGradient(Node n)
n
- node where the exact gradient should be evaluatedpublic double getExactPartialX(Node n)
public double getExactPartialY(Node n)
public abstract double evalF(Node n)
n
- the Node where f is evaluated
public Surface[] createSurfaces(Vector x)
x
- the FE-solution vectorerrorPlot
- true returns the errorSurface, false returns the
FE-approxSurface
public Surface[] createSurfaces(Vector x, Vector fineSolution)
public void assembleGlobal()
assemble(Grid g, Triangle t, Matrix m)
for each element.
public Matrix getElementMatrix(Triangle t)
t
- the current element the element metrix is generated of
public java.util.Map calcDirichletBoundary(java.util.Map boundaryNodes)
public Grid getGrid()
public Matrix getM()
public void setGrid(Grid grid)
public void setM(Matrix matrix)
public Vector getY()
public void setY(Vector vector)
public java.util.Set getDof()
public void run()
run
in interface java.lang.Runnable
public abstract java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String getInfoUrl()
public void report()
report
in interface Reportable
report
in class DefaultReportable
public ErrorCalculator getErrorCalculator()
public double getSolScale()
public double getEpsilon()
public void setEpsilon(double e)
public void setTauIndex(int i)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |