Solver


Data Structures

struct  chkdim_system_structure
struct  conopt_data
struct  mr_bisection_structure
struct  slv_block_cost
struct  slv__block_status_structure
struct  slv_status_structure

Defines

#define REIMPLEMENT   0
#define chkdim_create_system(a, b)   0
#define chkdim_destroy_system(a)   0
#define chkdim_append_expr(a, b)   0
#define chkdim_append_rel(a, b)   0
#define chkdim_assign_dimensions(a, b)   0
#define chkdim_check_dimensions(a, b)   0
#define F2C(x)   x - 1
#define C2F(x)   x + 1
#define CONOPT_BOUNDLIMIT   3.1e9
#define NINTGR   3
#define MAX_INT   20000
#define MAX_REAL   10e300
#define FNAME_LCASE_DECOR
#define CONOPT_DISABLE_FN_DECLS
#define INTINT   (int*cntvect,int*v)
#define INTINT1   (cntvect,v)
#define INTDOUBLE   (int*cntvect,double*v)
#define INTDOUBLE1   (cntvect,v)
#define CONOPT_FNS(D, X)
#define FN_PTR_HDR(T, A, V, L)   ASC_DLLSPEC int COI_CALL T A;
#define SPACE
#define OPT_ASCEND   opt_ascend_
#define SET_OPT_COMMON   set_opt_common_
#define GET_OPT_COMMON   get_opt_common_
#define INIT_OPT_COMMON   init_opt_common_
#define INIT_OPT_DEFAULTS   set_opt_defaults_
#define GET_OPT_OUTPUT   get_opt_output_
#define CHECK_MEM   check_mem_
#define ICONTROLSIZE   12
#define RCONTROLSIZE   1
#define slv6_solver_name   "no_makeMPS"
#define slv6_solver_number   6
#define JACFUNC   void (*)(int,int,double)
#define SLOPEFUNC   void (*)(int,int,double,double)
#define calc_ERF_COEF   1.1283791670955130
#define calc_LOG10_COEF   0.4342944819032518
#define calc_PI   3.1415926535897930
#define calc_sin_D0   sin
#define calc_sinh_D0   sinh
#define calc_cos_D0   cos
#define calc_cosh_D0   cosh
#define calc_tanh_D0   tanh
#define calc_arcsinh_D0   arcsinh
#define calc_arctan_D0   atan
#define calc_lnm_D0   lnm
#define calc_sqr_D0   sqr
#define calc_cbrt_D0   cbrt
#define calc_fabs_D0   fabs
#define calc_sin_D1   cos
#define calc_sinh_D1   cosh
#define calc_cos_D1   dcos
#define calc_cosh_D1   sinh
#define calc_tanh_D1   dtanh
#define calc_arcsinh_D1   darcsinh
#define calc_arctan_D1   datan
#define calc_exp_D1   calc_exp_D0
#define calc_ln_D1   calc_rec
#define calc_lnm_D1   dlnm
#define calc_sqr_D1   dsqr
#define calc_sin_D2   dcos
#define calc_sinh_D2   sinh
#define calc_cos_D2   dcos2
#define calc_cosh_D2   cosh
#define calc_tanh_D2   dtanh2
#define calc_arcsinh_D2   darcsinh2
#define calc_arctan_D2   datan2
#define calc_exp_D2   calc_exp_D0
#define calc_lnm_D2   dlnm2
#define calc_sqr_D2   dsqr2
#define calc_add_D0(x, y)   ((x)+(y))
#define calc_sub_D0(x, y)   ((x)-(y))
#define calc_mul_D0(x, y)   ((x)*(y))
#define calc_div_D0(x, y)   calc_mul_D0(x,calc_rec(y))
#define calc_ipow_D0(x, y)   asc_ipow(x,(int)y)
#define calc_add_D1(x, y, wrt)   (1.0)
#define calc_sub_D1(x, y, wrt)   (1.0 - 2.0*(wrt))
#define calc_mul_D1(x, y, wrt)   ((wrt)==0 ? ((x),(y)) : ((y),(x)))
#define calc_ipow_D1(x, y)   asc_d1ipow(x,(int)y)
#define calc_add_D2(x, y, wrt1, wrt2)   (0.0)
#define calc_sub_D2(x, y, wrt1, wrt2)   (0.0)
#define calc_mul_D2(x, y, wrt1, wrt2)   ((wrt1)!=(wrt2)?1.0:0.0)
#define calc_ipow_D2(x, y)   asc_d2ipow(x,(int)y)
#define relman_is_linear(a, b)   (FALSE)
#define relman_diff(a, b, c, d)   (abort(),1)
#define relman_directly_solve(r, s, a, n)   relman_directly_solve_new(r,s,a,n,1.0e-8)
#define relman_make_string_infix(sys, rel)   relman_make_vstring_infix((sys),(rel),TRUE)
#define relman_make_string_postfix(sys, rel)   relman_make_vstring_postfix((sys),(rel),TRUE)
#define relman_make_xstring_infix(sys, rel)   relman_make_vstring_infix((sys),(rel),FALSE)
#define relman_make_xstring_postfix(sys, rel)   dummy_rel_string((sys),(rel),0)
#define MIF(sys)   slv_get_output_file( (sys)->p.output.more_important )
#define LIF(sys)   slv_get_output_file( (sys)->p.output.less_important )
#define PMIF(sys)   slv_get_output_file( (sys)->p->output.more_important )
#define PLIF(sys)   slv_get_output_file( (sys)->p->output.less_important )

Typedefs

typedef chkdim_system_structure chkdim_system_t
typedef conopt_function_pointers * conopt_pointers
typedef slv2_system_structure * slv2_system_t
typedef slv6_system_structure * slv6_system_t
typedef slv7_system_structure * slv7_system_t
typedef mr_bisection_structure mr_reorder_t
typedef int( MRBlockReorderF )(slv_system_t, mtx_matrix_t, mtx_region_t *)
typedef slv_status_structure slv_status_t

Functions

ASC_DLLSPEC int asc_conopt_load ()
ASC_DLLSPEC int COI_CALL asc_conopt_message (int *SMSG, int *DMSG, int *NMSG, int *LLEN, double *USRMEM, char *MSGV, int MSGLEN)
ASC_DLLSPEC int COI_CALL asc_conopt_errmsg (int *ROWNO, int *COLNO, int *POSNO, int *MSGLEN, double *USRMEM, char *MSG, int LENMSG)
ASC_DLLSPEC int COI_CALL asc_conopt_status (int *MODSTA, int *SOLSTA, int *ITER, double *OBJVAL, double *USRMEM)
ASC_DLLSPEC int COI_CALL asc_conopt_solution (double *XVAL, double *XMAR, int *XBAS, int *XSTA, double *YVAL, double *YMAR, int *YBAS, int *YSTA, int *N, int *M, double *USRMEM)
ASC_DLLSPEC int COI_CALL asc_conopt_progress (int *LEN_INT, int *INT, int *LEN_RL, double *RL, double *X, double *USRMEM)
void OPT_ASCEND (int32 *n, int32 *m, int32 *md, real64 *x, real64 *f, real64 *g, real64 *c, real64 *a, int32 *nz, int32 *nzd, int32 *avar, int32 *acon, int32 *ibnds, real64 *bnds, int32 *inf, real64 *trust, int32 *liw, int32 *iw, int32 *lrw, real64 *rw)
void INIT_OPT_COMMON (void)
void INIT_OPT_DEFAULTS (void)
void GET_OPT_COMMON (real64 *eps, int32 *maxit, int32 *kprint, int32 *idebug, int32 *ioption, int32 *ichoose, int32 *icorr, int32 *i_mult_free, int32 *iiexact, int32 *ipmethod, int32 *ilusolve, int32 *iwarm, int32 *cnr)
void SET_OPT_COMMON (real64 *eps, int32 *maxit, int32 *kprint, int32 *idebug, int32 *ioption, int32 *ichoose, int32 *icorr, int32 *i_mult_free, int32 *iiexact, int32 *ipmethod, int32 *ilusolve, int32 *iwarm, int32 *cnr)
void GET_OPT_OUTPUT (real64 *fout, real64 *e1out, real64 *e2out, real64 *ynout, real64 *znout, real64 *alfaout, int32 *nactout)
void CHECK_MEM (int32 *inform, int32 *iguess, int32 *rguess, int32 *n, int32 *m, int32 *nzd, int32 *iwsize, int32 *rwsize)
int slv2_register (SlvFunctionsT *sft)
int slv6_register (SlvFunctionsT *sft)
int slv7_register (SlvFunctionsT *f)
ASC_DLLSPEC int slvDOF_eligible (slv_system_t server, int32 **vil)
ASC_DLLSPEC int slvDOF_structsing (slv_system_t server, int32 relindex, int32 **vil, int32 **ril, int32 **fil)
ASC_DLLSPEC int32 slvDOF_status (slv_system_t server, int32 *status, int32 *dof)
ASC_DLLSPEC int32 get_globally_consistent_eligible (slv_system_t server, int32 **eliset)
ASC_DLLSPEC int32 consistency_analysis (slv_system_t server, int32 **fixed)
ASC_DLLSPEC double bndman_real_eval (struct bnd_boundary *bnd)
ASC_DLLSPEC int32 bndman_log_eval (struct bnd_boundary *bnd)
ASC_DLLSPEC int32 bndman_calc_satisfied (struct bnd_boundary *bnd)
ASC_DLLSPEC int32 bndman_calc_at_zero (struct bnd_boundary *bnd)
real64 calc_upower (real64 x, unsigned n)
real64 calc_factorial (unsigned n)
real64 calc_rec ()
real64 calc_cube ()
real64 calc_Dn_rec ()
real64 calc_lnm_inv ()
int calc_is_int ()
real64 calc_tan_D0 (real64 x)
real64 calc_arcsin_D0 (real64 x)
real64 calc_arccos_D0 (real64 x)
real64 calc_arccosh_D0 (real64 x)
real64 calc_arctanh_D0 (real64 x)
real64 calc_exp_D0 (real64 x)
real64 calc_ln_D0 (real64 x)
real64 calc_log10_D0 (real64 x)
ASC_DLLSPEC real64 calc_sqrt_D0 (real64 x)
real64 calc_tan_D1 (real64 x)
real64 calc_arcsin_D1 (real64 x)
real64 calc_arccos_D1 (real64 x)
real64 calc_arccosh_D1 (real64 x)
real64 calc_arctanh_D1 (real64 x)
real64 calc_log10_D1 (real64 x)
real64 calc_sqrt_D1 (real64 x)
real64 calc_cbrt_D1 (real64 x)
real64 calc_fabs_D1 (real64 x)
real64 calc_tan_D2 (real64 x)
real64 calc_arcsin_D2 (real64 x)
real64 calc_arccos_D2 (real64 x)
real64 calc_arccosh_D2 (real64 x)
real64 calc_arctanh_D2 (real64 x)
real64 calc_ln_D2 (real64 x)
real64 calc_log10_D2 (real64 x)
real64 calc_sqrt_D2 (real64 x)
real64 calc_cbrt_D2 (real64 x)
real64 calc_fabs_D2 (real64 x)
real64 calc_arcsin_Dn (real64 x, int n)
real64 calc_arccos_Dn (real64 x, int n)
real64 calc_arctan_Dn (real64 x, int n)
real64 calc_cos_Dn (real64 x, int n)
real64 calc_sin_Dn (real64 x, int n)
real64 calc_exp_Dn (real64 x, int n)
real64 calc_ln_Dn (real64 x, int n)
real64 calc_log10_Dn (real64 x, int n)
real64 calc_sqr_Dn (real64 x, int n)
real64 calc_sqrt_Dn (real64 x, int n)
real64 calc_tan_Dn (real64 x, int n)
real64 calc_fabs_Dn (real64 x, int n)
real64 calc_pow_D0 (real64 x, real64 y)
real64 calc_div_D1 (real64 x, real64 y, int wrt)
real64 calc_pow_D1 (real64 x, real64 y, int wrt)
real64 calc_div_D2 (real64 x, real64 y, int wrt1, int wrt2)
real64 calc_pow_D2 (real64 x, real64 y, int wrt1, int wrt2)
real64 calc_add_Dn (real64 x, real64 y, int nwrt0, int nwrt1)
real64 calc_sub_Dn (real64 x, real64 y, int nwrt0, int nwrt1)
real64 calc_mul_Dn (real64 x, real64 y, int nwrt0, int nwrt1)
real64 calc_div_Dn (real64 x, real64 y, int nwrt0, int nwrt1)
real64 calc_pow_Dn (real64 x, real64 y, int nwrt0, int nwrt1)
void logrelman_get_incidence (struct logrel_relation *lrel, dis_filter_t *filter, mtx_matrix_t matrix)
int32 logrelman_eval (struct logrel_relation *lrel, int32 *status)
boolean logrelman_calc_satisfied (struct logrel_relation *lrel)
int32logrelman_directly_solve (struct logrel_relation *lrel, struct dis_discrete *solvefor, int *able, int *nsolns, int perturb, struct gl_list_t *insts)
char * logrelman_make_string_infix (slv_system_t sys, struct logrel_relation *lrel, int style)
char * logrelman_make_string_postfix (slv_system_t sys, struct logrel_relation *lrel, int style)
mr_reorder_tmr_reorder_create (slv_system_t slvsys, mtx_matrix_t mtx, int32 nmodels)
void mr_reorder_destroy (mr_reorder_t *mrsys)
int mr_bisect_partition (mr_reorder_t *sys, mtx_region_t *reg, int top, MRBlockReorderF rfunc)
int mr_bisect_partition2 (mr_reorder_t *sys, mtx_region_t *reg, int top, MRBlockReorderF rfunc)
real64 relman_linear_coef (struct rel_relation *rel, struct var_variable *var, var_filter_t *filter)
void relman_decide_incidence (struct rel_relation *rel)
void relman_get_incidence (struct rel_relation *rel, var_filter_t *filter, mtx_matrix_t matrix)
ASC_DLLSPEC real64 relman_eval (struct rel_relation *rel, int32 *calc_okp, int safe)
ASC_DLLSPEC int32 relman_obj_direction (struct rel_relation *rel)
ASC_DLLSPEC real64 relman_scale (struct rel_relation *rel)
ASC_DLLSPEC int relman_diff2 (struct rel_relation *rel, const var_filter_t *filter, real64 *derivatives, int32 *variables, int32 *count, int32 safe)
ASC_DLLSPEC int relman_diff3 (struct rel_relation *rel, const var_filter_t *filter, real64 *derivatives, struct var_variable **variables, int32 *count, int32 safe)
ASC_DLLSPEC int relman_diff_grad (struct rel_relation *rel, const var_filter_t *filter, real64 *derivatives, int32 *variables_master, int32 *variables_solver, int32 *count, real64 *resid, int32 safe)
ASC_DLLSPEC int relman_diffs (struct rel_relation *rel, const var_filter_t *filter, mtx_matrix_t mtx, real64 *resid, int safe)
int32 relman_diff_harwell (struct rel_relation **rlist, var_filter_t *vfilter, rel_filter_t *rfilter, int32 rlen, int32 bias, int32 mors, real64 *avec, int32 *ivec, int32 *jvec)
ASC_DLLSPEC int32 relman_jacobian_count (struct rel_relation **rlist, int32 rlen, var_filter_t *vfilter, rel_filter_t *rfilter, int32 *rhomax)
ASC_DLLSPEC int32 relman_hessian_count (struct rel_relation **rlist, int32 rlen, var_filter_t *vfilter, rel_filter_t *rfilter, int32 *rhomax)
ASC_DLLSPEC boolean relman_calc_satisfied_scaled (struct rel_relation *rel, real64 tolerance)
ASC_DLLSPEC boolean relman_calc_satisfied (struct rel_relation *rel, real64 tolerance)
real64relman_directly_solve_new (struct rel_relation *rel, struct var_variable *solvefor, int *able, int *nsolns, real64 tol)
ASC_DLLSPEC char * relman_make_vstring_infix (slv_system_t sys, struct rel_relation *rel, int style)
char * relman_make_vstring_postfix (slv_system_t sys, struct rel_relation *rel, int style)
char * dummyrelstring (slv_system_t sys, struct rel_relation *rel, int style)
void relman_free_reused_mem (void)
ASC_DLLSPEC FILE * slv_get_output_file (FILE *fp)
ASC_DLLSPEC void slv_print_rel_name (FILE *outfile, slv_system_t sys, struct rel_relation *rel)
ASC_DLLSPEC void slv_print_var_name (FILE *outfile, slv_system_t sys, struct var_variable *var)
ASC_DLLSPEC void slv_print_logrel_name (FILE *outfile, slv_system_t sys, struct logrel_relation *lrel)
ASC_DLLSPEC void slv_print_dis_name (FILE *outfile, slv_system_t sys, struct dis_discrete *dvar)
void slv_print_rel_sindex (FILE *outfile, struct rel_relation *rel)
void slv_print_var_sindex (FILE *outfile, struct var_variable *var)
void slv_print_logrel_sindex (FILE *outfile, struct logrel_relation *lrel)
void slv_print_dis_sindex (FILE *outfile, struct dis_discrete *dvar)
ASC_DLLSPEC int slv_direct_solve (slv_system_t server, struct rel_relation *rel, struct var_variable *var, FILE *file, real64 epsilon, int ignore_bounds, int scaled)
ASC_DLLSPEC int slv_direct_log_solve (slv_system_t sys, struct logrel_relation *lrel, struct dis_discrete *dvar, FILE *file, int perturb, struct gl_list_t *instances)
ASC_DLLSPEC int32 ** slv_create_lnkmap (int32 m, int32 n, int32 hl, int32 *hi, int32 *hj)
ASC_DLLSPEC int32 ** slv_lnkmap_from_mtx (mtx_matrix_t mtx, mtx_region_t *region)
ASC_DLLSPEC void slv_destroy_lnkmap (int32 **map)
ASC_DLLSPEC void slv_write_lnkmap (FILE *fp, int m, int32 **map)
slv_system_t slv_create (void)
int slv_destroy (slv_system_t sys)
SlvBackendToken slv_instance (slv_system_t sys)
void slv_set_instance (slv_system_t sys, SlvBackendToken root)
void slv_set_num_models (slv_system_t sys, int32 nmod)
void slv_set_need_consistency (slv_system_t sys, int32 need_consistency)
void slv_set_master_var_list (slv_system_t sys, struct var_variable **vlist, int size)
void slv_set_master_par_list (slv_system_t sys, struct var_variable **vlist, int size)
void slv_set_master_unattached_list (slv_system_t sys, struct var_variable **vlist, int size)
void slv_set_master_dvar_list (slv_system_t sys, struct dis_discrete **dvlist, int size)
void slv_set_master_disunatt_list (slv_system_t sys, struct dis_discrete **dvlist, int size)
void slv_set_master_rel_list (slv_system_t sys, struct rel_relation **rlist, int size)
void slv_set_master_condrel_list (slv_system_t sys, struct rel_relation **rlist, int size)
void slv_set_master_obj_list (slv_system_t sys, struct rel_relation **rlist, int size)
void slv_set_master_logrel_list (slv_system_t sys, struct logrel_relation **lrlist, int size)
void slv_set_master_condlogrel_list (slv_system_t sys, struct logrel_relation **lrlist, int size)
void slv_set_master_when_list (slv_system_t sys, struct w_when **wlist, int size)
void slv_set_master_bnd_list (slv_system_t sys, struct bnd_boundary **wlist, int size)
void slv_set_symbol_list (slv_system_t sys, struct gl_list_t *sv)
void slv_set_var_buf (slv_system_t sys, struct var_variable *vbuf)
void slv_set_par_buf (slv_system_t sys, struct var_variable *pbuf)
void slv_set_unattached_buf (slv_system_t sys, struct var_variable *ubuf)
void slv_set_dvar_buf (slv_system_t sys, struct dis_discrete *dbuf, int len)
void slv_set_disunatt_buf (slv_system_t sys, struct dis_discrete *udbuf)
void slv_set_rel_buf (slv_system_t sys, struct rel_relation *rbuf)
void slv_set_condrel_buf (slv_system_t sys, struct rel_relation *cbuf)
void slv_set_obj_buf (slv_system_t sys, struct rel_relation *obuf)
void slv_set_logrel_buf (slv_system_t sys, struct logrel_relation *lbuf)
void slv_set_condlogrel_buf (slv_system_t sys, struct logrel_relation *clbuf)
void slv_set_when_buf (slv_system_t sys, struct w_when *wbuf, int len)
void slv_set_bnd_buf (slv_system_t sys, struct bnd_boundary *bbuf, int len)
void slv_set_incidence (slv_system_t sys, struct var_variable **array, long size)
void slv_set_var_incidence (slv_system_t sys, struct rel_relation **array, long size)
void slv_set_logincidence (slv_system_t sys, struct dis_discrete **array, long size)
void slv_set_extrel_list (slv_system_t sys, struct ExtRelCache **rlist, int size)
ExtRelCache ** slv_get_extrel_list (slv_system_t sys)
int slv_get_num_extrels (slv_system_t sys)
ASC_DLLSPEC int32 slv_obj_select_list (slv_system_t sys, int32 **rip)
ASC_DLLSPEC int32 slv_get_obj_num (slv_system_t sys)
ASC_DLLSPEC int32 slv_near_bounds (slv_system_t sys, real64 epsilon, int32 **rip)
ASC_DLLSPEC int32 slv_far_from_nominals (slv_system_t sys, real64 bignum, int32 **rip)
int slv_set_diffvars (slv_system_t sys, void *diffvars)

Variables

ASC_DLLSPEC int32 calc_ok
boolean calc_print_errors


Define Documentation

#define calc_add_D0 ( x,
 )     ((x)+(y))

Computes (x + y).

#define calc_add_D1 ( x,
y,
wrt   )     (1.0)

Computes 1st derivatve of (x + y).

#define calc_add_D2 ( x,
y,
wrt1,
wrt2   )     (0.0)

Computes 2nd derivatve of (x + y).

#define calc_arcsinh_D0   arcsinh

Compute hyperbolic arcsin.

#define calc_arcsinh_D1   darcsinh

Computes 1st derivative of hyperbolic arcsin.

#define calc_arcsinh_D2   darcsinh2

Computes 2nd derivative of hyperbolic arcsin.

#define calc_arctan_D0   atan

Compute arctan.

#define calc_arctan_D1   datan

Computes 1st derivative of arctan.

#define calc_arctan_D2   datan2

Computes 2nd derivative of arctan.

#define calc_cbrt_D0   cbrt

Compute cube root.

#define calc_cos_D0   cos

Compute cos.

#define calc_cos_D1   dcos

Computes 1st derivative of cos.

#define calc_cos_D2   dcos2

Computes 2nd derivative of cos.

#define calc_cosh_D0   cosh

Compute hyperbolic cos.

#define calc_cosh_D1   sinh

Computes 1st derivative of hyperbolic cos.

#define calc_cosh_D2   cosh

Computes 2nd derivative of hyperbolic cos.

#define calc_div_D0 ( x,
 )     calc_mul_D0(x,calc_rec(y))

Computes (x/y).

#define calc_ERF_COEF   1.1283791670955130

= 2 / sqrt(PI)

#define calc_exp_D1   calc_exp_D0

Computes 1st derivative of exp(x).

#define calc_exp_D2   calc_exp_D0

Computes 2nd derivative of exp(x).

#define calc_fabs_D0   fabs

Compute abs value.

#define calc_ipow_D0 ( x,
 )     asc_ipow(x,(int)y)

Computes (x^(int)y).

#define calc_ipow_D1 ( x,
 )     asc_d1ipow(x,(int)y)

Computes 1st derivatve of (x^(int)y).

#define calc_ipow_D2 ( x,
 )     asc_d2ipow(x,(int)y)

Computes 2nd derivatve of (x^(int)y).

#define calc_ln_D1   calc_rec

Computes 1st derivative of ln(x).

#define calc_lnm_D0   lnm

Compute lnm.

#define calc_lnm_D1   dlnm

Computes 1st derivative of lnm.

#define calc_lnm_D2   dlnm2

Computes 2nd derivative of lnm.

#define calc_LOG10_COEF   0.4342944819032518

= log10(e) = 1/ln(10)

#define calc_mul_D0 ( x,
 )     ((x)*(y))

Computes (x * y).

#define calc_mul_D1 ( x,
y,
wrt   )     ((wrt)==0 ? ((x),(y)) : ((y),(x)))

Computes 1st derivatve of (x * y).

#define calc_mul_D2 ( x,
y,
wrt1,
wrt2   )     ((wrt1)!=(wrt2)?1.0:0.0)

Computes 2nd derivatve of (x * y).

#define calc_PI   3.1415926535897930

really should be using M_PI

#define calc_sin_D0   sin

Compute sin.

#define calc_sin_D1   cos

Computes 1st derivative of sin.

#define calc_sin_D2   dcos

Computes 2nd derivative of sin.

#define calc_sinh_D0   sinh

Compute hyperbolic sin.

#define calc_sinh_D1   cosh

Computes 1st derivative of hyperbolic sin.

#define calc_sinh_D2   sinh

Computes 2nd derivative of hyperbo