38 Sim1D(vector<shared_ptr<Domain1D>>& domains);
42 Sim1D(vector<Domain1D*>& domains);
58 vector<double>& vals);
68 void setValue(
size_t dom,
size_t comp,
size_t localPoint,
double value);
77 double value(
size_t dom,
size_t comp,
size_t localPoint)
const;
79 double workValue(
size_t dom,
size_t comp,
size_t localPoint)
const;
95 void setProfile(
size_t dom,
size_t comp,
const vector<double>& pos,
96 const vector<double>& values);
125 void show(std::ostream& s);
141 void save(
const string& fname,
const string&
id,
const string& desc,
int loglevel);
170 void save(
const string& fname,
const string& name,
const string& desc,
171 bool overwrite=
false,
int compression=0,
const string& basis=
"");
181 void saveResidual(
const string& fname,
const string&
id,
182 const string& desc,
int loglevel);
192 void saveResidual(
const string& fname,
const string& name,
193 const string& desc,
bool overwrite=
false,
int compression=0);
203 AnyMap restore(
const string& fname,
const string&
id,
int loglevel);
224 "This method is unused and will be removed after Cantera 3.0.");
228 void setTimeStep(
double stepsize,
size_t n,
const int* tsteps);
230 void solve(
int loglevel = 0,
bool refine_grid =
true);
232 void eval(
double rdt=-1.0,
int count = 1) {
237 void getResidual(
double rdt,
double* resid) {
242 int refine(
int loglevel=0);
259 double slope = 0.8,
double curve = 0.8,
260 double prune = -0.1);
301 void getInitialSoln();
306 "This method is unused and will be removed after Cantera 3.0.");
313 "This method is unused and will be removed after Cantera 3.0.");
319 void evalSSJacobian();
A map of string keys to values whose type can vary at runtime.
Base class for 'functor' classes that evaluate a function of one variable.
Container class for multiple-domain 1D problems.
void eval(size_t j, double *x, double *r, double rdt=-1.0, int count=1)
Evaluate the multi-domain residual function.
double rdt() const
Reciprocal of the time step.
std::tuple< string, size_t, string > component(size_t i)
Return the domain, local point index, and component name for the i-th component of the global solutio...
shared_ptr< vector< double > > m_state
Solution vector.
One-dimensional simulations.
void restoreTimeSteppingSolution()
Set the current solution vector to the last successful time-stepping solution.
void resize() override
Call after one or more grids has changed size, for example after being refined.
vector< double > m_xnew
a work array used to hold the residual or the new solution
void saveResidual(const string &fname, const string &id, const string &desc, int loglevel)
Save the residual of the current solution to a container file.
void setProfile(size_t dom, size_t comp, const vector< double > &pos, const vector< double > &values)
Specify a profile for one component of one domain.
double fixedTemperatureLocation()
Return location of the point where temperature is fixed.
vector< vector< double > > m_grid_last_ss
the grids for each domain after the last successful steady-state solve (stored before grid refinement...
void finalize()
Calls method _finalize in each domain.
void setValue(size_t dom, size_t comp, size_t localPoint, double value)
Set a single value in the solution vector.
void setSteadyCallback(Func1 *callback)
Set a function that will be called after each successful steady-state solve, before regridding.
int refine(int loglevel=0)
Refine the grid in all domains.
void show()
Show logging information on current solution for all domains.
double fixedTemperature()
Return temperature at the point used to fix the flame location.
vector< double > m_xlast_ss
the solution vector after the last successful steady-state solve (stored before grid refinement)
void save(const string &fname, const string &id, const string &desc, int loglevel)
Save the current solution to a container file.
const double * solution() const
void setMaxGridPoints(int dom, int npoints)
Set the maximum number of grid points in the domain.
int setFixedTemperature(double t)
Add node for fixed temperature point of freely propagating flame.
AnyMap restore(const string &fname, const string &id, int loglevel)
Initialize the solution with a previously-saved solution.
void setInitialGuess(const string &component, vector< double > &locs, vector< double > &vals)
Set initial guess for one component for all domains.
void showSolution()
Show logging information on current solution for all domains.
int newtonSolve(int loglevel)
Wrapper around the Newton solver.
vector< int > m_steps
array of number of steps to take before re-attempting the steady-state solution
void solveAdjoint(const double *b, double *lambda)
Solve the equation .
Func1 * m_steady_callback
User-supplied function called after a successful steady-state solve.
void restoreSteadySolution()
Set the current solution vector and grid to the last successful steady- state solution.
size_t maxGridPoints(size_t dom)
Get the maximum number of grid points in this domain.
void setFlatProfile(size_t dom, size_t comp, double v)
Set component 'comp' of domain 'dom' to value 'v' at all points.
double value(size_t dom, size_t comp, size_t localPoint) const
Get one entry in the solution vector.
void setSolution(const double *soln)
vector< double > getRefineCriteria(int dom)
Get the grid refinement criteria.
Sim1D()
Default constructor.
void setGridMin(int dom, double gridmin)
Set the minimum grid spacing in the specified domain(s).
void setRefineCriteria(int dom=-1, double ratio=10.0, double slope=0.8, double curve=0.8, double prune=-0.1)
Set grid refinement criteria.
vector< double > m_xlast_ts
the solution vector after the last successful timestepping
const double * solution()
MultiJac & jacobian()
Return a reference to the Jacobian evaluator of an OneDim object.
Namespace for the Cantera kernel.
const size_t npos
index returned by functions to indicate "no position"
void warn_deprecated(const string &source, const AnyBase &node, const string &message)
A deprecation warning for syntax in an input file.