Dandelion 1.1.1
A light-weight 3D builder for educational usage
载入中...
搜索中...
未找到
solver.h
浏览该文件的文档.
1#ifndef DANDELION_SIMULATION_SOLVER_H
2#define DANDELION_SIMULATION_SOLVER_H
3
5
6/*!
7 * \file simulation/solver.h
8 * \ingroup simulation
9 * \~chinese
10 * \brief 求解运动方程的各种求解器。
11 *
12 * 恒定外力下物体的运动方程微分形式是
13 * \f{aligned}{
14 * \frac{\mathrm{d}\mathbf{x}}{\mathrm{d}t}&=\mathbf{v}(t) \\
15 * \frac{\mathrm{d}\mathbf{v}}{\mathrm{d}t}&=\mathbf{F}
16 * \f}
17 * 要求解物体的运动轨迹,就要对这个方程组进行数值积分,这个文件中声明了所有的积分求解器。
18 */
19
20/*!
21 * \~chinese
22 * \brief 前向欧拉法求解器。
23 */
24KineticState forward_euler_step(const KineticState& previous, const KineticState& current);
25
26/*!
27 * \~chinese
28 * \brief 四阶龙格-库塔法求解器。
29 */
30KineticState runge_kutta_step(const KineticState& previous, const KineticState& current);
31
32/*!
33 * \~chinese
34 * \brief 后向(隐式)欧拉法求解器。
35 */
36KineticState backward_euler_step(const KineticState& previous, const KineticState& current);
37
38/*!
39 * \~chinese
40 * \brief 对称(半隐式)欧拉法求解器。
41 */
42KineticState symplectic_euler_step(const KineticState& previous, const KineticState& current);
43
44#endif // DANDELION_SIMULATION_SOLVER_H
KineticState backward_euler_step(const KineticState &previous, const KineticState &current)
后向(隐式)欧拉法求解器。
定义 solver.cpp:61
KineticState runge_kutta_step(const KineticState &previous, const KineticState &current)
四阶龙格-库塔法求解器。
定义 solver.cpp:24
KineticState forward_euler_step(const KineticState &previous, const KineticState &current)
前向欧拉法求解器。
定义 solver.cpp:16
KineticState symplectic_euler_step(const KineticState &previous, const KineticState &current)
对称(半隐式)欧拉法求解器。
定义 solver.cpp:74
表示物体的质点运动学状态。
定义 kinetic_state.h:31