mathcomp.assemble.discontinuousgalerkin
Class TimeDependentAssembler
java.lang.Object
mathcomp.monitor.DefaultReportable
mathcomp.monitor.DefaultAlgorithm
mathcomp.assemble.Assembler
mathcomp.assemble.discontinuousgalerkin.DGAssembler
mathcomp.assemble.discontinuousgalerkin.TimeIndependentAssembler
mathcomp.assemble.discontinuousgalerkin.TimeDependentAssembler
- All Implemented Interfaces:
- java.lang.Runnable, Algorithm, Reportable
- Direct Known Subclasses:
- TimeDependentExample1, TimeDependentExample2
public abstract class TimeDependentAssembler
- extends TimeIndependentAssembler
Method Summary |
Vector |
adaptiveLimiter(Vector v,
double time)
|
void |
assembleBoundaryEdge(BndEdge bndEdge,
double time)
|
void |
assembleGlobal()
Assembles the matrices that are different at each time step |
void |
assembleInnerEdge(InnEdge innEdge,
double time)
|
void |
computeLimiter0(Vector v,
Vector result,
Triangle t)
|
double[] |
evalDf(double u)
computes the derivative of the generalized 2D flux function of the convection-diffusion problem. |
double[] |
evalF(double u)
computes the value of the generalized 2D flux function of the convection-diffusion problem. |
abstract double |
evalU0(Node n)
Computes the initial value of the convection-diffusion problem at node n |
double |
fluxGodunov(double u,
double v,
double[] normal)
|
double |
fluxLaxFriedrichs(double u,
double v,
double[] normal)
|
double |
fluxOsher(double u,
double v,
double[] normal)
|
double |
fluxUpwind(double u,
double v,
double[] normal)
|
double |
getDeltaT()
|
double |
getTimeEnd()
|
void |
initialize()
Initialize the matrices D0 and M since they are the same at every time step |
Vector |
limiter(Vector v,
double time)
|
Vector |
meanValueLimiter(Vector v)
|
double |
numericalFlux(double u,
double v,
double[] normal)
|
void |
setCurrentTime(double t)
|
void |
setVectorPiU(Vector v)
|
void |
setVectorU(Vector v)
|
java.lang.String |
toString()
Set the name of your assembler by overwriting this method in your
assembler class. |
Methods inherited from class mathcomp.assemble.discontinuousgalerkin.DGAssembler |
createDof, createSurfaces, evalApproxSolution, evalBasisFuncGradOnRef, evalBasisFuncOnRef, evalExactSolution, evalF, evalG, evalUd, getEdges, getErrorCalculator, iniQuadrature |
Methods inherited from class mathcomp.assemble.Assembler |
addDirichletNodes, calcDirichletBoundary, createSurfaces, evalApproxGradient, evalExactGradient, getDof, getElementMatrix, getEpsilon, getExactPartialX, getExactPartialY, getGrid, getInfoUrl, getM, getPreferredGridFileName, getSolScale, getY, report, run, setEpsilon, setGrid, setM, setTauIndex, setY |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
TimeDependentAssembler
public TimeDependentAssembler()
setVectorU
public void setVectorU(Vector v)
setVectorPiU
public void setVectorPiU(Vector v)
setCurrentTime
public void setCurrentTime(double t)
getDeltaT
public double getDeltaT()
getTimeEnd
public double getTimeEnd()
initialize
public void initialize()
- Initialize the matrices D0 and M since they are the same at every time step
assembleGlobal
public void assembleGlobal()
- Assembles the matrices that are different at each time step
- Overrides:
assembleGlobal
in class TimeIndependentAssembler
evalF
public double[] evalF(double u)
- computes the value of the generalized 2D flux function of the convection-diffusion problem.
evalDf
public double[] evalDf(double u)
- computes the derivative of the generalized 2D flux function of the convection-diffusion problem.
evalU0
public abstract double evalU0(Node n)
- Computes the initial value of the convection-diffusion problem at node n
assembleBoundaryEdge
public void assembleBoundaryEdge(BndEdge bndEdge,
double time)
assembleInnerEdge
public void assembleInnerEdge(InnEdge innEdge,
double time)
limiter
public Vector limiter(Vector v,
double time)
meanValueLimiter
public Vector meanValueLimiter(Vector v)
adaptiveLimiter
public Vector adaptiveLimiter(Vector v,
double time)
computeLimiter0
public void computeLimiter0(Vector v,
Vector result,
Triangle t)
numericalFlux
public double numericalFlux(double u,
double v,
double[] normal)
fluxUpwind
public double fluxUpwind(double u,
double v,
double[] normal)
fluxLaxFriedrichs
public double fluxLaxFriedrichs(double u,
double v,
double[] normal)
fluxGodunov
public double fluxGodunov(double u,
double v,
double[] normal)
fluxOsher
public double fluxOsher(double u,
double v,
double[] normal)
toString
public java.lang.String toString()
- Description copied from class:
Assembler
- Set the name of your assembler by overwriting this method in your
assembler class.
- Overrides:
toString
in class TimeIndependentAssembler
- Returns:
- the name of the assembler