numerical-collection-cpp 0.10.0
A collection of algorithms in numerical analysis implemented in C++
|
Class of test problem of vibration with external force. More...
#include <num_prob_collect/ode/external_force_vibration_problem.h>
Public Types | |
using | jacobian_type = Eigen::Matrix2d |
Type of Jacobian. | |
using | scalar_type = double |
Type of scalars. | |
using | variable_type = Eigen::Vector2d |
Type of variables. | |
Public Member Functions | |
external_force_vibration_problem () | |
Constructor. | |
auto | diff_coeff () const noexcept -> const variable_type & |
Get the differential coefficient. | |
void | evaluate_on (scalar_type time, const variable_type &variable, num_collect::ode::evaluation_type) |
Evaluate on a (time, variable) pair. | |
auto | jacobian () const noexcept -> const jacobian_type & |
Get the Jacobian. | |
auto | time_derivative () const noexcept -> const variable_type & |
Get the partial derivative with respect to time. | |
Static Public Attributes | |
static constexpr auto | allowed_evaluations |
Allowed evaluations. | |
Private Attributes | |
variable_type | diff_coeff_ {} |
Differential coefficient. | |
jacobian_type | jacobian_ {} |
Jacobian. | |
variable_type | time_derivative_ {} |
Partial derivative with respect to time. | |
Class of test problem of vibration with external force.
This solves for following equation of motion:
\[ \ddot{x} = \sin{t} \]
In this class, the following equation is used to solve the above equation:
\[ \frac{d}{dt} \begin{pmatrix} \dot{x} \\ x \end{pmatrix} = \begin{pmatrix} \sin{t} \\ \dot{x} \end{pmatrix} \]
When the initial variable is \((-1, 0)\), the solution is \((-\cos{t}, -\sin{t})\).
Definition at line 48 of file external_force_vibration_problem.h.
using num_prob_collect::ode::external_force_vibration_problem::jacobian_type = Eigen::Matrix2d |
Type of Jacobian.
Definition at line 57 of file external_force_vibration_problem.h.
Type of scalars.
Definition at line 54 of file external_force_vibration_problem.h.
using num_prob_collect::ode::external_force_vibration_problem::variable_type = Eigen::Vector2d |
Type of variables.
Definition at line 51 of file external_force_vibration_problem.h.
|
inline |
Constructor.
Definition at line 62 of file external_force_vibration_problem.h.
|
inlinenodiscardnoexcept |
Get the differential coefficient.
Definition at line 88 of file external_force_vibration_problem.h.
|
inline |
Evaluate on a (time, variable) pair.
[in] | time | Time. |
[in] | variable | Variable. |
Definition at line 75 of file external_force_vibration_problem.h.
|
inlinenodiscardnoexcept |
Get the Jacobian.
Definition at line 97 of file external_force_vibration_problem.h.
|
inlinenodiscardnoexcept |
Get the partial derivative with respect to time.
Definition at line 106 of file external_force_vibration_problem.h.
|
staticconstexpr |
Allowed evaluations.
Definition at line 65 of file external_force_vibration_problem.h.
|
private |
Differential coefficient.
Definition at line 113 of file external_force_vibration_problem.h.
|
private |
Jacobian.
Definition at line 116 of file external_force_vibration_problem.h.
|
private |
Partial derivative with respect to time.
Definition at line 119 of file external_force_vibration_problem.h.