Files
rods/solver-c/include/solver_internal.h
Conner Majic 725a72a773 Initial commit: establish deterministic rod-string solver stack.
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
2026-04-16 21:59:42 -06:00

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