Newmark-beta time integration scheme.  
 More...
#include <dumux/experimental/timestepping/newmarkbeta.hh>
template<class Scalar, class Solution>
class Dumux::Experimental::NewmarkBeta< Scalar, Solution >
- Template Parameters
- 
  
    | Scalar | The scalar type used for the solution |  | Solution | The solution type used for the variables |  
 
- Note
- Newmark (1959) "A method of computation for structural dynamics" Journal of the Engineering Mechanics Division, https://doi.org/10.1061/JMCEA3.0000098 
- 
This is typically used for PDEs of the form M*a + C*v + K*x = f with M the mass matrix, C the damping matrix, K the stiffness matrix, x the displacement, v the velocity and a the acceleration. An example is dynamic mechanics. 
|  | 
|  | NewmarkBeta (const Scalar beta, const Scalar gamma) | 
|  | 
|  | NewmarkBeta () | 
|  | 
| void | initialize (const Solution &x) | 
|  | 
| void | initialize (const Solution &x, const Solution &v, const Solution &a) | 
|  | Initialize the time integration scheme with the current solution. 
 | 
|  | 
| void | update (const Scalar dt, const Solution &x) | 
|  | Update with new position x. 
 | 
|  | 
| Block | acceleration (const std::size_t index, const Scalar dt, const Block &x) const | 
|  | new a in terms of the old x, v, a, the new x and the time step size 
 | 
|  | 
| Block | velocity (const std::size_t index, const Scalar dt, const Block &x, const Block &a) const | 
|  | new v in terms of the old v, a, the new x, a and the time step size 
 | 
|  | 
| Block | velocity (const std::size_t index, const Scalar dt, const Block &x) const | 
|  | new v in terms of the old v, a, the new x and the time step size 
 | 
|  | 
| Scalar | position (const std::size_t index) const | 
|  | current position 
 | 
|  | 
| Scalar | velocity (const std::size_t index) const | 
|  | current velocity 
 | 
|  | 
| Scalar | acceleration (const std::size_t index) const | 
|  | current acceleration 
 | 
|  | 
◆ NewmarkBeta() [1/2]
template<class Scalar, class Solution> 
 
Construct the Newmark-beta time integration scheme with the given β and γ parameters 
 
 
◆ NewmarkBeta() [2/2]
template<class Scalar, class Solution> 
 
Construct the Newmark-beta time integration scheme where parameters are read from the parameter file 
 
 
◆ acceleration() [1/2]
template<class Scalar, class Solution> 
 
 
◆ acceleration() [2/2]
template<class Scalar, class Solution> 
 
 
◆ initialize() [1/2]
template<class Scalar, class Solution> 
 
Initialize the time integration scheme with the current solution while setting the velocity and acceleration to zero 
 
 
◆ initialize() [2/2]
template<class Scalar, class Solution> 
 
 
◆ position()
template<class Scalar, class Solution> 
 
 
◆ update()
template<class Scalar, class Solution> 
 
 
◆ velocity() [1/3]
template<class Scalar, class Solution> 
 
 
◆ velocity() [2/3]
template<class Scalar, class Solution> 
 
 
◆ velocity() [3/3]
template<class Scalar, class Solution> 
 
 
The documentation for this class was generated from the following file: