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();
    }
Beispiel #3
0
    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);
    }
Beispiel #4
0
        //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;
        }
Beispiel #5
0
 //Constructor
 public FDM(IBSPde myPDE)
 {
     pde = myPDE;
 }