15 std::unique_lock<std::mutex> lock(jac_mutex);
17 s_factory =
new SystemJacobianFactory;
23 std::unique_lock<std::mutex> lock(jac_mutex);
29std::mutex SystemJacobianFactory::jac_mutex;
31SystemJacobianFactory::SystemJacobianFactory()
34 reg(
"banded-direct", []() {
return new MultiJac(); });
35 reg(
"eigen-sparse-direct", []() {
return new EigenSparseDirectJacobian(); });
40 return shared_ptr<SystemJacobian>(SystemJacobianFactory::factory()->create(type));
Declarations for the class AdaptivePreconditioner which is a child class of SystemJacobian for precon...
AdaptivePreconditioner a preconditioner designed for use with large mechanisms that leverages sparse ...
void reg(const string &name, function< SystemJacobian *(Args...)> f)
Factory class to create Jacobian objects for use by linear solvers.
void deleteFactory() override
Virtual abstract function that deletes the factory.
Namespace for the Cantera kernel.
shared_ptr< SystemJacobian > newSystemJacobian(const string &type)
Create a SystemJacobian object of the specified type.