mathcomp.assemble.discontinuousgalerkin
Class TimeDependentAssembler

java.lang.Object
  extended by mathcomp.monitor.DefaultReportable
      extended by mathcomp.monitor.DefaultAlgorithm
          extended by mathcomp.assemble.Assembler
              extended by mathcomp.assemble.discontinuousgalerkin.DGAssembler
                  extended by mathcomp.assemble.discontinuousgalerkin.TimeIndependentAssembler
                      extended by mathcomp.assemble.discontinuousgalerkin.TimeDependentAssembler
All Implemented Interfaces:
java.lang.Runnable, Algorithm, Reportable
Direct Known Subclasses:
TimeDependentExample1, TimeDependentExample2

public abstract class TimeDependentAssembler
extends TimeIndependentAssembler


Field Summary
 
Fields inherited from class mathcomp.assemble.Assembler
dirichletBoundaryValues, solScale
 
Constructor Summary
TimeDependentAssembler()
           
 
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.TimeIndependentAssembler
arrayMult
 
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 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

TimeDependentAssembler

public TimeDependentAssembler()
Method Detail

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