A shell_solver that can compute the qoi with expected precision. precision
becomes mandatory argument of run() method.
adaptive_shell_solver( cmd, nparams, qoi_file, required_args = "precision", arg_combine_fn = function(x, precision, ...) paste(c(x, precision), collapse = " "), ... )
| cmd | command to run the solver executable. |
|---|---|
| nparams | numeric, number of parameters, must be provided. |
| qoi_file | name of file containing the computed quantity of interest,
may be absolute or relative to |
| required_args | character, mandatory args for |
| arg_combine_fn | function producing appropriate numeric scalar from point and precision for solver command line |
| ... | other args passed to |
rscript_path <- file.path(R.home(), "bin", "Rscript") solver_path <- file.path(find.package("solvergater"), "exec", "fake_adaptive.R") nparams <- 2 nqoi <- 5 solver_cmd <- paste(rscript_path, solver_path, nparams, nqoi) s <- adaptive_shell_solver(solver_cmd, nparams = nparams, qoi_file = "output_qoi", jacobian_file = "output_jacobian", wd = tempdir()) run(s, c(20, 5), precision = 90)#>#>#>#> $qoi #> [1] 25 425 8125 160625 3203125 #> #> $jacobian #> [,1] [,2] #> [1,] 1 1 #> [2,] 40 10 #> [3,] 1200 75 #> [4,] 32000 500 #> [5,] 800000 3125 #>