mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
AdaptiveTimeStepping: move parameter registration to .cpp file
This commit is contained in:
parent
d15cdea9ec
commit
1716f8627e
@ -84,5 +84,59 @@ consistentlyFailingWells(const std::vector<StepReport>& sr)
|
|||||||
return failing_wells;
|
return failing_wells;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void registerAdaptiveParameters()
|
||||||
|
{
|
||||||
|
// TODO: make sure the help messages are correct (and useful)
|
||||||
|
Parameters::Register<Parameters::SolverContinueOnConvergenceFailure>
|
||||||
|
("Continue instead of stop when minimum solver time step is reached");
|
||||||
|
Parameters::Register<Parameters::SolverMaxRestarts>
|
||||||
|
("The maximum number of breakdowns before a substep is given up and "
|
||||||
|
"the simulator is terminated");
|
||||||
|
Parameters::Register<Parameters::SolverVerbosity>
|
||||||
|
("Specify the \"chattiness\" of the non-linear solver itself");
|
||||||
|
Parameters::Register<Parameters::TimeStepVerbosity>
|
||||||
|
("Specify the \"chattiness\" during the time integration");
|
||||||
|
Parameters::Register<Parameters::InitialTimeStepInDays>
|
||||||
|
("The size of the initial time step in days");
|
||||||
|
Parameters::Register<Parameters::FullTimeStepInitially>
|
||||||
|
("Always attempt to finish a report step using a single substep");
|
||||||
|
Parameters::Register<Parameters::TimeStepControl>
|
||||||
|
("The algorithm used to determine time-step sizes. "
|
||||||
|
"Valid options are: "
|
||||||
|
"'pid' (default), "
|
||||||
|
"'pid+iteration', "
|
||||||
|
"'pid+newtoniteration', "
|
||||||
|
"'iterationcount', "
|
||||||
|
"'newtoniterationcount' "
|
||||||
|
"and 'hardcoded'");
|
||||||
|
Parameters::Register<Parameters::TimeStepControlTolerance>
|
||||||
|
("The tolerance used by the time step size control algorithm");
|
||||||
|
Parameters::Register<Parameters::TimeStepControlTargetIterations>
|
||||||
|
("The number of linear iterations which the time step control scheme "
|
||||||
|
"should aim for (if applicable)");
|
||||||
|
Parameters::Register<Parameters::TimeStepControlTargetNewtonIterations>
|
||||||
|
("The number of Newton iterations which the time step control scheme "
|
||||||
|
"should aim for (if applicable)");
|
||||||
|
Parameters::Register<Parameters::TimeStepControlDecayRate>
|
||||||
|
("The decay rate of the time step size of the number of "
|
||||||
|
"target iterations is exceeded");
|
||||||
|
Parameters::Register<Parameters::TimeStepControlGrowthRate>
|
||||||
|
("The growth rate of the time step size of the number of "
|
||||||
|
"target iterations is undercut");
|
||||||
|
Parameters::Register<Parameters::TimeStepControlDecayDampingFactor>
|
||||||
|
("The decay rate of the time step decrease when the "
|
||||||
|
"target iterations is exceeded");
|
||||||
|
Parameters::Register<Parameters::TimeStepControlGrowthDampingFactor>
|
||||||
|
("The growth rate of the time step increase when the "
|
||||||
|
"target iterations is undercut");
|
||||||
|
Parameters::Register<Parameters::TimeStepControlFileName>
|
||||||
|
("The name of the file which contains the hardcoded time steps sizes");
|
||||||
|
Parameters::Register<Parameters::MinTimeStepBeforeShuttingProblematicWellsInDays>
|
||||||
|
("The minimum time step size in days for which problematic wells are not shut");
|
||||||
|
Parameters::Register<Parameters::MinTimeStepBasedOnNewtonIterations>
|
||||||
|
("The minimum time step size (in days for field and metric unit and hours for lab unit) "
|
||||||
|
"can be reduced to based on newton iteration counts");
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
} // namespace Opm
|
} // namespace Opm
|
||||||
|
@ -79,6 +79,8 @@ void logTimer(const AdaptiveSimulatorTimer& substepTimer);
|
|||||||
|
|
||||||
std::set<std::string> consistentlyFailingWells(const std::vector<StepReport>& sr);
|
std::set<std::string> consistentlyFailingWells(const std::vector<StepReport>& sr);
|
||||||
|
|
||||||
|
void registerAdaptiveParameters();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// AdaptiveTimeStepping
|
// AdaptiveTimeStepping
|
||||||
@ -170,56 +172,7 @@ std::set<std::string> consistentlyFailingWells(const std::vector<StepReport>& sr
|
|||||||
static void registerParameters()
|
static void registerParameters()
|
||||||
{
|
{
|
||||||
registerEclTimeSteppingParameters<Scalar>();
|
registerEclTimeSteppingParameters<Scalar>();
|
||||||
// TODO: make sure the help messages are correct (and useful)
|
detail::registerAdaptiveParameters();
|
||||||
Parameters::Register<Parameters::SolverContinueOnConvergenceFailure>
|
|
||||||
("Continue instead of stop when minimum solver time step is reached");
|
|
||||||
Parameters::Register<Parameters::SolverMaxRestarts>
|
|
||||||
("The maximum number of breakdowns before a substep is given up and "
|
|
||||||
"the simulator is terminated");
|
|
||||||
Parameters::Register<Parameters::SolverVerbosity>
|
|
||||||
("Specify the \"chattiness\" of the non-linear solver itself");
|
|
||||||
Parameters::Register<Parameters::TimeStepVerbosity>
|
|
||||||
("Specify the \"chattiness\" during the time integration");
|
|
||||||
Parameters::Register<Parameters::InitialTimeStepInDays>
|
|
||||||
("The size of the initial time step in days");
|
|
||||||
Parameters::Register<Parameters::FullTimeStepInitially>
|
|
||||||
("Always attempt to finish a report step using a single substep");
|
|
||||||
Parameters::Register<Parameters::TimeStepControl>
|
|
||||||
("The algorithm used to determine time-step sizes. "
|
|
||||||
"Valid options are: "
|
|
||||||
"'pid' (default), "
|
|
||||||
"'pid+iteration', "
|
|
||||||
"'pid+newtoniteration', "
|
|
||||||
"'iterationcount', "
|
|
||||||
"'newtoniterationcount' "
|
|
||||||
"and 'hardcoded'");
|
|
||||||
Parameters::Register<Parameters::TimeStepControlTolerance>
|
|
||||||
("The tolerance used by the time step size control algorithm");
|
|
||||||
Parameters::Register<Parameters::TimeStepControlTargetIterations>
|
|
||||||
("The number of linear iterations which the time step control scheme "
|
|
||||||
"should aim for (if applicable)");
|
|
||||||
Parameters::Register<Parameters::TimeStepControlTargetNewtonIterations>
|
|
||||||
("The number of Newton iterations which the time step control scheme "
|
|
||||||
"should aim for (if applicable)");
|
|
||||||
Parameters::Register<Parameters::TimeStepControlDecayRate>
|
|
||||||
("The decay rate of the time step size of the number of "
|
|
||||||
"target iterations is exceeded");
|
|
||||||
Parameters::Register<Parameters::TimeStepControlGrowthRate>
|
|
||||||
("The growth rate of the time step size of the number of "
|
|
||||||
"target iterations is undercut");
|
|
||||||
Parameters::Register<Parameters::TimeStepControlDecayDampingFactor>
|
|
||||||
("The decay rate of the time step decrease when the "
|
|
||||||
"target iterations is exceeded");
|
|
||||||
Parameters::Register<Parameters::TimeStepControlGrowthDampingFactor>
|
|
||||||
("The growth rate of the time step increase when the "
|
|
||||||
"target iterations is undercut");
|
|
||||||
Parameters::Register<Parameters::TimeStepControlFileName>
|
|
||||||
("The name of the file which contains the hardcoded time steps sizes");
|
|
||||||
Parameters::Register<Parameters::MinTimeStepBeforeShuttingProblematicWellsInDays>
|
|
||||||
("The minimum time step size in days for which problematic wells are not shut");
|
|
||||||
Parameters::Register<Parameters::MinTimeStepBasedOnNewtonIterations>
|
|
||||||
("The minimum time step size (in days for field and metric unit and hours for lab unit) "
|
|
||||||
"can be reduced to based on newton iteration counts");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** \brief step method that acts like the solver::step method
|
/** \brief step method that acts like the solver::step method
|
||||||
|
Loading…
Reference in New Issue
Block a user