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
This commit is contained in:
19
solver-c/include/solver_internal.h
Normal file
19
solver-c/include/solver_internal.h
Normal file
@@ -0,0 +1,19 @@
|
||||
#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
|
||||
Reference in New Issue
Block a user