NuTo
Numerics Tool
|
Equation system that contains R(u, u') + M u'' = 0 with R = Gradient dR/du = Hessian0 dR/du' = Hessian1 M = Hessian2. More...
#include <TimeDependentProblem.h>
Public Types | |
using | GradientFunction = std::function< DofVector< double >(const CellIpData &, double t, double dt)> |
using | HessianFunction = std::function< DofMatrix< double >(const CellIpData &, double t, double dt)> |
using | UpdateFunction = std::function< void(const CellIpData &, double t, double dt)> |
Public Member Functions | |
TimeDependentProblem (MeshFem *rMesh) | |
DofVector< double > | RenumberDofs (Constraint::Constraints constraints, std::vector< DofType > dofTypes, DofVector< double > oldDofValues) |
void | AddGradientFunction (Group< CellInterface > group, GradientFunction f) |
void | AddHessian0Function (Group< CellInterface > group, HessianFunction f) |
void | AddUpdateFunction (Group< CellInterface > group, UpdateFunction f) |
DofVector< double > | Gradient (const DofVector< double > &dofValues, std::vector< DofType > dofs, double t, double dt) |
DofMatrixSparse< double > | Hessian0 (const DofVector< double > &dofValues, std::vector< DofType > dofs, double t, double dt) |
void | UpdateHistory (const DofVector< double > &dofValues, std::vector< DofType > dofs, double t, double dt) |
Static Public Member Functions | |
template<typename TObject , typename TReturn > | |
static auto | Bind_dt (TObject &object, TReturn(TObject::*f)(const CellIpData &, double dt)) |
binds a dt dependent integrand to a time dependent function More... | |
template<typename TObject , typename TReturn > | |
static auto | Bind_t (TObject &object, TReturn(TObject::*f)(const NuTo::CellIpData &, double t)) |
binds a t dependent integrand to a time dependent function More... | |
template<typename TObject , typename TReturn > | |
static auto | Bind (TObject &object, TReturn(TObject::*f)(const NuTo::CellIpData &)) |
binds nothing More... | |
Equation system that contains R(u, u') + M u'' = 0 with R = Gradient dR/du = Hessian0 dR/du' = Hessian1 M = Hessian2.
using NuTo::TimeDependentProblem::GradientFunction = std::function<DofVector<double>(const CellIpData&, double t, double dt)> |
using NuTo::TimeDependentProblem::HessianFunction = std::function<DofMatrix<double>(const CellIpData&, double t, double dt)> |
using NuTo::TimeDependentProblem::UpdateFunction = std::function<void(const CellIpData&, double t, double dt)> |
TimeDependentProblem::TimeDependentProblem | ( | MeshFem * | rMesh | ) |
void TimeDependentProblem::AddGradientFunction | ( | Group< CellInterface > | group, |
GradientFunction | f | ||
) |
void TimeDependentProblem::AddHessian0Function | ( | Group< CellInterface > | group, |
HessianFunction | f | ||
) |
void TimeDependentProblem::AddUpdateFunction | ( | Group< CellInterface > | group, |
UpdateFunction | f | ||
) |
|
inlinestatic |
binds nothing
|
inlinestatic |
binds a dt dependent integrand to a time dependent function
|
inlinestatic |
binds a t dependent integrand to a time dependent function
DofVector< double > TimeDependentProblem::Gradient | ( | const DofVector< double > & | dofValues, |
std::vector< DofType > | dofs, | ||
double | t, | ||
double | dt | ||
) |
DofMatrixSparse< double > TimeDependentProblem::Hessian0 | ( | const DofVector< double > & | dofValues, |
std::vector< DofType > | dofs, | ||
double | t, | ||
double | dt | ||
) |
DofVector< double > TimeDependentProblem::RenumberDofs | ( | Constraint::Constraints | constraints, |
std::vector< DofType > | dofTypes, | ||
DofVector< double > | oldDofValues | ||
) |
void TimeDependentProblem::UpdateHistory | ( | const DofVector< double > & | dofValues, |
std::vector< DofType > | dofs, | ||
double | t, | ||
double | dt | ||
) |