34 #include "libmesh/auto_ptr.h"
35 #include "libmesh/dof_map.h"
36 #include "libmesh/getpot.h"
37 #include "libmesh/steady_solver.h"
56 libMesh::SteadySolver* time_solver =
new libMesh::SteadySolver( *(system) );
58 system->time_solver = libMesh::AutoPtr<libMesh::TimeSolver>(time_solver);
64 libmesh_assert( context.
system );
76 for (
unsigned int v=0; v != context.
system->n_vars(); ++v)
77 if (context.
system->variable(v).type().family ==
80 std::cout << context.
system->variable_name(v) <<
82 std::vector<libMesh::dof_id_type> scalar_indices;
83 context.
system->get_dof_map().SCALAR_dof_indices
85 if (scalar_indices.size())
87 context.
system->current_solution(scalar_indices[0]);
88 for (
unsigned int i=1; i < scalar_indices.size();
91 context.
system->current_solution(scalar_indices[i]);
92 std::cout <<
'}' << std::endl;
114 const libMesh::QoISet& qoi_indices,
115 const libMesh::ParameterVector& parameters_in,
116 libMesh::SensitivityData& sensitivities)
const
118 context.
system->adjoint_qoi_parameter_sensitivity
119 (qoi_indices, parameters_in, sensitivities);
124 const libMesh::QoISet& qoi_indices,
125 const libMesh::ParameterVector& parameters_in,
126 libMesh::SensitivityData& sensitivities)
const
128 context.
system->forward_qoi_parameter_sensitivity
129 (qoi_indices, parameters_in, sensitivities);
132 context.
vis->output_residual_sensitivities
136 context.
vis->output_solution_sensitivities
virtual void init_time_solver(GRINS::MultiphysicsSystem *system)
virtual void solve(SolverContext &context)
void steady_adjoint_solve(SolverContext &context)
Do steady version of adjoint solve.
std::tr1::shared_ptr< libMesh::EquationSystems > equation_system
bool output_residual_sensitivities
SteadySolver(const GetPot &input)
virtual void forward_qoi_parameter_sensitivity(SolverContext &context, const libMesh::QoISet &qoi_indices, const libMesh::ParameterVector ¶meters_in, libMesh::SensitivityData &sensitivities) const
GRINS::MultiphysicsSystem * system
Interface with libMesh for solving Multiphysics problems.
std::tr1::shared_ptr< PostProcessedQuantities< libMesh::Real > > postprocessing
std::tr1::shared_ptr< GRINS::Visualization > vis
virtual void adjoint_qoi_parameter_sensitivity(SolverContext &context, const libMesh::QoISet &qoi_indices, const libMesh::ParameterVector ¶meters_in, libMesh::SensitivityData &sensitivities) const
Simple class to hold objects passed to Solver::solve.
bool output_solution_sensitivities