NuTo
Numerics Tool
Public Types | Public Member Functions | Static Public Member Functions | List of all members
NuTo::TimeDependentProblem Class Reference

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...
 

Detailed Description

Equation system that contains R(u, u') + M u'' = 0 with R = Gradient dR/du = Hessian0 dR/du' = Hessian1 M = Hessian2.

Member Typedef Documentation

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)>

Constructor & Destructor Documentation

TimeDependentProblem::TimeDependentProblem ( MeshFem rMesh)

Member Function Documentation

void TimeDependentProblem::AddGradientFunction ( Group< CellInterface group,
GradientFunction  f 
)
void TimeDependentProblem::AddHessian0Function ( Group< CellInterface group,
HessianFunction  f 
)
void TimeDependentProblem::AddUpdateFunction ( Group< CellInterface group,
UpdateFunction  f 
)
template<typename TObject , typename TReturn >
static auto NuTo::TimeDependentProblem::Bind ( TObject &  object,
TReturn(TObject::*)(const NuTo::CellIpData &)  f 
)
inlinestatic

binds nothing

template<typename TObject , typename TReturn >
static auto NuTo::TimeDependentProblem::Bind_dt ( TObject &  object,
TReturn(TObject::*)(const CellIpData &, double dt)  f 
)
inlinestatic

binds a dt dependent integrand to a time dependent function

template<typename TObject , typename TReturn >
static auto NuTo::TimeDependentProblem::Bind_t ( TObject &  object,
TReturn(TObject::*)(const NuTo::CellIpData &, double t)  f 
)
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 
)

The documentation for this class was generated from the following files: