|
Smith
0.1
Smith is an implicit thermal structural mechanics simulation code.
|
encodes rules for time discretizing second order odes (involving first and second time derivatives). When solving f(u, u_dot, u_dot_dot, t) = 0 this class provides the current discrete approximation for u, u_dot, and u_dot_dot as a function of (u^{n+1},u^n,u_dot^n,u_dot_dot^n). More...
#include <time_integration_rule.hpp>

Public Member Functions | |
| ImplicitNewmarkSecondOrderTimeIntegrationRule () | |
| Constructor. | |
| int | num_args () const override |
| get the number of states required by the rule | |
| bool | requiresInitialAccelerationSolve () const override |
| implicit second-order dynamics needs the cycle-zero acceleration solve | |
| template<typename T1 , typename T2 , typename T3 , typename T4 > | |
| SMITH_HOST_DEVICE auto | value ([[maybe_unused]] const TimeInfo &t, [[maybe_unused]] const T1 &field_new, [[maybe_unused]] const T2 &field_old, [[maybe_unused]] const T3 &velo_old, [[maybe_unused]] const T4 &accel_old) const |
| evaluate value of the ode state as used by the integration rule | |
| template<typename T1 , typename T2 , typename T3 , typename T4 > | |
| SMITH_HOST_DEVICE auto | dot ([[maybe_unused]] const TimeInfo &t, [[maybe_unused]] const T1 &field_new, [[maybe_unused]] const T2 &field_old, [[maybe_unused]] const T3 &velo_old, [[maybe_unused]] const T4 &accel_old) const |
| evaluate time derivative discretization of the ode state as used by the integration rule | |
| template<typename T1 , typename T2 , typename T3 , typename T4 > | |
| SMITH_HOST_DEVICE auto | ddot ([[maybe_unused]] const TimeInfo &t, [[maybe_unused]] const T1 &field_new, [[maybe_unused]] const T2 &field_old, [[maybe_unused]] const T3 &velo_old, [[maybe_unused]] const T4 &accel_old) const |
| evaluate time derivative discretization of the ode state as used by the integration rule | |
| template<typename T1 , typename T2 , typename T3 , typename T4 > | |
| SMITH_HOST_DEVICE auto | interpolate (const TimeInfo &t, const T1 &field_new, const T2 &field_old, const T3 &velo_old, const T4 &accel_old) const |
| interpolate all derived quantities in one call | |
| FieldState | corrected_value (const TimeInfo &t, const std::vector< FieldState > &states) const override |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| FieldState | corrected_dot (const TimeInfo &t, const std::vector< FieldState > &states) const override |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| FieldState | corrected_ddot (const TimeInfo &t, const std::vector< FieldState > &states) const override |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
Public Member Functions inherited from smith::TimeIntegrationRule | |
| virtual | ~TimeIntegrationRule () |
| destructor | |
Static Public Attributes | |
| static constexpr int | num_states = 4 |
| number of states required by this rule (compile-time) | |
encodes rules for time discretizing second order odes (involving first and second time derivatives). When solving f(u, u_dot, u_dot_dot, t) = 0 this class provides the current discrete approximation for u, u_dot, and u_dot_dot as a function of (u^{n+1},u^n,u_dot^n,u_dot_dot^n).
Definition at line 164 of file time_integration_rule.hpp.