libMesh::DiffContext Class Reference
#include <diff_context.h>

Detailed Description
This class provides all data required for a physics package (e.g. a DifferentiableSystem subclass) to perform local element residual and jacobian integrations.
This class is part of the new DifferentiableSystem framework, which is still experimental. Users of this framework should beware of bugs and future API changes.
Definition at line 57 of file diff_context.h.
Member Typedef Documentation
| typedef std::map<const NumericVector<Number>*, std::pair<DenseVector<Number>, std::vector<DenseSubVector<Number>*> > >::iterator libMesh::DiffContext::localized_vectors_iterator |
Typedef for the localized_vectors iterator
Definition at line 371 of file diff_context.h.
Constructor & Destructor Documentation
| libMesh::DiffContext::DiffContext | ( | const System & | sys | ) | [explicit] |
Constructor. Optionally initializes required data structures.
Definition at line 27 of file diff_context.C.
References elem_fixed_solution, elem_fixed_subsolutions, elem_jacobian, elem_qoi, elem_qoi_derivative, elem_qoi_subderivatives, elem_residual, elem_solution, elem_subjacobians, elem_subresiduals, elem_subsolutions, libMesh::System::n_vars(), libMesh::System::qoi, and libMesh::System::use_fixed_solution.
00027 : 00028 time(sys.time), 00029 system_time(sys.time), 00030 elem_solution_derivative(1.), 00031 fixed_solution_derivative(0.), 00032 dof_indices_var(sys.n_vars()), 00033 _deltat(NULL), 00034 _system(sys), 00035 _is_adjoint(false) 00036 { 00037 // Finally initialize solution/residual/jacobian data structures 00038 unsigned int nv = sys.n_vars(); 00039 00040 elem_subsolutions.reserve(nv); 00041 elem_subresiduals.reserve(nv); 00042 elem_subjacobians.resize(nv); 00043 if (sys.use_fixed_solution) 00044 elem_fixed_subsolutions.reserve(nv); 00045 00046 // If the user resizes sys.qoi, it will invalidate us 00047 std::size_t n_qoi = sys.qoi.size(); 00048 elem_qoi.resize(n_qoi); 00049 elem_qoi_derivative.resize(n_qoi); 00050 elem_qoi_subderivatives.resize(n_qoi); 00051 for (std::size_t q=0; q != n_qoi; ++q) 00052 elem_qoi_subderivatives[q].reserve(nv); 00053 00054 for (unsigned int i=0; i != nv; ++i) 00055 { 00056 elem_subsolutions.push_back(new DenseSubVector<Number>(elem_solution)); 00057 elem_subresiduals.push_back(new DenseSubVector<Number>(elem_residual)); 00058 for (std::size_t q=0; q != n_qoi; ++q) 00059 elem_qoi_subderivatives[q].push_back(new DenseSubVector<Number>(elem_qoi_derivative[q])); 00060 elem_subjacobians[i].reserve(nv); 00061 00062 if (sys.use_fixed_solution) 00063 elem_fixed_subsolutions.push_back 00064 (new DenseSubVector<Number>(elem_fixed_solution)); 00065 00066 for (unsigned int j=0; j != nv; ++j) 00067 { 00068 elem_subjacobians[i].push_back 00069 (new DenseSubMatrix<Number>(elem_jacobian)); 00070 } 00071 } 00072 }
| libMesh::DiffContext::~DiffContext | ( | ) | [virtual] |
Destructor.
Definition at line 76 of file diff_context.C.
References elem_fixed_subsolutions, elem_qoi_subderivatives, elem_subjacobians, elem_subresiduals, elem_subsolutions, and localized_vectors.
00077 { 00078 for (std::size_t i=0; i != elem_subsolutions.size(); ++i) 00079 { 00080 delete elem_subsolutions[i]; 00081 delete elem_subresiduals[i]; 00082 for (std::size_t q=0; q != elem_qoi_subderivatives.size(); ++q) 00083 delete elem_qoi_subderivatives[q][i]; 00084 if (!elem_fixed_subsolutions.empty()) 00085 delete elem_fixed_subsolutions[i]; 00086 00087 for (std::size_t j=0; j != elem_subjacobians[i].size(); ++j) 00088 delete elem_subjacobians[i][j]; 00089 } 00090 00091 // We also need to delete all the DenseSubVectors from the localized_vectors map 00092 // localized_vectors iterators 00093 std::map<const NumericVector<Number>*, std::pair<DenseVector<Number>, std::vector<DenseSubVector<Number>*> > >::iterator localized_vectors_it = localized_vectors.begin(); 00094 std::map<const NumericVector<Number>*, std::pair<DenseVector<Number>, std::vector<DenseSubVector<Number>*> > >::iterator localized_vectors_end = localized_vectors.end(); 00095 00096 // Loop over every localized_vector 00097 for(; localized_vectors_it != localized_vectors_end; ++localized_vectors_it) 00098 { 00099 // Grab the DenseSubVector to be deleted 00100 std::vector<DenseSubVector<Number>* >& localized_vector_dsv = localized_vectors_it->second.second; 00101 00102 // Loop over that vector and delete each entry 00103 for(std::size_t i=0; i != localized_vector_dsv.size(); ++i) 00104 delete localized_vector_dsv[i]; 00105 } 00106 }
Member Function Documentation
| void libMesh::DiffContext::add_localized_vector | ( | NumericVector< Number > & | _localized_vector, | |
| const System & | _sys | |||
| ) |
Adds a vector to the map of localized vectors. We can later evaluate interior_values, interior_gradients and side_values for these fields these vectors represent.
Definition at line 125 of file diff_context.C.
References localized_vectors, and libMesh::System::n_vars().
00126 { 00127 // Make an empty pair keyed with a reference to this _localized_vector 00128 localized_vectors[&_localized_vector] = std::make_pair(DenseVector<Number>(), std::vector<DenseSubVector<Number>*>()); 00129 00130 unsigned int nv = _sys.n_vars(); 00131 00132 localized_vectors[&_localized_vector].second.reserve(nv); 00133 00134 // Fill the DenseSubVector with nv copies of DenseVector 00135 for(unsigned int i=0; i != nv; ++i) 00136 localized_vectors[&_localized_vector].second.push_back(new DenseSubVector<Number>(localized_vectors[&_localized_vector].first)); 00137 }
| virtual void libMesh::DiffContext::elem_edge_reinit | ( | Real | ) | [inline, virtual] |
Gives derived classes the opportunity to reinitialize data needed for an edge integration at a new point within a timestep
Reimplemented in libMesh::FEMContext.
Definition at line 90 of file diff_context.h.
| virtual void libMesh::DiffContext::elem_reinit | ( | Real | ) | [inline, virtual] |
Gives derived classes the opportunity to reinitialize data (FE objects in FEMSystem, for example) needed for an interior integration at a new point within a timestep
Reimplemented in libMesh::FEMContext.
Definition at line 78 of file diff_context.h.
Referenced by libMesh::EulerSolver::element_residual(), and libMesh::Euler2Solver::element_residual().
| virtual void libMesh::DiffContext::elem_side_reinit | ( | Real | ) | [inline, virtual] |
Gives derived classes the opportunity to reinitialize data needed for a side integration at a new point within a timestep
Reimplemented in libMesh::FEMContext.
Definition at line 84 of file diff_context.h.
Referenced by libMesh::EulerSolver::side_residual(), and libMesh::Euler2Solver::side_residual().
| Real libMesh::DiffContext::get_deltat_value | ( | ) |
Returns the value currently pointed to by this class's _deltat member
Definition at line 117 of file diff_context.C.
References _deltat.
Referenced by libMesh::FEMContext::_update_time_from_system().
| const std::vector<dof_id_type>& libMesh::DiffContext::get_dof_indices | ( | unsigned int | var | ) | const [inline] |
Accessor for element dof indices of a particular variable corresponding to the index argument.
Definition at line 230 of file diff_context.h.
References dof_indices_var.
00231 { return dof_indices_var[var]; }
| const std::vector<dof_id_type>& libMesh::DiffContext::get_dof_indices | ( | ) | const [inline] |
Accessor for element dof indices
Definition at line 223 of file diff_context.h.
References dof_indices.
00224 { return dof_indices; }
| const DenseSubVector<Number>& libMesh::DiffContext::get_elem_fixed_solution | ( | unsigned int | var | ) | const [inline] |
Accessor for element fixed solution of a particular variable corresponding to the variable index argument.
Definition at line 127 of file diff_context.h.
References elem_fixed_subsolutions.
00128 { return *(elem_fixed_subsolutions[var]); }
| const DenseVector<Number>& libMesh::DiffContext::get_elem_fixed_solution | ( | ) | const [inline] |
Accessor for element fixed solution.
Definition at line 120 of file diff_context.h.
References elem_fixed_solution.
00121 { return elem_fixed_solution; }
| DenseSubMatrix<Number>& libMesh::DiffContext::get_elem_jacobian | ( | unsigned int | var1, | |
| unsigned int | var2 | |||
| ) | [inline] |
Non-const accessor for element Jacobian of particular variables corresponding to the variable index arguments.
Definition at line 179 of file diff_context.h.
References elem_subjacobians.
00180 { return *(elem_subjacobians[var1][var2]); }
| const DenseSubMatrix<Number>& libMesh::DiffContext::get_elem_jacobian | ( | unsigned int | var1, | |
| unsigned int | var2 | |||
| ) | const [inline] |
Const accessor for element Jacobian of particular variables corresponding to the variable index arguments.
Definition at line 172 of file diff_context.h.
References elem_subjacobians.
00173 { return *(elem_subjacobians[var1][var2]); }
| DenseMatrix<Number>& libMesh::DiffContext::get_elem_jacobian | ( | ) | [inline] |
Non-const accessor for element Jacobian.
Definition at line 165 of file diff_context.h.
References elem_jacobian.
00166 { return elem_jacobian; }
| const DenseMatrix<Number>& libMesh::DiffContext::get_elem_jacobian | ( | ) | const [inline] |
Const accessor for element Jacobian.
Definition at line 159 of file diff_context.h.
References elem_jacobian.
00160 { return elem_jacobian; }
| DenseSubVector<Number>& libMesh::DiffContext::get_elem_residual | ( | unsigned int | var | ) | [inline] |
Non-const accessor for element residual of a particular variable corresponding to the variable index argument.
Definition at line 153 of file diff_context.h.
References elem_subresiduals.
00154 { return *(elem_subresiduals[var]); }
| const DenseSubVector<Number>& libMesh::DiffContext::get_elem_residual | ( | unsigned int | var | ) | const [inline] |
Const accessor for element residual of a particular variable corresponding to the variable index argument.
Definition at line 146 of file diff_context.h.
References elem_subresiduals.
00147 { return *(elem_subresiduals[var]); }
| DenseVector<Number>& libMesh::DiffContext::get_elem_residual | ( | ) | [inline] |
Non-const accessor for element residual.
Definition at line 139 of file diff_context.h.
References elem_residual.
00140 { return elem_residual; }
| const DenseVector<Number>& libMesh::DiffContext::get_elem_residual | ( | ) | const [inline] |
Const accessor for element residual.
Definition at line 133 of file diff_context.h.
References elem_residual.
00134 { return elem_residual; }
| const DenseSubVector<Number>& libMesh::DiffContext::get_elem_solution | ( | unsigned int | var | ) | const [inline] |
Accessor for element solution of a particular variable corresponding to the variable index argument.
Definition at line 114 of file diff_context.h.
References elem_subsolutions.
00115 { return *(elem_subsolutions[var]); }
| const DenseVector<Number>& libMesh::DiffContext::get_elem_solution | ( | ) | const [inline] |
Accessor for element solution.
Definition at line 107 of file diff_context.h.
References elem_solution.
00108 { return elem_solution; }
| Real libMesh::DiffContext::get_elem_solution_derivative | ( | ) | const [inline] |
Definition at line 251 of file diff_context.h.
References elem_solution_derivative.
00252 { return elem_solution_derivative; }
| Real libMesh::DiffContext::get_fixed_solution_derivative | ( | ) | const [inline] |
Definition at line 254 of file diff_context.h.
References fixed_solution_derivative.
00255 { return fixed_solution_derivative; }
| const DenseSubVector< Number > & libMesh::DiffContext::get_localized_subvector | ( | const NumericVector< Number > & | _localized_vector, | |
| unsigned int | _var | |||
| ) | const |
const accessible version of get_localized_subvector function
Definition at line 161 of file diff_context.C.
References localized_vectors.
00162 { 00163 std::map<const NumericVector<Number>*, std::pair<DenseVector<Number>, std::vector<DenseSubVector<Number>*> > >::const_iterator 00164 localized_vectors_it = localized_vectors.find(&_localized_vector); 00165 libmesh_assert(localized_vectors_it != localized_vectors.end()); 00166 return *localized_vectors_it->second.second[_var]; 00167 }
| DenseSubVector< Number > & libMesh::DiffContext::get_localized_subvector | ( | const NumericVector< Number > & | _localized_vector, | |
| unsigned int | _var | |||
| ) |
Return a reference to DenseSubVector localization of _localized_vector at variable _var contained in the localized_vectors map
Definition at line 155 of file diff_context.C.
References localized_vectors.
Referenced by libMesh::FEMContext::interior_values().
00156 { 00157 return *localized_vectors[&_localized_vector].second[_var]; 00158 }
| const DenseVector< Number > & libMesh::DiffContext::get_localized_vector | ( | const NumericVector< Number > & | _localized_vector | ) | const |
const accessible version of get_localized_vector function
Definition at line 146 of file diff_context.C.
References localized_vectors.
00147 { 00148 std::map<const NumericVector<Number>*, std::pair<DenseVector<Number>, std::vector<DenseSubVector<Number>*> > >::const_iterator 00149 localized_vectors_it = localized_vectors.find(&_localized_vector); 00150 libmesh_assert(localized_vectors_it != localized_vectors.end()); 00151 return localized_vectors_it->second.first; 00152 }
| DenseVector< Number > & libMesh::DiffContext::get_localized_vector | ( | const NumericVector< Number > & | _localized_vector | ) |
Return a reference to DenseVector localization of _localized_vector contained in the localized_vectors map
Definition at line 140 of file diff_context.C.
References localized_vectors.
00141 { 00142 return localized_vectors[&_localized_vector].first; 00143 }
| DenseSubVector<Number>& libMesh::DiffContext::get_qoi_derivatives | ( | unsigned int | qoi, | |
| unsigned int | var | |||
| ) | [inline] |
Non-const accessor for QoI derivative of a particular qoi and variable corresponding to the index arguments.
Definition at line 217 of file diff_context.h.
References elem_qoi_subderivatives.
00218 { return *(elem_qoi_subderivatives[qoi][var]); }
| const DenseSubVector<Number>& libMesh::DiffContext::get_qoi_derivatives | ( | unsigned int | qoi, | |
| unsigned int | var | |||
| ) | const [inline] |
Const accessor for QoI derivative of a particular qoi and variable corresponding to the index arguments.
Definition at line 210 of file diff_context.h.
References elem_qoi_subderivatives.
00211 { return *(elem_qoi_subderivatives[qoi][var]); }
| std::vector<DenseVector<Number> >& libMesh::DiffContext::get_qoi_derivatives | ( | ) | [inline] |
Non-const accessor for QoI derivatives.
Definition at line 203 of file diff_context.h.
References elem_qoi_derivative.
00204 { return elem_qoi_derivative; }
| const std::vector<DenseVector<Number> >& libMesh::DiffContext::get_qoi_derivatives | ( | ) | const [inline] |
Const accessor for QoI derivatives.
Definition at line 197 of file diff_context.h.
References elem_qoi_derivative.
00198 { return elem_qoi_derivative; }
| std::vector<Number>& libMesh::DiffContext::get_qois | ( | ) | [inline] |
Non-const accessor for QoI vector.
Definition at line 191 of file diff_context.h.
References elem_qoi.
00192 { return elem_qoi; }
| const std::vector<Number>& libMesh::DiffContext::get_qois | ( | ) | const [inline] |
Const accessor for QoI vector.
Definition at line 185 of file diff_context.h.
References elem_qoi.
00186 { return elem_qoi; }
| const System& libMesh::DiffContext::get_system | ( | ) | const [inline] |
Accessor for associated system.
Definition at line 101 of file diff_context.h.
References _system.
00102 { return _system; }
| Real libMesh::DiffContext::get_system_time | ( | ) | const [inline] |
Accessor for the time variable stored in the system class.
Definition at line 236 of file diff_context.h.
References system_time.
00237 { return system_time; }
| Real libMesh::DiffContext::get_time | ( | ) | const [inline] |
Accessor for the time for which the current nonlinear_solution is defined.
Definition at line 242 of file diff_context.h.
References time.
00243 { return time; }
| bool& libMesh::DiffContext::is_adjoint | ( | ) | [inline] |
Accessor for setting whether we need to do a primal or adjoint solve
Definition at line 268 of file diff_context.h.
References _is_adjoint.
00269 { return _is_adjoint; }
| bool libMesh::DiffContext::is_adjoint | ( | ) | const [inline] |
Accessor for querying whether we need to do a primal or adjoint solve
Definition at line 261 of file diff_context.h.
References _is_adjoint.
00262 { return _is_adjoint; }
| unsigned int libMesh::DiffContext::n_vars | ( | ) | const [inline] |
Number of variables in solution.
Definition at line 95 of file diff_context.h.
References dof_indices_var.
00096 { return libmesh_cast_int<unsigned int>(dof_indices_var.size()); }
| void libMesh::DiffContext::set_deltat_pointer | ( | Real * | dt | ) |
Points the _deltat member of this class at a timestep value stored in the creating System, for example DiffSystem::deltat
Definition at line 109 of file diff_context.C.
References _deltat.
Referenced by libMesh::FEMSystem::init_context().
00110 { 00111 // We may actually want to be able to set this pointer to NULL, so 00112 // don't report an error for that. 00113 _deltat = dt; 00114 }
| void libMesh::DiffContext::set_time | ( | Real | time_in | ) | [inline] |
Set the time for which the current nonlinear_solution is defined.
Definition at line 248 of file diff_context.h.
References time.
00249 { time = time_in; }
Member Data Documentation
Real* libMesh::DiffContext::_deltat [private] |
Default NULL, can optionally be used to point to a timestep value in the System-derived class responsible for creating this DiffContext.
In DiffSystem's build_context() function, is assigned to point to the deltat member of that class.
Accessible via public get_deltat()/set_deltat() methods of this class.
Always test for NULL before using!
Definition at line 408 of file diff_context.h.
Referenced by get_deltat_value(), and set_deltat_pointer().
bool libMesh::DiffContext::_is_adjoint [private] |
Is this context to be used for a primal or adjoint solve?
Definition at line 418 of file diff_context.h.
Referenced by is_adjoint().
const System& libMesh::DiffContext::_system [private] |
A reference to the system this context is constructed with
Definition at line 413 of file diff_context.h.
Referenced by get_system().
| std::vector<dof_id_type> libMesh::DiffContext::dof_indices |
Global Degree of freedom index lists
Definition at line 347 of file diff_context.h.
Referenced by libMesh::EulerSolver::element_residual(), libMesh::Euler2Solver::element_residual(), libMesh::FEMContext::fixed_interior_hessian(), libMesh::FEMContext::fixed_interior_value(), libMesh::FEMContext::fixed_point_gradient(), libMesh::FEMContext::fixed_point_hessian(), libMesh::FEMContext::fixed_point_value(), libMesh::FEMContext::fixed_side_gradient(), libMesh::FEMContext::fixed_side_hessian(), libMesh::FEMContext::fixed_side_value(), get_dof_indices(), libMesh::FEMContext::interior_curl(), libMesh::FEMContext::interior_div(), libMesh::FEMContext::interior_gradient(), libMesh::FEMContext::interior_hessian(), libMesh::FEMContext::interior_value(), libMesh::FEMContext::interior_values(), libMesh::FEMSystem::numerical_jacobian(), libMesh::FEMContext::point_gradient(), libMesh::FEMContext::point_hessian(), libMesh::FEMContext::point_value(), libMesh::FEMContext::pre_fe_reinit(), libMesh::FEMContext::side_gradient(), libMesh::FEMContext::side_hessian(), libMesh::EulerSolver::side_residual(), libMesh::Euler2Solver::side_residual(), and libMesh::FEMContext::side_value().
| std::vector<std::vector<dof_id_type> > libMesh::DiffContext::dof_indices_var |
Definition at line 348 of file diff_context.h.
Referenced by libMesh::FEMContext::fixed_interior_hessian(), libMesh::FEMContext::fixed_interior_value(), libMesh::FEMContext::fixed_point_gradient(), libMesh::FEMContext::fixed_point_hessian(), libMesh::FEMContext::fixed_point_value(), libMesh::FEMContext::fixed_side_gradient(), libMesh::FEMContext::fixed_side_hessian(), libMesh::FEMContext::fixed_side_value(), get_dof_indices(), libMesh::FEMContext::interior_curl(), libMesh::FEMContext::interior_div(), libMesh::FEMContext::interior_gradient(), libMesh::FEMContext::interior_hessian(), libMesh::FEMContext::interior_value(), libMesh::FEMContext::interior_values(), libMesh::FEMSystem::mesh_position_get(), n_vars(), libMesh::FEMSystem::numerical_jacobian(), libMesh::FEMContext::point_gradient(), libMesh::FEMContext::point_hessian(), libMesh::FEMContext::point_value(), libMesh::FEMContext::pre_fe_reinit(), libMesh::FEMContext::side_gradient(), libMesh::FEMContext::side_hessian(), and libMesh::FEMContext::side_value().
Element by element components of nonlinear_solution at a fixed point in a timestep, for optional use by e.g. stabilized methods
Definition at line 299 of file diff_context.h.
Referenced by DiffContext(), libMesh::SteadySolver::element_residual(), libMesh::EulerSolver::element_residual(), libMesh::Euler2Solver::element_residual(), get_elem_fixed_solution(), libMesh::FEMContext::pre_fe_reinit(), libMesh::SteadySolver::side_residual(), libMesh::EulerSolver::side_residual(), and libMesh::Euler2Solver::side_residual().
| std::vector<DenseSubVector<Number> *> libMesh::DiffContext::elem_fixed_subsolutions |
Definition at line 300 of file diff_context.h.
Referenced by DiffContext(), libMesh::FEMContext::fixed_interior_hessian(), libMesh::FEMContext::fixed_interior_value(), libMesh::FEMContext::fixed_point_gradient(), libMesh::FEMContext::fixed_point_hessian(), libMesh::FEMContext::fixed_point_value(), libMesh::FEMContext::fixed_side_gradient(), libMesh::FEMContext::fixed_side_hessian(), libMesh::FEMContext::fixed_side_value(), get_elem_fixed_solution(), libMesh::FEMContext::pre_fe_reinit(), and ~DiffContext().
Element jacobian: derivatives of elem_residual with respect to elem_solution
Definition at line 325 of file diff_context.h.
Referenced by DiffContext(), libMesh::EulerSolver::element_residual(), libMesh::Euler2Solver::element_residual(), get_elem_jacobian(), libMesh::FEMSystem::numerical_jacobian(), libMesh::FEMContext::pre_fe_reinit(), libMesh::EulerSolver::side_residual(), and libMesh::Euler2Solver::side_residual().
| std::vector<Number> libMesh::DiffContext::elem_qoi |
Element quantity of interest contributions
Definition at line 330 of file diff_context.h.
Referenced by DiffContext(), and get_qois().
| std::vector<DenseVector<Number> > libMesh::DiffContext::elem_qoi_derivative |
Element quantity of interest derivative contributions
Definition at line 335 of file diff_context.h.
Referenced by DiffContext(), get_qoi_derivatives(), and libMesh::FEMContext::pre_fe_reinit().
| std::vector<std::vector<DenseSubVector<Number> *> > libMesh::DiffContext::elem_qoi_subderivatives |
Definition at line 336 of file diff_context.h.
Referenced by DiffContext(), get_qoi_derivatives(), libMesh::FEMContext::pre_fe_reinit(), and ~DiffContext().
Element residual vector
Definition at line 319 of file diff_context.h.
Referenced by DiffContext(), libMesh::EulerSolver::element_residual(), libMesh::Euler2Solver::element_residual(), get_elem_residual(), libMesh::FEMSystem::numerical_jacobian(), libMesh::FEMContext::pre_fe_reinit(), libMesh::EulerSolver::side_residual(), and libMesh::Euler2Solver::side_residual().
Element by element components of nonlinear_solution as adjusted by a time_solver
Definition at line 291 of file diff_context.h.
Referenced by DiffContext(), libMesh::SteadySolver::element_residual(), libMesh::EulerSolver::element_residual(), libMesh::Euler2Solver::element_residual(), get_elem_solution(), libMesh::FEMSystem::numerical_jacobian(), libMesh::FEMContext::pre_fe_reinit(), libMesh::SteadySolver::side_residual(), libMesh::EulerSolver::side_residual(), and libMesh::Euler2Solver::side_residual().
The derivative of elem_solution with respect to the nonlinear solution, for use by systems constructing jacobians with elem_fixed_solution based methods
Definition at line 307 of file diff_context.h.
Referenced by libMesh::EulerSolver::element_residual(), libMesh::Euler2Solver::element_residual(), get_elem_solution_derivative(), libMesh::EulerSolver::side_residual(), and libMesh::Euler2Solver::side_residual().
| std::vector<std::vector<DenseSubMatrix<Number> *> > libMesh::DiffContext::elem_subjacobians |
Definition at line 342 of file diff_context.h.
Referenced by DiffContext(), get_elem_jacobian(), libMesh::FEMContext::pre_fe_reinit(), and ~DiffContext().
| std::vector<DenseSubVector<Number> *> libMesh::DiffContext::elem_subresiduals |
Element residual subvectors and Jacobian submatrices
Definition at line 341 of file diff_context.h.
Referenced by DiffContext(), get_elem_residual(), libMesh::FEMContext::pre_fe_reinit(), and ~DiffContext().
| std::vector<DenseSubVector<Number> *> libMesh::DiffContext::elem_subsolutions |
Definition at line 292 of file diff_context.h.
Referenced by libMesh::FEMContext::_do_elem_position_set(), DiffContext(), libMesh::FEMContext::elem_position_get(), get_elem_solution(), libMesh::FEMContext::interior_curl(), libMesh::FEMContext::interior_div(), libMesh::FEMContext::interior_gradient(), libMesh::FEMContext::interior_hessian(), libMesh::FEMContext::interior_value(), libMesh::FEMSystem::mesh_position_get(), libMesh::FEMContext::point_gradient(), libMesh::FEMContext::point_hessian(), libMesh::FEMContext::point_value(), libMesh::FEMContext::pre_fe_reinit(), libMesh::FEMContext::side_gradient(), libMesh::FEMContext::side_hessian(), libMesh::FEMContext::side_value(), and ~DiffContext().
The derivative of elem_fixed_solution with respect to the nonlinear solution, for use by systems constructing jacobians with elem_fixed_solution based methods
Definition at line 314 of file diff_context.h.
Referenced by libMesh::SteadySolver::element_residual(), libMesh::EulerSolver::element_residual(), libMesh::Euler2Solver::element_residual(), get_fixed_solution_derivative(), libMesh::SteadySolver::side_residual(), libMesh::EulerSolver::side_residual(), and libMesh::Euler2Solver::side_residual().
std::map<const NumericVector<Number>*, std::pair<DenseVector<Number>, std::vector<DenseSubVector<Number>*> > > libMesh::DiffContext::localized_vectors [protected] |
Contains pointers to vectors the user has asked to be localized, keyed with pairs of element localized versions of that vector and per variable views
Definition at line 427 of file diff_context.h.
Referenced by add_localized_vector(), get_localized_subvector(), get_localized_vector(), libMesh::FEMContext::pre_fe_reinit(), and ~DiffContext().
This is the time stored in the System class at the time this context was created, i.e. the time at the beginning of the current timestep. This value gets set in the constructor and unlike DiffContext::time, is not tweaked mid-timestep by transient solvers: it remains equal to the value it was assigned at construction.
Definition at line 285 of file diff_context.h.
Referenced by libMesh::FEMContext::_update_time_from_system(), and get_system_time().
For time-dependent problems, this is the time t for which the current nonlinear_solution is defined. FIXME - this needs to be tweaked mid-timestep by all transient solvers!
Definition at line 276 of file diff_context.h.
Referenced by libMesh::FEMContext::_update_time_from_system(), get_time(), and set_time().
The documentation for this class was generated from the following files:
Site Created By: libMesh Developers
Last modified: February 05 2013 19:55:14 UTC
Hosted By: