public IBVPFDM(IBSPde source, Range <double> Xrange, Range <double> Trange, int JSteps, int NSteps) { xaxis = new Range <double>(Xrange); taxis = new Range <double>(Trange); pde = source; initMesh(JSteps, NSteps); initIC(); }
public IBVPFDM(Range <double> Xrange, Range <double> Trange) { xaxis = new Range <double>(Xrange); taxis = new Range <double>(Trange); pde = null; initMesh(10, 10); initIC(); }
public ADE(IBSPde myPDE, Range <double> Xrange, Range <double> Trange, int JSteps, int NSteps) : base(myPDE, Xrange, Trange, JSteps, NSteps) { // Two sweeps U and V will get the initial conditions U = new Vector <double>(vecOld); V = new Vector <double>(vecOld); UOld = new Vector <double>(U); VOld = new Vector <double>(V); alpha = new Vector <double>(U); beta = new Vector <double>(U); gamma = new Vector <double>(U); rhs = new Vector <double>(U); }
//Constructor public ThetaMethod(IBSPde myPDE, Vector <double> xarr) { this.xarr = xarr; I = Matrix <double> .Build.DiagonalIdentity(xarr.Count()); A = Matrix <double> .Build.Dense(xarr.Count(), xarr.Count()); c = Vector <double> .Build.Dense(xarr.Count()); u = Vector <double> .Build.Dense(xarr.Count()); l = Vector <double> .Build.Dense(xarr.Count()); pde = myPDE; }
//Constructor public FDM(IBSPde myPDE) { pde = myPDE; }