|
LMMC
Lamina Mathematic core
|
ODE 公共实现:失败原因描述与默认求解配置。 更多...
函数 | |
| const char * | lmmc_ode_failure_string (lmmc_ode_failure_t reason) |
| 获取失败原因对应的可读字符串。 | |
| lmmc_status_t | lmmc_ode_default_config (lmmc_real_t t_start, lmmc_real_t t_end, size_t problem_dim, lmmc_ode_config_t *out_cfg) |
| 根据积分区间与维度生成合理的默认求解配置。 | |
ODE 公共实现:失败原因描述与默认求解配置。
在文件 ode_common.c 中定义.
| const char * lmmc_ode_failure_string | ( | lmmc_ode_failure_t | reason | ) |
获取失败原因对应的可读字符串。
在文件 ode_common.c 第 8 行定义.
引用了 LMMC_ODE_FAILURE_INVALID_DIMENSION, LMMC_ODE_FAILURE_INVALID_STEP, LMMC_ODE_FAILURE_MAX_STEPS, LMMC_ODE_FAILURE_NONE, LMMC_ODE_FAILURE_NUMERICAL_ISSUE, LMMC_ODE_FAILURE_RHS_EVAL_FAILED, lmmc_ode_failure_string() , 以及 LMMC_ODE_FAILURE_TOLERANCE_INCONSISTENT.
被这些函数引用 lmmc_ode_failure_string().
| lmmc_status_t lmmc_ode_default_config | ( | lmmc_real_t | t_start, |
| lmmc_real_t | t_end, | ||
| size_t | problem_dim, | ||
| lmmc_ode_config_t * | out_cfg ) |
根据积分区间与维度生成合理的默认求解配置。
根据 t_start 与 t_end 的跨度自动设置初始步长、最小/最大步长、 容差及最大步数等参数,适合大多数非刚性问题。
| [in] | t_start | 积分起始时间。 |
| [in] | t_end | 积分终止时间。 |
| [in] | problem_dim | 状态向量维度(>= 1)。 |
| [out] | out_cfg | 输出配置结构体,所有字段将被覆盖写入。 |
out_cfg 指向的结构体全部字段覆盖写入默认值。在文件 ode_common.c 第 48 行定义.
引用了 lmmc_ode_config_t::abs_tol, lmmc_ode_config_t::adaptive_step_beta, lmmc_ode_config_t::diagnostics, lmmc_ode_config_t::initial_step, lmmc_ode_config_t::jacobian, LMMC_DEFAULT_ABS_TOL, LMMC_DEFAULT_REL_TOL, lmmc_ode_default_config(), LMMC_REAL_DIV, LMMC_REAL_MUL, LMMC_REAL_SET, LMMC_REAL_SET_D, LMMC_REAL_SUB, LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_OK, lmmc_ode_config_t::max_step, lmmc_ode_config_t::max_steps, lmmc_ode_config_t::min_step, lmmc_ode_config_t::rel_tol , 以及 lmmc_ode_config_t::time_derivative.
被这些函数引用 lmmc_ode_default_config() , 以及 lmmc_ode_load_and_validate_config().