30 #include "simclist/simclist.h" 34 #include "cminpack/cminpack.h" 35 #include "cminpack/cminpackP.h" 36 #include "cminpack/minpack.h" 38 #include "MAP_Types.h" 40 #include "lmroutines.hpp" 43 # include "lapack/lapacke.h" 56 typedef enum NodeType_enum {
68 typedef enum FdType_enum {
85 typedef enum SolveType_enum {
103 };
typedef struct Fd_t Fd;
149 };
typedef struct Point_t Point;
170 };
typedef struct Force_t Force;
222 bool gx_anchor_pos_flag;
223 bool gy_anchor_pos_flag;
224 bool gz_anchor_pos_flag;
232 bool fairlead_tension_flag;
233 bool anchor_tension_flag;
234 bool horizontal_excursion_flag;
235 bool vertical_excursion_flag;
238 bool altitude_anchor_flag;
239 bool line_tension_flag;
241 bool lay_length_flag;
242 bool damage_time_flag;
243 bool diagnostics_flag;
274 Force external_force;
332 double residual_norm;
414 bool krylov_accelerator;
423 double* repeat_angle;
429 int repeat_angle_size;
double diam
Cable diameter, [m].
Definition: map.h:252
bool user_initial_guess
if user_initial_guess = true, the user has supplied an initial guess
Definition: map.h:117
Node * r2
lower node
Definition: map.h:362
double ca
Added mass coefficient [non-dimensional].
Definition: map.h:259
list_t u_update_list
List to update the references in VarType-associated u_type's in UpdateStates.
Definition: map.h:444
list object
Definition: simclist.h:185
double ** l
lower triangle matrix in LU
Definition: map.h:399
double integration_dt
Integration time step [sec].
Definition: map.h:424
double * zi
initial node connection point in body frame This is equal to uType->z at initialization [m] ...
Definition: map.h:195
struct bstrList * node_input_string
raw (non-expanded) node input string.
Definition: map.h:456
double cb_lm
Seabed damping parameter [N-s/m].
Definition: map.h:426
VarTypePtr V
Vertical fairlead force in the local cable elemenet frame.
Definition: map.h:317
double l
| {r}_{1}-{r}_{2} |
Definition: map.h:360
Finite-difference structure.
Definition: map.h:96
double alpha_at_anchor
angle of inclication at anchor [deg]
Definition: map.h:323
bstring label
reference a pre-defined property in the line dictionary
Definition: map.h:319
double T
Tension magnitude [N].
Definition: map.h:329
int m
number of functions
Definition: map.h:387
int evals
number of function evaluations
Definition: map.h:344
Serves the same function as VarType, but treats value as a pointer.
Definition: map.h:128
InnerSolveAttributes inner_loop
Inner-loop (line level) solver options.
Definition: map.h:434
C implementaion of bstring functions.
double kb_lm
Seabed stiffeness coefficient [N/m].
Definition: map.h:425
Point ref_origin
Center of rotation origin.
Definition: map.h:197
bstring name
name of the variable.
Definition: map.h:130
double damage_time
time to damage this line and return zero force to the glue code
Definition: map.h:331
DomainOptions model_options
Contains global model options.
Definition: map.h:436
CableLibrary * line_property
line properties
Definition: map.h:313
double * av
for the Krylov accelerator, rown-major storage for AV
Definition: map.h:397
double ** AV
for the Krylov accelerator
Definition: map.h:395
double ** u
upper triangle matrix in LU
Definition: map.h:400
bstring units
units for printing information to a summary file or output buffer
Definition: map.h:129
Central point where all 'VESSEL' nodes can be displaced.
Definition: map.h:191
Point displacement
User-specified vessel displacement.
Definition: map.h:196
ForcePtr sum_force_ptr
this is a Ptr because it points to a fortran type
Definition: map.h:271
VarType Lu
unstretched cable length [m]
Definition: map.h:318
double ** V
for the Krylov accelerator
Definition: map.h:396
PointPtr acceleration
Node accelration; integrated quantity [m/s^2]; used for LM model.
Definition: map.h:267
int ldfjac
number of columns in fjac
Definition: map.h:382
double * C
for the Krylov accelerator
Definition: map.h:402
struct bstrList * expanded_line_input_string
full line input string duplicating information in nodeLineString when the 'repeat' flag is used ...
Definition: map.h:460
double cd_i
Internal (structural) damping coefficient [non-dimensional].
Definition: map.h:258
Node * fairlead
Fairlead node.
Definition: map.h:341
Defines cable properties for a line.
Definition: map.h:251
int njac_evals
number of function evaluations
Definition: map.h:345
int id
node or line this value is attached to
Definition: map.h:119
list_t line
Line link list.
Definition: map.h:442
double H_at_anchor
Horizontal anchor force in the local cable elemenet frame.
Definition: map.h:327
bool lm_model
use the lumped-mass model when true
Definition: map.h:428
bstring units
units for printing information to a summary file or output buffer
Definition: map.h:113
double * xi
initial node connection point in body frame.This is equal to uType->x at initialization [m] ...
Definition: map.h:193
SolveType MAP_SOLVE_TYPE
Identifies the solver type: single line, partitioned (multisegmented), and lumped-mass/FEA.
Definition: map.h:438
Node * r1
upper node
Definition: map.h:361
double omega
cable weight per length in seawater [N/m]
Definition: map.h:255
int ref_counter
for ensuring the variable is assigned to one of: input, param, or constraint
Definition: map.h:118
double mass_density
Cable density in air [kg/m].
Definition: map.h:253
Definition: bstrlib.h:726
int id
node or line this value is attached to
Definition: map.h:134
list_t node
Node link list.
Definition: map.h:443
struct bstrList * library_input_string
library property string from input file.
Definition: map.h:455
double * b
this is the force vector used in x += ([J]^-1)*b
Definition: map.h:401
list_t out_list_ptr
Outputs associated with VarTypePtr.
Definition: map.h:214
Fundamental MAP type.
Definition: map.h:112
double h
vertical cable excursion [m]
Definition: map.h:326
PointPtr velocity
Node velocity [m/s]; used for LM model.
Definition: map.h:268
PointPtr position_ptr
this is a Ptr because it points to a fortran type
Definition: map.h:269
References a list of VarType's (in the case of out_list) and VarTypePtr's (in the case of out_list_pt...
Definition: map.h:212
EulerAngle orientation
Vessel orientation [deg].
Definition: map.h:192
bstring label
Provides the string a recognizable name (such as 'nylon' or 'steel')
Definition: map.h:262
LineOptions options
run-time options flag
Definition: map.h:315
double cb
Cable/seabed friction coefficient [non-dimensional].
Definition: map.h:257
void * HEAD_U_TYPE
Checks if the reference to MAP_InputType_t changes.
Definition: map.h:445
bool linear_spring
treat the elastic catenary as a uncompressible linear springs when true
Definition: map.h:244
bstring name
name of the variable.
Definition: map.h:114
double EA
Line stiffness [N].
Definition: map.h:254
list_t out_list
Outputs associated with VarType.
Definition: map.h:213
VarTypePtr H
Horizontal fairlead force in the local cable elemenet frame.
Definition: map.h:316
list_t library
Cable library link list; stores cable properties, e.g.,.
Definition: map.h:441
struct bstrList * line_input_string
raw (non-expanded) line input string(MAP does not read contents from input string; must be done by ca...
Definition: map.h:457
double Lb
length of line touching the seabed [m]
Definition: map.h:325
int ref_counter
For ensuring the variable is assigned to one of: input, param, or constraint.
Definition: map.h:133
double T_at_anchor
Tension magnitude at anchor [N].
Definition: map.h:330
bool wave_kinematics
Enable wave kinematics o calculated relative flui velcity.
Definition: map.h:427
Node * anchor
Anchor node.
Definition: map.h:340
Vessel vessel
Vessel for the mooring instance.
Definition: map.h:440
double alpha
angle of inclication [deg]
Definition: map.h:322
OutputList * y_list
Output stream.
Definition: map.h:437
double * q
for the Krylov accelerator
Definition: map.h:404
double * w
for the Krylov accelerator
Definition: map.h:403
bool is_fixed
if is_fixed = true, then we are not solving for this variable
Definition: map.h:116
double cd_t
Tangential drag oefficient [non-dimensional].
Definition: map.h:261
Force line_sum_force
Sum force of all nodes connecting to the vessel [N].
Definition: map.h:199
double * value
the value
Definition: map.h:131
double psi
angle of roation between global X and local x axis [deg]
Definition: map.h:321
double cd_n
Quadtradice drag coefficient in the cable cross-flow direction [non-dimensional]. ...
Definition: map.h:260
double l
horizontal cable excursion [m]
Definition: map.h:324
double V_at_anchor
Vertical anchor force in the local cable elemenet frame.
Definition: map.h:328
list_t elements
LM model elements.
Definition: map.h:339
OuterSolveAttributes outer_loop
Outer-loop (node level) solver options.
Definition: map.h:435
double a
cross-sectional area [m^2]
Definition: map.h:256
double * yi
initial node connection point in body frame This is equal to uType->y at initialization [m] ...
Definition: map.h:194
struct bstrList * solver_options_string
model poptions input string
Definition: map.h:458
int n
number of variables
Definition: map.h:388
int diagnostic_type
none=0, first iteration only=2, all iterations otherwise
Definition: map.h:343
struct bstrList * expanded_node_input_string
full node input string duplicating information in node_input_string when the 'repeat' flag is used ...
Definition: map.h:459
double * line_tension
array of line tension along 's' [N]
Definition: map.h:320
double value
the value
Definition: map.h:115
bstring summary_file_name
summary file name.
Definition: map.h:461
bool is_fixed
If is_fixed = true, then we are not solving for this variable.
Definition: map.h:132