LMMC
Lamina Mathematic core
载入中...
搜索中...
未找到
ode_support.c 文件参考
#include "ode_internal.h"
ode_support.c 的引用(Include)关系图:

浏览该文件的源代码.

函数

void lmmc_ode_do_log (const lmmc_ode_config_t *cfg, size_t step, lmmc_real_t t, const lmmc_real_t *y, size_t dim)
void lmmc_ode_reset_result (lmmc_ode_result_t *out_result, lmmc_real_t t_start)
lmmc_status_t lmmc_ode_load_and_validate_config (size_t dim, lmmc_real_t t_start, lmmc_real_t t_end, const lmmc_ode_config_t *cfg, lmmc_ode_config_t *out_cfg, lmmc_ode_result_t *out_result)
lmmc_status_t lmmc_ode_rhs_eval (lmmc_ode_rhs_t rhs, lmmc_real_t t, const lmmc_real_t *y, lmmc_real_t *y_prime, size_t dim, void *user_data, size_t *io_eval_count, int *out_callback_failed)
int lmmc_ode_state_is_finite (const lmmc_real_t *y, size_t dim)
lmmc_status_t validate_and_init_ode_config (lmmc_ode_rhs_t rhs, size_t dim, lmmc_real_t t_start, lmmc_real_t t_end, const lmmc_real_t *y, const lmmc_ode_config_t *cfg, lmmc_ode_config_t *out_cfg, lmmc_ode_result_t *out_result, size_t *out_work_bytes)
lmmc_status_t lmmc_ode_weighted_rms (const lmmc_real_t *error, const lmmc_real_t *y_old, const lmmc_real_t *y_new, size_t dim, lmmc_real_t abs_tol, lmmc_real_t rel_tol, lmmc_real_t *out_norm)
lmmc_real_t lmmc_ode_next_step (lmmc_real_t h, lmmc_real_t error_norm, const lmmc_ode_config_t *cfg)
lmmc_status_t lmmc_ode_values_are_finite (const lmmc_real_t *values, size_t count)

函数说明

◆ lmmc_ode_do_log()

void lmmc_ode_do_log ( const lmmc_ode_config_t * cfg,
size_t step,
lmmc_real_t t,
const lmmc_real_t * y,
size_t dim )

在文件 ode_support.c 第 3 行定义.

引用了 lmmc_ode_config_t::diagnostics, lmmc_diagnostic_emit(), LMMC_DIAGNOSTIC_TRACE , 以及 lmmc_ode_do_log().

被这些函数引用 lmmc_ode_do_log(), lmmc_ode_euler_solve(), lmmc_ode_implicit_euler_solve(), lmmc_ode_rk45_solve(), lmmc_ode_rk4_solve(), lmmc_ode_rosenbrock_grk4t_solve(), lmmc_ode_sdirk4_solve() , 以及 lmmc_ode_trapezoidal_solve().

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

◆ lmmc_ode_reset_result()

void lmmc_ode_reset_result ( lmmc_ode_result_t * out_result,
lmmc_real_t t_start )

在文件 ode_support.c 第 11 行定义.

引用了 lmmc_ode_result_t::converged, lmmc_ode_result_t::failure_reason, lmmc_ode_result_t::final_t, LMMC_ODE_FAILURE_NONE, lmmc_ode_reset_result(), lmmc_ode_result_t::num_rhs_evals , 以及 lmmc_ode_result_t::num_steps.

被这些函数引用 lmmc_ode_reset_result() , 以及 validate_and_init_ode_config().

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

◆ lmmc_ode_load_and_validate_config()

lmmc_status_t lmmc_ode_load_and_validate_config ( size_t dim,
lmmc_real_t t_start,
lmmc_real_t t_end,
const lmmc_ode_config_t * cfg,
lmmc_ode_config_t * out_cfg,
lmmc_ode_result_t * out_result )

在文件 ode_support.c 第 53 行定义.

引用了 lmmc_ode_default_config(), LMMC_ODE_FAILURE_INVALID_DIMENSION, LMMC_ODE_FAILURE_INVALID_STEP, LMMC_ODE_FAILURE_TOLERANCE_INCONSISTENT, lmmc_ode_load_and_validate_config() , 以及 LMMC_STATUS_OK.

被这些函数引用 lmmc_ode_load_and_validate_config() , 以及 validate_and_init_ode_config().

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

◆ lmmc_ode_rhs_eval()

lmmc_status_t lmmc_ode_rhs_eval ( lmmc_ode_rhs_t rhs,
lmmc_real_t t,
const lmmc_real_t * y,
lmmc_real_t * y_prime,
size_t dim,
void * user_data,
size_t * io_eval_count,
int * out_callback_failed )

在文件 ode_support.c 第 78 行定义.

引用了 lmmc_ode_rhs_eval(), lmmc_ode_values_are_finite(), LMMC_STATUS_INVALID_ARGUMENT , 以及 LMMC_STATUS_OK.

被这些函数引用 lmmc_ode_jacobian_eval() , 以及 lmmc_ode_rhs_eval().

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

◆ lmmc_ode_state_is_finite()

int lmmc_ode_state_is_finite ( const lmmc_real_t * y,
size_t dim )

在文件 ode_support.c 第 104 行定义.

引用了 lmmc_ode_state_is_finite(), lmmc_ode_values_are_finite() , 以及 LMMC_STATUS_OK.

被这些函数引用 lmmc_ode_state_is_finite() , 以及 validate_and_init_ode_config().

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

◆ validate_and_init_ode_config()

lmmc_status_t validate_and_init_ode_config ( lmmc_ode_rhs_t rhs,
size_t dim,
lmmc_real_t t_start,
lmmc_real_t t_end,
const lmmc_real_t * y,
const lmmc_ode_config_t * cfg,
lmmc_ode_config_t * out_cfg,
lmmc_ode_result_t * out_result,
size_t * out_work_bytes )

在文件 ode_support.c 第 112 行定义.

引用了 lmmc_ode_result_t::failure_reason, LMMC_ODE_FAILURE_INVALID_DIMENSION, LMMC_ODE_FAILURE_NUMERICAL_ISSUE, lmmc_ode_load_and_validate_config(), lmmc_ode_reset_result(), lmmc_ode_state_is_finite(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_NUMERICAL_FAILURE, LMMC_STATUS_OK , 以及 validate_and_init_ode_config().

被这些函数引用 lmmc_ode_euler_solve(), lmmc_ode_implicit_euler_solve(), lmmc_ode_rk45_solve(), lmmc_ode_rk4_solve(), lmmc_ode_rosenbrock_grk4t_solve(), lmmc_ode_sdirk4_solve(), lmmc_ode_trapezoidal_solve() , 以及 validate_and_init_ode_config().

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

◆ lmmc_ode_weighted_rms()

lmmc_status_t lmmc_ode_weighted_rms ( const lmmc_real_t * error,
const lmmc_real_t * y_old,
const lmmc_real_t * y_new,
size_t dim,
lmmc_real_t abs_tol,
lmmc_real_t rel_tol,
lmmc_real_t * out_norm )

在文件 ode_support.c 第 145 行定义.

引用了 lmmc_ode_weighted_rms(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_NUMERICAL_FAILURE , 以及 LMMC_STATUS_OK.

被这些函数引用 lmmc_ode_weighted_rms().

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

◆ lmmc_ode_next_step()

lmmc_real_t lmmc_ode_next_step ( lmmc_real_t h,
lmmc_real_t error_norm,
const lmmc_ode_config_t * cfg )

在文件 ode_support.c 第 175 行定义.

引用了 lmmc_ode_config_t::adaptive_step_beta, lmmc_ode_next_step(), lmmc_ode_config_t::max_step , 以及 lmmc_ode_config_t::min_step.

被这些函数引用 lmmc_ode_next_step().

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

◆ lmmc_ode_values_are_finite()

lmmc_status_t lmmc_ode_values_are_finite ( const lmmc_real_t * values,
size_t count )

在文件 ode_support.c 第 188 行定义.

引用了 lmmc_ode_values_are_finite(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_NUMERICAL_FAILURE , 以及 LMMC_STATUS_OK.

被这些函数引用 lmmc_ode_jacobian_eval(), lmmc_ode_rhs_eval(), lmmc_ode_state_is_finite() , 以及 lmmc_ode_values_are_finite().

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