pydae 0.54.2__py3-none-any.whl → 0.54.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -568,787 +568,1639 @@ static void (*_cffi_call_python_org)(struct _cffi_externpy_s *, char *);
568
568
 
569
569
  void f_ini_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
570
570
 
571
- out[0] = 6.2831853071795862*p[23]*(y[14] - y[19]) - p[26]*(x[0] - u[17]);
572
- out[1] = -x[1]*p[27] + u[14];
573
- out[2] = -x[2]*p[28] + u[19];
574
- out[3] = -p[31]*x[3] - y[19] + 1;
571
+ out[0] = p[13]*(314.15926535897933*p[11]*x[1] + 314.15926535897933*p[10]*(y[0]*sin(y[1])*cos(x[0]) - y[0]*sin(x[0])*cos(y[1])) - 314.15926535897933*y[12] + 314.15926535897933);
572
+ out[1] = y[0]*sin(y[1])*cos(x[0]) - y[0]*sin(x[0])*cos(y[1]);
573
+ out[2] = (p[11]*x[1] + p[10]*(y[0]*sin(y[1])*cos(x[0]) - y[0]*sin(x[0])*cos(y[1])) - x[2] + 1.0)/p[12];
574
+ out[3] = (y[6] - x[3])/p[12];
575
+ out[4] = 6.2831853071795862*p[15]*(y[7] - y[12]) - p[18]*(x[4] - u[11]);
576
+ out[5] = -x[5]*p[19] + u[8];
577
+ out[6] = -x[6]*p[20] + u[13];
578
+ out[7] = -p[23]*x[7] - y[12] + 1;
575
579
 
576
580
  }
577
581
  void g_ini_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
578
582
 
579
- out[0] = -u[0]/p[0] + y[2]*y[0]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) + pow(y[0], 2)*p[1];
580
- out[1] = -u[1]/p[0] + y[2]*y[0]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1])) + pow(y[0], 2)*(-p[2] - 1.0/2.0*p[3]);
581
- out[2] = -u[2]/p[0] + pow(y[2], 2)*p[1] + y[2]*y[0]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) - p[12]*(-y[2]*y[11]*sin(y[3]) - y[2]*y[10]*cos(y[3]))/p[0];
582
- out[3] = -u[3]/p[0] + pow(y[2], 2)*(-p[2] - 1.0/2.0*p[3]) + y[2]*y[0]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1])) - p[12]*(y[2]*y[11]*cos(y[3]) - y[2]*y[10]*sin(y[3]))/p[0];
583
- out[4] = -u[4]/p[0] + y[6]*y[4]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) + pow(y[4], 2)*p[4] - p[12]*(-p[15] - p[16]*pow(y[2], 2)*(pow(y[11], 2) + pow(y[10], 2)) + y[2]*y[11]*sin(y[3]) + y[2]*y[10]*cos(y[3]))/p[0];
584
- out[5] = -u[5]/p[0] + y[6]*y[4]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5])) + pow(y[4], 2)*(-p[5] - 1.0/2.0*p[6]);
585
- out[6] = -u[6]/p[0] + pow(y[6], 2)*p[4] + y[6]*y[4]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) - p[17]*(y[6]*y[13]*sin(y[7]) - y[6]*y[12]*cos(y[7]))/p[0];
586
- out[7] = -u[7]/p[0] + pow(y[6], 2)*(-p[5] - 1.0/2.0*p[6]) + y[6]*y[4]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5])) - p[17]*(-y[6]*y[13]*cos(y[7]) - y[6]*y[12]*sin(y[7]))/p[0];
587
- out[8] = -u[8]/p[0] - p[17]*(-p[20] - p[21]*(pow(u[13], 2) + pow(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7]), 2)) - y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7]))/p[0] - p[22]*y[17]/p[0];
588
- out[9] = -u[9]/p[0] + p[17]*u[13]/p[0] - p[22]*y[18]/p[0];
589
- out[10] = -p[13]*y[10] - y[2]*cos(y[3]) + u[10]*cos(u[11]) + p[14]*y[11];
590
- out[11] = -p[13]*y[11] - y[2]*sin(y[3]) + u[10]*sin(u[11]) - p[14]*y[10];
591
- out[12] = -p[18]*y[12] - y[6]*cos(y[7]) + u[12];
592
- out[13] = -0.001*y[6]*sin(y[7]) + y[13];
593
- out[14] = x[1] - y[14] + u[16];
594
- out[15] = -p[25]*y[15] - y[8]*sin(x[0] + u[18] - y[9]) + p[24]*y[16];
595
- out[16] = x[2] - p[25]*y[16] - y[8]*cos(x[0] + u[18] - y[9]) - p[24]*y[15] + u[15];
596
- out[17] = y[8]*y[15]*sin(x[0] + u[18] - y[9]) + y[8]*y[16]*cos(x[0] + u[18] - y[9]) - y[17];
597
- out[18] = y[8]*y[15]*cos(x[0] + u[18] - y[9]) - y[8]*y[16]*sin(x[0] + u[18] - y[9]) - y[18];
598
- out[19] = 1.0*y[14] - y[19];
599
- out[20] = p[30]*x[3] + p[29]*(1 - y[19]) - y[20];
583
+ out[0] = -u[0]/p[0] + pow(y[0], 2)*p[1] + y[0]*y[2]*(-p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3])) - p[6]*y[4]/p[0];
584
+ out[1] = -u[1]/p[0] + pow(y[0], 2)*(-p[2] - 1.0/2.0*p[3]) + y[0]*y[2]*(p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3])) - p[6]*y[5]/p[0];
585
+ out[2] = -u[2]/p[0] + y[0]*y[2]*(p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3])) + pow(y[2], 2)*p[1] - p[14]*y[10]/p[0];
586
+ out[3] = -u[3]/p[0] + y[0]*y[2]*(p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3])) + pow(y[2], 2)*(-p[2] - 1.0/2.0*p[3]) - p[14]*y[11]/p[0];
587
+ out[4] = -y[4] + ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
588
+ 0.0
589
+ )
590
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
591
+ u[4]
592
+ )
593
+ : (
594
+ u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]
595
+ )));
596
+ out[5] = -y[5] + ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
597
+ u[6] + p[9]*(-y[0] + u[7]) < -1
598
+ )
599
+ : (
600
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
601
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
602
+ )
603
+ : (
604
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
605
+ ))
606
+ ))) ? (
607
+ -sqrt(1 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
608
+ 0.0
609
+ )
610
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
611
+ pow(u[4], 2)
612
+ )
613
+ : (
614
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
615
+ ))))
616
+ )
617
+ : ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
618
+ u[6] + p[9]*(-y[0] + u[7]) > 1
619
+ )
620
+ : (
621
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
622
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
623
+ )
624
+ : (
625
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
626
+ ))
627
+ ))) ? (
628
+ sqrt(1 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
629
+ 0.0
630
+ )
631
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
632
+ pow(u[4], 2)
633
+ )
634
+ : (
635
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
636
+ ))))
637
+ )
638
+ : (
639
+ u[6] + p[9]*(-y[0] + u[7])
640
+ )));
641
+ out[6] = y[6] - (p[11]*x[1] + p[10]*(y[0]*sin(y[1])*cos(x[0]) - y[0]*sin(x[0])*cos(y[1])) - x[2] + 1.0)/p[12];
642
+ out[7] = x[5] - y[7] + u[10];
643
+ out[8] = -p[17]*y[8] - y[2]*sin(x[4] + u[12] - y[3]) + p[16]*y[9];
644
+ out[9] = x[6] - p[17]*y[9] - y[2]*cos(x[4] + u[12] - y[3]) - p[16]*y[8] + u[9];
645
+ out[10] = y[2]*y[8]*sin(x[4] + u[12] - y[3]) + y[2]*y[9]*cos(x[4] + u[12] - y[3]) - y[10];
646
+ out[11] = y[2]*y[8]*cos(x[4] + u[12] - y[3]) - y[2]*y[9]*sin(x[4] + u[12] - y[3]) - y[11];
647
+ out[12] = 1.0*y[7] - y[12];
648
+ out[13] = p[22]*x[7] + p[21]*(1 - y[12]) - y[13];
600
649
 
601
650
  }
602
651
  void f_run_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
603
652
 
604
- out[0] = 6.2831853071795862*p[23]*(y[14] - y[19]) - p[26]*(x[0] - u[17]);
605
- out[1] = -x[1]*p[27] + u[14];
606
- out[2] = -x[2]*p[28] + u[19];
607
- out[3] = -p[31]*x[3] - y[19] + 1;
653
+ out[0] = p[13]*(314.15926535897933*p[11]*x[1] + 314.15926535897933*p[10]*(y[0]*sin(y[1])*cos(x[0]) - y[0]*sin(x[0])*cos(y[1])) - 314.15926535897933*y[12] + 314.15926535897933);
654
+ out[1] = y[0]*sin(y[1])*cos(x[0]) - y[0]*sin(x[0])*cos(y[1]);
655
+ out[2] = (p[11]*x[1] + p[10]*(y[0]*sin(y[1])*cos(x[0]) - y[0]*sin(x[0])*cos(y[1])) - x[2] + 1.0)/p[12];
656
+ out[3] = (y[6] - x[3])/p[12];
657
+ out[4] = 6.2831853071795862*p[15]*(y[7] - y[12]) - p[18]*(x[4] - u[11]);
658
+ out[5] = -x[5]*p[19] + u[8];
659
+ out[6] = -x[6]*p[20] + u[13];
660
+ out[7] = -p[23]*x[7] - y[12] + 1;
608
661
 
609
662
  }
610
663
  void g_run_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
611
664
 
612
- out[0] = -u[0]/p[0] + y[2]*y[0]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) + pow(y[0], 2)*p[1];
613
- out[1] = -u[1]/p[0] + y[2]*y[0]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1])) + pow(y[0], 2)*(-p[2] - 1.0/2.0*p[3]);
614
- out[2] = -u[2]/p[0] + pow(y[2], 2)*p[1] + y[2]*y[0]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) - p[12]*(-y[2]*y[11]*sin(y[3]) - y[2]*y[10]*cos(y[3]))/p[0];
615
- out[3] = -u[3]/p[0] + pow(y[2], 2)*(-p[2] - 1.0/2.0*p[3]) + y[2]*y[0]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1])) - p[12]*(y[2]*y[11]*cos(y[3]) - y[2]*y[10]*sin(y[3]))/p[0];
616
- out[4] = -u[4]/p[0] + y[6]*y[4]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) + pow(y[4], 2)*p[4] - p[12]*(-p[15] - p[16]*pow(y[2], 2)*(pow(y[11], 2) + pow(y[10], 2)) + y[2]*y[11]*sin(y[3]) + y[2]*y[10]*cos(y[3]))/p[0];
617
- out[5] = -u[5]/p[0] + y[6]*y[4]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5])) + pow(y[4], 2)*(-p[5] - 1.0/2.0*p[6]);
618
- out[6] = -u[6]/p[0] + pow(y[6], 2)*p[4] + y[6]*y[4]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) - p[17]*(y[6]*y[13]*sin(y[7]) - y[6]*y[12]*cos(y[7]))/p[0];
619
- out[7] = -u[7]/p[0] + pow(y[6], 2)*(-p[5] - 1.0/2.0*p[6]) + y[6]*y[4]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5])) - p[17]*(-y[6]*y[13]*cos(y[7]) - y[6]*y[12]*sin(y[7]))/p[0];
620
- out[8] = -u[8]/p[0] - p[17]*(-p[20] - p[21]*(pow(u[13], 2) + pow(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7]), 2)) - y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7]))/p[0] - p[22]*y[17]/p[0];
621
- out[9] = -u[9]/p[0] + p[17]*u[13]/p[0] - p[22]*y[18]/p[0];
622
- out[10] = -p[13]*y[10] - y[2]*cos(y[3]) + u[10]*cos(u[11]) + p[14]*y[11];
623
- out[11] = -p[13]*y[11] - y[2]*sin(y[3]) + u[10]*sin(u[11]) - p[14]*y[10];
624
- out[12] = -p[18]*y[12] - y[6]*cos(y[7]) + u[12];
625
- out[13] = -0.001*y[6]*sin(y[7]) + y[13];
626
- out[14] = x[1] - y[14] + u[16];
627
- out[15] = -p[25]*y[15] - y[8]*sin(x[0] + u[18] - y[9]) + p[24]*y[16];
628
- out[16] = x[2] - p[25]*y[16] - y[8]*cos(x[0] + u[18] - y[9]) - p[24]*y[15] + u[15];
629
- out[17] = y[8]*y[15]*sin(x[0] + u[18] - y[9]) + y[8]*y[16]*cos(x[0] + u[18] - y[9]) - y[17];
630
- out[18] = y[8]*y[15]*cos(x[0] + u[18] - y[9]) - y[8]*y[16]*sin(x[0] + u[18] - y[9]) - y[18];
631
- out[19] = 1.0*y[14] - y[19];
632
- out[20] = p[30]*x[3] + p[29]*(1 - y[19]) - y[20];
665
+ out[0] = -u[0]/p[0] + pow(y[0], 2)*p[1] + y[0]*y[2]*(-p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3])) - p[6]*y[4]/p[0];
666
+ out[1] = -u[1]/p[0] + pow(y[0], 2)*(-p[2] - 1.0/2.0*p[3]) + y[0]*y[2]*(p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3])) - p[6]*y[5]/p[0];
667
+ out[2] = -u[2]/p[0] + y[0]*y[2]*(p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3])) + pow(y[2], 2)*p[1] - p[14]*y[10]/p[0];
668
+ out[3] = -u[3]/p[0] + y[0]*y[2]*(p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3])) + pow(y[2], 2)*(-p[2] - 1.0/2.0*p[3]) - p[14]*y[11]/p[0];
669
+ out[4] = -y[4] + ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
670
+ 0.0
671
+ )
672
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
673
+ u[4]
674
+ )
675
+ : (
676
+ u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]
677
+ )));
678
+ out[5] = -y[5] + ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
679
+ u[6] + p[9]*(-y[0] + u[7]) < -1
680
+ )
681
+ : (
682
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
683
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
684
+ )
685
+ : (
686
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
687
+ ))
688
+ ))) ? (
689
+ -sqrt(1 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
690
+ 0.0
691
+ )
692
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
693
+ pow(u[4], 2)
694
+ )
695
+ : (
696
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
697
+ ))))
698
+ )
699
+ : ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
700
+ u[6] + p[9]*(-y[0] + u[7]) > 1
701
+ )
702
+ : (
703
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
704
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
705
+ )
706
+ : (
707
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
708
+ ))
709
+ ))) ? (
710
+ sqrt(1 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
711
+ 0.0
712
+ )
713
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
714
+ pow(u[4], 2)
715
+ )
716
+ : (
717
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
718
+ ))))
719
+ )
720
+ : (
721
+ u[6] + p[9]*(-y[0] + u[7])
722
+ )));
723
+ out[6] = y[6] - (p[11]*x[1] + p[10]*(y[0]*sin(y[1])*cos(x[0]) - y[0]*sin(x[0])*cos(y[1])) - x[2] + 1.0)/p[12];
724
+ out[7] = x[5] - y[7] + u[10];
725
+ out[8] = -p[17]*y[8] - y[2]*sin(x[4] + u[12] - y[3]) + p[16]*y[9];
726
+ out[9] = x[6] - p[17]*y[9] - y[2]*cos(x[4] + u[12] - y[3]) - p[16]*y[8] + u[9];
727
+ out[10] = y[2]*y[8]*sin(x[4] + u[12] - y[3]) + y[2]*y[9]*cos(x[4] + u[12] - y[3]) - y[10];
728
+ out[11] = y[2]*y[8]*cos(x[4] + u[12] - y[3]) - y[2]*y[9]*sin(x[4] + u[12] - y[3]) - y[11];
729
+ out[12] = 1.0*y[7] - y[12];
730
+ out[13] = p[22]*x[7] + p[21]*(1 - y[12]) - y[13];
633
731
 
634
732
  }
635
733
  void h_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
636
734
 
637
735
  out[0] = y[0];
638
736
  out[1] = y[2];
639
- out[2] = y[4];
640
- out[3] = y[6];
641
- out[4] = y[8];
642
- out[5] = y[2]*y[0]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) + pow(y[0], 2)*p[1];
643
- out[6] = y[2]*y[0]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1])) - pow(y[0], 2)*p[2];
644
- out[7] = pow(y[2], 2)*p[1] + y[2]*y[0]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
645
- out[8] = -pow(y[2], 2)*p[2] + y[2]*y[0]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
646
- out[9] = y[6]*y[4]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) + pow(y[4], 2)*p[4];
647
- out[10] = y[6]*y[4]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5])) - pow(y[4], 2)*p[5];
648
- out[11] = pow(y[6], 2)*p[4] + y[6]*y[4]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
649
- out[12] = -pow(y[6], 2)*p[5] + y[6]*y[4]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
650
- out[13] = sqrt(pow(y[11], 2) + pow(y[10], 2));
651
- out[14] = u[10];
652
- out[15] = p[15] + p[16]*pow(y[2], 2)*(pow(y[11], 2) + pow(y[10], 2)) - y[2]*y[11]*sin(y[3]) - y[2]*y[10]*cos(y[3]);
653
- out[16] = y[12];
654
- out[17] = u[12];
655
- out[18] = u[14];
656
- out[19] = x[2];
737
+ out[2] = u[4];
738
+ out[3] = u[5];
739
+ out[4] = u[6];
740
+ out[5] = p[11]*x[1] + p[10]*(y[0]*sin(y[1])*cos(x[0]) - y[0]*sin(x[0])*cos(y[1])) + 1.0;
741
+ out[6] = x[2];
742
+ out[7] = y[6];
743
+ out[8] = u[8];
744
+ out[9] = x[6];
657
745
 
658
746
  }
659
747
  void de_jac_ini_xy_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
660
748
 
661
- out[104] = y[2]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) + 2.0*y[0]*p[1];
662
- out[105] = y[2]*y[0]*(-p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
663
- out[106] = y[0]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
664
- out[107] = y[2]*y[0]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1]));
665
- out[129] = y[2]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1])) + 2.0*y[0]*(-p[2] - 0.5*p[3]);
666
- out[130] = y[2]*y[0]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
667
- out[131] = y[0]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1]));
668
- out[132] = y[2]*y[0]*(-p[2]*sin(y[3] - y[1]) + p[1]*cos(y[3] - y[1]));
669
- out[154] = y[2]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
670
- out[155] = y[2]*y[0]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
671
- out[156] = 2.0*y[2]*p[1] + y[0]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) - p[12]*(-y[11]*sin(y[3]) - y[10]*cos(y[3]))/p[0];
672
- out[157] = y[2]*y[0]*(-p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1])) - p[12]*(-y[2]*y[11]*cos(y[3]) + y[2]*y[10]*sin(y[3]))/p[0];
673
- out[164] = p[12]*y[2]*cos(y[3])/p[0];
674
- out[165] = p[12]*y[2]*sin(y[3])/p[0];
675
- out[179] = y[2]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
676
- out[180] = y[2]*y[0]*(p[2]*sin(y[3] - y[1]) + p[1]*cos(y[3] - y[1]));
677
- out[181] = 2.0*y[2]*(-p[2] - 0.5*p[3]) + y[0]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1])) - p[12]*(y[11]*cos(y[3]) - y[10]*sin(y[3]))/p[0];
678
- out[182] = y[2]*y[0]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) - p[12]*(-y[2]*y[11]*sin(y[3]) - y[2]*y[10]*cos(y[3]))/p[0];
679
- out[189] = p[12]*y[2]*sin(y[3])/p[0];
680
- out[190] = -p[12]*y[2]*cos(y[3])/p[0];
681
- out[206] = -p[12]*(-2.0*p[16]*y[2]*(pow(y[11], 2) + pow(y[10], 2)) + y[11]*sin(y[3]) + y[10]*cos(y[3]))/p[0];
682
- out[207] = -p[12]*(y[2]*y[11]*cos(y[3]) - y[2]*y[10]*sin(y[3]))/p[0];
683
- out[208] = y[6]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) + 2.0*y[4]*p[4];
684
- out[209] = y[6]*y[4]*(-p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
685
- out[210] = y[4]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
686
- out[211] = y[6]*y[4]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5]));
687
- out[214] = -p[12]*(-2.0*p[16]*pow(y[2], 2)*y[10] + y[2]*cos(y[3]))/p[0];
688
- out[215] = -p[12]*(-2.0*p[16]*pow(y[2], 2)*y[11] + y[2]*sin(y[3]))/p[0];
689
- out[233] = y[6]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5])) + 2.0*y[4]*(-p[5] - 0.5*p[6]);
690
- out[234] = y[6]*y[4]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
691
- out[235] = y[4]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5]));
692
- out[236] = y[6]*y[4]*(-p[5]*sin(y[7] - y[5]) + p[4]*cos(y[7] - y[5]));
693
- out[258] = y[6]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
694
- out[259] = y[6]*y[4]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
695
- out[260] = 2.0*y[6]*p[4] + y[4]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) - p[17]*(y[13]*sin(y[7]) - y[12]*cos(y[7]))/p[0];
696
- out[261] = y[6]*y[4]*(-p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5])) - p[17]*(y[6]*y[13]*cos(y[7]) + y[6]*y[12]*sin(y[7]))/p[0];
697
- out[266] = p[17]*y[6]*cos(y[7])/p[0];
698
- out[267] = -p[17]*y[6]*sin(y[7])/p[0];
699
- out[283] = y[6]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
700
- out[284] = y[6]*y[4]*(p[5]*sin(y[7] - y[5]) + p[4]*cos(y[7] - y[5]));
701
- out[285] = 2.0*y[6]*(-p[5] - 0.5*p[6]) + y[4]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5])) - p[17]*(-y[13]*cos(y[7]) - y[12]*sin(y[7]))/p[0];
702
- out[286] = y[6]*y[4]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) - p[17]*(y[6]*y[13]*sin(y[7]) - y[6]*y[12]*cos(y[7]))/p[0];
703
- out[291] = p[17]*y[6]*sin(y[7])/p[0];
704
- out[292] = p[17]*y[6]*cos(y[7])/p[0];
705
- out[310] = -p[17]*(-p[21]*(-2.0*y[13]*sin(y[7]) + 2.0*y[12]*cos(y[7]))*(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7])) - y[13]*sin(y[7]) + y[12]*cos(y[7]))/p[0];
706
- out[311] = -p[17]*(-p[21]*(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7]))*(-2.0*y[6]*y[13]*cos(y[7]) - 2.0*y[6]*y[12]*sin(y[7])) - y[6]*y[13]*cos(y[7]) - y[6]*y[12]*sin(y[7]))/p[0];
707
- out[316] = -p[17]*(-2.0*p[21]*y[6]*(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7]))*cos(y[7]) + y[6]*cos(y[7]))/p[0];
708
- out[317] = -p[17]*(2.0*p[21]*y[6]*(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7]))*sin(y[7]) - y[6]*sin(y[7]))/p[0];
709
- out[356] = -cos(y[3]);
710
- out[357] = y[2]*sin(y[3]);
711
- out[381] = -sin(y[3]);
712
- out[382] = -y[2]*cos(y[3]);
713
- out[410] = -cos(y[7]);
714
- out[411] = y[6]*sin(y[7]);
715
- out[435] = -0.001*sin(y[7]);
716
- out[436] = -0.001*y[6]*cos(y[7]);
717
- out[475] = -y[8]*cos(x[0] + u[18] - y[9]);
718
- out[487] = -sin(x[0] + u[18] - y[9]);
719
- out[488] = y[8]*cos(x[0] + u[18] - y[9]);
720
- out[500] = y[8]*sin(x[0] + u[18] - y[9]);
721
- out[512] = -cos(x[0] + u[18] - y[9]);
722
- out[513] = -y[8]*sin(x[0] + u[18] - y[9]);
723
- out[525] = y[8]*y[15]*cos(x[0] + u[18] - y[9]) - y[8]*y[16]*sin(x[0] + u[18] - y[9]);
724
- out[537] = y[15]*sin(x[0] + u[18] - y[9]) + y[16]*cos(x[0] + u[18] - y[9]);
725
- out[538] = -y[8]*y[15]*cos(x[0] + u[18] - y[9]) + y[8]*y[16]*sin(x[0] + u[18] - y[9]);
726
- out[544] = y[8]*sin(x[0] + u[18] - y[9]);
727
- out[545] = y[8]*cos(x[0] + u[18] - y[9]);
728
- out[550] = -y[8]*y[15]*sin(x[0] + u[18] - y[9]) - y[8]*y[16]*cos(x[0] + u[18] - y[9]);
729
- out[562] = y[15]*cos(x[0] + u[18] - y[9]) - y[16]*sin(x[0] + u[18] - y[9]);
730
- out[563] = y[8]*y[15]*sin(x[0] + u[18] - y[9]) + y[8]*y[16]*cos(x[0] + u[18] - y[9]);
731
- out[569] = y[8]*cos(x[0] + u[18] - y[9]);
732
- out[570] = -y[8]*sin(x[0] + u[18] - y[9]);
749
+ out[0] = 314.15926535897933*p[10]*p[13]*(-y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0]));
750
+ out[8] = 314.15926535897933*p[10]*p[13]*(sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]));
751
+ out[9] = 314.15926535897933*p[10]*p[13]*(y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]));
752
+ out[22] = -y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0]);
753
+ out[30] = sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]);
754
+ out[31] = y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]);
755
+ out[44] = p[10]*(-y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0]))/p[12];
756
+ out[52] = p[10]*(sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]))/p[12];
757
+ out[53] = p[10]*(y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]))/p[12];
758
+ out[184] = 2.0*y[0]*p[1] + y[2]*(-p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
759
+ out[185] = y[0]*y[2]*(-p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3]));
760
+ out[186] = y[0]*(-p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
761
+ out[187] = y[0]*y[2]*(p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3]));
762
+ out[206] = 2.0*y[0]*(-p[2] - 0.5*p[3]) + y[2]*(p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3]));
763
+ out[207] = y[0]*y[2]*(-p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
764
+ out[208] = y[0]*(p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3]));
765
+ out[209] = y[0]*y[2]*(p[2]*sin(y[1] - y[3]) + p[1]*cos(y[1] - y[3]));
766
+ out[228] = y[2]*(p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
767
+ out[229] = y[0]*y[2]*(p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3]));
768
+ out[230] = y[0]*(p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3])) + 2.0*y[2]*p[1];
769
+ out[231] = y[0]*y[2]*(-p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3]));
770
+ out[250] = y[2]*(p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3]));
771
+ out[251] = y[0]*y[2]*(-p[2]*sin(y[1] - y[3]) + p[1]*cos(y[1] - y[3]));
772
+ out[252] = y[0]*(p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3])) + 2.0*y[2]*(-p[2] - 0.5*p[3]);
773
+ out[253] = y[0]*y[2]*(p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
774
+ out[266] = ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
775
+ 0
776
+ )
777
+ : (
778
+ -p[7]
779
+ ));
780
+ out[267] = ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
781
+ 0
782
+ )
783
+ : (
784
+ -p[8]
785
+ ));
786
+ out[288] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
787
+ u[6] + p[9]*(-y[0] + u[7]) < -1
788
+ )
789
+ : (
790
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
791
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
792
+ )
793
+ : (
794
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
795
+ ))
796
+ ))) ? (
797
+ 0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
798
+ 0
799
+ )
800
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
801
+ pow(u[4], 2)
802
+ )
803
+ : (
804
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
805
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
806
+ 0
807
+ )
808
+ : (
809
+ -2.0*p[7]*(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4])
810
+ ))
811
+ )
812
+ : ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
813
+ u[6] + p[9]*(-y[0] + u[7]) > 1
814
+ )
815
+ : (
816
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
817
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
818
+ )
819
+ : (
820
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
821
+ ))
822
+ ))) ? (
823
+ -0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
824
+ 0
825
+ )
826
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
827
+ pow(u[4], 2)
828
+ )
829
+ : (
830
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
831
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
832
+ 0
833
+ )
834
+ : (
835
+ -2.0*p[7]*(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4])
836
+ ))
837
+ )
838
+ : (
839
+ 0
840
+ )));
841
+ out[289] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
842
+ u[6] + p[9]*(-y[0] + u[7]) < -1
843
+ )
844
+ : (
845
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
846
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
847
+ )
848
+ : (
849
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
850
+ ))
851
+ ))) ? (
852
+ 0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
853
+ 0
854
+ )
855
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
856
+ pow(u[4], 2)
857
+ )
858
+ : (
859
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
860
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
861
+ 0
862
+ )
863
+ : (
864
+ -2.0*p[8]*(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4])
865
+ ))
866
+ )
867
+ : ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
868
+ u[6] + p[9]*(-y[0] + u[7]) > 1
869
+ )
870
+ : (
871
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
872
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
873
+ )
874
+ : (
875
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
876
+ ))
877
+ ))) ? (
878
+ -0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
879
+ 0
880
+ )
881
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
882
+ pow(u[4], 2)
883
+ )
884
+ : (
885
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
886
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
887
+ 0
888
+ )
889
+ : (
890
+ -2.0*p[8]*(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4])
891
+ ))
892
+ )
893
+ : (
894
+ 0
895
+ )));
896
+ out[294] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
897
+ u[6] + p[9]*(-y[0] + u[7]) > 1
898
+ )
899
+ : (
900
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
901
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
902
+ )
903
+ : (
904
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
905
+ ))
906
+ )) || ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
907
+ u[6] + p[9]*(-y[0] + u[7]) < -1
908
+ )
909
+ : (
910
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
911
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
912
+ )
913
+ : (
914
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
915
+ ))
916
+ ))) ? (
917
+ 0
918
+ )
919
+ : (
920
+ -p[9]
921
+ ));
922
+ out[308] = -p[10]*(-y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0]))/p[12];
923
+ out[316] = -p[10]*(sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]))/p[12];
924
+ out[317] = -p[10]*(y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]))/p[12];
925
+ out[356] = -y[2]*cos(x[4] + u[12] - y[3]);
926
+ out[362] = -sin(x[4] + u[12] - y[3]);
927
+ out[363] = y[2]*cos(x[4] + u[12] - y[3]);
928
+ out[378] = y[2]*sin(x[4] + u[12] - y[3]);
929
+ out[384] = -cos(x[4] + u[12] - y[3]);
930
+ out[385] = -y[2]*sin(x[4] + u[12] - y[3]);
931
+ out[400] = y[2]*y[8]*cos(x[4] + u[12] - y[3]) - y[2]*y[9]*sin(x[4] + u[12] - y[3]);
932
+ out[406] = y[8]*sin(x[4] + u[12] - y[3]) + y[9]*cos(x[4] + u[12] - y[3]);
933
+ out[407] = -y[2]*y[8]*cos(x[4] + u[12] - y[3]) + y[2]*y[9]*sin(x[4] + u[12] - y[3]);
934
+ out[412] = y[2]*sin(x[4] + u[12] - y[3]);
935
+ out[413] = y[2]*cos(x[4] + u[12] - y[3]);
936
+ out[422] = -y[2]*y[8]*sin(x[4] + u[12] - y[3]) - y[2]*y[9]*cos(x[4] + u[12] - y[3]);
937
+ out[428] = y[8]*cos(x[4] + u[12] - y[3]) - y[9]*sin(x[4] + u[12] - y[3]);
938
+ out[429] = y[2]*y[8]*sin(x[4] + u[12] - y[3]) + y[2]*y[9]*cos(x[4] + u[12] - y[3]);
939
+ out[434] = y[2]*cos(x[4] + u[12] - y[3]);
940
+ out[435] = -y[2]*sin(x[4] + u[12] - y[3]);
733
941
 
734
942
  }
735
943
 
736
944
  void de_jac_ini_up_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
737
945
 
738
- out[0] = -p[26];
739
- out[18] = 6.2831853071795862*p[23];
740
- out[23] = -6.2831853071795862*p[23];
741
- out[26] = -p[27];
742
- out[52] = -p[28];
743
- out[78] = -p[31];
744
- out[321] = -p[22]/p[0];
745
- out[347] = -p[22]/p[0];
746
- out[364] = -p[13];
747
- out[365] = p[14];
748
- out[389] = -p[14];
749
- out[390] = -p[13];
750
- out[416] = -p[18];
751
- out[494] = -p[25];
752
- out[495] = p[24];
753
- out[519] = -p[24];
754
- out[520] = -p[25];
755
- out[603] = p[30];
756
- out[623] = -p[29];
946
+ out[1] = 314.15926535897933*p[11]*p[13];
947
+ out[20] = -314.15926535897933*p[13];
948
+ out[45] = p[11]/p[12];
949
+ out[46] = -1/p[12];
950
+ out[69] = -1/p[12];
951
+ out[80] = 1.0/p[12];
952
+ out[92] = -p[18];
953
+ out[103] = 6.2831853071795862*p[15];
954
+ out[108] = -6.2831853071795862*p[15];
955
+ out[115] = -p[19];
956
+ out[138] = -p[20];
957
+ out[161] = -p[23];
958
+ out[188] = -p[6]/p[0];
959
+ out[211] = -p[6]/p[0];
960
+ out[238] = -p[14]/p[0];
961
+ out[261] = -p[14]/p[0];
962
+ out[309] = -p[11]/p[12];
963
+ out[310] = 1.0/p[12];
964
+ out[368] = -p[17];
965
+ out[369] = p[16];
966
+ out[390] = -p[16];
967
+ out[391] = -p[17];
968
+ out[469] = p[22];
969
+ out[482] = -p[21];
757
970
 
758
971
  }
759
972
 
760
973
  void de_jac_ini_num_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
761
974
 
762
- out[98] = -1.0;
763
- out[442] = 1.0;
764
- out[451] = 1.0;
765
- out[468] = -1.0;
766
- out[502] = 1.0;
767
- out[546] = -1.0;
768
- out[572] = -1.0;
769
- out[593] = 1.0;
770
- out[598] = -1.0;
771
- out[624] = -1.0;
975
+ out[174] = -1.0;
976
+ out[276] = -1.0;
977
+ out[299] = -1.0;
978
+ out[322] = 1.0;
979
+ out[335] = 1.0;
980
+ out[345] = -1.0;
981
+ out[380] = 1.0;
982
+ out[414] = -1.0;
983
+ out[437] = -1.0;
984
+ out[455] = 1.0;
985
+ out[460] = -1.0;
986
+ out[483] = -1.0;
772
987
 
773
988
  }
774
989
 
775
990
  void sp_jac_ini_xy_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
776
991
 
777
- out[7] = y[2]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) + 2.0*y[0]*p[1];
778
- out[8] = y[2]*y[0]*(-p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
779
- out[9] = y[0]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
780
- out[10] = y[2]*y[0]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1]));
781
- out[11] = y[2]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1])) + 2.0*y[0]*(-p[2] - 0.5*p[3]);
782
- out[12] = y[2]*y[0]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
783
- out[13] = y[0]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1]));
784
- out[14] = y[2]*y[0]*(-p[2]*sin(y[3] - y[1]) + p[1]*cos(y[3] - y[1]));
785
- out[15] = y[2]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
786
- out[16] = y[2]*y[0]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
787
- out[17] = 2.0*y[2]*p[1] + y[0]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) - p[12]*(-y[11]*sin(y[3]) - y[10]*cos(y[3]))/p[0];
788
- out[18] = y[2]*y[0]*(-p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1])) - p[12]*(-y[2]*y[11]*cos(y[3]) + y[2]*y[10]*sin(y[3]))/p[0];
789
- out[19] = p[12]*y[2]*cos(y[3])/p[0];
790
- out[20] = p[12]*y[2]*sin(y[3])/p[0];
791
- out[21] = y[2]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
792
- out[22] = y[2]*y[0]*(p[2]*sin(y[3] - y[1]) + p[1]*cos(y[3] - y[1]));
793
- out[23] = 2.0*y[2]*(-p[2] - 0.5*p[3]) + y[0]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1])) - p[12]*(y[11]*cos(y[3]) - y[10]*sin(y[3]))/p[0];
794
- out[24] = y[2]*y[0]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) - p[12]*(-y[2]*y[11]*sin(y[3]) - y[2]*y[10]*cos(y[3]))/p[0];
795
- out[25] = p[12]*y[2]*sin(y[3])/p[0];
796
- out[26] = -p[12]*y[2]*cos(y[3])/p[0];
797
- out[27] = -p[12]*(-2.0*p[16]*y[2]*(pow(y[11], 2) + pow(y[10], 2)) + y[11]*sin(y[3]) + y[10]*cos(y[3]))/p[0];
798
- out[28] = -p[12]*(y[2]*y[11]*cos(y[3]) - y[2]*y[10]*sin(y[3]))/p[0];
799
- out[29] = y[6]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) + 2.0*y[4]*p[4];
800
- out[30] = y[6]*y[4]*(-p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
801
- out[31] = y[4]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
802
- out[32] = y[6]*y[4]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5]));
803
- out[33] = -p[12]*(-2.0*p[16]*pow(y[2], 2)*y[10] + y[2]*cos(y[3]))/p[0];
804
- out[34] = -p[12]*(-2.0*p[16]*pow(y[2], 2)*y[11] + y[2]*sin(y[3]))/p[0];
805
- out[35] = y[6]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5])) + 2.0*y[4]*(-p[5] - 0.5*p[6]);
806
- out[36] = y[6]*y[4]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
807
- out[37] = y[4]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5]));
808
- out[38] = y[6]*y[4]*(-p[5]*sin(y[7] - y[5]) + p[4]*cos(y[7] - y[5]));
809
- out[39] = y[6]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
810
- out[40] = y[6]*y[4]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
811
- out[41] = 2.0*y[6]*p[4] + y[4]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) - p[17]*(y[13]*sin(y[7]) - y[12]*cos(y[7]))/p[0];
812
- out[42] = y[6]*y[4]*(-p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5])) - p[17]*(y[6]*y[13]*cos(y[7]) + y[6]*y[12]*sin(y[7]))/p[0];
813
- out[43] = p[17]*y[6]*cos(y[7])/p[0];
814
- out[44] = -p[17]*y[6]*sin(y[7])/p[0];
815
- out[45] = y[6]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
816
- out[46] = y[6]*y[4]*(p[5]*sin(y[7] - y[5]) + p[4]*cos(y[7] - y[5]));
817
- out[47] = 2.0*y[6]*(-p[5] - 0.5*p[6]) + y[4]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5])) - p[17]*(-y[13]*cos(y[7]) - y[12]*sin(y[7]))/p[0];
818
- out[48] = y[6]*y[4]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) - p[17]*(y[6]*y[13]*sin(y[7]) - y[6]*y[12]*cos(y[7]))/p[0];
819
- out[49] = p[17]*y[6]*sin(y[7])/p[0];
820
- out[50] = p[17]*y[6]*cos(y[7])/p[0];
821
- out[51] = -p[17]*(-p[21]*(-2.0*y[13]*sin(y[7]) + 2.0*y[12]*cos(y[7]))*(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7])) - y[13]*sin(y[7]) + y[12]*cos(y[7]))/p[0];
822
- out[52] = -p[17]*(-p[21]*(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7]))*(-2.0*y[6]*y[13]*cos(y[7]) - 2.0*y[6]*y[12]*sin(y[7])) - y[6]*y[13]*cos(y[7]) - y[6]*y[12]*sin(y[7]))/p[0];
823
- out[53] = -p[17]*(-2.0*p[21]*y[6]*(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7]))*cos(y[7]) + y[6]*cos(y[7]))/p[0];
824
- out[54] = -p[17]*(2.0*p[21]*y[6]*(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7]))*sin(y[7]) - y[6]*sin(y[7]))/p[0];
825
- out[57] = -cos(y[3]);
826
- out[58] = y[2]*sin(y[3]);
827
- out[61] = -sin(y[3]);
828
- out[62] = -y[2]*cos(y[3]);
829
- out[65] = -cos(y[7]);
830
- out[66] = y[6]*sin(y[7]);
831
- out[68] = -0.001*sin(y[7]);
832
- out[69] = -0.001*y[6]*cos(y[7]);
833
- out[73] = -y[8]*cos(x[0] + u[18] - y[9]);
834
- out[74] = -sin(x[0] + u[18] - y[9]);
835
- out[75] = y[8]*cos(x[0] + u[18] - y[9]);
836
- out[78] = y[8]*sin(x[0] + u[18] - y[9]);
837
- out[80] = -cos(x[0] + u[18] - y[9]);
838
- out[81] = -y[8]*sin(x[0] + u[18] - y[9]);
839
- out[84] = y[8]*y[15]*cos(x[0] + u[18] - y[9]) - y[8]*y[16]*sin(x[0] + u[18] - y[9]);
840
- out[85] = y[15]*sin(x[0] + u[18] - y[9]) + y[16]*cos(x[0] + u[18] - y[9]);
841
- out[86] = -y[8]*y[15]*cos(x[0] + u[18] - y[9]) + y[8]*y[16]*sin(x[0] + u[18] - y[9]);
842
- out[87] = y[8]*sin(x[0] + u[18] - y[9]);
843
- out[88] = y[8]*cos(x[0] + u[18] - y[9]);
844
- out[90] = -y[8]*y[15]*sin(x[0] + u[18] - y[9]) - y[8]*y[16]*cos(x[0] + u[18] - y[9]);
845
- out[91] = y[15]*cos(x[0] + u[18] - y[9]) - y[16]*sin(x[0] + u[18] - y[9]);
846
- out[92] = y[8]*y[15]*sin(x[0] + u[18] - y[9]) + y[8]*y[16]*cos(x[0] + u[18] - y[9]);
847
- out[93] = y[8]*cos(x[0] + u[18] - y[9]);
848
- out[94] = -y[8]*sin(x[0] + u[18] - y[9]);
992
+ out[0] = 314.15926535897933*p[10]*p[13]*(-y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0]));
993
+ out[2] = 314.15926535897933*p[10]*p[13]*(sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]));
994
+ out[3] = 314.15926535897933*p[10]*p[13]*(y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]));
995
+ out[5] = -y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0]);
996
+ out[6] = sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]);
997
+ out[7] = y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]);
998
+ out[8] = p[10]*(-y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0]))/p[12];
999
+ out[11] = p[10]*(sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]))/p[12];
1000
+ out[12] = p[10]*(y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]))/p[12];
1001
+ out[22] = 2.0*y[0]*p[1] + y[2]*(-p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1002
+ out[23] = y[0]*y[2]*(-p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3]));
1003
+ out[24] = y[0]*(-p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1004
+ out[25] = y[0]*y[2]*(p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3]));
1005
+ out[27] = 2.0*y[0]*(-p[2] - 0.5*p[3]) + y[2]*(p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3]));
1006
+ out[28] = y[0]*y[2]*(-p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1007
+ out[29] = y[0]*(p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3]));
1008
+ out[30] = y[0]*y[2]*(p[2]*sin(y[1] - y[3]) + p[1]*cos(y[1] - y[3]));
1009
+ out[32] = y[2]*(p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1010
+ out[33] = y[0]*y[2]*(p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3]));
1011
+ out[34] = y[0]*(p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3])) + 2.0*y[2]*p[1];
1012
+ out[35] = y[0]*y[2]*(-p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3]));
1013
+ out[37] = y[2]*(p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3]));
1014
+ out[38] = y[0]*y[2]*(-p[2]*sin(y[1] - y[3]) + p[1]*cos(y[1] - y[3]));
1015
+ out[39] = y[0]*(p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3])) + 2.0*y[2]*(-p[2] - 0.5*p[3]);
1016
+ out[40] = y[0]*y[2]*(p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1017
+ out[42] = ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1018
+ 0
1019
+ )
1020
+ : (
1021
+ -p[7]
1022
+ ));
1023
+ out[43] = ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1024
+ 0
1025
+ )
1026
+ : (
1027
+ -p[8]
1028
+ ));
1029
+ out[45] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1030
+ u[6] + p[9]*(-y[0] + u[7]) < -1
1031
+ )
1032
+ : (
1033
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1034
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
1035
+ )
1036
+ : (
1037
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
1038
+ ))
1039
+ ))) ? (
1040
+ 0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1041
+ 0
1042
+ )
1043
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1044
+ pow(u[4], 2)
1045
+ )
1046
+ : (
1047
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
1048
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1049
+ 0
1050
+ )
1051
+ : (
1052
+ -2.0*p[7]*(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4])
1053
+ ))
1054
+ )
1055
+ : ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1056
+ u[6] + p[9]*(-y[0] + u[7]) > 1
1057
+ )
1058
+ : (
1059
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1060
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
1061
+ )
1062
+ : (
1063
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
1064
+ ))
1065
+ ))) ? (
1066
+ -0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1067
+ 0
1068
+ )
1069
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1070
+ pow(u[4], 2)
1071
+ )
1072
+ : (
1073
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
1074
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1075
+ 0
1076
+ )
1077
+ : (
1078
+ -2.0*p[7]*(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4])
1079
+ ))
1080
+ )
1081
+ : (
1082
+ 0
1083
+ )));
1084
+ out[46] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1085
+ u[6] + p[9]*(-y[0] + u[7]) < -1
1086
+ )
1087
+ : (
1088
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1089
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
1090
+ )
1091
+ : (
1092
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
1093
+ ))
1094
+ ))) ? (
1095
+ 0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1096
+ 0
1097
+ )
1098
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1099
+ pow(u[4], 2)
1100
+ )
1101
+ : (
1102
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
1103
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1104
+ 0
1105
+ )
1106
+ : (
1107
+ -2.0*p[8]*(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4])
1108
+ ))
1109
+ )
1110
+ : ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1111
+ u[6] + p[9]*(-y[0] + u[7]) > 1
1112
+ )
1113
+ : (
1114
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1115
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
1116
+ )
1117
+ : (
1118
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
1119
+ ))
1120
+ ))) ? (
1121
+ -0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1122
+ 0
1123
+ )
1124
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1125
+ pow(u[4], 2)
1126
+ )
1127
+ : (
1128
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
1129
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1130
+ 0
1131
+ )
1132
+ : (
1133
+ -2.0*p[8]*(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4])
1134
+ ))
1135
+ )
1136
+ : (
1137
+ 0
1138
+ )));
1139
+ out[47] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1140
+ u[6] + p[9]*(-y[0] + u[7]) > 1
1141
+ )
1142
+ : (
1143
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1144
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
1145
+ )
1146
+ : (
1147
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
1148
+ ))
1149
+ )) || ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1150
+ u[6] + p[9]*(-y[0] + u[7]) < -1
1151
+ )
1152
+ : (
1153
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1154
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
1155
+ )
1156
+ : (
1157
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
1158
+ ))
1159
+ ))) ? (
1160
+ 0
1161
+ )
1162
+ : (
1163
+ -p[9]
1164
+ ));
1165
+ out[49] = -p[10]*(-y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0]))/p[12];
1166
+ out[52] = -p[10]*(sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]))/p[12];
1167
+ out[53] = -p[10]*(y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]))/p[12];
1168
+ out[57] = -y[2]*cos(x[4] + u[12] - y[3]);
1169
+ out[58] = -sin(x[4] + u[12] - y[3]);
1170
+ out[59] = y[2]*cos(x[4] + u[12] - y[3]);
1171
+ out[62] = y[2]*sin(x[4] + u[12] - y[3]);
1172
+ out[64] = -cos(x[4] + u[12] - y[3]);
1173
+ out[65] = -y[2]*sin(x[4] + u[12] - y[3]);
1174
+ out[68] = y[2]*y[8]*cos(x[4] + u[12] - y[3]) - y[2]*y[9]*sin(x[4] + u[12] - y[3]);
1175
+ out[69] = y[8]*sin(x[4] + u[12] - y[3]) + y[9]*cos(x[4] + u[12] - y[3]);
1176
+ out[70] = -y[2]*y[8]*cos(x[4] + u[12] - y[3]) + y[2]*y[9]*sin(x[4] + u[12] - y[3]);
1177
+ out[71] = y[2]*sin(x[4] + u[12] - y[3]);
1178
+ out[72] = y[2]*cos(x[4] + u[12] - y[3]);
1179
+ out[74] = -y[2]*y[8]*sin(x[4] + u[12] - y[3]) - y[2]*y[9]*cos(x[4] + u[12] - y[3]);
1180
+ out[75] = y[8]*cos(x[4] + u[12] - y[3]) - y[9]*sin(x[4] + u[12] - y[3]);
1181
+ out[76] = y[2]*y[8]*sin(x[4] + u[12] - y[3]) + y[2]*y[9]*cos(x[4] + u[12] - y[3]);
1182
+ out[77] = y[2]*cos(x[4] + u[12] - y[3]);
1183
+ out[78] = -y[2]*sin(x[4] + u[12] - y[3]);
849
1184
 
850
1185
  }
851
1186
 
852
1187
  void sp_jac_ini_up_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
853
1188
 
854
- out[0] = -p[26];
855
- out[1] = 6.2831853071795862*p[23];
856
- out[2] = -6.2831853071795862*p[23];
857
- out[3] = -p[27];
858
- out[4] = -p[28];
859
- out[5] = -p[31];
860
- out[55] = -p[22]/p[0];
861
- out[56] = -p[22]/p[0];
862
- out[59] = -p[13];
863
- out[60] = p[14];
864
- out[63] = -p[14];
865
- out[64] = -p[13];
866
- out[67] = -p[18];
867
- out[76] = -p[25];
868
- out[77] = p[24];
869
- out[82] = -p[24];
870
- out[83] = -p[25];
871
- out[98] = p[30];
872
- out[99] = -p[29];
1189
+ out[1] = 314.15926535897933*p[11]*p[13];
1190
+ out[4] = -314.15926535897933*p[13];
1191
+ out[9] = p[11]/p[12];
1192
+ out[10] = -1/p[12];
1193
+ out[13] = -1/p[12];
1194
+ out[14] = 1.0/p[12];
1195
+ out[15] = -p[18];
1196
+ out[16] = 6.2831853071795862*p[15];
1197
+ out[17] = -6.2831853071795862*p[15];
1198
+ out[18] = -p[19];
1199
+ out[19] = -p[20];
1200
+ out[20] = -p[23];
1201
+ out[26] = -p[6]/p[0];
1202
+ out[31] = -p[6]/p[0];
1203
+ out[36] = -p[14]/p[0];
1204
+ out[41] = -p[14]/p[0];
1205
+ out[50] = -p[11]/p[12];
1206
+ out[51] = 1.0/p[12];
1207
+ out[60] = -p[17];
1208
+ out[61] = p[16];
1209
+ out[66] = -p[16];
1210
+ out[67] = -p[17];
1211
+ out[82] = p[22];
1212
+ out[83] = -p[21];
873
1213
 
874
1214
  }
875
1215
 
876
1216
  void sp_jac_ini_num_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
877
1217
 
878
- out[6] = -1.0;
879
- out[70] = 1.0;
880
- out[71] = 1.0;
881
- out[72] = -1.0;
882
- out[79] = 1.0;
883
- out[89] = -1.0;
884
- out[95] = -1.0;
885
- out[96] = 1.0;
886
- out[97] = -1.0;
887
- out[100] = -1.0;
1218
+ out[21] = -1.0;
1219
+ out[44] = -1.0;
1220
+ out[48] = -1.0;
1221
+ out[54] = 1.0;
1222
+ out[55] = 1.0;
1223
+ out[56] = -1.0;
1224
+ out[63] = 1.0;
1225
+ out[73] = -1.0;
1226
+ out[79] = -1.0;
1227
+ out[80] = 1.0;
1228
+ out[81] = -1.0;
1229
+ out[84] = -1.0;
888
1230
 
889
1231
  }
890
1232
 
891
1233
  void de_jac_run_xy_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
892
1234
 
893
- out[104] = y[2]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) + 2.0*y[0]*p[1];
894
- out[105] = y[2]*y[0]*(-p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
895
- out[106] = y[0]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
896
- out[107] = y[2]*y[0]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1]));
897
- out[129] = y[2]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1])) + 2.0*y[0]*(-p[2] - 0.5*p[3]);
898
- out[130] = y[2]*y[0]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
899
- out[131] = y[0]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1]));
900
- out[132] = y[2]*y[0]*(-p[2]*sin(y[3] - y[1]) + p[1]*cos(y[3] - y[1]));
901
- out[154] = y[2]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
902
- out[155] = y[2]*y[0]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
903
- out[156] = 2.0*y[2]*p[1] + y[0]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) - p[12]*(-y[11]*sin(y[3]) - y[10]*cos(y[3]))/p[0];
904
- out[157] = y[2]*y[0]*(-p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1])) - p[12]*(-y[2]*y[11]*cos(y[3]) + y[2]*y[10]*sin(y[3]))/p[0];
905
- out[164] = p[12]*y[2]*cos(y[3])/p[0];
906
- out[165] = p[12]*y[2]*sin(y[3])/p[0];
907
- out[179] = y[2]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
908
- out[180] = y[2]*y[0]*(p[2]*sin(y[3] - y[1]) + p[1]*cos(y[3] - y[1]));
909
- out[181] = 2.0*y[2]*(-p[2] - 0.5*p[3]) + y[0]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1])) - p[12]*(y[11]*cos(y[3]) - y[10]*sin(y[3]))/p[0];
910
- out[182] = y[2]*y[0]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) - p[12]*(-y[2]*y[11]*sin(y[3]) - y[2]*y[10]*cos(y[3]))/p[0];
911
- out[189] = p[12]*y[2]*sin(y[3])/p[0];
912
- out[190] = -p[12]*y[2]*cos(y[3])/p[0];
913
- out[206] = -p[12]*(-2.0*p[16]*y[2]*(pow(y[11], 2) + pow(y[10], 2)) + y[11]*sin(y[3]) + y[10]*cos(y[3]))/p[0];
914
- out[207] = -p[12]*(y[2]*y[11]*cos(y[3]) - y[2]*y[10]*sin(y[3]))/p[0];
915
- out[208] = y[6]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) + 2.0*y[4]*p[4];
916
- out[209] = y[6]*y[4]*(-p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
917
- out[210] = y[4]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
918
- out[211] = y[6]*y[4]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5]));
919
- out[214] = -p[12]*(-2.0*p[16]*pow(y[2], 2)*y[10] + y[2]*cos(y[3]))/p[0];
920
- out[215] = -p[12]*(-2.0*p[16]*pow(y[2], 2)*y[11] + y[2]*sin(y[3]))/p[0];
921
- out[233] = y[6]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5])) + 2.0*y[4]*(-p[5] - 0.5*p[6]);
922
- out[234] = y[6]*y[4]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
923
- out[235] = y[4]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5]));
924
- out[236] = y[6]*y[4]*(-p[5]*sin(y[7] - y[5]) + p[4]*cos(y[7] - y[5]));
925
- out[258] = y[6]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
926
- out[259] = y[6]*y[4]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
927
- out[260] = 2.0*y[6]*p[4] + y[4]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) - p[17]*(y[13]*sin(y[7]) - y[12]*cos(y[7]))/p[0];
928
- out[261] = y[6]*y[4]*(-p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5])) - p[17]*(y[6]*y[13]*cos(y[7]) + y[6]*y[12]*sin(y[7]))/p[0];
929
- out[266] = p[17]*y[6]*cos(y[7])/p[0];
930
- out[267] = -p[17]*y[6]*sin(y[7])/p[0];
931
- out[283] = y[6]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
932
- out[284] = y[6]*y[4]*(p[5]*sin(y[7] - y[5]) + p[4]*cos(y[7] - y[5]));
933
- out[285] = 2.0*y[6]*(-p[5] - 0.5*p[6]) + y[4]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5])) - p[17]*(-y[13]*cos(y[7]) - y[12]*sin(y[7]))/p[0];
934
- out[286] = y[6]*y[4]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) - p[17]*(y[6]*y[13]*sin(y[7]) - y[6]*y[12]*cos(y[7]))/p[0];
935
- out[291] = p[17]*y[6]*sin(y[7])/p[0];
936
- out[292] = p[17]*y[6]*cos(y[7])/p[0];
937
- out[310] = -p[17]*(-p[21]*(-2.0*y[13]*sin(y[7]) + 2.0*y[12]*cos(y[7]))*(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7])) - y[13]*sin(y[7]) + y[12]*cos(y[7]))/p[0];
938
- out[311] = -p[17]*(-p[21]*(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7]))*(-2.0*y[6]*y[13]*cos(y[7]) - 2.0*y[6]*y[12]*sin(y[7])) - y[6]*y[13]*cos(y[7]) - y[6]*y[12]*sin(y[7]))/p[0];
939
- out[316] = -p[17]*(-2.0*p[21]*y[6]*(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7]))*cos(y[7]) + y[6]*cos(y[7]))/p[0];
940
- out[317] = -p[17]*(2.0*p[21]*y[6]*(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7]))*sin(y[7]) - y[6]*sin(y[7]))/p[0];
941
- out[356] = -cos(y[3]);
942
- out[357] = y[2]*sin(y[3]);
943
- out[381] = -sin(y[3]);
944
- out[382] = -y[2]*cos(y[3]);
945
- out[410] = -cos(y[7]);
946
- out[411] = y[6]*sin(y[7]);
947
- out[435] = -0.001*sin(y[7]);
948
- out[436] = -0.001*y[6]*cos(y[7]);
949
- out[475] = -y[8]*cos(x[0] + u[18] - y[9]);
950
- out[487] = -sin(x[0] + u[18] - y[9]);
951
- out[488] = y[8]*cos(x[0] + u[18] - y[9]);
952
- out[500] = y[8]*sin(x[0] + u[18] - y[9]);
953
- out[512] = -cos(x[0] + u[18] - y[9]);
954
- out[513] = -y[8]*sin(x[0] + u[18] - y[9]);
955
- out[525] = y[8]*y[15]*cos(x[0] + u[18] - y[9]) - y[8]*y[16]*sin(x[0] + u[18] - y[9]);
956
- out[537] = y[15]*sin(x[0] + u[18] - y[9]) + y[16]*cos(x[0] + u[18] - y[9]);
957
- out[538] = -y[8]*y[15]*cos(x[0] + u[18] - y[9]) + y[8]*y[16]*sin(x[0] + u[18] - y[9]);
958
- out[544] = y[8]*sin(x[0] + u[18] - y[9]);
959
- out[545] = y[8]*cos(x[0] + u[18] - y[9]);
960
- out[550] = -y[8]*y[15]*sin(x[0] + u[18] - y[9]) - y[8]*y[16]*cos(x[0] + u[18] - y[9]);
961
- out[562] = y[15]*cos(x[0] + u[18] - y[9]) - y[16]*sin(x[0] + u[18] - y[9]);
962
- out[563] = y[8]*y[15]*sin(x[0] + u[18] - y[9]) + y[8]*y[16]*cos(x[0] + u[18] - y[9]);
963
- out[569] = y[8]*cos(x[0] + u[18] - y[9]);
964
- out[570] = -y[8]*sin(x[0] + u[18] - y[9]);
1235
+ out[0] = 314.15926535897933*p[10]*p[13]*(-y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0]));
1236
+ out[8] = 314.15926535897933*p[10]*p[13]*(sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]));
1237
+ out[9] = 314.15926535897933*p[10]*p[13]*(y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]));
1238
+ out[22] = -y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0]);
1239
+ out[30] = sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]);
1240
+ out[31] = y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]);
1241
+ out[44] = p[10]*(-y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0]))/p[12];
1242
+ out[52] = p[10]*(sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]))/p[12];
1243
+ out[53] = p[10]*(y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]))/p[12];
1244
+ out[184] = 2.0*y[0]*p[1] + y[2]*(-p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1245
+ out[185] = y[0]*y[2]*(-p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3]));
1246
+ out[186] = y[0]*(-p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1247
+ out[187] = y[0]*y[2]*(p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3]));
1248
+ out[206] = 2.0*y[0]*(-p[2] - 0.5*p[3]) + y[2]*(p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3]));
1249
+ out[207] = y[0]*y[2]*(-p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1250
+ out[208] = y[0]*(p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3]));
1251
+ out[209] = y[0]*y[2]*(p[2]*sin(y[1] - y[3]) + p[1]*cos(y[1] - y[3]));
1252
+ out[228] = y[2]*(p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1253
+ out[229] = y[0]*y[2]*(p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3]));
1254
+ out[230] = y[0]*(p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3])) + 2.0*y[2]*p[1];
1255
+ out[231] = y[0]*y[2]*(-p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3]));
1256
+ out[250] = y[2]*(p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3]));
1257
+ out[251] = y[0]*y[2]*(-p[2]*sin(y[1] - y[3]) + p[1]*cos(y[1] - y[3]));
1258
+ out[252] = y[0]*(p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3])) + 2.0*y[2]*(-p[2] - 0.5*p[3]);
1259
+ out[253] = y[0]*y[2]*(p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1260
+ out[266] = ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1261
+ 0
1262
+ )
1263
+ : (
1264
+ -p[7]
1265
+ ));
1266
+ out[267] = ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1267
+ 0
1268
+ )
1269
+ : (
1270
+ -p[8]
1271
+ ));
1272
+ out[288] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1273
+ u[6] + p[9]*(-y[0] + u[7]) < -1
1274
+ )
1275
+ : (
1276
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1277
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
1278
+ )
1279
+ : (
1280
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
1281
+ ))
1282
+ ))) ? (
1283
+ 0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1284
+ 0
1285
+ )
1286
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1287
+ pow(u[4], 2)
1288
+ )
1289
+ : (
1290
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
1291
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1292
+ 0
1293
+ )
1294
+ : (
1295
+ -2.0*p[7]*(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4])
1296
+ ))
1297
+ )
1298
+ : ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1299
+ u[6] + p[9]*(-y[0] + u[7]) > 1
1300
+ )
1301
+ : (
1302
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1303
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
1304
+ )
1305
+ : (
1306
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
1307
+ ))
1308
+ ))) ? (
1309
+ -0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1310
+ 0
1311
+ )
1312
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1313
+ pow(u[4], 2)
1314
+ )
1315
+ : (
1316
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
1317
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1318
+ 0
1319
+ )
1320
+ : (
1321
+ -2.0*p[7]*(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4])
1322
+ ))
1323
+ )
1324
+ : (
1325
+ 0
1326
+ )));
1327
+ out[289] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1328
+ u[6] + p[9]*(-y[0] + u[7]) < -1
1329
+ )
1330
+ : (
1331
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1332
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
1333
+ )
1334
+ : (
1335
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
1336
+ ))
1337
+ ))) ? (
1338
+ 0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1339
+ 0
1340
+ )
1341
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1342
+ pow(u[4], 2)
1343
+ )
1344
+ : (
1345
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
1346
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1347
+ 0
1348
+ )
1349
+ : (
1350
+ -2.0*p[8]*(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4])
1351
+ ))
1352
+ )
1353
+ : ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1354
+ u[6] + p[9]*(-y[0] + u[7]) > 1
1355
+ )
1356
+ : (
1357
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1358
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
1359
+ )
1360
+ : (
1361
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
1362
+ ))
1363
+ ))) ? (
1364
+ -0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1365
+ 0
1366
+ )
1367
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1368
+ pow(u[4], 2)
1369
+ )
1370
+ : (
1371
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
1372
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1373
+ 0
1374
+ )
1375
+ : (
1376
+ -2.0*p[8]*(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4])
1377
+ ))
1378
+ )
1379
+ : (
1380
+ 0
1381
+ )));
1382
+ out[294] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1383
+ u[6] + p[9]*(-y[0] + u[7]) > 1
1384
+ )
1385
+ : (
1386
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1387
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
1388
+ )
1389
+ : (
1390
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
1391
+ ))
1392
+ )) || ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1393
+ u[6] + p[9]*(-y[0] + u[7]) < -1
1394
+ )
1395
+ : (
1396
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1397
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
1398
+ )
1399
+ : (
1400
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
1401
+ ))
1402
+ ))) ? (
1403
+ 0
1404
+ )
1405
+ : (
1406
+ -p[9]
1407
+ ));
1408
+ out[308] = -p[10]*(-y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0]))/p[12];
1409
+ out[316] = -p[10]*(sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]))/p[12];
1410
+ out[317] = -p[10]*(y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]))/p[12];
1411
+ out[356] = -y[2]*cos(x[4] + u[12] - y[3]);
1412
+ out[362] = -sin(x[4] + u[12] - y[3]);
1413
+ out[363] = y[2]*cos(x[4] + u[12] - y[3]);
1414
+ out[378] = y[2]*sin(x[4] + u[12] - y[3]);
1415
+ out[384] = -cos(x[4] + u[12] - y[3]);
1416
+ out[385] = -y[2]*sin(x[4] + u[12] - y[3]);
1417
+ out[400] = y[2]*y[8]*cos(x[4] + u[12] - y[3]) - y[2]*y[9]*sin(x[4] + u[12] - y[3]);
1418
+ out[406] = y[8]*sin(x[4] + u[12] - y[3]) + y[9]*cos(x[4] + u[12] - y[3]);
1419
+ out[407] = -y[2]*y[8]*cos(x[4] + u[12] - y[3]) + y[2]*y[9]*sin(x[4] + u[12] - y[3]);
1420
+ out[412] = y[2]*sin(x[4] + u[12] - y[3]);
1421
+ out[413] = y[2]*cos(x[4] + u[12] - y[3]);
1422
+ out[422] = -y[2]*y[8]*sin(x[4] + u[12] - y[3]) - y[2]*y[9]*cos(x[4] + u[12] - y[3]);
1423
+ out[428] = y[8]*cos(x[4] + u[12] - y[3]) - y[9]*sin(x[4] + u[12] - y[3]);
1424
+ out[429] = y[2]*y[8]*sin(x[4] + u[12] - y[3]) + y[2]*y[9]*cos(x[4] + u[12] - y[3]);
1425
+ out[434] = y[2]*cos(x[4] + u[12] - y[3]);
1426
+ out[435] = -y[2]*sin(x[4] + u[12] - y[3]);
965
1427
 
966
1428
  }
967
1429
 
968
1430
  void de_jac_run_up_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
969
1431
 
970
- out[0] = -p[26];
971
- out[18] = 6.2831853071795862*p[23];
972
- out[23] = -6.2831853071795862*p[23];
973
- out[26] = -p[27];
974
- out[52] = -p[28];
975
- out[78] = -p[31];
976
- out[321] = -p[22]/p[0];
977
- out[347] = -p[22]/p[0];
978
- out[364] = -p[13];
979
- out[365] = p[14];
980
- out[389] = -p[14];
981
- out[390] = -p[13];
982
- out[416] = -p[18];
983
- out[494] = -p[25];
984
- out[495] = p[24];
985
- out[519] = -p[24];
986
- out[520] = -p[25];
987
- out[603] = p[30];
988
- out[623] = -p[29];
1432
+ out[1] = 314.15926535897933*p[11]*p[13];
1433
+ out[20] = -314.15926535897933*p[13];
1434
+ out[45] = p[11]/p[12];
1435
+ out[46] = -1/p[12];
1436
+ out[69] = -1/p[12];
1437
+ out[80] = 1.0/p[12];
1438
+ out[92] = -p[18];
1439
+ out[103] = 6.2831853071795862*p[15];
1440
+ out[108] = -6.2831853071795862*p[15];
1441
+ out[115] = -p[19];
1442
+ out[138] = -p[20];
1443
+ out[161] = -p[23];
1444
+ out[188] = -p[6]/p[0];
1445
+ out[211] = -p[6]/p[0];
1446
+ out[238] = -p[14]/p[0];
1447
+ out[261] = -p[14]/p[0];
1448
+ out[309] = -p[11]/p[12];
1449
+ out[310] = 1.0/p[12];
1450
+ out[368] = -p[17];
1451
+ out[369] = p[16];
1452
+ out[390] = -p[16];
1453
+ out[391] = -p[17];
1454
+ out[469] = p[22];
1455
+ out[482] = -p[21];
989
1456
 
990
1457
  }
991
1458
 
992
1459
  void de_jac_run_num_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
993
1460
 
994
- out[98] = -1.0;
995
- out[442] = 1.0;
996
- out[451] = 1.0;
997
- out[468] = -1.0;
998
- out[502] = 1.0;
999
- out[546] = -1.0;
1000
- out[572] = -1.0;
1001
- out[593] = 1.0;
1002
- out[598] = -1.0;
1003
- out[624] = -1.0;
1461
+ out[174] = -1.0;
1462
+ out[276] = -1.0;
1463
+ out[299] = -1.0;
1464
+ out[322] = 1.0;
1465
+ out[335] = 1.0;
1466
+ out[345] = -1.0;
1467
+ out[380] = 1.0;
1468
+ out[414] = -1.0;
1469
+ out[437] = -1.0;
1470
+ out[455] = 1.0;
1471
+ out[460] = -1.0;
1472
+ out[483] = -1.0;
1004
1473
 
1005
1474
  }
1006
1475
 
1007
1476
  void sp_jac_run_xy_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1008
1477
 
1009
- out[7] = y[2]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) + 2.0*y[0]*p[1];
1010
- out[8] = y[2]*y[0]*(-p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
1011
- out[9] = y[0]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
1012
- out[10] = y[2]*y[0]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1]));
1013
- out[11] = y[2]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1])) + 2.0*y[0]*(-p[2] - 0.5*p[3]);
1014
- out[12] = y[2]*y[0]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
1015
- out[13] = y[0]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1]));
1016
- out[14] = y[2]*y[0]*(-p[2]*sin(y[3] - y[1]) + p[1]*cos(y[3] - y[1]));
1017
- out[15] = y[2]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
1018
- out[16] = y[2]*y[0]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
1019
- out[17] = 2.0*y[2]*p[1] + y[0]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) - p[12]*(-y[11]*sin(y[3]) - y[10]*cos(y[3]))/p[0];
1020
- out[18] = y[2]*y[0]*(-p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1])) - p[12]*(-y[2]*y[11]*cos(y[3]) + y[2]*y[10]*sin(y[3]))/p[0];
1021
- out[19] = p[12]*y[2]*cos(y[3])/p[0];
1022
- out[20] = p[12]*y[2]*sin(y[3])/p[0];
1023
- out[21] = y[2]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
1024
- out[22] = y[2]*y[0]*(p[2]*sin(y[3] - y[1]) + p[1]*cos(y[3] - y[1]));
1025
- out[23] = 2.0*y[2]*(-p[2] - 0.5*p[3]) + y[0]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1])) - p[12]*(y[11]*cos(y[3]) - y[10]*sin(y[3]))/p[0];
1026
- out[24] = y[2]*y[0]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) - p[12]*(-y[2]*y[11]*sin(y[3]) - y[2]*y[10]*cos(y[3]))/p[0];
1027
- out[25] = p[12]*y[2]*sin(y[3])/p[0];
1028
- out[26] = -p[12]*y[2]*cos(y[3])/p[0];
1029
- out[27] = -p[12]*(-2.0*p[16]*y[2]*(pow(y[11], 2) + pow(y[10], 2)) + y[11]*sin(y[3]) + y[10]*cos(y[3]))/p[0];
1030
- out[28] = -p[12]*(y[2]*y[11]*cos(y[3]) - y[2]*y[10]*sin(y[3]))/p[0];
1031
- out[29] = y[6]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) + 2.0*y[4]*p[4];
1032
- out[30] = y[6]*y[4]*(-p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
1033
- out[31] = y[4]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
1034
- out[32] = y[6]*y[4]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5]));
1035
- out[33] = -p[12]*(-2.0*p[16]*pow(y[2], 2)*y[10] + y[2]*cos(y[3]))/p[0];
1036
- out[34] = -p[12]*(-2.0*p[16]*pow(y[2], 2)*y[11] + y[2]*sin(y[3]))/p[0];
1037
- out[35] = y[6]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5])) + 2.0*y[4]*(-p[5] - 0.5*p[6]);
1038
- out[36] = y[6]*y[4]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
1039
- out[37] = y[4]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5]));
1040
- out[38] = y[6]*y[4]*(-p[5]*sin(y[7] - y[5]) + p[4]*cos(y[7] - y[5]));
1041
- out[39] = y[6]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
1042
- out[40] = y[6]*y[4]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
1043
- out[41] = 2.0*y[6]*p[4] + y[4]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) - p[17]*(y[13]*sin(y[7]) - y[12]*cos(y[7]))/p[0];
1044
- out[42] = y[6]*y[4]*(-p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5])) - p[17]*(y[6]*y[13]*cos(y[7]) + y[6]*y[12]*sin(y[7]))/p[0];
1045
- out[43] = p[17]*y[6]*cos(y[7])/p[0];
1046
- out[44] = -p[17]*y[6]*sin(y[7])/p[0];
1047
- out[45] = y[6]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
1048
- out[46] = y[6]*y[4]*(p[5]*sin(y[7] - y[5]) + p[4]*cos(y[7] - y[5]));
1049
- out[47] = 2.0*y[6]*(-p[5] - 0.5*p[6]) + y[4]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5])) - p[17]*(-y[13]*cos(y[7]) - y[12]*sin(y[7]))/p[0];
1050
- out[48] = y[6]*y[4]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) - p[17]*(y[6]*y[13]*sin(y[7]) - y[6]*y[12]*cos(y[7]))/p[0];
1051
- out[49] = p[17]*y[6]*sin(y[7])/p[0];
1052
- out[50] = p[17]*y[6]*cos(y[7])/p[0];
1053
- out[51] = -p[17]*(-p[21]*(-2.0*y[13]*sin(y[7]) + 2.0*y[12]*cos(y[7]))*(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7])) - y[13]*sin(y[7]) + y[12]*cos(y[7]))/p[0];
1054
- out[52] = -p[17]*(-p[21]*(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7]))*(-2.0*y[6]*y[13]*cos(y[7]) - 2.0*y[6]*y[12]*sin(y[7])) - y[6]*y[13]*cos(y[7]) - y[6]*y[12]*sin(y[7]))/p[0];
1055
- out[53] = -p[17]*(-2.0*p[21]*y[6]*(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7]))*cos(y[7]) + y[6]*cos(y[7]))/p[0];
1056
- out[54] = -p[17]*(2.0*p[21]*y[6]*(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7]))*sin(y[7]) - y[6]*sin(y[7]))/p[0];
1057
- out[57] = -cos(y[3]);
1058
- out[58] = y[2]*sin(y[3]);
1059
- out[61] = -sin(y[3]);
1060
- out[62] = -y[2]*cos(y[3]);
1061
- out[65] = -cos(y[7]);
1062
- out[66] = y[6]*sin(y[7]);
1063
- out[68] = -0.001*sin(y[7]);
1064
- out[69] = -0.001*y[6]*cos(y[7]);
1065
- out[73] = -y[8]*cos(x[0] + u[18] - y[9]);
1066
- out[74] = -sin(x[0] + u[18] - y[9]);
1067
- out[75] = y[8]*cos(x[0] + u[18] - y[9]);
1068
- out[78] = y[8]*sin(x[0] + u[18] - y[9]);
1069
- out[80] = -cos(x[0] + u[18] - y[9]);
1070
- out[81] = -y[8]*sin(x[0] + u[18] - y[9]);
1071
- out[84] = y[8]*y[15]*cos(x[0] + u[18] - y[9]) - y[8]*y[16]*sin(x[0] + u[18] - y[9]);
1072
- out[85] = y[15]*sin(x[0] + u[18] - y[9]) + y[16]*cos(x[0] + u[18] - y[9]);
1073
- out[86] = -y[8]*y[15]*cos(x[0] + u[18] - y[9]) + y[8]*y[16]*sin(x[0] + u[18] - y[9]);
1074
- out[87] = y[8]*sin(x[0] + u[18] - y[9]);
1075
- out[88] = y[8]*cos(x[0] + u[18] - y[9]);
1076
- out[90] = -y[8]*y[15]*sin(x[0] + u[18] - y[9]) - y[8]*y[16]*cos(x[0] + u[18] - y[9]);
1077
- out[91] = y[15]*cos(x[0] + u[18] - y[9]) - y[16]*sin(x[0] + u[18] - y[9]);
1078
- out[92] = y[8]*y[15]*sin(x[0] + u[18] - y[9]) + y[8]*y[16]*cos(x[0] + u[18] - y[9]);
1079
- out[93] = y[8]*cos(x[0] + u[18] - y[9]);
1080
- out[94] = -y[8]*sin(x[0] + u[18] - y[9]);
1478
+ out[0] = 314.15926535897933*p[10]*p[13]*(-y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0]));
1479
+ out[2] = 314.15926535897933*p[10]*p[13]*(sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]));
1480
+ out[3] = 314.15926535897933*p[10]*p[13]*(y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]));
1481
+ out[5] = -y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0]);
1482
+ out[6] = sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]);
1483
+ out[7] = y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]);
1484
+ out[8] = p[10]*(-y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0]))/p[12];
1485
+ out[11] = p[10]*(sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]))/p[12];
1486
+ out[12] = p[10]*(y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]))/p[12];
1487
+ out[22] = 2.0*y[0]*p[1] + y[2]*(-p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1488
+ out[23] = y[0]*y[2]*(-p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3]));
1489
+ out[24] = y[0]*(-p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1490
+ out[25] = y[0]*y[2]*(p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3]));
1491
+ out[27] = 2.0*y[0]*(-p[2] - 0.5*p[3]) + y[2]*(p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3]));
1492
+ out[28] = y[0]*y[2]*(-p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1493
+ out[29] = y[0]*(p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3]));
1494
+ out[30] = y[0]*y[2]*(p[2]*sin(y[1] - y[3]) + p[1]*cos(y[1] - y[3]));
1495
+ out[32] = y[2]*(p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1496
+ out[33] = y[0]*y[2]*(p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3]));
1497
+ out[34] = y[0]*(p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3])) + 2.0*y[2]*p[1];
1498
+ out[35] = y[0]*y[2]*(-p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3]));
1499
+ out[37] = y[2]*(p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3]));
1500
+ out[38] = y[0]*y[2]*(-p[2]*sin(y[1] - y[3]) + p[1]*cos(y[1] - y[3]));
1501
+ out[39] = y[0]*(p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3])) + 2.0*y[2]*(-p[2] - 0.5*p[3]);
1502
+ out[40] = y[0]*y[2]*(p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1503
+ out[42] = ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1504
+ 0
1505
+ )
1506
+ : (
1507
+ -p[7]
1508
+ ));
1509
+ out[43] = ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1510
+ 0
1511
+ )
1512
+ : (
1513
+ -p[8]
1514
+ ));
1515
+ out[45] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1516
+ u[6] + p[9]*(-y[0] + u[7]) < -1
1517
+ )
1518
+ : (
1519
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1520
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
1521
+ )
1522
+ : (
1523
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
1524
+ ))
1525
+ ))) ? (
1526
+ 0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1527
+ 0
1528
+ )
1529
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1530
+ pow(u[4], 2)
1531
+ )
1532
+ : (
1533
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
1534
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1535
+ 0
1536
+ )
1537
+ : (
1538
+ -2.0*p[7]*(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4])
1539
+ ))
1540
+ )
1541
+ : ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1542
+ u[6] + p[9]*(-y[0] + u[7]) > 1
1543
+ )
1544
+ : (
1545
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1546
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
1547
+ )
1548
+ : (
1549
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
1550
+ ))
1551
+ ))) ? (
1552
+ -0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1553
+ 0
1554
+ )
1555
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1556
+ pow(u[4], 2)
1557
+ )
1558
+ : (
1559
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
1560
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1561
+ 0
1562
+ )
1563
+ : (
1564
+ -2.0*p[7]*(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4])
1565
+ ))
1566
+ )
1567
+ : (
1568
+ 0
1569
+ )));
1570
+ out[46] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1571
+ u[6] + p[9]*(-y[0] + u[7]) < -1
1572
+ )
1573
+ : (
1574
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1575
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
1576
+ )
1577
+ : (
1578
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
1579
+ ))
1580
+ ))) ? (
1581
+ 0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1582
+ 0
1583
+ )
1584
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1585
+ pow(u[4], 2)
1586
+ )
1587
+ : (
1588
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
1589
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1590
+ 0
1591
+ )
1592
+ : (
1593
+ -2.0*p[8]*(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4])
1594
+ ))
1595
+ )
1596
+ : ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1597
+ u[6] + p[9]*(-y[0] + u[7]) > 1
1598
+ )
1599
+ : (
1600
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1601
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
1602
+ )
1603
+ : (
1604
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
1605
+ ))
1606
+ ))) ? (
1607
+ -0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1608
+ 0
1609
+ )
1610
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1611
+ pow(u[4], 2)
1612
+ )
1613
+ : (
1614
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
1615
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1616
+ 0
1617
+ )
1618
+ : (
1619
+ -2.0*p[8]*(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4])
1620
+ ))
1621
+ )
1622
+ : (
1623
+ 0
1624
+ )));
1625
+ out[47] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1626
+ u[6] + p[9]*(-y[0] + u[7]) > 1
1627
+ )
1628
+ : (
1629
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1630
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
1631
+ )
1632
+ : (
1633
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
1634
+ ))
1635
+ )) || ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1636
+ u[6] + p[9]*(-y[0] + u[7]) < -1
1637
+ )
1638
+ : (
1639
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1640
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
1641
+ )
1642
+ : (
1643
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
1644
+ ))
1645
+ ))) ? (
1646
+ 0
1647
+ )
1648
+ : (
1649
+ -p[9]
1650
+ ));
1651
+ out[49] = -p[10]*(-y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0]))/p[12];
1652
+ out[52] = -p[10]*(sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]))/p[12];
1653
+ out[53] = -p[10]*(y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]))/p[12];
1654
+ out[57] = -y[2]*cos(x[4] + u[12] - y[3]);
1655
+ out[58] = -sin(x[4] + u[12] - y[3]);
1656
+ out[59] = y[2]*cos(x[4] + u[12] - y[3]);
1657
+ out[62] = y[2]*sin(x[4] + u[12] - y[3]);
1658
+ out[64] = -cos(x[4] + u[12] - y[3]);
1659
+ out[65] = -y[2]*sin(x[4] + u[12] - y[3]);
1660
+ out[68] = y[2]*y[8]*cos(x[4] + u[12] - y[3]) - y[2]*y[9]*sin(x[4] + u[12] - y[3]);
1661
+ out[69] = y[8]*sin(x[4] + u[12] - y[3]) + y[9]*cos(x[4] + u[12] - y[3]);
1662
+ out[70] = -y[2]*y[8]*cos(x[4] + u[12] - y[3]) + y[2]*y[9]*sin(x[4] + u[12] - y[3]);
1663
+ out[71] = y[2]*sin(x[4] + u[12] - y[3]);
1664
+ out[72] = y[2]*cos(x[4] + u[12] - y[3]);
1665
+ out[74] = -y[2]*y[8]*sin(x[4] + u[12] - y[3]) - y[2]*y[9]*cos(x[4] + u[12] - y[3]);
1666
+ out[75] = y[8]*cos(x[4] + u[12] - y[3]) - y[9]*sin(x[4] + u[12] - y[3]);
1667
+ out[76] = y[2]*y[8]*sin(x[4] + u[12] - y[3]) + y[2]*y[9]*cos(x[4] + u[12] - y[3]);
1668
+ out[77] = y[2]*cos(x[4] + u[12] - y[3]);
1669
+ out[78] = -y[2]*sin(x[4] + u[12] - y[3]);
1081
1670
 
1082
1671
  }
1083
1672
 
1084
1673
  void sp_jac_run_up_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1085
1674
 
1086
- out[0] = -p[26];
1087
- out[1] = 6.2831853071795862*p[23];
1088
- out[2] = -6.2831853071795862*p[23];
1089
- out[3] = -p[27];
1090
- out[4] = -p[28];
1091
- out[5] = -p[31];
1092
- out[55] = -p[22]/p[0];
1093
- out[56] = -p[22]/p[0];
1094
- out[59] = -p[13];
1095
- out[60] = p[14];
1096
- out[63] = -p[14];
1097
- out[64] = -p[13];
1098
- out[67] = -p[18];
1099
- out[76] = -p[25];
1100
- out[77] = p[24];
1101
- out[82] = -p[24];
1102
- out[83] = -p[25];
1103
- out[98] = p[30];
1104
- out[99] = -p[29];
1675
+ out[1] = 314.15926535897933*p[11]*p[13];
1676
+ out[4] = -314.15926535897933*p[13];
1677
+ out[9] = p[11]/p[12];
1678
+ out[10] = -1/p[12];
1679
+ out[13] = -1/p[12];
1680
+ out[14] = 1.0/p[12];
1681
+ out[15] = -p[18];
1682
+ out[16] = 6.2831853071795862*p[15];
1683
+ out[17] = -6.2831853071795862*p[15];
1684
+ out[18] = -p[19];
1685
+ out[19] = -p[20];
1686
+ out[20] = -p[23];
1687
+ out[26] = -p[6]/p[0];
1688
+ out[31] = -p[6]/p[0];
1689
+ out[36] = -p[14]/p[0];
1690
+ out[41] = -p[14]/p[0];
1691
+ out[50] = -p[11]/p[12];
1692
+ out[51] = 1.0/p[12];
1693
+ out[60] = -p[17];
1694
+ out[61] = p[16];
1695
+ out[66] = -p[16];
1696
+ out[67] = -p[17];
1697
+ out[82] = p[22];
1698
+ out[83] = -p[21];
1105
1699
 
1106
1700
  }
1107
1701
 
1108
1702
  void sp_jac_run_num_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1109
1703
 
1110
- out[6] = -1.0;
1111
- out[70] = 1.0;
1112
- out[71] = 1.0;
1113
- out[72] = -1.0;
1114
- out[79] = 1.0;
1115
- out[89] = -1.0;
1116
- out[95] = -1.0;
1117
- out[96] = 1.0;
1118
- out[97] = -1.0;
1119
- out[100] = -1.0;
1704
+ out[21] = -1.0;
1705
+ out[44] = -1.0;
1706
+ out[48] = -1.0;
1707
+ out[54] = 1.0;
1708
+ out[55] = 1.0;
1709
+ out[56] = -1.0;
1710
+ out[63] = 1.0;
1711
+ out[73] = -1.0;
1712
+ out[79] = -1.0;
1713
+ out[80] = 1.0;
1714
+ out[81] = -1.0;
1715
+ out[84] = -1.0;
1120
1716
 
1121
1717
  }
1122
1718
 
1123
1719
  void de_jac_trap_xy_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1124
1720
 
1125
- out[104] = y[2]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) + 2.0*y[0]*p[1];
1126
- out[105] = y[2]*y[0]*(-p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
1127
- out[106] = y[0]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
1128
- out[107] = y[2]*y[0]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1]));
1129
- out[129] = y[2]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1])) + 2.0*y[0]*(-p[2] - 0.5*p[3]);
1130
- out[130] = y[2]*y[0]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
1131
- out[131] = y[0]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1]));
1132
- out[132] = y[2]*y[0]*(-p[2]*sin(y[3] - y[1]) + p[1]*cos(y[3] - y[1]));
1133
- out[154] = y[2]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
1134
- out[155] = y[2]*y[0]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
1135
- out[156] = 2.0*y[2]*p[1] + y[0]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) - p[12]*(-y[11]*sin(y[3]) - y[10]*cos(y[3]))/p[0];
1136
- out[157] = y[2]*y[0]*(-p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1])) - p[12]*(-y[2]*y[11]*cos(y[3]) + y[2]*y[10]*sin(y[3]))/p[0];
1137
- out[164] = p[12]*y[2]*cos(y[3])/p[0];
1138
- out[165] = p[12]*y[2]*sin(y[3])/p[0];
1139
- out[179] = y[2]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
1140
- out[180] = y[2]*y[0]*(p[2]*sin(y[3] - y[1]) + p[1]*cos(y[3] - y[1]));
1141
- out[181] = 2.0*y[2]*(-p[2] - 0.5*p[3]) + y[0]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1])) - p[12]*(y[11]*cos(y[3]) - y[10]*sin(y[3]))/p[0];
1142
- out[182] = y[2]*y[0]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) - p[12]*(-y[2]*y[11]*sin(y[3]) - y[2]*y[10]*cos(y[3]))/p[0];
1143
- out[189] = p[12]*y[2]*sin(y[3])/p[0];
1144
- out[190] = -p[12]*y[2]*cos(y[3])/p[0];
1145
- out[206] = -p[12]*(-2.0*p[16]*y[2]*(pow(y[11], 2) + pow(y[10], 2)) + y[11]*sin(y[3]) + y[10]*cos(y[3]))/p[0];
1146
- out[207] = -p[12]*(y[2]*y[11]*cos(y[3]) - y[2]*y[10]*sin(y[3]))/p[0];
1147
- out[208] = y[6]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) + 2.0*y[4]*p[4];
1148
- out[209] = y[6]*y[4]*(-p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
1149
- out[210] = y[4]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
1150
- out[211] = y[6]*y[4]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5]));
1151
- out[214] = -p[12]*(-2.0*p[16]*pow(y[2], 2)*y[10] + y[2]*cos(y[3]))/p[0];
1152
- out[215] = -p[12]*(-2.0*p[16]*pow(y[2], 2)*y[11] + y[2]*sin(y[3]))/p[0];
1153
- out[233] = y[6]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5])) + 2.0*y[4]*(-p[5] - 0.5*p[6]);
1154
- out[234] = y[6]*y[4]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
1155
- out[235] = y[4]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5]));
1156
- out[236] = y[6]*y[4]*(-p[5]*sin(y[7] - y[5]) + p[4]*cos(y[7] - y[5]));
1157
- out[258] = y[6]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
1158
- out[259] = y[6]*y[4]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
1159
- out[260] = 2.0*y[6]*p[4] + y[4]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) - p[17]*(y[13]*sin(y[7]) - y[12]*cos(y[7]))/p[0];
1160
- out[261] = y[6]*y[4]*(-p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5])) - p[17]*(y[6]*y[13]*cos(y[7]) + y[6]*y[12]*sin(y[7]))/p[0];
1161
- out[266] = p[17]*y[6]*cos(y[7])/p[0];
1162
- out[267] = -p[17]*y[6]*sin(y[7])/p[0];
1163
- out[283] = y[6]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
1164
- out[284] = y[6]*y[4]*(p[5]*sin(y[7] - y[5]) + p[4]*cos(y[7] - y[5]));
1165
- out[285] = 2.0*y[6]*(-p[5] - 0.5*p[6]) + y[4]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5])) - p[17]*(-y[13]*cos(y[7]) - y[12]*sin(y[7]))/p[0];
1166
- out[286] = y[6]*y[4]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) - p[17]*(y[6]*y[13]*sin(y[7]) - y[6]*y[12]*cos(y[7]))/p[0];
1167
- out[291] = p[17]*y[6]*sin(y[7])/p[0];
1168
- out[292] = p[17]*y[6]*cos(y[7])/p[0];
1169
- out[310] = -p[17]*(-p[21]*(-2.0*y[13]*sin(y[7]) + 2.0*y[12]*cos(y[7]))*(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7])) - y[13]*sin(y[7]) + y[12]*cos(y[7]))/p[0];
1170
- out[311] = -p[17]*(-p[21]*(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7]))*(-2.0*y[6]*y[13]*cos(y[7]) - 2.0*y[6]*y[12]*sin(y[7])) - y[6]*y[13]*cos(y[7]) - y[6]*y[12]*sin(y[7]))/p[0];
1171
- out[316] = -p[17]*(-2.0*p[21]*y[6]*(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7]))*cos(y[7]) + y[6]*cos(y[7]))/p[0];
1172
- out[317] = -p[17]*(2.0*p[21]*y[6]*(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7]))*sin(y[7]) - y[6]*sin(y[7]))/p[0];
1173
- out[356] = -cos(y[3]);
1174
- out[357] = y[2]*sin(y[3]);
1175
- out[381] = -sin(y[3]);
1176
- out[382] = -y[2]*cos(y[3]);
1177
- out[410] = -cos(y[7]);
1178
- out[411] = y[6]*sin(y[7]);
1179
- out[435] = -0.001*sin(y[7]);
1180
- out[436] = -0.001*y[6]*cos(y[7]);
1181
- out[475] = -y[8]*cos(x[0] + u[18] - y[9]);
1182
- out[487] = -sin(x[0] + u[18] - y[9]);
1183
- out[488] = y[8]*cos(x[0] + u[18] - y[9]);
1184
- out[500] = y[8]*sin(x[0] + u[18] - y[9]);
1185
- out[512] = -cos(x[0] + u[18] - y[9]);
1186
- out[513] = -y[8]*sin(x[0] + u[18] - y[9]);
1187
- out[525] = y[8]*y[15]*cos(x[0] + u[18] - y[9]) - y[8]*y[16]*sin(x[0] + u[18] - y[9]);
1188
- out[537] = y[15]*sin(x[0] + u[18] - y[9]) + y[16]*cos(x[0] + u[18] - y[9]);
1189
- out[538] = -y[8]*y[15]*cos(x[0] + u[18] - y[9]) + y[8]*y[16]*sin(x[0] + u[18] - y[9]);
1190
- out[544] = y[8]*sin(x[0] + u[18] - y[9]);
1191
- out[545] = y[8]*cos(x[0] + u[18] - y[9]);
1192
- out[550] = -y[8]*y[15]*sin(x[0] + u[18] - y[9]) - y[8]*y[16]*cos(x[0] + u[18] - y[9]);
1193
- out[562] = y[15]*cos(x[0] + u[18] - y[9]) - y[16]*sin(x[0] + u[18] - y[9]);
1194
- out[563] = y[8]*y[15]*sin(x[0] + u[18] - y[9]) + y[8]*y[16]*cos(x[0] + u[18] - y[9]);
1195
- out[569] = y[8]*cos(x[0] + u[18] - y[9]);
1196
- out[570] = -y[8]*sin(x[0] + u[18] - y[9]);
1721
+ out[0] = -157.07963267948966*Dt*p[10]*p[13]*(-y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0])) + 1.0;
1722
+ out[8] = -157.07963267948966*Dt*p[10]*p[13]*(sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]));
1723
+ out[9] = -157.07963267948966*Dt*p[10]*p[13]*(y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]));
1724
+ out[22] = -0.5*Dt*(-y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0]));
1725
+ out[30] = -0.5*Dt*(sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]));
1726
+ out[31] = -0.5*Dt*(y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]));
1727
+ out[44] = -0.5*Dt*p[10]*(-y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0]))/p[12];
1728
+ out[52] = -0.5*Dt*p[10]*(sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]))/p[12];
1729
+ out[53] = -0.5*Dt*p[10]*(y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]))/p[12];
1730
+ out[184] = 2.0*y[0]*p[1] + y[2]*(-p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1731
+ out[185] = y[0]*y[2]*(-p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3]));
1732
+ out[186] = y[0]*(-p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1733
+ out[187] = y[0]*y[2]*(p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3]));
1734
+ out[206] = 2.0*y[0]*(-p[2] - 0.5*p[3]) + y[2]*(p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3]));
1735
+ out[207] = y[0]*y[2]*(-p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1736
+ out[208] = y[0]*(p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3]));
1737
+ out[209] = y[0]*y[2]*(p[2]*sin(y[1] - y[3]) + p[1]*cos(y[1] - y[3]));
1738
+ out[228] = y[2]*(p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1739
+ out[229] = y[0]*y[2]*(p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3]));
1740
+ out[230] = y[0]*(p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3])) + 2.0*y[2]*p[1];
1741
+ out[231] = y[0]*y[2]*(-p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3]));
1742
+ out[250] = y[2]*(p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3]));
1743
+ out[251] = y[0]*y[2]*(-p[2]*sin(y[1] - y[3]) + p[1]*cos(y[1] - y[3]));
1744
+ out[252] = y[0]*(p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3])) + 2.0*y[2]*(-p[2] - 0.5*p[3]);
1745
+ out[253] = y[0]*y[2]*(p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1746
+ out[266] = ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1747
+ 0
1748
+ )
1749
+ : (
1750
+ -p[7]
1751
+ ));
1752
+ out[267] = ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1753
+ 0
1754
+ )
1755
+ : (
1756
+ -p[8]
1757
+ ));
1758
+ out[288] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1759
+ u[6] + p[9]*(-y[0] + u[7]) < -1
1760
+ )
1761
+ : (
1762
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1763
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
1764
+ )
1765
+ : (
1766
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
1767
+ ))
1768
+ ))) ? (
1769
+ 0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1770
+ 0
1771
+ )
1772
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1773
+ pow(u[4], 2)
1774
+ )
1775
+ : (
1776
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
1777
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1778
+ 0
1779
+ )
1780
+ : (
1781
+ -2.0*p[7]*(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4])
1782
+ ))
1783
+ )
1784
+ : ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1785
+ u[6] + p[9]*(-y[0] + u[7]) > 1
1786
+ )
1787
+ : (
1788
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1789
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
1790
+ )
1791
+ : (
1792
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
1793
+ ))
1794
+ ))) ? (
1795
+ -0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1796
+ 0
1797
+ )
1798
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1799
+ pow(u[4], 2)
1800
+ )
1801
+ : (
1802
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
1803
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1804
+ 0
1805
+ )
1806
+ : (
1807
+ -2.0*p[7]*(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4])
1808
+ ))
1809
+ )
1810
+ : (
1811
+ 0
1812
+ )));
1813
+ out[289] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1814
+ u[6] + p[9]*(-y[0] + u[7]) < -1
1815
+ )
1816
+ : (
1817
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1818
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
1819
+ )
1820
+ : (
1821
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
1822
+ ))
1823
+ ))) ? (
1824
+ 0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1825
+ 0
1826
+ )
1827
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1828
+ pow(u[4], 2)
1829
+ )
1830
+ : (
1831
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
1832
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1833
+ 0
1834
+ )
1835
+ : (
1836
+ -2.0*p[8]*(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4])
1837
+ ))
1838
+ )
1839
+ : ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1840
+ u[6] + p[9]*(-y[0] + u[7]) > 1
1841
+ )
1842
+ : (
1843
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1844
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
1845
+ )
1846
+ : (
1847
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
1848
+ ))
1849
+ ))) ? (
1850
+ -0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1851
+ 0
1852
+ )
1853
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1854
+ pow(u[4], 2)
1855
+ )
1856
+ : (
1857
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
1858
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1859
+ 0
1860
+ )
1861
+ : (
1862
+ -2.0*p[8]*(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4])
1863
+ ))
1864
+ )
1865
+ : (
1866
+ 0
1867
+ )));
1868
+ out[294] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1869
+ u[6] + p[9]*(-y[0] + u[7]) > 1
1870
+ )
1871
+ : (
1872
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1873
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
1874
+ )
1875
+ : (
1876
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
1877
+ ))
1878
+ )) || ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1879
+ u[6] + p[9]*(-y[0] + u[7]) < -1
1880
+ )
1881
+ : (
1882
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
1883
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
1884
+ )
1885
+ : (
1886
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
1887
+ ))
1888
+ ))) ? (
1889
+ 0
1890
+ )
1891
+ : (
1892
+ -p[9]
1893
+ ));
1894
+ out[308] = -p[10]*(-y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0]))/p[12];
1895
+ out[316] = -p[10]*(sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]))/p[12];
1896
+ out[317] = -p[10]*(y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]))/p[12];
1897
+ out[356] = -y[2]*cos(x[4] + u[12] - y[3]);
1898
+ out[362] = -sin(x[4] + u[12] - y[3]);
1899
+ out[363] = y[2]*cos(x[4] + u[12] - y[3]);
1900
+ out[378] = y[2]*sin(x[4] + u[12] - y[3]);
1901
+ out[384] = -cos(x[4] + u[12] - y[3]);
1902
+ out[385] = -y[2]*sin(x[4] + u[12] - y[3]);
1903
+ out[400] = y[2]*y[8]*cos(x[4] + u[12] - y[3]) - y[2]*y[9]*sin(x[4] + u[12] - y[3]);
1904
+ out[406] = y[8]*sin(x[4] + u[12] - y[3]) + y[9]*cos(x[4] + u[12] - y[3]);
1905
+ out[407] = -y[2]*y[8]*cos(x[4] + u[12] - y[3]) + y[2]*y[9]*sin(x[4] + u[12] - y[3]);
1906
+ out[412] = y[2]*sin(x[4] + u[12] - y[3]);
1907
+ out[413] = y[2]*cos(x[4] + u[12] - y[3]);
1908
+ out[422] = -y[2]*y[8]*sin(x[4] + u[12] - y[3]) - y[2]*y[9]*cos(x[4] + u[12] - y[3]);
1909
+ out[428] = y[8]*cos(x[4] + u[12] - y[3]) - y[9]*sin(x[4] + u[12] - y[3]);
1910
+ out[429] = y[2]*y[8]*sin(x[4] + u[12] - y[3]) + y[2]*y[9]*cos(x[4] + u[12] - y[3]);
1911
+ out[434] = y[2]*cos(x[4] + u[12] - y[3]);
1912
+ out[435] = -y[2]*sin(x[4] + u[12] - y[3]);
1197
1913
 
1198
1914
  }
1199
1915
 
1200
1916
  void de_jac_trap_up_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1201
1917
 
1202
- out[0] = 0.5*Dt*p[26] + 1.0;
1203
- out[18] = -3.1415926535897931*Dt*p[23];
1204
- out[23] = 3.1415926535897931*Dt*p[23];
1205
- out[26] = 0.5*Dt*p[27] + 1.0;
1206
- out[52] = 0.5*Dt*p[28] + 1.0;
1207
- out[78] = 0.5*Dt*p[31] + 1.0;
1208
- out[98] = 0.5*Dt;
1209
- out[321] = -p[22]/p[0];
1210
- out[347] = -p[22]/p[0];
1211
- out[364] = -p[13];
1212
- out[365] = p[14];
1213
- out[389] = -p[14];
1214
- out[390] = -p[13];
1215
- out[416] = -p[18];
1216
- out[494] = -p[25];
1217
- out[495] = p[24];
1218
- out[519] = -p[24];
1219
- out[520] = -p[25];
1220
- out[603] = p[30];
1221
- out[623] = -p[29];
1918
+ out[1] = -157.07963267948966*Dt*p[11]*p[13];
1919
+ out[20] = 157.07963267948966*Dt*p[13];
1920
+ out[45] = -0.5*Dt*p[11]/p[12];
1921
+ out[46] = 0.5*Dt/p[12] + 1.0;
1922
+ out[69] = 0.5*Dt/p[12] + 1.0;
1923
+ out[80] = -0.5*Dt/p[12];
1924
+ out[92] = 0.5*Dt*p[18] + 1.0;
1925
+ out[103] = -3.1415926535897931*Dt*p[15];
1926
+ out[108] = 3.1415926535897931*Dt*p[15];
1927
+ out[115] = 0.5*Dt*p[19] + 1.0;
1928
+ out[138] = 0.5*Dt*p[20] + 1.0;
1929
+ out[161] = 0.5*Dt*p[23] + 1.0;
1930
+ out[174] = 0.5*Dt;
1931
+ out[188] = -p[6]/p[0];
1932
+ out[211] = -p[6]/p[0];
1933
+ out[238] = -p[14]/p[0];
1934
+ out[261] = -p[14]/p[0];
1935
+ out[309] = -p[11]/p[12];
1936
+ out[310] = 1.0/p[12];
1937
+ out[368] = -p[17];
1938
+ out[369] = p[16];
1939
+ out[390] = -p[16];
1940
+ out[391] = -p[17];
1941
+ out[469] = p[22];
1942
+ out[482] = -p[21];
1222
1943
 
1223
1944
  }
1224
1945
 
1225
1946
  void de_jac_trap_num_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1226
1947
 
1227
- out[442] = 1.0;
1228
- out[451] = 1.0;
1229
- out[468] = -1.0;
1230
- out[502] = 1.0;
1231
- out[546] = -1.0;
1232
- out[572] = -1.0;
1233
- out[593] = 1.0;
1234
- out[598] = -1.0;
1235
- out[624] = -1.0;
1948
+ out[23] = 1.0;
1949
+ out[276] = -1.0;
1950
+ out[299] = -1.0;
1951
+ out[322] = 1.0;
1952
+ out[335] = 1.0;
1953
+ out[345] = -1.0;
1954
+ out[380] = 1.0;
1955
+ out[414] = -1.0;
1956
+ out[437] = -1.0;
1957
+ out[455] = 1.0;
1958
+ out[460] = -1.0;
1959
+ out[483] = -1.0;
1236
1960
 
1237
1961
  }
1238
1962
 
1239
1963
  void sp_jac_trap_xy_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1240
1964
 
1241
- out[7] = y[2]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) + 2.0*y[0]*p[1];
1242
- out[8] = y[2]*y[0]*(-p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
1243
- out[9] = y[0]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
1244
- out[10] = y[2]*y[0]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1]));
1245
- out[11] = y[2]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1])) + 2.0*y[0]*(-p[2] - 0.5*p[3]);
1246
- out[12] = y[2]*y[0]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
1247
- out[13] = y[0]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1]));
1248
- out[14] = y[2]*y[0]*(-p[2]*sin(y[3] - y[1]) + p[1]*cos(y[3] - y[1]));
1249
- out[15] = y[2]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
1250
- out[16] = y[2]*y[0]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
1251
- out[17] = 2.0*y[2]*p[1] + y[0]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) - p[12]*(-y[11]*sin(y[3]) - y[10]*cos(y[3]))/p[0];
1252
- out[18] = y[2]*y[0]*(-p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1])) - p[12]*(-y[2]*y[11]*cos(y[3]) + y[2]*y[10]*sin(y[3]))/p[0];
1253
- out[19] = p[12]*y[2]*cos(y[3])/p[0];
1254
- out[20] = p[12]*y[2]*sin(y[3])/p[0];
1255
- out[21] = y[2]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
1256
- out[22] = y[2]*y[0]*(p[2]*sin(y[3] - y[1]) + p[1]*cos(y[3] - y[1]));
1257
- out[23] = 2.0*y[2]*(-p[2] - 0.5*p[3]) + y[0]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1])) - p[12]*(y[11]*cos(y[3]) - y[10]*sin(y[3]))/p[0];
1258
- out[24] = y[2]*y[0]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) - p[12]*(-y[2]*y[11]*sin(y[3]) - y[2]*y[10]*cos(y[3]))/p[0];
1259
- out[25] = p[12]*y[2]*sin(y[3])/p[0];
1260
- out[26] = -p[12]*y[2]*cos(y[3])/p[0];
1261
- out[27] = -p[12]*(-2.0*p[16]*y[2]*(pow(y[11], 2) + pow(y[10], 2)) + y[11]*sin(y[3]) + y[10]*cos(y[3]))/p[0];
1262
- out[28] = -p[12]*(y[2]*y[11]*cos(y[3]) - y[2]*y[10]*sin(y[3]))/p[0];
1263
- out[29] = y[6]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) + 2.0*y[4]*p[4];
1264
- out[30] = y[6]*y[4]*(-p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
1265
- out[31] = y[4]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
1266
- out[32] = y[6]*y[4]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5]));
1267
- out[33] = -p[12]*(-2.0*p[16]*pow(y[2], 2)*y[10] + y[2]*cos(y[3]))/p[0];
1268
- out[34] = -p[12]*(-2.0*p[16]*pow(y[2], 2)*y[11] + y[2]*sin(y[3]))/p[0];
1269
- out[35] = y[6]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5])) + 2.0*y[4]*(-p[5] - 0.5*p[6]);
1270
- out[36] = y[6]*y[4]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
1271
- out[37] = y[4]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5]));
1272
- out[38] = y[6]*y[4]*(-p[5]*sin(y[7] - y[5]) + p[4]*cos(y[7] - y[5]));
1273
- out[39] = y[6]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
1274
- out[40] = y[6]*y[4]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
1275
- out[41] = 2.0*y[6]*p[4] + y[4]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) - p[17]*(y[13]*sin(y[7]) - y[12]*cos(y[7]))/p[0];
1276
- out[42] = y[6]*y[4]*(-p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5])) - p[17]*(y[6]*y[13]*cos(y[7]) + y[6]*y[12]*sin(y[7]))/p[0];
1277
- out[43] = p[17]*y[6]*cos(y[7])/p[0];
1278
- out[44] = -p[17]*y[6]*sin(y[7])/p[0];
1279
- out[45] = y[6]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
1280
- out[46] = y[6]*y[4]*(p[5]*sin(y[7] - y[5]) + p[4]*cos(y[7] - y[5]));
1281
- out[47] = 2.0*y[6]*(-p[5] - 0.5*p[6]) + y[4]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5])) - p[17]*(-y[13]*cos(y[7]) - y[12]*sin(y[7]))/p[0];
1282
- out[48] = y[6]*y[4]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) - p[17]*(y[6]*y[13]*sin(y[7]) - y[6]*y[12]*cos(y[7]))/p[0];
1283
- out[49] = p[17]*y[6]*sin(y[7])/p[0];
1284
- out[50] = p[17]*y[6]*cos(y[7])/p[0];
1285
- out[51] = -p[17]*(-p[21]*(-2.0*y[13]*sin(y[7]) + 2.0*y[12]*cos(y[7]))*(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7])) - y[13]*sin(y[7]) + y[12]*cos(y[7]))/p[0];
1286
- out[52] = -p[17]*(-p[21]*(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7]))*(-2.0*y[6]*y[13]*cos(y[7]) - 2.0*y[6]*y[12]*sin(y[7])) - y[6]*y[13]*cos(y[7]) - y[6]*y[12]*sin(y[7]))/p[0];
1287
- out[53] = -p[17]*(-2.0*p[21]*y[6]*(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7]))*cos(y[7]) + y[6]*cos(y[7]))/p[0];
1288
- out[54] = -p[17]*(2.0*p[21]*y[6]*(-y[6]*y[13]*sin(y[7]) + y[6]*y[12]*cos(y[7]))*sin(y[7]) - y[6]*sin(y[7]))/p[0];
1289
- out[57] = -cos(y[3]);
1290
- out[58] = y[2]*sin(y[3]);
1291
- out[61] = -sin(y[3]);
1292
- out[62] = -y[2]*cos(y[3]);
1293
- out[65] = -cos(y[7]);
1294
- out[66] = y[6]*sin(y[7]);
1295
- out[68] = -0.001*sin(y[7]);
1296
- out[69] = -0.001*y[6]*cos(y[7]);
1297
- out[73] = -y[8]*cos(x[0] + u[18] - y[9]);
1298
- out[74] = -sin(x[0] + u[18] - y[9]);
1299
- out[75] = y[8]*cos(x[0] + u[18] - y[9]);
1300
- out[78] = y[8]*sin(x[0] + u[18] - y[9]);
1301
- out[80] = -cos(x[0] + u[18] - y[9]);
1302
- out[81] = -y[8]*sin(x[0] + u[18] - y[9]);
1303
- out[84] = y[8]*y[15]*cos(x[0] + u[18] - y[9]) - y[8]*y[16]*sin(x[0] + u[18] - y[9]);
1304
- out[85] = y[15]*sin(x[0] + u[18] - y[9]) + y[16]*cos(x[0] + u[18] - y[9]);
1305
- out[86] = -y[8]*y[15]*cos(x[0] + u[18] - y[9]) + y[8]*y[16]*sin(x[0] + u[18] - y[9]);
1306
- out[87] = y[8]*sin(x[0] + u[18] - y[9]);
1307
- out[88] = y[8]*cos(x[0] + u[18] - y[9]);
1308
- out[90] = -y[8]*y[15]*sin(x[0] + u[18] - y[9]) - y[8]*y[16]*cos(x[0] + u[18] - y[9]);
1309
- out[91] = y[15]*cos(x[0] + u[18] - y[9]) - y[16]*sin(x[0] + u[18] - y[9]);
1310
- out[92] = y[8]*y[15]*sin(x[0] + u[18] - y[9]) + y[8]*y[16]*cos(x[0] + u[18] - y[9]);
1311
- out[93] = y[8]*cos(x[0] + u[18] - y[9]);
1312
- out[94] = -y[8]*sin(x[0] + u[18] - y[9]);
1965
+ out[0] = -157.07963267948966*Dt*p[10]*p[13]*(-y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0])) + 1.0;
1966
+ out[2] = -157.07963267948966*Dt*p[10]*p[13]*(sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]));
1967
+ out[3] = -157.07963267948966*Dt*p[10]*p[13]*(y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]));
1968
+ out[5] = -0.5*Dt*(-y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0]));
1969
+ out[7] = -0.5*Dt*(sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]));
1970
+ out[8] = -0.5*Dt*(y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]));
1971
+ out[9] = -0.5*Dt*p[10]*(-y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0]))/p[12];
1972
+ out[12] = -0.5*Dt*p[10]*(sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]))/p[12];
1973
+ out[13] = -0.5*Dt*p[10]*(y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]))/p[12];
1974
+ out[23] = 2.0*y[0]*p[1] + y[2]*(-p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1975
+ out[24] = y[0]*y[2]*(-p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3]));
1976
+ out[25] = y[0]*(-p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1977
+ out[26] = y[0]*y[2]*(p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3]));
1978
+ out[28] = 2.0*y[0]*(-p[2] - 0.5*p[3]) + y[2]*(p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3]));
1979
+ out[29] = y[0]*y[2]*(-p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1980
+ out[30] = y[0]*(p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3]));
1981
+ out[31] = y[0]*y[2]*(p[2]*sin(y[1] - y[3]) + p[1]*cos(y[1] - y[3]));
1982
+ out[33] = y[2]*(p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1983
+ out[34] = y[0]*y[2]*(p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3]));
1984
+ out[35] = y[0]*(p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3])) + 2.0*y[2]*p[1];
1985
+ out[36] = y[0]*y[2]*(-p[2]*cos(y[1] - y[3]) - p[1]*sin(y[1] - y[3]));
1986
+ out[38] = y[2]*(p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3]));
1987
+ out[39] = y[0]*y[2]*(-p[2]*sin(y[1] - y[3]) + p[1]*cos(y[1] - y[3]));
1988
+ out[40] = y[0]*(p[2]*cos(y[1] - y[3]) + p[1]*sin(y[1] - y[3])) + 2.0*y[2]*(-p[2] - 0.5*p[3]);
1989
+ out[41] = y[0]*y[2]*(p[2]*sin(y[1] - y[3]) - p[1]*cos(y[1] - y[3]));
1990
+ out[43] = ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1991
+ 0
1992
+ )
1993
+ : (
1994
+ -p[7]
1995
+ ));
1996
+ out[44] = ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
1997
+ 0
1998
+ )
1999
+ : (
2000
+ -p[8]
2001
+ ));
2002
+ out[46] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2003
+ u[6] + p[9]*(-y[0] + u[7]) < -1
2004
+ )
2005
+ : (
2006
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2007
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
2008
+ )
2009
+ : (
2010
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
2011
+ ))
2012
+ ))) ? (
2013
+ 0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2014
+ 0
2015
+ )
2016
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2017
+ pow(u[4], 2)
2018
+ )
2019
+ : (
2020
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
2021
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2022
+ 0
2023
+ )
2024
+ : (
2025
+ -2.0*p[7]*(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4])
2026
+ ))
2027
+ )
2028
+ : ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2029
+ u[6] + p[9]*(-y[0] + u[7]) > 1
2030
+ )
2031
+ : (
2032
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2033
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
2034
+ )
2035
+ : (
2036
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
2037
+ ))
2038
+ ))) ? (
2039
+ -0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2040
+ 0
2041
+ )
2042
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2043
+ pow(u[4], 2)
2044
+ )
2045
+ : (
2046
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
2047
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2048
+ 0
2049
+ )
2050
+ : (
2051
+ -2.0*p[7]*(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4])
2052
+ ))
2053
+ )
2054
+ : (
2055
+ 0
2056
+ )));
2057
+ out[47] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2058
+ u[6] + p[9]*(-y[0] + u[7]) < -1
2059
+ )
2060
+ : (
2061
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2062
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
2063
+ )
2064
+ : (
2065
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
2066
+ ))
2067
+ ))) ? (
2068
+ 0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2069
+ 0
2070
+ )
2071
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2072
+ pow(u[4], 2)
2073
+ )
2074
+ : (
2075
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
2076
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2077
+ 0
2078
+ )
2079
+ : (
2080
+ -2.0*p[8]*(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4])
2081
+ ))
2082
+ )
2083
+ : ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2084
+ u[6] + p[9]*(-y[0] + u[7]) > 1
2085
+ )
2086
+ : (
2087
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2088
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
2089
+ )
2090
+ : (
2091
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
2092
+ ))
2093
+ ))) ? (
2094
+ -0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2095
+ 0
2096
+ )
2097
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2098
+ pow(u[4], 2)
2099
+ )
2100
+ : (
2101
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
2102
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2103
+ 0
2104
+ )
2105
+ : (
2106
+ -2.0*p[8]*(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4])
2107
+ ))
2108
+ )
2109
+ : (
2110
+ 0
2111
+ )));
2112
+ out[48] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2113
+ u[6] + p[9]*(-y[0] + u[7]) > 1
2114
+ )
2115
+ : (
2116
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2117
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
2118
+ )
2119
+ : (
2120
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
2121
+ ))
2122
+ )) || ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2123
+ u[6] + p[9]*(-y[0] + u[7]) < -1
2124
+ )
2125
+ : (
2126
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2127
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
2128
+ )
2129
+ : (
2130
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
2131
+ ))
2132
+ ))) ? (
2133
+ 0
2134
+ )
2135
+ : (
2136
+ -p[9]
2137
+ ));
2138
+ out[50] = -p[10]*(-y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0]))/p[12];
2139
+ out[53] = -p[10]*(sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]))/p[12];
2140
+ out[54] = -p[10]*(y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]))/p[12];
2141
+ out[58] = -y[2]*cos(x[4] + u[12] - y[3]);
2142
+ out[59] = -sin(x[4] + u[12] - y[3]);
2143
+ out[60] = y[2]*cos(x[4] + u[12] - y[3]);
2144
+ out[63] = y[2]*sin(x[4] + u[12] - y[3]);
2145
+ out[65] = -cos(x[4] + u[12] - y[3]);
2146
+ out[66] = -y[2]*sin(x[4] + u[12] - y[3]);
2147
+ out[69] = y[2]*y[8]*cos(x[4] + u[12] - y[3]) - y[2]*y[9]*sin(x[4] + u[12] - y[3]);
2148
+ out[70] = y[8]*sin(x[4] + u[12] - y[3]) + y[9]*cos(x[4] + u[12] - y[3]);
2149
+ out[71] = -y[2]*y[8]*cos(x[4] + u[12] - y[3]) + y[2]*y[9]*sin(x[4] + u[12] - y[3]);
2150
+ out[72] = y[2]*sin(x[4] + u[12] - y[3]);
2151
+ out[73] = y[2]*cos(x[4] + u[12] - y[3]);
2152
+ out[75] = -y[2]*y[8]*sin(x[4] + u[12] - y[3]) - y[2]*y[9]*cos(x[4] + u[12] - y[3]);
2153
+ out[76] = y[8]*cos(x[4] + u[12] - y[3]) - y[9]*sin(x[4] + u[12] - y[3]);
2154
+ out[77] = y[2]*y[8]*sin(x[4] + u[12] - y[3]) + y[2]*y[9]*cos(x[4] + u[12] - y[3]);
2155
+ out[78] = y[2]*cos(x[4] + u[12] - y[3]);
2156
+ out[79] = -y[2]*sin(x[4] + u[12] - y[3]);
1313
2157
 
1314
2158
  }
1315
2159
 
1316
2160
  void sp_jac_trap_up_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1317
2161
 
1318
- out[0] = 0.5*Dt*p[26] + 1.0;
1319
- out[1] = -3.1415926535897931*Dt*p[23];
1320
- out[2] = 3.1415926535897931*Dt*p[23];
1321
- out[3] = 0.5*Dt*p[27] + 1.0;
1322
- out[4] = 0.5*Dt*p[28] + 1.0;
1323
- out[5] = 0.5*Dt*p[31] + 1.0;
1324
- out[6] = 0.5*Dt;
1325
- out[55] = -p[22]/p[0];
1326
- out[56] = -p[22]/p[0];
1327
- out[59] = -p[13];
1328
- out[60] = p[14];
1329
- out[63] = -p[14];
1330
- out[64] = -p[13];
1331
- out[67] = -p[18];
1332
- out[76] = -p[25];
1333
- out[77] = p[24];
1334
- out[82] = -p[24];
1335
- out[83] = -p[25];
1336
- out[98] = p[30];
1337
- out[99] = -p[29];
2162
+ out[1] = -157.07963267948966*Dt*p[11]*p[13];
2163
+ out[4] = 157.07963267948966*Dt*p[13];
2164
+ out[10] = -0.5*Dt*p[11]/p[12];
2165
+ out[11] = 0.5*Dt/p[12] + 1.0;
2166
+ out[14] = 0.5*Dt/p[12] + 1.0;
2167
+ out[15] = -0.5*Dt/p[12];
2168
+ out[16] = 0.5*Dt*p[18] + 1.0;
2169
+ out[17] = -3.1415926535897931*Dt*p[15];
2170
+ out[18] = 3.1415926535897931*Dt*p[15];
2171
+ out[19] = 0.5*Dt*p[19] + 1.0;
2172
+ out[20] = 0.5*Dt*p[20] + 1.0;
2173
+ out[21] = 0.5*Dt*p[23] + 1.0;
2174
+ out[22] = 0.5*Dt;
2175
+ out[27] = -p[6]/p[0];
2176
+ out[32] = -p[6]/p[0];
2177
+ out[37] = -p[14]/p[0];
2178
+ out[42] = -p[14]/p[0];
2179
+ out[51] = -p[11]/p[12];
2180
+ out[52] = 1.0/p[12];
2181
+ out[61] = -p[17];
2182
+ out[62] = p[16];
2183
+ out[67] = -p[16];
2184
+ out[68] = -p[17];
2185
+ out[83] = p[22];
2186
+ out[84] = -p[21];
1338
2187
 
1339
2188
  }
1340
2189
 
1341
2190
  void sp_jac_trap_num_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1342
2191
 
1343
- out[70] = 1.0;
1344
- out[71] = 1.0;
1345
- out[72] = -1.0;
1346
- out[79] = 1.0;
1347
- out[89] = -1.0;
1348
- out[95] = -1.0;
1349
- out[96] = 1.0;
1350
- out[97] = -1.0;
1351
- out[100] = -1.0;
2192
+ out[6] = 1.0;
2193
+ out[45] = -1.0;
2194
+ out[49] = -1.0;
2195
+ out[55] = 1.0;
2196
+ out[56] = 1.0;
2197
+ out[57] = -1.0;
2198
+ out[64] = 1.0;
2199
+ out[74] = -1.0;
2200
+ out[80] = -1.0;
2201
+ out[81] = 1.0;
2202
+ out[82] = -1.0;
2203
+ out[85] = -1.0;
1352
2204
 
1353
2205
  }
1354
2206
 
@@ -1359,111 +2211,245 @@ void de_Fu_run_xy_eval(double *out,double *x,double *y,double *u,double *p,doubl
1359
2211
 
1360
2212
  void de_Fu_run_up_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1361
2213
 
1362
- out[17] = p[26];
2214
+ out[67] = p[18];
1363
2215
 
1364
2216
  }
1365
2217
 
1366
2218
  void de_Fu_run_num_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1367
2219
 
1368
- out[34] = 1.0;
1369
- out[59] = 1.0;
2220
+ out[78] = 1.0;
2221
+ out[97] = 1.0;
1370
2222
 
1371
2223
  }
1372
2224
 
1373
2225
  void de_Gu_run_xy_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1374
2226
 
1375
- out[318] = -y[8]*cos(x[0] + u[18] - y[9]);
1376
- out[338] = y[8]*sin(x[0] + u[18] - y[9]);
1377
- out[358] = y[8]*y[15]*cos(x[0] + u[18] - y[9]) - y[8]*y[16]*sin(x[0] + u[18] - y[9]);
1378
- out[378] = -y[8]*y[15]*sin(x[0] + u[18] - y[9]) - y[8]*y[16]*cos(x[0] + u[18] - y[9]);
2227
+ out[60] = ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2228
+ 0
2229
+ )
2230
+ : (
2231
+ 1.0
2232
+ ));
2233
+ out[61] = ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2234
+ 0
2235
+ )
2236
+ : (
2237
+ 1.0
2238
+ ));
2239
+ out[74] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2240
+ u[6] + p[9]*(-y[0] + u[7]) < -1
2241
+ )
2242
+ : (
2243
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2244
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
2245
+ )
2246
+ : (
2247
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
2248
+ ))
2249
+ ))) ? (
2250
+ 0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2251
+ 0
2252
+ )
2253
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2254
+ pow(u[4], 2)
2255
+ )
2256
+ : (
2257
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
2258
+ ))), -0.5)*((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2259
+ 0
2260
+ )
2261
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2262
+ 2.0*u[4]
2263
+ )
2264
+ : (
2265
+ 2.0*u[5] - 2.0*p[8]*x[3] + 2.0*p[7]*(1.0 - x[2]) + 2.0*u[4]
2266
+ )))
2267
+ )
2268
+ : ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2269
+ u[6] + p[9]*(-y[0] + u[7]) > 1
2270
+ )
2271
+ : (
2272
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2273
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
2274
+ )
2275
+ : (
2276
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
2277
+ ))
2278
+ ))) ? (
2279
+ -0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2280
+ 0
2281
+ )
2282
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2283
+ pow(u[4], 2)
2284
+ )
2285
+ : (
2286
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
2287
+ ))), -0.5)*((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2288
+ 0
2289
+ )
2290
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2291
+ 2.0*u[4]
2292
+ )
2293
+ : (
2294
+ 2.0*u[5] - 2.0*p[8]*x[3] + 2.0*p[7]*(1.0 - x[2]) + 2.0*u[4]
2295
+ )))
2296
+ )
2297
+ : (
2298
+ 0
2299
+ )));
2300
+ out[75] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2301
+ u[6] + p[9]*(-y[0] + u[7]) < -1
2302
+ )
2303
+ : (
2304
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2305
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
2306
+ )
2307
+ : (
2308
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
2309
+ ))
2310
+ ))) ? (
2311
+ 0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2312
+ 0
2313
+ )
2314
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2315
+ pow(u[4], 2)
2316
+ )
2317
+ : (
2318
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
2319
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2320
+ 0
2321
+ )
2322
+ : (
2323
+ 2.0*u[5] - 2.0*p[8]*x[3] + 2.0*p[7]*(1.0 - x[2]) + 2.0*u[4]
2324
+ ))
2325
+ )
2326
+ : ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2327
+ u[6] + p[9]*(-y[0] + u[7]) > 1
2328
+ )
2329
+ : (
2330
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2331
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
2332
+ )
2333
+ : (
2334
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
2335
+ ))
2336
+ ))) ? (
2337
+ -0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2338
+ 0
2339
+ )
2340
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2341
+ pow(u[4], 2)
2342
+ )
2343
+ : (
2344
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
2345
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2346
+ 0
2347
+ )
2348
+ : (
2349
+ 2.0*u[5] - 2.0*p[8]*x[3] + 2.0*p[7]*(1.0 - x[2]) + 2.0*u[4]
2350
+ ))
2351
+ )
2352
+ : (
2353
+ 0
2354
+ )));
2355
+ out[76] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2356
+ u[6] + p[9]*(-y[0] + u[7]) > 1
2357
+ )
2358
+ : (
2359
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2360
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
2361
+ )
2362
+ : (
2363
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
2364
+ ))
2365
+ )) || ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2366
+ u[6] + p[9]*(-y[0] + u[7]) < -1
2367
+ )
2368
+ : (
2369
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2370
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
2371
+ )
2372
+ : (
2373
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
2374
+ ))
2375
+ ))) ? (
2376
+ 0
2377
+ )
2378
+ : (
2379
+ 1.0
2380
+ ));
2381
+ out[77] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2382
+ u[6] + p[9]*(-y[0] + u[7]) > 1
2383
+ )
2384
+ : (
2385
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2386
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
2387
+ )
2388
+ : (
2389
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
2390
+ ))
2391
+ )) || ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2392
+ u[6] + p[9]*(-y[0] + u[7]) < -1
2393
+ )
2394
+ : (
2395
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2396
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
2397
+ )
2398
+ : (
2399
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
2400
+ ))
2401
+ ))) ? (
2402
+ 0
2403
+ )
2404
+ : (
2405
+ p[9]
2406
+ ));
2407
+ out[124] = -y[2]*cos(x[4] + u[12] - y[3]);
2408
+ out[138] = y[2]*sin(x[4] + u[12] - y[3]);
2409
+ out[152] = y[2]*y[8]*cos(x[4] + u[12] - y[3]) - y[2]*y[9]*sin(x[4] + u[12] - y[3]);
2410
+ out[166] = -y[2]*y[8]*sin(x[4] + u[12] - y[3]) - y[2]*y[9]*cos(x[4] + u[12] - y[3]);
1379
2411
 
1380
2412
  }
1381
2413
 
1382
2414
  void de_Gu_run_up_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1383
2415
 
1384
2416
  out[0] = -1/p[0];
1385
- out[21] = -1/p[0];
1386
- out[42] = -1/p[0];
1387
- out[63] = -1/p[0];
1388
- out[84] = -1/p[0];
1389
- out[105] = -1/p[0];
1390
- out[126] = -1/p[0];
1391
- out[147] = -1/p[0];
1392
- out[168] = -1/p[0];
1393
- out[173] = 2.0*p[21]*p[17]*u[13]/p[0];
1394
- out[189] = -1/p[0];
1395
- out[193] = p[17]/p[0];
1396
- out[210] = cos(u[11]);
1397
- out[211] = -u[10]*sin(u[11]);
1398
- out[230] = sin(u[11]);
1399
- out[231] = u[10]*cos(u[11]);
2417
+ out[15] = -1/p[0];
2418
+ out[30] = -1/p[0];
2419
+ out[45] = -1/p[0];
1400
2420
 
1401
2421
  }
1402
2422
 
1403
2423
  void de_Gu_run_num_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1404
2424
 
1405
- out[252] = 1.0;
1406
- out[296] = 1.0;
1407
- out[335] = 1.0;
2425
+ out[108] = 1.0;
2426
+ out[135] = 1.0;
1408
2427
 
1409
2428
  }
1410
2429
 
1411
2430
  void de_Hx_run_xy_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1412
2431
 
2432
+ out[40] = p[10]*(-y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0]));
1413
2433
 
1414
2434
  }
1415
2435
 
1416
2436
  void de_Hx_run_up_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1417
2437
 
2438
+ out[41] = p[11];
1418
2439
 
1419
2440
  }
1420
2441
 
1421
2442
  void de_Hx_run_num_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1422
2443
 
2444
+ out[50] = 1.0;
1423
2445
  out[78] = 1.0;
1424
2446
 
1425
2447
  }
1426
2448
 
1427
2449
  void de_Hy_run_xy_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1428
2450
 
1429
- out[105] = y[2]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) + 2.0*y[0]*p[1];
1430
- out[106] = y[2]*y[0]*(-p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
1431
- out[107] = y[0]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
1432
- out[108] = y[2]*y[0]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1]));
1433
- out[126] = y[2]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1])) - 2.0*y[0]*p[2];
1434
- out[127] = y[2]*y[0]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
1435
- out[128] = y[0]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1]));
1436
- out[129] = y[2]*y[0]*(-p[2]*sin(y[3] - y[1]) + p[1]*cos(y[3] - y[1]));
1437
- out[147] = y[2]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
1438
- out[148] = y[2]*y[0]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
1439
- out[149] = 2.0*y[2]*p[1] + y[0]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
1440
- out[150] = y[2]*y[0]*(-p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1]));
1441
- out[168] = y[2]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
1442
- out[169] = y[2]*y[0]*(p[2]*sin(y[3] - y[1]) + p[1]*cos(y[3] - y[1]));
1443
- out[170] = -2.0*y[2]*p[2] + y[0]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
1444
- out[171] = y[2]*y[0]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
1445
- out[193] = y[6]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) + 2.0*y[4]*p[4];
1446
- out[194] = y[6]*y[4]*(-p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
1447
- out[195] = y[4]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
1448
- out[196] = y[6]*y[4]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5]));
1449
- out[214] = y[6]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5])) - 2.0*y[4]*p[5];
1450
- out[215] = y[6]*y[4]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
1451
- out[216] = y[4]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5]));
1452
- out[217] = y[6]*y[4]*(-p[5]*sin(y[7] - y[5]) + p[4]*cos(y[7] - y[5]));
1453
- out[235] = y[6]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
1454
- out[236] = y[6]*y[4]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
1455
- out[237] = 2.0*y[6]*p[4] + y[4]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
1456
- out[238] = y[6]*y[4]*(-p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5]));
1457
- out[256] = y[6]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
1458
- out[257] = y[6]*y[4]*(p[5]*sin(y[7] - y[5]) + p[4]*cos(y[7] - y[5]));
1459
- out[258] = -2.0*y[6]*p[5] + y[4]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
1460
- out[259] = y[6]*y[4]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
1461
- out[283] = y[10]*pow(pow(y[11], 2) + pow(y[10], 2), -0.5);
1462
- out[284] = y[11]*pow(pow(y[11], 2) + pow(y[10], 2), -0.5);
1463
- out[317] = 2.0*p[16]*y[2]*(pow(y[11], 2) + pow(y[10], 2)) - y[11]*sin(y[3]) - y[10]*cos(y[3]);
1464
- out[318] = -y[2]*y[11]*cos(y[3]) + y[2]*y[10]*sin(y[3]);
1465
- out[325] = 2.0*p[16]*pow(y[2], 2)*y[10] - y[2]*cos(y[3]);
1466
- out[326] = 2.0*p[16]*pow(y[2], 2)*y[11] - y[2]*sin(y[3]);
2451
+ out[70] = p[10]*(sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]));
2452
+ out[71] = p[10]*(y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]));
1467
2453
 
1468
2454
  }
1469
2455
 
@@ -1475,11 +2461,8 @@ void de_Hy_run_up_eval(double *out,double *x,double *y,double *u,double *p,doubl
1475
2461
  void de_Hy_run_num_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1476
2462
 
1477
2463
  out[0] = 1.0;
1478
- out[23] = 1.0;
1479
- out[46] = 1.0;
1480
- out[69] = 1.0;
1481
- out[92] = 1.0;
1482
- out[348] = 1.0;
2464
+ out[16] = 1.0;
2465
+ out[104] = 1.0;
1483
2466
 
1484
2467
  }
1485
2468
 
@@ -1495,9 +2478,10 @@ void de_Hu_run_up_eval(double *out,double *x,double *y,double *u,double *p,doubl
1495
2478
 
1496
2479
  void de_Hu_run_num_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1497
2480
 
1498
- out[290] = 1.0;
1499
- out[352] = 1.0;
1500
- out[374] = 1.0;
2481
+ out[32] = 1.0;
2482
+ out[47] = 1.0;
2483
+ out[62] = 1.0;
2484
+ out[120] = 1.0;
1501
2485
 
1502
2486
  }
1503
2487
 
@@ -1508,7 +2492,7 @@ void sp_Fu_run_xy_eval(double *out,double *x,double *y,double *u,double *p,doubl
1508
2492
 
1509
2493
  void sp_Fu_run_up_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1510
2494
 
1511
- out[0] = p[26];
2495
+ out[0] = p[18];
1512
2496
 
1513
2497
  }
1514
2498
 
@@ -1521,10 +2505,190 @@ out[2] = 1.0;
1521
2505
 
1522
2506
  void sp_Gu_run_xy_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1523
2507
 
1524
- out[18] = -y[8]*cos(x[0] + u[18] - y[9]);
1525
- out[20] = y[8]*sin(x[0] + u[18] - y[9]);
1526
- out[21] = y[8]*y[15]*cos(x[0] + u[18] - y[9]) - y[8]*y[16]*sin(x[0] + u[18] - y[9]);
1527
- out[22] = -y[8]*y[15]*sin(x[0] + u[18] - y[9]) - y[8]*y[16]*cos(x[0] + u[18] - y[9]);
2508
+ out[4] = ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2509
+ 0
2510
+ )
2511
+ : (
2512
+ 1.0
2513
+ ));
2514
+ out[5] = ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2515
+ 0
2516
+ )
2517
+ : (
2518
+ 1.0
2519
+ ));
2520
+ out[6] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2521
+ u[6] + p[9]*(-y[0] + u[7]) < -1
2522
+ )
2523
+ : (
2524
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2525
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
2526
+ )
2527
+ : (
2528
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
2529
+ ))
2530
+ ))) ? (
2531
+ 0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2532
+ 0
2533
+ )
2534
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2535
+ pow(u[4], 2)
2536
+ )
2537
+ : (
2538
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
2539
+ ))), -0.5)*((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2540
+ 0
2541
+ )
2542
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2543
+ 2.0*u[4]
2544
+ )
2545
+ : (
2546
+ 2.0*u[5] - 2.0*p[8]*x[3] + 2.0*p[7]*(1.0 - x[2]) + 2.0*u[4]
2547
+ )))
2548
+ )
2549
+ : ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2550
+ u[6] + p[9]*(-y[0] + u[7]) > 1
2551
+ )
2552
+ : (
2553
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2554
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
2555
+ )
2556
+ : (
2557
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
2558
+ ))
2559
+ ))) ? (
2560
+ -0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2561
+ 0
2562
+ )
2563
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2564
+ pow(u[4], 2)
2565
+ )
2566
+ : (
2567
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
2568
+ ))), -0.5)*((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2569
+ 0
2570
+ )
2571
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2572
+ 2.0*u[4]
2573
+ )
2574
+ : (
2575
+ 2.0*u[5] - 2.0*p[8]*x[3] + 2.0*p[7]*(1.0 - x[2]) + 2.0*u[4]
2576
+ )))
2577
+ )
2578
+ : (
2579
+ 0
2580
+ )));
2581
+ out[7] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2582
+ u[6] + p[9]*(-y[0] + u[7]) < -1
2583
+ )
2584
+ : (
2585
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2586
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
2587
+ )
2588
+ : (
2589
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
2590
+ ))
2591
+ ))) ? (
2592
+ 0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2593
+ 0
2594
+ )
2595
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2596
+ pow(u[4], 2)
2597
+ )
2598
+ : (
2599
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
2600
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2601
+ 0
2602
+ )
2603
+ : (
2604
+ 2.0*u[5] - 2.0*p[8]*x[3] + 2.0*p[7]*(1.0 - x[2]) + 2.0*u[4]
2605
+ ))
2606
+ )
2607
+ : ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2608
+ u[6] + p[9]*(-y[0] + u[7]) > 1
2609
+ )
2610
+ : (
2611
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2612
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
2613
+ )
2614
+ : (
2615
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
2616
+ ))
2617
+ ))) ? (
2618
+ -0.5*pow(1.0 - ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2619
+ 0
2620
+ )
2621
+ : ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2622
+ pow(u[4], 2)
2623
+ )
2624
+ : (
2625
+ pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2)
2626
+ ))), -0.5)*((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] || u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2627
+ 0
2628
+ )
2629
+ : (
2630
+ 2.0*u[5] - 2.0*p[8]*x[3] + 2.0*p[7]*(1.0 - x[2]) + 2.0*u[4]
2631
+ ))
2632
+ )
2633
+ : (
2634
+ 0
2635
+ )));
2636
+ out[8] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2637
+ u[6] + p[9]*(-y[0] + u[7]) > 1
2638
+ )
2639
+ : (
2640
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2641
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
2642
+ )
2643
+ : (
2644
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
2645
+ ))
2646
+ )) || ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2647
+ u[6] + p[9]*(-y[0] + u[7]) < -1
2648
+ )
2649
+ : (
2650
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2651
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
2652
+ )
2653
+ : (
2654
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
2655
+ ))
2656
+ ))) ? (
2657
+ 0
2658
+ )
2659
+ : (
2660
+ 1.0
2661
+ ));
2662
+ out[9] = ((((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2663
+ u[6] + p[9]*(-y[0] + u[7]) > 1
2664
+ )
2665
+ : (
2666
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2667
+ sqrt(1 - pow(u[4], 2)) < u[6] + p[9]*(-y[0] + u[7])
2668
+ )
2669
+ : (
2670
+ u[6] + p[9]*(-y[0] + u[7]) > sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
2671
+ ))
2672
+ )) || ((u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4] < 0) ? (
2673
+ u[6] + p[9]*(-y[0] + u[7]) < -1
2674
+ )
2675
+ : (
2676
+ ((u[4] < u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4]) ? (
2677
+ sqrt(1 - pow(u[4], 2)) < -u[6] - p[9]*(-y[0] + u[7])
2678
+ )
2679
+ : (
2680
+ u[6] + p[9]*(-y[0] + u[7]) < -sqrt(1 - pow(u[5] - p[8]*x[3] + p[7]*(1.0 - x[2]) + u[4], 2))
2681
+ ))
2682
+ ))) ? (
2683
+ 0
2684
+ )
2685
+ : (
2686
+ p[9]
2687
+ ));
2688
+ out[11] = -y[2]*cos(x[4] + u[12] - y[3]);
2689
+ out[13] = y[2]*sin(x[4] + u[12] - y[3]);
2690
+ out[14] = y[2]*y[8]*cos(x[4] + u[12] - y[3]) - y[2]*y[9]*sin(x[4] + u[12] - y[3]);
2691
+ out[15] = -y[2]*y[8]*sin(x[4] + u[12] - y[3]) - y[2]*y[9]*cos(x[4] + u[12] - y[3]);
1528
2692
 
1529
2693
  }
1530
2694
 
@@ -1534,85 +2698,39 @@ out[0] = -1/p[0];
1534
2698
  out[1] = -1/p[0];
1535
2699
  out[2] = -1/p[0];
1536
2700
  out[3] = -1/p[0];
1537
- out[4] = -1/p[0];
1538
- out[5] = -1/p[0];
1539
- out[6] = -1/p[0];
1540
- out[7] = -1/p[0];
1541
- out[8] = -1/p[0];
1542
- out[9] = 2.0*p[21]*p[17]*u[13]/p[0];
1543
- out[10] = -1/p[0];
1544
- out[11] = p[17]/p[0];
1545
- out[12] = cos(u[11]);
1546
- out[13] = -u[10]*sin(u[11]);
1547
- out[14] = sin(u[11]);
1548
- out[15] = u[10]*cos(u[11]);
1549
2701
 
1550
2702
  }
1551
2703
 
1552
2704
  void sp_Gu_run_num_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1553
2705
 
1554
- out[16] = 1.0;
1555
- out[17] = 1.0;
1556
- out[19] = 1.0;
2706
+ out[10] = 1.0;
2707
+ out[12] = 1.0;
1557
2708
 
1558
2709
  }
1559
2710
 
1560
2711
  void sp_Hx_run_xy_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1561
2712
 
2713
+ out[0] = p[10]*(-y[0]*sin(y[1])*sin(x[0]) - y[0]*cos(y[1])*cos(x[0]));
1562
2714
 
1563
2715
  }
1564
2716
 
1565
2717
  void sp_Hx_run_up_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1566
2718
 
2719
+ out[1] = p[11];
1567
2720
 
1568
2721
  }
1569
2722
 
1570
2723
  void sp_Hx_run_num_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1571
2724
 
1572
- out[0] = 1.0;
2725
+ out[2] = 1.0;
2726
+ out[3] = 1.0;
1573
2727
 
1574
2728
  }
1575
2729
 
1576
2730
  void sp_Hy_run_xy_eval(double *out,double *x,double *y,double *u,double *p,double Dt){
1577
2731
 
1578
- out[5] = y[2]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1])) + 2.0*y[0]*p[1];
1579
- out[6] = y[2]*y[0]*(-p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
1580
- out[7] = y[0]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
1581
- out[8] = y[2]*y[0]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1]));
1582
- out[9] = y[2]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1])) - 2.0*y[0]*p[2];
1583
- out[10] = y[2]*y[0]*(p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
1584
- out[11] = y[0]*(p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1]));
1585
- out[12] = y[2]*y[0]*(-p[2]*sin(y[3] - y[1]) + p[1]*cos(y[3] - y[1]));
1586
- out[13] = y[2]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
1587
- out[14] = y[2]*y[0]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
1588
- out[15] = 2.0*y[2]*p[1] + y[0]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
1589
- out[16] = y[2]*y[0]*(-p[2]*cos(y[3] - y[1]) + p[1]*sin(y[3] - y[1]));
1590
- out[17] = y[2]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
1591
- out[18] = y[2]*y[0]*(p[2]*sin(y[3] - y[1]) + p[1]*cos(y[3] - y[1]));
1592
- out[19] = -2.0*y[2]*p[2] + y[0]*(p[2]*cos(y[3] - y[1]) - p[1]*sin(y[3] - y[1]));
1593
- out[20] = y[2]*y[0]*(-p[2]*sin(y[3] - y[1]) - p[1]*cos(y[3] - y[1]));
1594
- out[21] = y[6]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5])) + 2.0*y[4]*p[4];
1595
- out[22] = y[6]*y[4]*(-p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
1596
- out[23] = y[4]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
1597
- out[24] = y[6]*y[4]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5]));
1598
- out[25] = y[6]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5])) - 2.0*y[4]*p[5];
1599
- out[26] = y[6]*y[4]*(p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
1600
- out[27] = y[4]*(p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5]));
1601
- out[28] = y[6]*y[4]*(-p[5]*sin(y[7] - y[5]) + p[4]*cos(y[7] - y[5]));
1602
- out[29] = y[6]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
1603
- out[30] = y[6]*y[4]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
1604
- out[31] = 2.0*y[6]*p[4] + y[4]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
1605
- out[32] = y[6]*y[4]*(-p[5]*cos(y[7] - y[5]) + p[4]*sin(y[7] - y[5]));
1606
- out[33] = y[6]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
1607
- out[34] = y[6]*y[4]*(p[5]*sin(y[7] - y[5]) + p[4]*cos(y[7] - y[5]));
1608
- out[35] = -2.0*y[6]*p[5] + y[4]*(p[5]*cos(y[7] - y[5]) - p[4]*sin(y[7] - y[5]));
1609
- out[36] = y[6]*y[4]*(-p[5]*sin(y[7] - y[5]) - p[4]*cos(y[7] - y[5]));
1610
- out[37] = y[10]*pow(pow(y[11], 2) + pow(y[10], 2), -0.5);
1611
- out[38] = y[11]*pow(pow(y[11], 2) + pow(y[10], 2), -0.5);
1612
- out[39] = 2.0*p[16]*y[2]*(pow(y[11], 2) + pow(y[10], 2)) - y[11]*sin(y[3]) - y[10]*cos(y[3]);
1613
- out[40] = -y[2]*y[11]*cos(y[3]) + y[2]*y[10]*sin(y[3]);
1614
- out[41] = 2.0*p[16]*pow(y[2], 2)*y[10] - y[2]*cos(y[3]);
1615
- out[42] = 2.0*p[16]*pow(y[2], 2)*y[11] - y[2]*sin(y[3]);
2732
+ out[2] = p[10]*(sin(y[1])*cos(x[0]) - sin(x[0])*cos(y[1]));
2733
+ out[3] = p[10]*(y[0]*sin(y[1])*sin(x[0]) + y[0]*cos(y[1])*cos(x[0]));
1616
2734
 
1617
2735
  }
1618
2736
 
@@ -1625,10 +2743,7 @@ void sp_Hy_run_num_eval(double *out,double *x,double *y,double *u,double *p,doub
1625
2743
 
1626
2744
  out[0] = 1.0;
1627
2745
  out[1] = 1.0;
1628
- out[2] = 1.0;
1629
- out[3] = 1.0;
1630
2746
  out[4] = 1.0;
1631
- out[43] = 1.0;
1632
2747
 
1633
2748
  }
1634
2749
 
@@ -1647,6 +2762,7 @@ void sp_Hu_run_num_eval(double *out,double *x,double *y,double *u,double *p,doub
1647
2762
  out[0] = 1.0;
1648
2763
  out[1] = 1.0;
1649
2764
  out[2] = 1.0;
2765
+ out[3] = 1.0;
1650
2766
 
1651
2767
  }
1652
2768