Set up the C solver core, Node API orchestration, TS GUI workflow, and engineering documentation with cleaned repo hygiene for private Git hosting. Made-with: Cursor
20 lines
1.0 KiB
C
20 lines
1.0 KiB
C
#ifndef SOLVER_INTERNAL_H
|
|
#define SOLVER_INTERNAL_H
|
|
|
|
#include "solver.h"
|
|
|
|
double solver_clamp(double v, double lo, double hi);
|
|
double solver_signum(double v);
|
|
void solver_add_warning(SolverOutputs *outputs, const char *msg);
|
|
void solver_init_output_ranges(SolverOutputs *outputs);
|
|
void solver_update_output_ranges(SolverOutputs *outputs, double polished, double downhole);
|
|
double solver_input_or_default(double value, double fallback);
|
|
double solver_compute_side_load_node(const SolverInputs *inputs, double tension_n, int node_idx, double ds);
|
|
double solver_compute_friction_node(const SolverInputs *inputs, double side_load_n, double velocity_m_s, int node_idx);
|
|
void solver_fill_profiles(const SolverInputs *inputs, SolverOutputs *outputs, int node_count, double rod_length_m,
|
|
const double *side_load_nodes, const double *friction_nodes);
|
|
void solver_valve_state_step(const SolverInputs *inputs, SolverOutputs *outputs, int step_idx, double pump_position_m,
|
|
double pump_velocity_m_s, double downhole_load_n);
|
|
|
|
#endif
|