GRINS-0.8.0
|
#include <unsteady_solver.h>
Public Member Functions | |
UnsteadySolver (const GetPot &input) | |
virtual | ~UnsteadySolver () |
virtual void | solve (SolverContext &context) |
Public Member Functions inherited from GRINS::Solver | |
Solver (const GetPot &input) | |
virtual | ~Solver () |
virtual void | initialize (const GetPot &input, SharedPtr< libMesh::EquationSystems > equation_system, GRINS::MultiphysicsSystem *system) |
virtual void | adjoint_qoi_parameter_sensitivity (SolverContext &, const libMesh::QoISet &, const libMesh::ParameterVector &, libMesh::SensitivityData &) const |
virtual void | forward_qoi_parameter_sensitivity (SolverContext &, const libMesh::QoISet &, const libMesh::ParameterVector &, libMesh::SensitivityData &) const |
void | steady_adjoint_solve (SolverContext &context) |
Do steady version of adjoint solve. More... | |
void | print_scalar_vars (SolverContext &context) |
void | print_qoi (SolverContext &context) |
Protected Member Functions | |
virtual void | init_time_solver (GRINS::MultiphysicsSystem *system) |
template<typename T > | |
void | set_theta (libMesh::UnsteadySolver *time_solver) |
void | update_dirichlet_bcs (SolverContext &context) |
Updates Dirichlet boundary conditions. More... | |
void | init_second_order_in_time_solvers (SolverContext &context) |
Protected Member Functions inherited from GRINS::Solver | |
void | set_solver_options (libMesh::DiffSolver &solver) |
Protected Attributes | |
std::string | _time_solver_name |
unsigned int | _n_timesteps |
unsigned int | _backtrack_deltat |
double | _theta |
double | _deltat |
AdaptiveTimeSteppingOptions | _adapt_time_step_options |
bool | _is_second_order_in_time |
Track whether is this a second order (in time) solver or not. More... | |
Protected Attributes inherited from GRINS::Solver | |
unsigned int | _max_nonlinear_iterations |
double | _relative_step_tolerance |
double | _absolute_step_tolerance |
double | _relative_residual_tolerance |
double | _absolute_residual_tolerance |
double | _initial_linear_tolerance |
double | _minimum_linear_tolerance |
unsigned int | _max_linear_iterations |
bool | _continue_after_backtrack_failure |
bool | _continue_after_max_iterations |
bool | _require_residual_reduction |
bool | _solver_quiet |
bool | _solver_verbose |
Definition at line 39 of file unsteady_solver.h.
GRINS::UnsteadySolver::UnsteadySolver | ( | const GetPot & | input | ) |
Definition at line 54 of file unsteady_solver.C.
|
inlinevirtual |
Definition at line 44 of file unsteady_solver.h.
|
protected |
Definition at line 227 of file unsteady_solver.C.
References GRINS::SolverContext::have_restart, and GRINS::SolverContext::system.
Referenced by solve().
|
protectedvirtual |
Implements GRINS::Solver.
Definition at line 65 of file unsteady_solver.C.
References _adapt_time_step_options, _backtrack_deltat, _is_second_order_in_time, _time_solver_name, GRINS::AdaptiveTimeSteppingOptions::component_norm(), GRINS::AdaptiveTimeSteppingOptions::is_time_adaptive(), GRINS::SolverNames::libmesh_euler2_solver(), GRINS::SolverNames::libmesh_euler_solver(), GRINS::SolverNames::libmesh_newmark_solver(), GRINS::AdaptiveTimeSteppingOptions::max_growth(), GRINS::AdaptiveTimeSteppingOptions::target_tolerance(), and GRINS::AdaptiveTimeSteppingOptions::upper_tolerance().
|
inlineprotected |
|
virtual |
Implements GRINS::Solver.
Reimplemented in GRINS::UnsteadyMeshAdaptiveSolver.
Definition at line 112 of file unsteady_solver.C.
References _deltat, _is_second_order_in_time, _n_timesteps, GRINS::SolverContext::equation_system, init_second_order_in_time_solvers(), GRINS::SolverContext::output_residual, GRINS::SolverContext::output_vis, GRINS::SolverContext::postprocessing, GRINS::SolverContext::print_perflog, GRINS::Solver::print_scalar_vars(), GRINS::SolverContext::print_scalars, GRINS::SolverContext::system, GRINS::SolverContext::timesteps_per_perflog, GRINS::SolverContext::timesteps_per_vis, update_dirichlet_bcs(), and GRINS::SolverContext::vis.
|
protected |
Updates Dirichlet boundary conditions.
If the Dirichlet boundary condition is nonlinear or time-dependent, we need to update the constraints with the new solution.
Definition at line 186 of file unsteady_solver.C.
References GRINS::SolverContext::system.
Referenced by solve(), and GRINS::UnsteadyMeshAdaptiveSolver::solve().
|
protected |
Definition at line 70 of file unsteady_solver.h.
Referenced by init_time_solver().
|
protected |
Definition at line 65 of file unsteady_solver.h.
Referenced by init_time_solver().
|
protected |
Definition at line 67 of file unsteady_solver.h.
Referenced by solve(), and GRINS::UnsteadyMeshAdaptiveSolver::solve().
|
protected |
Track whether is this a second order (in time) solver or not.
If it is, we need to potentially initialize the acceleration
Definition at line 74 of file unsteady_solver.h.
Referenced by init_time_solver(), and solve().
|
protected |
Definition at line 64 of file unsteady_solver.h.
Referenced by solve(), and GRINS::UnsteadyMeshAdaptiveSolver::solve().
|
protected |
Definition at line 66 of file unsteady_solver.h.
Referenced by set_theta().
|
protected |
Definition at line 62 of file unsteady_solver.h.
Referenced by init_time_solver().