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 #>