LMMC
Lamina Mathematic core
载入中...
搜索中...
未找到
ode_common.c 文件参考

ODE 公共实现:失败原因描述与默认求解配置。 更多...

#include "internal.h"
#include "lmmc/ode.h"
ode_common.c 的引用(Include)关系图:

浏览该文件的源代码.

函数

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 中定义.

函数说明

◆ lmmc_ode_failure_string()

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_ode_default_config()

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输出配置结构体,所有字段将被覆盖写入。
返回
LMMC_STATUS_OK 成功; LMMC_STATUS_INVALID_ARGUMENT 若 problem_dim == 0 或 out_cfg 为 NULL。
副作用
  • 将 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().

函数调用图:
这是这个函数的调用关系图: