public void test_RunSteadyStateCalculation_Newton() { HashMap<String, Object> problemParameters = new HashMap<String, Object>(); problemParameters.put("JacobianRequested", new Boolean(true)); problemParameters.put("StabilityAnalysisRequested", new Boolean(true)); // iteration limit // tolerance HashMap<String, Object> methodParameters = new HashMap<String, Object>(); methodParameters.put("Resolution", new Double(1e-9)); methodParameters.put("Derivation Factor", new Double(1e-3)); methodParameters.put("Use Newton", new Boolean(true)); methodParameters.put("Use Integration", new Boolean(false)); methodParameters.put("Use Back Integration", new Boolean(false)); methodParameters.put("Accept Negative Concentrations", new Boolean(false)); methodParameters.put("Iteration Limit", new Integer(50)); // objective function CSteadyStateTask steadyStateTask = runSteadyStateCalculation(mDataModel, problemParameters, methodParameters); assertFalse(steadyStateTask == null); assertTrue(steadyStateTask.getResult() == CSteadyStateMethod.foundEquilibrium); CEigen eigenvalues = steadyStateTask.getEigenValues(); assertFalse(eigenvalues == null); assertTrue(eigenvalues.getMaxrealpart() <= 0.0); assertTrue(eigenvalues.getNnegreal() + eigenvalues.getNreal() == eigenvalues.getR().size()); }