private void InitRseSolver_Dummy() { Solver = new RseSolver { InitialPosition = 0, FinalPosition = 1, Samples = 1, RightHandSide = ZeroDglRhs }; }
private void InitRseSolver_ComplexEigenvalueProblem() { Solver = new RseSolver { InitialPosition = 0, FinalPosition = Math.PI, Samples = 10000, RightHandSide = ZeroDglRhs, InitialSolutionValue = new Complex(1, 0), InitialDerivativeValue = new Complex(-1, -1) }; }
private void InitRseSolver_SinExactInput() { Solver = new RseSolver { InitialPosition = 0, FinalPosition = 2 * Math.PI, Samples = 10000, RightHandSide = SinDglRhs, InitialSolutionValue = new Complex(0, 0), InitialDerivativeValue = new Complex(1, 0) }; }
public void SolveSinRightLeft() { RseSolver solver = new RseSolver { InitialPosition = 0, FinalPosition = 10, Samples = 10000, RightHandSide = SinDglRhs, InitialSolutionValue = new Complex(0, 0), InitialDerivativeValue = new Complex(1, 0) }; solver.Solve(); double maxDeviation = GetMaxDeviation(solver.PositionValues, solver.SolutionValues, ComplexSin); Assert.IsTrue(maxDeviation < 1e-7); }
public void SolveHydrogen21() { RseSolver solver = new RseSolver { InitialPosition = 40, FinalPosition = 0, Samples = 70000, RightHandSide = CoulombRightHandSideN2L1, InitialSolutionValue = new Complex(1e-40, 0), InitialDerivativeValue = new Complex(0, 0) }; solver.Solve(); Normalize(solver.SolutionValues, solver.StepSize, 2); MakePlotFile(solver.PositionValues, solver.SolutionValues, HydrogenWaveFunctionN2L1); double maxDeviation = GetMaxDeviation(solver.PositionValues, solver.SolutionValues, HydrogenWaveFunctionN2L1); Assert.IsTrue(maxDeviation < 1e-5); }