From 7f4033cb90baf201c8a29c93b2919d6b5aba6f40 Mon Sep 17 00:00:00 2001 From: Kenneth Date: Mon, 8 Jul 2019 15:11:18 +0200 Subject: [PATCH 1/7] Added the mathematica model for the fixed wing Added the descriptor for the fixed wing model Added the fixed wing model Updated the Enums.h and AllFunctions.h with new fixed wing model --- .../AugmentedState_PlaneDynamicModel.nb | 1828 +++++++++++++++++ .../models/PlaneDynamicModel_aalphadebug.m | 120 ++ .../models/PlaneDynamicModel_debug.m | 78 + .../include/ROAMestimation/Enums.h | 3 +- .../src/FactorGraphFilterImpl.cpp | 7 + .../generated/PlaneDynamicModel_Err.cppready | 169 ++ .../PlaneDynamicModel_JErrA.cppready | 18 + .../PlaneDynamicModel_JErrAlpha.cppready | 18 + .../PlaneDynamicModel_JErrNoises.cppready | 36 + .../PlaneDynamicModel_JErrPose.cppready | 170 ++ .../PlaneDynamicModel_JErrQ.cppready | 387 ++++ .../PlaneDynamicModel_JErrSet1.cppready | 220 ++ .../PlaneDynamicModel_JErrSet2.cppready | 408 ++++ .../PlaneDynamicModel_JErrV.cppready | 269 +++ .../PlaneDynamicModel_JErrW.cppready | 121 ++ .../PlaneDynamicModel_JErrWind.cppready | 327 +++ .../PlaneDynamicModel_debug.cppready | 78 + .../PlaneDynamicModel_predictor.cppready | 11 + .../include/ROAMfunctions/AllFunctions.h | 2 + .../include/ROAMfunctions/AllVariables.h | 2 + .../ROAMfunctions/PlaneDynamicModelM.h | 187 ++ .../ROAMfunctions/PlaneDynamicModelParamsV.h | 44 + .../include/ROAMfunctions/QuadDynamicModelM.h | 3 +- .../ROAMfunctions/src/PlaneDynamicModelM.cpp | 26 + .../src/PlaneDynamicModelParamsV.cpp | 26 + 25 files changed, 4556 insertions(+), 2 deletions(-) create mode 100644 _development/Mathematica/models/AugmentedState_PlaneDynamicModel.nb create mode 100644 _development/Mathematica/models/PlaneDynamicModel_aalphadebug.m create mode 100644 _development/Mathematica/models/PlaneDynamicModel_debug.m create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_Err.cppready create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrA.cppready create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrAlpha.cppready create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrNoises.cppready create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrPose.cppready create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrQ.cppready create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrSet1.cppready create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrSet2.cppready create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrV.cppready create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrW.cppready create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrWind.cppready create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_debug.cppready create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_predictor.cppready create mode 100644 roamfree/ROAMfunctions/include/ROAMfunctions/PlaneDynamicModelM.h create mode 100644 roamfree/ROAMfunctions/include/ROAMfunctions/PlaneDynamicModelParamsV.h create mode 100644 roamfree/ROAMfunctions/src/PlaneDynamicModelM.cpp create mode 100644 roamfree/ROAMfunctions/src/PlaneDynamicModelParamsV.cpp diff --git a/_development/Mathematica/models/AugmentedState_PlaneDynamicModel.nb b/_development/Mathematica/models/AugmentedState_PlaneDynamicModel.nb new file mode 100644 index 0000000..0d9e83a --- /dev/null +++ b/_development/Mathematica/models/AugmentedState_PlaneDynamicModel.nb @@ -0,0 +1,1828 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 10.0' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 158, 7] +NotebookDataLength[ 69718, 1820] +NotebookOptionsPosition[ 63481, 1735] +NotebookOutlinePosition[ 63838, 1751] +CellTagsIndexPosition[ 63795, 1748] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ +Cell[BoxData[ + RowBox[{"Clear", "[", "\"\\"", "]"}]], "Input", + CellChangeTimes->{{3.5951624068865957`*^9, 3.595162434106801*^9}}, + CellLabel-> + "In[167]:=",ExpressionUUID->"28aebd44-7a23-4603-b370-38149a649cc1"], + +Cell[BoxData[{ + RowBox[{"Import", "[", + RowBox[{ + RowBox[{"NotebookDirectory", "[", "]"}], "<>", + "\"\\""}], "]"}], "\[IndentingNewLine]", + RowBox[{"Import", "[", + RowBox[{ + RowBox[{"NotebookDirectory", "[", "]"}], "<>", + "\"\\""}], "]"}]}], "Input", + CellChangeTimes->{{3.595163228510494*^9, 3.595163230854044*^9}, { + 3.6175174204357758`*^9, 3.617517424343709*^9}, {3.632487617988913*^9, + 3.632487633951275*^9}}, + CellLabel-> + "In[168]:=",ExpressionUUID->"d5e95da8-5675-4df2-8ff6-af7b8fb219a1"], + +Cell[CellGroupData[{ + +Cell["Quaternion Functions", "Subtitle", + InitializationCell->True, + CellChangeTimes->{{3.563606408899285*^9, 3.563606413402224*^9}, { + 3.572951250149337*^9, + 3.572951255936389*^9}},ExpressionUUID->"addb9730-72b2-4859-8e4b-\ +0e776f073328"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"VectProdMatrix", "[", "v_", "]"}], ":=", + RowBox[{"{", + RowBox[{ + RowBox[{"{", + RowBox[{"0", ",", + RowBox[{"-", + RowBox[{"v", "[", + RowBox[{"[", "3", "]"}], "]"}]}], ",", + RowBox[{"v", "[", + RowBox[{"[", "2", "]"}], "]"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"v", "[", + RowBox[{"[", "3", "]"}], "]"}], ",", "0", ",", + RowBox[{"-", + RowBox[{"v", "[", + RowBox[{"[", "1", "]"}], "]"}]}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", + RowBox[{"v", "[", + RowBox[{"[", "2", "]"}], "]"}]}], ",", + RowBox[{"v", "[", + RowBox[{"[", "1", "]"}], "]"}], ",", "0"}], "}"}]}], "}"}]}]], "Input",\ + + InitializationCell->True, + CellChangeTimes->{{3.563607037606062*^9, 3.563607124416689*^9}, + 3.563608231083735*^9}, + CellLabel-> + "In[170]:=",ExpressionUUID->"78e5840d-381c-47a9-b9dd-90c3c4dacb03"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"PertStateSubs", "[", + RowBox[{"X_", ",", "dX_"}], "]"}], ":=", + RowBox[{"Flatten", "[", + RowBox[{"{", + RowBox[{ + RowBox[{"Table", "[", + RowBox[{ + RowBox[{ + RowBox[{"X", "[", + RowBox[{"[", "i", "]"}], "]"}], "\[Rule]", + RowBox[{ + RowBox[{"X", "[", + RowBox[{"[", "i", "]"}], "]"}], "+", + RowBox[{"dX", "[", + RowBox[{"[", "i", "]"}], "]"}]}]}], ",", + RowBox[{"{", + RowBox[{"i", ",", "1", ",", "3"}], "}"}]}], "]"}], ",", + RowBox[{"Table", "[", + RowBox[{ + RowBox[{ + RowBox[{"X", "[", + RowBox[{"[", + RowBox[{"i", "+", "3"}], "]"}], "]"}], "\[Rule]", + RowBox[{ + RowBox[{"(", + RowBox[{"QuatInc", "[", + RowBox[{ + RowBox[{"X", "[", + RowBox[{"[", + RowBox[{"{", + RowBox[{"4", ",", "5", ",", "6", ",", "7"}], "}"}], "]"}], + "]"}], ",", + RowBox[{"dX", "[", + RowBox[{"[", + RowBox[{"{", + RowBox[{"4", ",", "5", ",", "6"}], "}"}], "]"}], "]"}]}], + "]"}], ")"}], "[", + RowBox[{"[", "i", "]"}], "]"}]}], ",", + RowBox[{"{", + RowBox[{"i", ",", "1", ",", "4"}], "}"}]}], "]"}]}], "}"}], + "]"}]}]], "Input", + InitializationCell->True, + CellChangeTimes->{{3.571130663264105*^9, 3.571130765329321*^9}, { + 3.57113111793888*^9, 3.57113116341093*^9}, {3.571131195958424*^9, + 3.571131254626845*^9}, 3.571133049520565*^9}, + CellLabel-> + "In[171]:=",ExpressionUUID->"66ac8851-0848-4866-8069-42c37f27b5de"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{ + RowBox[{"L2", "[", "x_", "]"}], ":=", + RowBox[{"Sqrt", "[", + RowBox[{"Sum", "[", + RowBox[{ + RowBox[{ + RowBox[{"x", "[", + RowBox[{"[", "j", "]"}], "]"}], "^", "2"}], ",", + RowBox[{"{", + RowBox[{"j", ",", "1", ",", + RowBox[{"Length", "[", "x", "]"}]}], "}"}]}], "]"}], "]"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"VecNorm", "[", "x_", "]"}], ":=", + RowBox[{"Table", "[", + RowBox[{ + RowBox[{ + RowBox[{"x", "[", + RowBox[{"[", "i", "]"}], "]"}], "/", + RowBox[{"L2", "[", "x", "]"}]}], ",", + RowBox[{"{", + RowBox[{"i", ",", "1", ",", + RowBox[{"Length", "[", "x", "]"}]}], "}"}]}], "]"}]}], ";"}]}], "Input",\ + + InitializationCell->True, + CellChangeTimes->{{3.568453075302482*^9, 3.568453143924776*^9}}, + CellLabel-> + "In[172]:=",ExpressionUUID->"a40aa98c-a7a2-4814-b63b-e7c90c9932a0"], + +Cell[BoxData[ + RowBox[{ + RowBox[{ + RowBox[{"SkewMatrix", "[", "v_", "]"}], ":=", + RowBox[{ + RowBox[{"{", + RowBox[{ + RowBox[{"{", + RowBox[{"0", ",", + RowBox[{"-", + RowBox[{"v", "[", + RowBox[{"[", "1", "]"}], "]"}]}], ",", + RowBox[{"-", + RowBox[{"v", "[", + RowBox[{"[", "2", "]"}], "]"}]}], ",", + RowBox[{"-", + RowBox[{"v", "[", + RowBox[{"[", "3", "]"}], "]"}]}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"v", "[", + RowBox[{"[", "1", "]"}], "]"}], ",", "0", ",", + RowBox[{"v", "[", + RowBox[{"[", "3", "]"}], "]"}], ",", + RowBox[{"-", + RowBox[{"v", "[", + RowBox[{"[", "2", "]"}], "]"}]}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"v", "[", + RowBox[{"[", "2", "]"}], "]"}], ",", + RowBox[{"-", + RowBox[{"v", "[", + RowBox[{"[", "3", "]"}], "]"}]}], ",", "0", ",", + RowBox[{"v", "[", + RowBox[{"[", "1", "]"}], "]"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"v", "[", + RowBox[{"[", "3", "]"}], "]"}], ",", + RowBox[{"v", "[", + RowBox[{"[", "2", "]"}], "]"}], ",", + RowBox[{"-", + RowBox[{"v", "[", + RowBox[{"[", "1", "]"}], "]"}]}], ",", "0"}], "}"}]}], "}"}], "/", + "2"}]}], ";"}]], "Input", + InitializationCell->True, + CellChangeTimes->{{3.568443187261707*^9, 3.568443273520089*^9}, { + 3.568458568630984*^9, 3.568458568967643*^9}}, + CellLabel-> + "In[174]:=",ExpressionUUID->"ee9449fb-cd56-4179-b90c-f5e3bb0fdcdb"], + +Cell[BoxData[ + RowBox[{ + RowBox[{ + RowBox[{"ConstantAngularSpeeDtMatrix", "[", + RowBox[{"w_", ",", "Dt_"}], "]"}], ":=", + RowBox[{ + RowBox[{ + RowBox[{"Cos", "[", + RowBox[{ + RowBox[{"L2", "[", "w", "]"}], + RowBox[{"Dt", "/", "2"}]}], "]"}], " ", + RowBox[{"IdentityMatrix", "[", "4", "]"}]}], "+", + RowBox[{"2", + RowBox[{ + RowBox[{"Sin", "[", + RowBox[{ + RowBox[{"L2", "[", "w", "]"}], + RowBox[{"Dt", "/", "2"}]}], "]"}], "/", + RowBox[{"L2", "[", "w", "]"}]}], " ", + RowBox[{"SkewMatrix", "[", "w", "]"}]}]}]}], ";"}]], "Input", + InitializationCell->True, + CellChangeTimes->{{3.5684429732904*^9, 3.56844300516892*^9}, { + 3.568443103374373*^9, 3.568443183239631*^9}, {3.56844338461282*^9, + 3.568443409373211*^9}, {3.568453008511107*^9, 3.568453014783046*^9}, { + 3.60835655838758*^9, 3.608356558395439*^9}}, + CellLabel-> + "In[175]:=",ExpressionUUID->"b69052f0-f728-4bd6-9bf7-bae15aa76095"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{ + RowBox[{"SubVec", "[", + RowBox[{"exp_", ",", "v1_", ",", "v2_"}], "]"}], ":=", + RowBox[{"exp", "/.", + RowBox[{"Table", "[", + RowBox[{ + RowBox[{ + RowBox[{"v1", "[", + RowBox[{"[", "i", "]"}], "]"}], "\[Rule]", + RowBox[{"v2", "[", + RowBox[{"[", "i", "]"}], "]"}]}], ",", + RowBox[{"{", + RowBox[{"i", ",", "1", ",", + RowBox[{ + RowBox[{"Dimensions", "[", + RowBox[{"v1", ",", "1"}], "]"}], "[", + RowBox[{"[", "1", "]"}], "]"}]}], "}"}]}], "]"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"VecToZero", "[", + RowBox[{"exp_", ",", "v_"}], "]"}], ":=", + RowBox[{"exp", "/.", + RowBox[{"Table", "[", + RowBox[{ + RowBox[{ + RowBox[{"v", "[", + RowBox[{"[", "i", "]"}], "]"}], "\[Rule]", "0"}], ",", + RowBox[{"{", + RowBox[{"i", ",", "1", ",", + RowBox[{ + RowBox[{"Dimensions", "[", + RowBox[{"v", ",", "1"}], "]"}], "[", + RowBox[{"[", "1", "]"}], "]"}]}], "}"}]}], "]"}]}]}], + ";"}]}], "Input", + InitializationCell->True, + CellChangeTimes->{{3.568444740747602*^9, 3.568444776506934*^9}, { + 3.568444838483142*^9, 3.568444844345901*^9}}, + CellLabel-> + "In[176]:=",ExpressionUUID->"905c9ad7-8258-45b1-b64f-2d576f63cf20"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"ToGoodC", "[", "exp_", "]"}], ":=", + RowBox[{"Module", "[", + RowBox[{ + RowBox[{"{", "oexp", "}"}], ",", " ", + RowBox[{ + RowBox[{"oexp", "=", + RowBox[{"Experimental`OptimizeExpression", "[", "exp", "]"}]}], ";", + "\[IndentingNewLine]", + RowBox[{"If", "[", + RowBox[{ + RowBox[{ + RowBox[{ + RowBox[{"Dimensions", " ", "[", + RowBox[{ + RowBox[{"StringPosition", "[", + RowBox[{ + RowBox[{"ToString", "[", + RowBox[{"InputForm", "[", "oexp", "]"}], "]"}], ",", + "\"\\""}], "]"}], ",", "1"}], "]"}], "[", + RowBox[{"[", "1", "]"}], "]"}], ">", "0"}], ",", + RowBox[{"Block", "[", + RowBox[{ + RowBox[{"{", " ", + RowBox[{"locals", ",", " ", "code"}], "}"}], ",", + RowBox[{ + RowBox[{ + RowBox[{"{", + RowBox[{"locals", ",", "code"}], "}"}], "=", + RowBox[{"ReleaseHold", "[", + RowBox[{ + RowBox[{"(", + RowBox[{"Hold", "@@", "oexp"}], ")"}], "/.", + RowBox[{ + RowBox[{ + RowBox[{"Verbatim", "[", "Block", "]"}], "[", + RowBox[{"vars_", ",", "seq_"}], "]"}], "\[RuleDelayed]", + RowBox[{"{", + RowBox[{"vars", ",", + RowBox[{"Hold", "[", "seq", "]"}]}], "}"}]}]}], "]"}]}], ";", + + RowBox[{"ToString", "[", + RowBox[{"CForm", "[", "code", "]"}], "]"}]}]}], "]"}], + "\[IndentingNewLine]", ",", " ", + RowBox[{"ToString", "[", + RowBox[{"CForm", "[", "exp", "]"}], "]"}]}], "]"}]}]}], + "]"}]}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{"str_", ",", "file_"}], "]"}], ":=", + RowBox[{"Module", "[", + RowBox[{ + RowBox[{"{", "stream", "}"}], ",", + RowBox[{ + RowBox[{"stream", "=", + RowBox[{"OpenWrite", "[", "file", "]"}]}], ";", + RowBox[{"WriteString", "[", + RowBox[{"stream", ",", "str"}], "]"}], ";", + RowBox[{"Close", "[", "stream", "]"}], ";"}]}], "]"}]}]}], "Input", + InitializationCell->True, + CellChangeTimes->{ + 3.568440350374321*^9, {3.56844481385726*^9, 3.56844481884285*^9}, { + 3.568446816971497*^9, 3.568446831371454*^9}, {3.56844689667688*^9, + 3.568446897039928*^9}, {3.571133081827365*^9, 3.571133085326789*^9}}, + CellLabel-> + "In[178]:=",ExpressionUUID->"a7b9df83-8379-4a26-b658-cd16a2c680e3"] +}, Open ]], + +Cell["Beginning of stuff", "Title", + CellChangeTimes->{{3.5951624112710238`*^9, 3.5951624314967413`*^9}, + 3.595309863589487*^9},ExpressionUUID->"243eeb2a-7eb6-46c5-afb4-\ +9166e290b8da"], + +Cell["State", "Subsubtitle", + CellChangeTimes->{{3.5732982476551723`*^9, + 3.573298257964068*^9}},ExpressionUUID->"934e8056-77ed-401a-af0c-\ +38f7a1beea69"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"X", "=", + RowBox[{"Table", "[", + RowBox[{ + RowBox[{"x", "[", "i", "]"}], ",", + RowBox[{"{", + RowBox[{"i", ",", "1", ",", "26"}], "}"}]}], "]"}]}], ";"}]], "Input", + CellChangeTimes->{{3.5732982634483347`*^9, 3.573298275094433*^9}, { + 3.606108793708241*^9, 3.6061087941202383`*^9}}, + CellLabel-> + "In[180]:=",ExpressionUUID->"89e76b07-ca4f-4879-a9de-3406cd562327"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"SW", "=", + RowBox[{"X", "[", + RowBox[{"[", + RowBox[{"1", ";;", "3"}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"QWS", "=", + RowBox[{"X", "[", + RowBox[{"[", + RowBox[{"4", ";;", "7"}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"VS", "=", + RowBox[{"X", "[", + RowBox[{"[", + RowBox[{"8", ";;", "10"}], "]"}], "]"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"WS", "=", + RowBox[{"X", "[", + RowBox[{"[", + RowBox[{"11", ";;", "13"}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"AS", "=", + RowBox[{"X", "[", + RowBox[{"[", + RowBox[{"14", ";;", "16"}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"ALPHAS", "=", + RowBox[{"X", "[", + RowBox[{"[", + RowBox[{"17", ";;", "19"}], "]"}], "]"}]}], ";"}]}], "Input", + CellChangeTimes->{{3.632463823621646*^9, 3.632463843454915*^9}, { + 3.632463896430626*^9, 3.632463897928619*^9}, {3.632464021491871*^9, + 3.632464039150372*^9}, {3.6324668182980833`*^9, 3.6324668268371*^9}, { + 3.63248479427204*^9, 3.632484802957326*^9}, {3.6324860670961533`*^9, + 3.6324860672576303`*^9}, 3.6324863191229258`*^9, {3.632487946501395*^9, + 3.6324879678038177`*^9}, {3.632488008725754*^9, 3.632488019377554*^9}}, + CellLabel-> + "In[181]:=",ExpressionUUID->"0f88cdc1-a39e-4d13-b528-8472e029b05f"], + +Cell["Parameters", "Subsubtitle", + CellChangeTimes->{{3.576920320535687*^9, + 3.576920325728017*^9}},ExpressionUUID->"a1d3915d-f613-4425-8a04-\ +fe27c5187298"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"h0", " ", "=", + RowBox[{"set1", "[", "1", "]"}]}], ";", + RowBox[{"(*", " ", + RowBox[{ + "base", " ", "point", " ", "altitude", " ", "above", " ", "sea", " ", + "level"}], " ", "*)"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"T0", "=", + RowBox[{"set1", "[", "2", "]"}]}], ";", " ", + RowBox[{"(*", " ", + RowBox[{ + "ambient", " ", "temperature", " ", "at", " ", "mean", " ", "sea", " ", + "level"}], " ", "*)"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"p0", "=", + RowBox[{"set1", "[", "3", "]"}]}], ";", " ", + RowBox[{"(*", " ", + RowBox[{"pressure", " ", "at", " ", "sea", " ", "level"}], " ", "*)"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"a", " ", "=", " ", + RowBox[{ + RowBox[{"-", "6.5"}], " ", + RowBox[{"10", "^", + RowBox[{"-", "3"}]}]}]}], ";", " ", + RowBox[{"(*", " ", + RowBox[{"temperature", " ", "gradient"}], " ", "*)"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"Ra", " ", "=", " ", "287.05"}], ";"}], " ", + RowBox[{"(*", " ", + RowBox[{"gas", " ", "constant", " ", "for", " ", "air"}], " ", "*)"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"g", "=", " ", + RowBox[{"gravity", "[", "1", "]"}]}], ";", " ", + RowBox[{"(*", " ", "gravity", " ", "*)"}], ";"}], " ", + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"CFT1", "=", + RowBox[{"set2", "[", "1", "]"}]}], ";", " ", + RowBox[{"(*", " ", + RowBox[{"thrust", " ", "force", " ", "coefficients"}], "*)"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"CFT2", "=", + RowBox[{"set2", "[", "2", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"CFT3", "=", + RowBox[{"set2", "[", "3", "]"}]}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"CFX1", "=", + RowBox[{"set2", "[", "4", "]"}]}], ";", " ", + RowBox[{"(*", " ", + RowBox[{"drag", " ", "force", " ", "coefficients"}], " ", "*)"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"CFXalpha1", " ", "=", " ", + RowBox[{"set2", "[", "5", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"CFXalpha2", " ", "=", " ", + RowBox[{"set2", "[", "6", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"CFXbeta2", " ", "=", " ", + RowBox[{"set2", "[", "7", "]"}]}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"CFY1", "=", + RowBox[{"set2", "[", "8", "]"}]}], ";", " ", + RowBox[{"(*", " ", + RowBox[{"lateral", " ", "force", " ", "coefficient"}], " ", "*)"}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"CFZ1", "=", + RowBox[{"set2", "[", "9", "]"}]}], ";", " ", + RowBox[{"(*", " ", + RowBox[{"lift", " ", "force", " ", "coefficients"}], " ", "*)"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"CFZalpha", "=", + RowBox[{"set2", "[", "10", "]"}]}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"CMXa", "=", + RowBox[{"set2", "[", "11", "]"}]}], ";", + RowBox[{"(*", " ", + RowBox[{"roll", " ", "moment", " ", "coefficients"}], " ", "*)"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"CMXbeta", "=", + RowBox[{"set2", "[", "12", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"CMX\[Omega]tildex", "=", + RowBox[{"set2", "[", "13", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"CMX\[Omega]tildez", "=", + RowBox[{"set2", "[", "14", "]"}]}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"CMY1", "=", + RowBox[{"set2", "[", "15", "]"}]}], ";", + RowBox[{"(*", " ", + RowBox[{"pitch", " ", "moment", " ", "coefficients"}], " ", "*)"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"CMYe", "=", + RowBox[{"set2", "[", "16", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"CMY\[Omega]tildey", "=", + RowBox[{"set2", "[", "17", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"CMYalpha", "=", + RowBox[{"set2", "[", "18", "]"}]}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"CMZr", "=", + RowBox[{"set2", "[", "19", "]"}]}], ";", " ", + RowBox[{"(*", " ", + RowBox[{"yaw", " ", "moment", " ", "coefficients"}], " ", "*)"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"CMZ\[Omega]tildez", "=", + RowBox[{"set2", "[", "20", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"CMZbeta", "=", + RowBox[{"set2", "[", "21", "]"}]}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"cbar", " ", "=", " ", + RowBox[{"set2", "[", "22", "]"}]}], ";", " ", + RowBox[{"(*", " ", + RowBox[{"mean", " ", "aereodynamic", " ", "chord"}], " ", "*)"}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"PD", "=", + RowBox[{"set2", "[", "23", "]"}]}], ";", " ", + RowBox[{"(*", " ", + RowBox[{"propeller", " ", "diemater"}], " ", "*)"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"S", "=", + RowBox[{"set2", "[", "24", "]"}]}], ";", " ", + RowBox[{"(*", " ", + RowBox[{"wing", " ", "surface"}], " ", "*)"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"b", "=", + RowBox[{"set2", "[", "25", "]"}]}], ";", " ", + RowBox[{"(*", " ", + RowBox[{"wind", " ", "span"}], " ", "*)"}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"m", " ", "=", " ", + RowBox[{"set2", "[", "26", "]"}]}], ";", " ", + RowBox[{"(*", " ", "mass", " ", "*)"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Ixx", "=", + RowBox[{"set2", "[", "27", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Iyy", "=", + RowBox[{"set2", "[", "28", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Izz", " ", "=", + RowBox[{"set2", "[", "29", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Ixz", "=", + RowBox[{"set2", "[", "30", "]"}]}], ";"}]}], "Input", + CellChangeTimes->{{3.630156966488817*^9, 3.630156997327407*^9}, { + 3.630240787595443*^9, 3.630240871119405*^9}, {3.632462563480411*^9, + 3.6324626574790983`*^9}, {3.6324627822557497`*^9, + 3.6324627840911913`*^9}, {3.6324628429667397`*^9, 3.632462845395872*^9}, { + 3.632463452013672*^9, 3.632463468595188*^9}, {3.6324635424969807`*^9, + 3.632463578847823*^9}, {3.6324638570723257`*^9, 3.632463892398457*^9}, + 3.6324640836270533`*^9, {3.632465074140349*^9, 3.632465180642975*^9}, { + 3.632465229204035*^9, 3.632465255301177*^9}, {3.632465722100479*^9, + 3.632465736568845*^9}, {3.6324658501384373`*^9, 3.632465874972086*^9}, { + 3.632466231247014*^9, 3.6324662436985607`*^9}, {3.632466293804319*^9, + 3.63246666807226*^9}, {3.632466702556988*^9, 3.632466739506076*^9}, { + 3.6324669714561977`*^9, 3.632466989419321*^9}, {3.6324671749054317`*^9, + 3.632467191927196*^9}, {3.632467242245677*^9, 3.632467340635708*^9}, { + 3.632467371717039*^9, 3.632467375747436*^9}, {3.6324674914282084`*^9, + 3.632467492058816*^9}, {3.6324735043656588`*^9, 3.632473540164185*^9}, + 3.632473659229198*^9, {3.6324739348426247`*^9, 3.632473970395046*^9}, { + 3.632474373588602*^9, 3.63247449276618*^9}, {3.632484917459989*^9, + 3.6324849486938457`*^9}, {3.632485035091144*^9, 3.632485038949534*^9}, { + 3.6324859054962873`*^9, 3.632485963402033*^9}, {3.632486128812416*^9, + 3.632486192068241*^9}, {3.6325479968094463`*^9, 3.632548014105666*^9}, { + 3.6325480606534348`*^9, 3.632548077440715*^9}, {3.632563365761787*^9, + 3.6325633685352783`*^9}, {3.634301394539613*^9, 3.6343014011226387`*^9}, { + 3.6343016879675493`*^9, 3.634301688364636*^9}, {3.63430226729615*^9, + 3.634302271560999*^9}, 3.634302333067884*^9, 3.634303000998124*^9, { + 3.634303882252087*^9, 3.634303882568714*^9}, 3.634303913676345*^9, { + 3.7715699472059917`*^9, 3.771569949298133*^9}}, + CellLabel-> + "In[187]:=",ExpressionUUID->"33f47236-ad3c-4a61-8f93-8222aa6cc9fa"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{ + RowBox[{"IB", "=", + RowBox[{"{", + RowBox[{ + RowBox[{"{", + RowBox[{"Ixx", ",", "0", ",", "Ixz"}], "}"}], ",", + RowBox[{"{", + RowBox[{"0", ",", "Iyy", ",", "0"}], "}"}], ",", + RowBox[{"{", + RowBox[{"Ixz", ",", "0", ",", "Izz"}], "}"}]}], "}"}]}], ";", " ", + RowBox[{"(*", " ", + RowBox[{"Inertia", " ", "matrix"}], " ", "*)"}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Set1", "=", + RowBox[{"Table", "[", + RowBox[{ + RowBox[{"set1", "[", "i", "]"}], ",", + RowBox[{"{", + RowBox[{"i", ",", "1", ",", "3"}], "}"}]}], "]"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Set2", "=", + RowBox[{"Table", "[", + RowBox[{ + RowBox[{"set2", "[", "i", "]"}], ",", + RowBox[{"{", + RowBox[{"i", ",", "1", ",", "30"}], "}"}]}], "]"}]}], ";"}]}], "Input", + CellChangeTimes->{{3.6324667198820887`*^9, 3.632466771730083*^9}, { + 3.6324745054453506`*^9, 3.632474645927088*^9}, {3.6324746840634813`*^9, + 3.6324746893289757`*^9}, {3.632484902639776*^9, 3.6324849084840813`*^9}, { + 3.6324849547663603`*^9, 3.632485026020185*^9}, {3.632485970613168*^9, + 3.6324859838780127`*^9}, {3.632486046079789*^9, 3.632486046409316*^9}, { + 3.632486196852049*^9, 3.632486214881503*^9}, 3.6325480929677277`*^9, { + 3.6325633642283154`*^9, 3.632563371518127*^9}}, + CellLabel-> + "In[223]:=",ExpressionUUID->"53a40cfc-f0e8-4e44-9f25-b052baa99c29"], + +Cell[BoxData[ + RowBox[{ + RowBox[{ + RowBox[{"WINDW", "=", + RowBox[{"Table", "[", + RowBox[{ + RowBox[{"wind", "[", "i", "]"}], ",", + RowBox[{"{", + RowBox[{"i", ",", "1", ",", "3"}], "}"}]}], "]"}]}], ";"}], + RowBox[{"(*", " ", + RowBox[{"wind", " ", "speed", " ", "in", " ", "world", " ", "frame"}], " ", + "*)"}]}]], "Input", + CellLabel-> + "In[226]:=",ExpressionUUID->"be98cbcc-62a9-4b36-a592-7c1827bbba19"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{ + RowBox[{"n", " ", "=", " ", + RowBox[{"z", "[", "1", "]"}]}], ";"}], " ", + RowBox[{"(*", " ", + RowBox[{"propeller", " ", "speed"}], " ", "*)"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"\[Delta]a", "=", + RowBox[{"z", "[", "2", "]"}]}], ";", + RowBox[{"(*", " ", + RowBox[{"aileron", " ", "deflection"}], " ", "*)"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"\[Delta]e", "=", + RowBox[{"z", "[", "3", "]"}]}], ";", + RowBox[{"(*", " ", + RowBox[{"elevator", " ", "deflection"}], " ", "*)"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{ + RowBox[{"\[Delta]r", "=", + RowBox[{"z", "[", "4", "]"}]}], ";"}], + RowBox[{"(*", " ", + RowBox[{"rudder", " ", "deflection"}], " ", "*)"}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Z", "=", + RowBox[{"Table", "[", + RowBox[{ + RowBox[{"z", "[", "i", "]"}], ",", + RowBox[{"{", + RowBox[{"i", ",", "1", ",", "4"}], "}"}]}], "]"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"NOISES", "=", + RowBox[{"Table", "[", + RowBox[{ + RowBox[{"eta", "[", "i", "]"}], ",", + RowBox[{"{", + RowBox[{"i", ",", "1", ",", "6"}], "}"}]}], "]"}]}], ";"}]}], "Input", + CellChangeTimes->{{3.632466994423296*^9, 3.6324670023447437`*^9}, { + 3.6324673568630743`*^9, 3.632467391423369*^9}, {3.632473596617989*^9, + 3.632473628189311*^9}, {3.6324860167895203`*^9, 3.6324860253571453`*^9}, { + 3.6324862298118343`*^9, 3.632486253278077*^9}, {3.632488200362911*^9, + 3.632488217048265*^9}}, + CellLabel-> + "In[227]:=",ExpressionUUID->"3db40cdd-aae8-4aed-bbcf-7b6c917acc34"], + +Cell["Equations", "Subsubtitle", + CellChangeTimes->{{3.573298514193714*^9, 3.5732985158016453`*^9}, { + 3.5814133864550056`*^9, 3.581413389613989*^9}, 3.5814150402587423`*^9, { + 3.600064344573599*^9, + 3.600064346732829*^9}},ExpressionUUID->"3a22e419-d65c-4c9e-84c6-\ +863e409e519a"], + +Cell["\<\ +NED to ENU orientation conversion (this model is in NED, RF internals are ENU)\ +\>", "Text", + CellChangeTimes->{{3.6324737754609947`*^9, 3.632473779006583*^9}, { + 3.6328201201544*^9, 3.632820133125803*^9}, {3.6328204555425043`*^9, + 3.63282045690169*^9}},ExpressionUUID->"58ebbe4e-85bd-47cd-b927-\ +8039f9c2d955"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"RNEDENU", "=", + RowBox[{"{", + RowBox[{ + RowBox[{"{", + RowBox[{"0", ",", "1", ",", "0"}], "}"}], ",", + RowBox[{"{", + RowBox[{"1", ",", "0", ",", "0"}], "}"}], ",", + RowBox[{"{", + RowBox[{"0", ",", "0", ",", + RowBox[{"-", "1"}]}], "}"}]}], "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.632820134921884*^9, 3.632820163656551*^9}}, + CellLabel-> + "In[233]:=",ExpressionUUID->"e4cd07b0-b7a6-476f-a82d-1ad870ed93c3"], + +Cell["Air density model", "Text", + CellChangeTimes->{{3.632464865348349*^9, 3.632464865838887*^9}, { + 3.632464907969676*^9, + 3.632464942989243*^9}},ExpressionUUID->"9ac0d911-0e84-4579-bcb9-\ +2110f48ca902"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"T", "=", + RowBox[{"T0", + RowBox[{"(", + RowBox[{"1", "+", + RowBox[{"a", " ", + RowBox[{ + RowBox[{"(", + RowBox[{"h0", "+", + RowBox[{"SW", "[", + RowBox[{"[", "3", "]"}], "]"}]}], ")"}], "/", "T0"}]}]}], + ")"}]}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"\[Rho]", "=", + RowBox[{ + RowBox[{"p0", + RowBox[{ + RowBox[{ + RowBox[{"(", + RowBox[{"1", "+", + RowBox[{"a", + RowBox[{ + RowBox[{"(", + RowBox[{"h0", "+", + RowBox[{"SW", "[", + RowBox[{"[", "3", "]"}], "]"}]}], ")"}], "/", "T0"}]}]}], ")"}], + "^", "5.2561"}], "/", + RowBox[{"(", + RowBox[{"Ra", " ", "T"}], ")"}]}]}], "//", "FullSimplify"}]}], + ";"}]}], "Input", + CellChangeTimes->{{3.632462276976709*^9, 3.632462293513674*^9}, { + 3.63246255070463*^9, 3.63246255752766*^9}, {3.632462666581998*^9, + 3.632462767916204*^9}, 3.632462848468005*^9, {3.632462884866085*^9, + 3.632463087325437*^9}, {3.632464836860113*^9, 3.632464838151527*^9}, { + 3.6324649483473377`*^9, 3.632464955096529*^9}, {3.632473673346718*^9, + 3.6324736736899147`*^9}, {3.632484816779133*^9, 3.632484818831092*^9}, { + 3.6324860751887093`*^9, 3.6324860763421392`*^9}, {3.6326351738117943`*^9, + 3.632635175495201*^9}, {3.634305313267096*^9, 3.634305315999455*^9}, + 3.771231605060816*^9, {3.7713227938461018`*^9, 3.771322795852179*^9}}, + CellLabel-> + "In[234]:=",ExpressionUUID->"9f81cfa6-a749-4450-bfb3-736066b50bce"], + +Cell["Airspeed", "Text", + CellChangeTimes->{{3.6324649632440243`*^9, + 3.6324649676453876`*^9}},ExpressionUUID->"656d798c-a5c9-4cc6-a1dd-\ +06c8dc6c6565"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"AIRS", "=", + RowBox[{"VS", "-", + RowBox[{ + RowBox[{"QuatToRot", "[", + RowBox[{"QuatInv", "[", "QWS", "]"}], "]"}], ".", "WINDW"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"\[Alpha]", "=", + RowBox[{"ArcTan", "[", + RowBox[{ + RowBox[{"AIRS", "[", + RowBox[{"[", "1", "]"}], "]"}], ",", + RowBox[{"AIRS", "[", + RowBox[{"[", "3", "]"}], "]"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"\[Beta]", "=", + RowBox[{"ArcSin", "[", + RowBox[{ + RowBox[{"AIRS", "[", + RowBox[{"[", "2", "]"}], "]"}], "/", + RowBox[{"L2", "[", "AIRS", "]"}]}], "]"}]}], ";"}], " ", + "\[IndentingNewLine]", + RowBox[{"(*", " ", + RowBox[{"dynamic", " ", "pressure"}], " ", "*)"}]}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"qbar", "=", + RowBox[{"\[Rho]", " ", + RowBox[{ + RowBox[{ + RowBox[{"L2", "[", "AIRS", "]"}], "^", "2"}], "/", "2"}]}]}], + ";"}]}], "Input", + CellChangeTimes->{{3.632463641043902*^9, 3.632463700014979*^9}, { + 3.632463760723637*^9, 3.6324638026841*^9}, {3.6324638481892347`*^9, + 3.6324638485511303`*^9}, {3.632464012285355*^9, 3.6324640922581472`*^9}, { + 3.63246427497224*^9, 3.6324645819649153`*^9}, {3.632464802514184*^9, + 3.632464847852816*^9}, {3.632464958182373*^9, 3.632464975561612*^9}, { + 3.632548707477417*^9, 3.632548715250105*^9}}, + CellLabel-> + "In[236]:=",ExpressionUUID->"29b01d2f-83ef-4d5a-8a25-69d70c2e9207"], + +Cell["Wind frame ", "Text", + CellChangeTimes->{{3.6324649823613243`*^9, + 3.6324649864149113`*^9}},ExpressionUUID->"7aa4501a-e764-4f85-8410-\ +73dc94387049"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"RWINDS", "=", + RowBox[{ + RowBox[{"RotationMatrix", "[", + RowBox[{ + RowBox[{"-", "\[Beta]"}], ",", + RowBox[{"{", + RowBox[{"0", ",", "0", ",", "1"}], "}"}]}], "]"}], ".", + RowBox[{"RotationMatrix", "[", + RowBox[{"\[Alpha]", ",", + RowBox[{"{", + RowBox[{"0", ",", "1", ",", "0"}], "}"}]}], "]"}]}]}], ";"}]], "Input",\ + + CellChangeTimes->{{3.6324646247401857`*^9, 3.632464632600142*^9}, { + 3.632464680101325*^9, 3.632464784467514*^9}, {3.6324649794605837`*^9, + 3.6324649904896584`*^9}, {3.632474117326888*^9, 3.632474118720315*^9}, { + 3.632474151294368*^9, 3.6324741531255283`*^9}, {3.63257138686383*^9, + 3.632571433828497*^9}, {3.632571484241777*^9, 3.632571500711404*^9}, { + 3.634300370544889*^9, 3.634300375506771*^9}}, + CellLabel-> + "In[240]:=",ExpressionUUID->"dbea6cef-0336-433e-92e3-cc59b4a69219"], + +Cell["Trust force", "Text", + CellChangeTimes->{{3.632464997924268*^9, + 3.63246500193495*^9}},ExpressionUUID->"15e73123-e84e-4360-b55b-\ +334ef918a821"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"(*", + RowBox[{ + RowBox[{ + RowBox[{ + "this", " ", "can", " ", "cause", " ", "division", " ", "by", " ", + "zero", "\[IndentingNewLine]", + RowBox[{"CFT", "[", "J_", "]"}]}], ":=", + RowBox[{"CFT1", "+", + RowBox[{"CFT2", " ", "J"}], "+", " ", + RowBox[{"CFT3", " ", + RowBox[{"J", "^", "2"}]}]}]}], ";", "\[IndentingNewLine]", + RowBox[{"FT", "=", + RowBox[{"\[Rho]", " ", + RowBox[{"n", "^", "2"}], " ", + RowBox[{"PD", "^", "4"}], " ", + RowBox[{"CFT", "[", + RowBox[{ + RowBox[{"L2", "[", "AIRS", "]"}], "/", + RowBox[{"(", + RowBox[{"PD", " ", "\[Pi]", " ", "n"}], ")"}]}], "]"}]}]}], ";"}], + "*)"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"FT", "=", + RowBox[{"\[Rho]", " ", + RowBox[{"PD", "^", "2"}], " ", + RowBox[{"(", + RowBox[{ + RowBox[{"CFT1", " ", + RowBox[{"PD", "^", "2"}], " ", + RowBox[{"n", "^", "2"}]}], " ", "+", " ", + RowBox[{"CFT2", " ", "PD", " ", "n", " ", + RowBox[{ + RowBox[{"L2", "[", "AIRS", "]"}], "/", "\[Pi]"}]}], "+", + RowBox[{"CFT3", " ", + RowBox[{ + RowBox[{ + RowBox[{"L2", "[", "AIRS", "]"}], "^", "2"}], "/", + RowBox[{"\[Pi]", "^", "2"}]}]}]}], ")"}]}]}], ";"}]}]], "Input", + CellChangeTimes->{{3.6324630957984457`*^9, 3.6324631592841997`*^9}, { + 3.63246362407451*^9, 3.632463645243698*^9}, {3.632464992403228*^9, + 3.632465054737678*^9}, {3.632465263450095*^9, 3.6324652660503607`*^9}, + 3.632465322251411*^9, 3.632548717997613*^9, 3.634980291260788*^9, { + 3.634980577412641*^9, 3.6349807142179937`*^9}, 3.6349807576397457`*^9, { + 3.6349808735654984`*^9, 3.634980887899046*^9}, {3.634982313791176*^9, + 3.634982334481447*^9}, {3.634988395067772*^9, 3.634988403877116*^9}}, + CellLabel-> + "In[241]:=",ExpressionUUID->"176642b9-ef21-428e-bda6-88b3064f0fe2"], + +Cell["Drag force", "Text", + CellChangeTimes->{{3.632465883892436*^9, + 3.632465884995759*^9}},ExpressionUUID->"ac9144ba-14f4-4cb2-9d7c-\ +1b84aa717d7b"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"CFX", "=", + RowBox[{"CFX1", "+", + RowBox[{"CFXalpha1", " ", "\[Alpha]"}], "+", + RowBox[{"CFXalpha2", " ", + RowBox[{"\[Alpha]", "^", "2"}]}], "+", + RowBox[{"CFXbeta2", " ", + RowBox[{"\[Beta]", "^", "2"}]}]}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"FWX", "=", + RowBox[{"qbar", " ", "S", " ", "CFX"}]}], ";"}]}], "Input", + CellChangeTimes->{{3.632465900598139*^9, 3.63246595313962*^9}, { + 3.632466061225836*^9, 3.632466070531445*^9}, 3.632474180051531*^9, { + 3.632486333812204*^9, 3.632486338262673*^9}}, + CellLabel-> + "In[242]:=",ExpressionUUID->"f4931c36-9cb3-41d5-9636-f3fbcef428c9"], + +Cell["Lateral force", "Text", + CellChangeTimes->{{3.63246580061057*^9, + 3.632465802148518*^9}},ExpressionUUID->"57ce017d-559b-4d58-ba18-\ +1e7631c436d9"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"CFY", "=", + RowBox[{"CFY1", " ", "\[Beta]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"FWY", "=", + RowBox[{"qbar", " ", "S", " ", "CFY"}]}], ";"}]}], "Input", + CellChangeTimes->{{3.632465807062015*^9, 3.63246584035797*^9}}, + CellLabel-> + "In[244]:=",ExpressionUUID->"63203ee0-9601-47b1-9606-b67b10ce9a46"], + +Cell["Lift force", "Text", + CellChangeTimes->{{3.6324653247972507`*^9, + 3.6324653267561407`*^9}},ExpressionUUID->"4432b235-bb2b-4e9d-87f8-\ +55bf93c648df"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"CFZ", "=", + RowBox[{"CFZ1", "+", + RowBox[{"CFZalpha", " ", "\[Alpha]"}]}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"FWZ", "=", + RowBox[{"qbar", " ", "S", " ", "CFZ"}]}], ";"}]}], "Input", + CellChangeTimes->{{3.6324653325318327`*^9, 3.632465404457531*^9}, { + 3.632465682669859*^9, 3.6324656933429127`*^9}, {3.632465792314137*^9, + 3.632465798108323*^9}}, + CellLabel-> + "In[246]:=",ExpressionUUID->"c73ee33c-6f07-4ea9-82e2-0f37fad73c8e"], + +Cell["Roll moment", "Text", + CellChangeTimes->{{3.632466790216868*^9, + 3.632466796296864*^9}},ExpressionUUID->"3b78e61b-a31c-43c6-949c-\ +8ab46a558347"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"\[Omega]tildex", "=", " ", + RowBox[{"b", " ", + RowBox[{ + RowBox[{"WS", "[", + RowBox[{"[", "1", "]"}], "]"}], "/", + RowBox[{"(", + RowBox[{"2", " ", + RowBox[{"L2", "[", "AIRS", "]"}]}], ")"}]}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"\[Omega]tildez", "=", + RowBox[{"b", " ", + RowBox[{ + RowBox[{"WS", "[", + RowBox[{"[", "3", "]"}], "]"}], "/", + RowBox[{"(", + RowBox[{"2", " ", + RowBox[{"L2", "[", "AIRS", "]"}]}], ")"}]}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"CMX", "=", + RowBox[{ + RowBox[{"CMXa", " ", "\[Delta]a"}], " ", "+", + RowBox[{"CMXbeta", " ", "\[Beta]"}], "+", + RowBox[{"CMX\[Omega]tildex", " ", "\[Omega]tildex"}], " ", "+", + RowBox[{"CMX\[Omega]tildez", " ", "\[Omega]tildez"}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MBX", "=", + RowBox[{"qbar", " ", "S", " ", "b", " ", "CMX"}]}], ";"}]}], "Input", + CellChangeTimes->{{3.632466801116767*^9, 3.6324669518785152`*^9}, { + 3.632467018819668*^9, 3.632467037920843*^9}, {3.632467073135228*^9, + 3.632467123591279*^9}, {3.6324674621580877`*^9, 3.632467462850863*^9}, { + 3.6324862875540953`*^9, 3.6324862888104773`*^9}, {3.6325487193918743`*^9, + 3.632548719873026*^9}, 3.634292400473446*^9}, + CellLabel-> + "In[248]:=",ExpressionUUID->"7be4a0a1-b2c0-4d7b-b564-9f92dabf375f"], + +Cell["Pitch moment", "Text", + CellChangeTimes->{{3.632467155741108*^9, + 3.632467157541481*^9}},ExpressionUUID->"78b600c8-17c9-43b2-8561-\ +39fdff7b92e4"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"\[Omega]tildey", "=", + RowBox[{"cbar", " ", + RowBox[{ + RowBox[{"WS", "[", + RowBox[{"[", "2", "]"}], "]"}], "/", + RowBox[{"(", + RowBox[{"2", " ", + RowBox[{"L2", "[", "AIRS", "]"}]}], ")"}]}]}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"CMY", "=", + RowBox[{"CMY1", "+", + RowBox[{"CMYe", " ", "\[Delta]e"}], " ", "+", + RowBox[{"CMY\[Omega]tildey", " ", "\[Omega]tildey"}], "+", + RowBox[{"CMYalpha", " ", "\[Alpha]"}]}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MBY", "=", + RowBox[{"qbar", " ", "S", " ", "cbar", " ", "CMY"}]}], ";"}]}], "Input", + CellChangeTimes->{{3.632467408804394*^9, 3.632467485452004*^9}, { + 3.6324734635941877`*^9, 3.6324734804954777`*^9}, {3.632486355640251*^9, + 3.632486356968248*^9}, 3.6325487214032393`*^9}, + CellLabel-> + "In[252]:=",ExpressionUUID->"4ce3e11d-b2d8-42df-94f3-f44671feb140"], + +Cell["Yaw moment", "Text", + CellChangeTimes->{{3.6324733890787363`*^9, + 3.632473392049634*^9}},ExpressionUUID->"c302290e-b2df-4299-8d3e-\ +f59d1fc850b6"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"CMZ", " ", "=", " ", + RowBox[{ + RowBox[{"CMZr", " ", "\[Delta]r"}], " ", "+", " ", + RowBox[{"CMZ\[Omega]tildez", " ", "\[Omega]tildez"}], " ", "+", + RowBox[{"CMZbeta", " ", "\[Beta]"}]}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MBZ", "=", + RowBox[{"qbar", " ", "S", " ", "b", " ", "CMZ"}]}], ";"}]}], "Input", + CellChangeTimes->{{3.6324733978818483`*^9, 3.632473492292446*^9}, + 3.632473773078868*^9, 3.632486362438322*^9, {3.632734158387792*^9, + 3.632734159678158*^9}}, + CellLabel-> + "In[255]:=",ExpressionUUID->"1a28b43d-e9a2-4ebf-8251-f3ab2ddb7786"], + +Cell["Error equations", "Text", + CellChangeTimes->{{3.6324737754609947`*^9, + 3.632473779006583*^9}},ExpressionUUID->"4ba37bc9-3ca4-4415-be72-\ +e388f0dad47a"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"Ahatlong", "=", + RowBox[{ + RowBox[{ + RowBox[{"QuatToRot", "[", + RowBox[{"QuatInv", "[", "QWS", "]"}], "]"}], ".", + RowBox[{"{", + RowBox[{"0", ",", "0", ",", + RowBox[{"-", "g"}]}], "}"}]}], "+", + RowBox[{ + RowBox[{"1", "/", "m"}], " ", + RowBox[{"(", + RowBox[{ + RowBox[{"{", + RowBox[{"FT", ",", "0", ",", "0"}], "}"}], "+", + RowBox[{ + RowBox[{"Transpose", "[", "RWINDS", "]"}], ".", + RowBox[{"{", + RowBox[{"FWX", ",", "FWY", ",", "FWZ"}], "}"}]}]}], ")"}]}]}]}], + RowBox[{"(*", + RowBox[{"-", + RowBox[{"WS", "\[Cross]", "VS"}]}], "*)"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"AlphaHatlong", "=", " ", + RowBox[{ + RowBox[{"Inverse", "[", "IB", "]"}], ".", + RowBox[{"(", + RowBox[{ + RowBox[{"{", + RowBox[{"MBX", ",", "MBY", ",", "MBZ"}], "}"}], "-", + RowBox[{"WS", "\[Cross]", + RowBox[{"(", + RowBox[{"IB", ".", "WS"}], ")"}]}]}], ")"}]}]}], ";"}]}], "Input", + CellChangeTimes->{{3.632473782667057*^9, 3.632473783948543*^9}, { + 3.632473980553233*^9, 3.632474122781205*^9}, {3.632474156463627*^9, + 3.6324741654080887`*^9}, {3.632474242482204*^9, 3.632474271983945*^9}, { + 3.6324746531850758`*^9, 3.632474665303821*^9}, {3.632474712022402*^9, + 3.632474752296493*^9}, {3.6324863716442823`*^9, 3.632486373451024*^9}, { + 3.6324864511201982`*^9, 3.632486454813035*^9}, {3.6324869920050364`*^9, + 3.632486995777545*^9}, 3.632572048567833*^9, {3.632820407426373*^9, + 3.632820415425437*^9}, {3.6330662719267473`*^9, 3.633066275128694*^9}, + 3.6330672246184607`*^9, {3.633067323386444*^9, 3.633067323446558*^9}, { + 3.633668520364181*^9, 3.6336685404354343`*^9}, {3.6336692322822113`*^9, + 3.633669235904211*^9}, {3.6342782924356194`*^9, 3.634278296987405*^9}, { + 3.6342783329840317`*^9, 3.6342783528443823`*^9}, {3.6344523148400803`*^9, + 3.634452317130845*^9}}, + CellLabel-> + "In[257]:=",ExpressionUUID->"fe419f0a-adf5-43af-9f08-7b8a7f19180b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"(*", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Ahat", "=", + RowBox[{"SimplifyQLite", "[", + RowBox[{"Ahatlong", ",", + RowBox[{"{", "QWS", "}"}], ",", + RowBox[{"{", + RowBox[{"AreReals", "[", + RowBox[{"{", + RowBox[{ + "Set1", ",", "Set2", ",", "SW", ",", "VS", ",", "WS", ",", + "WINDW"}], "}"}], "]"}], "}"}]}], "]"}]}], ";", + "\[IndentingNewLine]", + RowBox[{"Alphahat", "=", + RowBox[{"SimplifyQLite", "[", + RowBox[{"AlphaHatlong", ",", + RowBox[{"{", "QWS", "}"}], ",", + RowBox[{"{", + RowBox[{"AreReals", "[", + RowBox[{"{", + RowBox[{ + "Set1", ",", "Set2", ",", "SW", ",", "VS", ",", "WS", ",", + "WINDW"}], "}"}], "]"}], "}"}]}], "]"}]}], ";"}], + "\[IndentingNewLine]", "*)"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"Ahat", "=", "Ahatlong"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Alphahat", "=", "AlphaHatlong"}], ";"}], + "\[IndentingNewLine]"}]}]], "Input", + CellChangeTimes->{{3.632486455549663*^9, 3.6324865144132833`*^9}, { + 3.632486628670555*^9, 3.632486630005704*^9}, {3.6324868147521963`*^9, + 3.632486817333385*^9}, 3.632486929763055*^9, {3.632487008855073*^9, + 3.632487019375031*^9}, {3.632487069748158*^9, 3.63248707741856*^9}, { + 3.632487112090027*^9, 3.632487150840695*^9}, {3.632487252771805*^9, + 3.6324872660424747`*^9}, {3.632488139926024*^9, 3.632488140072042*^9}, { + 3.632734121716978*^9, 3.632734200327458*^9}, {3.633067298879485*^9, + 3.63306731942362*^9}, {3.634278298237008*^9, 3.63427829964246*^9}, { + 3.63427833587599*^9, 3.634278345660905*^9}, {3.634298584045291*^9, + 3.634298585468253*^9}}, + CellLabel-> + "In[259]:=",ExpressionUUID->"ff5f7d73-add6-4e24-9e55-7b15786660c6"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"DBG", "=", + RowBox[{"{", + RowBox[{ + "FWX", ",", "FWY", ",", "FWZ", ",", "FT", ",", "MBX", ",", "MBY", ",", + "MBZ"}], "}"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"AhatlongDBG", "=", + RowBox[{ + RowBox[{ + RowBox[{"QuatToRot", "[", + RowBox[{"QuatInv", "[", "QWS", "]"}], "]"}], ".", + RowBox[{"{", + RowBox[{"0", ",", "0", ",", + RowBox[{"-", "g"}]}], "}"}]}], "+", + RowBox[{ + RowBox[{"1", "/", "m"}], " ", + RowBox[{"(", + RowBox[{ + RowBox[{"{", + RowBox[{ + RowBox[{"f", "[", "4", "]"}], ",", "0", ",", "0"}], "}"}], "+", + RowBox[{ + RowBox[{"Transpose", "[", "RWINDS", "]"}], ".", + RowBox[{"{", + RowBox[{ + RowBox[{"f", "[", "1", "]"}], ",", + RowBox[{"f", "[", "2", "]"}], ",", + RowBox[{"f", "[", "3", "]"}]}], "}"}]}]}], ")"}]}], "-", + RowBox[{"WS", "\[Cross]", "VS"}]}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"AlphahatlongDBG", "=", " ", + RowBox[{ + RowBox[{"Inverse", "[", "IB", "]"}], ".", + RowBox[{"(", + RowBox[{ + RowBox[{"{", + RowBox[{ + RowBox[{"mm", "[", "1", "]"}], ",", + RowBox[{"mm", "[", "2", "]"}], ",", + RowBox[{"mm", "[", "3", "]"}]}], "}"}], "-", + RowBox[{"WS", "\[Cross]", + RowBox[{"(", + RowBox[{"IB", ".", "WS"}], ")"}]}]}], ")"}]}]}], ";"}]}], "Input", + CellChangeTimes->{{3.633234965893896*^9, 3.633234975029994*^9}, { + 3.6332350425322247`*^9, 3.633235051548617*^9}, 3.633244923580419*^9, { + 3.633327208678884*^9, 3.633327209833385*^9}, {3.634298362377328*^9, + 3.6342983969550533`*^9}, {3.634298517168047*^9, 3.63429851785793*^9}, { + 3.634298591096792*^9, 3.634298593067531*^9}, {3.634299639194295*^9, + 3.634299645586197*^9}, {3.634299681394882*^9, 3.6342996858226843`*^9}, + 3.634299852392684*^9, 3.634300111654772*^9, {3.634300178359811*^9, + 3.634300196975257*^9}}, + CellLabel-> + "In[261]:=",ExpressionUUID->"d17df8c1-9260-4a0c-8495-b5ef6f820848"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"ERR", "=", + RowBox[{ + RowBox[{"Flatten", "[", + RowBox[{"{", + RowBox[{ + RowBox[{"AS", "-", "Ahat"}], ",", + RowBox[{"ALPHAS", "-", "Alphahat"}]}], "}"}], "]"}], "+", "NOISES"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.632487913384449*^9, 3.632487921874243*^9}, { + 3.632488026778446*^9, 3.632488059172721*^9}, {3.632488578258338*^9, + 3.632488606817566*^9}}, + CellLabel-> + "In[264]:=",ExpressionUUID->"8c91f72d-3f47-4547-a792-5e0813bcc352"], + +Cell["Predictor", "Subsubtitle", + CellChangeTimes->{{3.573298851623851*^9, 3.57329885458322*^9}, { + 3.6326367603131237`*^9, + 3.6326367612299*^9}},ExpressionUUID->"b92b1bb0-abe4-4170-8cfc-1e9dd8bc5679"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"(*", " ", + RowBox[{ + "until", " ", "we", " ", "fix", " ", "the", " ", "predictor", " ", + "interface", " ", "we", " ", "just", " ", "predict", " ", "that", " ", + "we", " ", "move", " ", "forward", " ", "at", " ", "1", " ", + RowBox[{"m", "/", "s"}]}], " ", "*)"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"SWhat", "=", + RowBox[{"SW", "+", + RowBox[{ + RowBox[{"QuatToRot", "[", "QWS", "]"}], ".", + RowBox[{"(", + RowBox[{"{", + RowBox[{ + RowBox[{"1", "*", "dt"}], ",", " ", "0", ",", "0"}], "}"}], + ")"}]}]}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"QWShat", "=", "QWS"}], ";"}], "\[IndentingNewLine]"}]}]], "Input",\ + + CellChangeTimes->{{3.632636764848427*^9, 3.632636870351482*^9}, + 3.633327075601856*^9, 3.634538652426509*^9}, + CellLabel-> + "In[265]:=",ExpressionUUID->"dea35a84-3a0f-4600-a2f4-2ab045608d87"], + +Cell["Output", "Subsubtitle", + CellChangeTimes->{{3.573298851623851*^9, + 3.57329885458322*^9}},ExpressionUUID->"bf1afef8-2e19-4e8e-9c26-\ +8b9e596cd10c"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"SetDirectory", "[", + RowBox[{"NotebookDirectory", "[", "]"}], "]"}], ";"}]], "Input", + CellLabel-> + "In[267]:=",ExpressionUUID->"c2f98c75-5faf-44c8-a958-147c2a660678"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"Err", " ", "=", " ", + RowBox[{"VecToZero", "[", + RowBox[{"ERR", ",", "NOISES"}], "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"JErrNoises", "=", + RowBox[{"VecToZero", "[", + RowBox[{ + RowBox[{"D", "[", + RowBox[{"ERR", ",", + RowBox[{"{", "NOISES", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"JErrPose", "=", + RowBox[{"VecToZero", "[", + RowBox[{ + RowBox[{"D", "[", + RowBox[{"ERR", ",", + RowBox[{"{", "SW", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"JErrQ", "=", + RowBox[{"VecToZero", "[", + RowBox[{ + RowBox[{"D", "[", + RowBox[{"ERR", ",", + RowBox[{"{", "QWS", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"JErrV", "=", + RowBox[{"VecToZero", "[", + RowBox[{ + RowBox[{"D", "[", + RowBox[{"ERR", ",", + RowBox[{"{", "VS", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"JErrW", "=", + RowBox[{"VecToZero", "[", + RowBox[{ + RowBox[{"D", "[", + RowBox[{"ERR", ",", + RowBox[{"{", "WS", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"JErrA", "=", + RowBox[{"VecToZero", "[", + RowBox[{ + RowBox[{"D", "[", + RowBox[{"ERR", ",", + RowBox[{"{", "AS", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"JErrAlpha", "=", + RowBox[{"VecToZero", "[", + RowBox[{ + RowBox[{"D", "[", + RowBox[{"ERR", ",", + RowBox[{"{", "ALPHAS", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], + ";"}]}], "Input", + CellChangeTimes->{{3.573299033702265*^9, 3.5732990981024723`*^9}, { + 3.573299164795454*^9, 3.5732991692508307`*^9}, {3.573456001706543*^9, + 3.5734560048187523`*^9}, {3.574152235462706*^9, 3.574152238223208*^9}, { + 3.5798489548623657`*^9, 3.579848955103243*^9}, {3.581401976643291*^9, + 3.5814019885894117`*^9}, {3.58141377998179*^9, 3.581413814574294*^9}, { + 3.581414129291024*^9, 3.581414154679249*^9}, {3.581765163109974*^9, + 3.581765173746241*^9}, {3.581765277500546*^9, 3.581765284545003*^9}, { + 3.6000644741616707`*^9, 3.600064476157126*^9}, {3.600064636065899*^9, + 3.60006464126534*^9}, {3.60610941052632*^9, 3.606109449315563*^9}, { + 3.617517818502956*^9, 3.617517831777896*^9}, 3.617518017239346*^9, + 3.6175224718126917`*^9, {3.617535776012012*^9, 3.6175357977310543`*^9}, { + 3.617691303889946*^9, 3.617691325047617*^9}, {3.6191537025170603`*^9, + 3.619153721782481*^9}, {3.6248780977624187`*^9, 3.6248781199132423`*^9}, { + 3.624878461572874*^9, 3.624878529180564*^9}, {3.626608128585112*^9, + 3.626608147165112*^9}, 3.626608290164939*^9, {3.627970217824462*^9, + 3.6279702738585*^9}, {3.627970352003558*^9, 3.62797036945547*^9}, { + 3.62971028921635*^9, 3.6297105068213043`*^9}, {3.629806116962702*^9, + 3.629806117816551*^9}, {3.630321579757883*^9, 3.630321583197545*^9}, { + 3.6303216981362867`*^9, 3.630321706346642*^9}, {3.630321757205647*^9, + 3.63032178972649*^9}, {3.6303219034786263`*^9, 3.630321908393339*^9}, { + 3.630322038330865*^9, 3.630322043133882*^9}, {3.630322095647093*^9, + 3.630322097242449*^9}, {3.630322176329072*^9, 3.630322192772039*^9}, + 3.630322231534956*^9, {3.6303231357931433`*^9, 3.630323150170701*^9}, { + 3.632488075940673*^9, 3.632488120413509*^9}, {3.6324882328081903`*^9, + 3.632488236596348*^9}, {3.632488545113055*^9, 3.632488557103654*^9}}, + CellLabel-> + "In[268]:=",ExpressionUUID->"716ee195-4767-4067-92df-43ed8da3bd15"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"JErrSet1", "=", + RowBox[{"VecToZero", "[", + RowBox[{ + RowBox[{"D", "[", + RowBox[{"ERR", ",", + RowBox[{"{", "Set1", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"JErrSet2", "=", + RowBox[{"VecToZero", "[", + RowBox[{ + RowBox[{"D", "[", + RowBox[{"ERR", ",", + RowBox[{"{", "Set2", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"JErrWind", "=", + RowBox[{"VecToZero", "[", + RowBox[{ + RowBox[{"D", "[", + RowBox[{"ERR", ",", + RowBox[{"{", "WINDW", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], + ";"}]}], "Input", + CellChangeTimes->{{3.632488242861087*^9, 3.63248826986901*^9}, { + 3.632488302807823*^9, 3.632488310708211*^9}, {3.632549179684801*^9, + 3.6325491830062933`*^9}, 3.632549233454729*^9}, + CellLabel-> + "In[276]:=",ExpressionUUID->"cdb0dbd5-e787-49a0-bb76-c4468b401cbc"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"Run", "[", "\"\\"", "]"}], ";"}]], "Input", + CellChangeTimes->{{3.605001578968874*^9, 3.605001586300552*^9}}, + CellLabel-> + "In[279]:=",ExpressionUUID->"41b82835-d8e1-446a-bec9-5cabfad38221"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{ + RowBox[{"ToGoodC", "[", "Err", "]"}], ",", + "\"\\""}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{ + RowBox[{"ToGoodC", "[", "JErrNoises", "]"}], ",", + "\"\\""}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{ + RowBox[{"ToGoodC", "[", "JErrPose", "]"}], ",", + "\"\\""}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{ + RowBox[{"ToGoodC", "[", "JErrQ", "]"}], ",", + "\"\\""}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{ + RowBox[{"ToGoodC", "[", "JErrV", "]"}], ",", + "\"\\""}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{ + RowBox[{"ToGoodC", "[", "JErrW", "]"}], ",", + "\"\\""}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{ + RowBox[{"ToGoodC", "[", "JErrA", "]"}], ",", + "\"\\""}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{ + RowBox[{"ToGoodC", "[", "JErrAlpha", "]"}], ",", + "\"\\""}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{ + RowBox[{"ToGoodC", "[", "JErrSet1", "]"}], ",", + "\"\\""}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{ + RowBox[{"ToGoodC", "[", "JErrSet2", "]"}], ",", + "\"\\""}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{ + RowBox[{"ToGoodC", "[", "JErrWind", "]"}], ",", + "\"\\""}], "]"}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{ + RowBox[{"ToGoodC", "[", + RowBox[{"Flatten", "[", + RowBox[{"{", + RowBox[{"SWhat", ",", "QWShat"}], "}"}], "]"}], "]"}], ",", + "\"\\""}], "]"}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{ + RowBox[{"ToGoodC", "[", "DBG", "]"}], ",", + "\"\\""}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{ + RowBox[{"ToGoodC", "[", + RowBox[{"Flatten", "[", + RowBox[{"{", + RowBox[{"AhatlongDBG", ",", "AlphahatlongDBG"}], "}"}], "]"}], "]"}], + ",", "\"\\""}], "]"}], + ";"}]}], "Input", + CellChangeTimes->{{3.57329895973281*^9, 3.5732990549001513`*^9}, { + 3.57329915658729*^9, 3.5732991792126017`*^9}, {3.57329950483379*^9, + 3.573299506552189*^9}, {3.573456025938487*^9, 3.573456050810623*^9}, { + 3.574152257417694*^9, 3.574152270678878*^9}, {3.579848972820836*^9, + 3.579848980632938*^9}, {3.5814019928034163`*^9, 3.58140200617373*^9}, { + 3.581402211401102*^9, 3.581402211596108*^9}, {3.581413827590354*^9, + 3.5814138412416353`*^9}, {3.581414159871148*^9, 3.5814141678166847`*^9}, { + 3.5814153831753387`*^9, 3.581415395342497*^9}, 3.5817651746256*^9, { + 3.581765299311152*^9, 3.581765299456869*^9}, {3.583128034440399*^9, + 3.583128047560751*^9}, 3.600064481693171*^9, {3.6000645447460413`*^9, + 3.600064544768753*^9}, 3.605001560621763*^9, {3.606108718930592*^9, + 3.606108718954677*^9}, {3.606109458423176*^9, 3.6061094764764013`*^9}, { + 3.606109797740724*^9, 3.6061098090662613`*^9}, {3.6061099568596067`*^9, + 3.6061099585045424`*^9}, {3.617517858078869*^9, 3.6175178592248383`*^9}, { + 3.6175179081434183`*^9, 3.617517920863043*^9}, {3.617535815115308*^9, + 3.6175358335236387`*^9}, {3.6176913283286*^9, 3.617691368379365*^9}, { + 3.61915374051689*^9, 3.6191538003658953`*^9}, {3.624878788568387*^9, + 3.6248788166517553`*^9}, {3.6248826307742863`*^9, 3.624882631277665*^9}, { + 3.626606948234263*^9, 3.626606949108878*^9}, {3.626608154489799*^9, + 3.6266082045678787`*^9}, {3.626608392816053*^9, 3.62660839330686*^9}, { + 3.6297095365887547`*^9, 3.629709536615233*^9}, {3.629710549109893*^9, + 3.629710565390929*^9}, {3.630321740435486*^9, 3.630321740476594*^9}, { + 3.63032317635601*^9, 3.630323195570113*^9}, {3.632488330236774*^9, + 3.6324884066409388`*^9}, {3.632549186227305*^9, 3.6325491909421*^9}, { + 3.632636908066628*^9, 3.632636924909555*^9}, {3.633235060777438*^9, + 3.6332350814039917`*^9}, {3.634287350134149*^9, 3.63428738680274*^9}, { + 3.6342984069072943`*^9, 3.634298419729596*^9}, {3.63429849221801*^9, + 3.6342985327140083`*^9}}, + CellLabel-> + "In[280]:=",ExpressionUUID->"cbb713d0-b847-42c0-9c5d-8772380d8dba"], + +Cell[BoxData[{ + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]"}], "Input", + CellChangeTimes->CompressedData[" +1:eJwdzV9Ik1EcxvEpGmoDV9aiPzDFcrVV4CqaXgSnUuylQt5uMhPXNChySQvB +QJqFbZmR6DtLIowgt2k1wQaKSTm90JWa6UusYnttDYlzTHAuvXBtnd+5ePjc +Pd8cYy1/OVkmk+2jA7t+8d+szzFaannL1DWmJEA73iyzUa+M/tsN6jtCalBM ++DjwonWK+WUtLMxRlbfldnDCkGhWv6A/y6EHYKQpuRUcmEtnFo535qa+pr2s +deZjyXVz3Y3RWEFOHfiobENBUh9GF+75CsFFJ18Fnhz7zFRsG4mBVkFkRj36 +Y8X9GO3o7mA+DJfEhVmMTJZ6puadIsVODXiUTPdVqWhnECOvcZ45ONXjADWc +xQnuyfbPgE9Pi7NgTa5VE1zBaPqIjZmmit6Yp/oFnRlcDS+RBer9s/o/oFJZ +GdRFMWqqq5BAXvSoD1FLnyxowGitnMRWMTr/0cTMeNkSAQ0W7i84nFde9juJ +oFJtWgW4SFz7D6cSlHn9A9MrDn8CJzr5STDSPfkT7O3KDoGu7Vt2qTYS1J+5 +lWmXbA7QHKhxgg5vazonJyj/RDvTdPfcCFj0tdwLHjxzavmagqD6aY5ZnZcf +A2f2vomDB0Ydlc1U96sMA1hSXNUDNjT0MoNaX6OHumIW7oBGbajNv4mg98fX +2kFR1XfpexZBz+KBanDox61xiTrYdtQH/geUpFxa + "], + CellLabel-> + "In[294]:=",ExpressionUUID->"1a2cbc4e-fbe6-4f7c-8741-b70e886cb2db"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Run", "[", + "\"\\"", + "]"}]], "Input", + CellChangeTimes->{{3.6050014532183523`*^9, 3.6050015701885967`*^9}, { + 3.605001619532137*^9, 3.6050016309343433`*^9}, {3.626084473225601*^9, + 3.626084492513814*^9}, {3.6260847134763527`*^9, 3.6260847142374268`*^9}}, + CellLabel-> + "In[309]:=",ExpressionUUID->"92a89388-7fc0-4900-84db-870a39602d88"], + +Cell[BoxData["0"], "Output", + CellChangeTimes->{ + 3.626084595698902*^9, {3.626084692883334*^9, 3.6260847202544928`*^9}, + 3.626085055644226*^9, {3.6266082860420322`*^9, 3.626608294517626*^9}, + 3.6266083422477207`*^9, 3.626608408034442*^9, 3.6279705231130753`*^9, + 3.627974194334207*^9, 3.627976022316907*^9, 3.627982078483562*^9, + 3.627983299927937*^9, 3.627992180265356*^9, 3.627992659732891*^9, + 3.62799287386307*^9, 3.6282290101624613`*^9, 3.6297105708954773`*^9, + 3.6297106574368258`*^9, 3.6298061279971113`*^9, 3.629807720408*^9, + 3.63032321558445*^9, 3.6324884540770473`*^9, 3.632488624588769*^9, + 3.632548341659026*^9, 3.632548980662763*^9, 3.632549207713517*^9, + 3.6325492403682756`*^9, 3.632571746113782*^9, 3.632635561755374*^9, + 3.632636954213489*^9, 3.6328206639342012`*^9, 3.633066575735487*^9, + 3.633067332266951*^9, 3.633235102950844*^9, 3.633327218459009*^9, + 3.633668547850634*^9, 3.633669240128911*^9, 3.6342783048055973`*^9, + 3.634278361480673*^9, 3.634287411095068*^9, 3.6342924066725883`*^9, + 3.634298448119008*^9, {3.634298529980817*^9, 3.6342985373529863`*^9}, + 3.634298597389635*^9, 3.634299652755254*^9, 3.634299691384879*^9, + 3.634299857136918*^9, 3.634299889682819*^9, 3.634299958854151*^9, + 3.63430011568889*^9, {3.634300182757251*^9, 3.634300204063946*^9}, + 3.634300381734619*^9, 3.634301695788665*^9, 3.634302340168003*^9, + 3.634303008624929*^9, 3.6343039186453753`*^9, 3.634452382385035*^9, + 3.634452775895094*^9, 3.634980290608531*^9, 3.634980867087916*^9, { + 3.634982332576049*^9, 3.6349823386672897`*^9}, 3.771327259597065*^9, + 3.771569957428474*^9}, + CellLabel-> + "Out[309]=",ExpressionUUID->"c52a2155-311e-43ad-bf89-1e085fc0fb03"] +}, Open ]], + +Cell[BoxData[{ + RowBox[{ + RowBox[{"Run", "[", "\"\\"", "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Run", "[", "\"\\"", "]"}], ";"}]}], "Input", + CellLabel-> + "In[310]:=",ExpressionUUID->"aaff244c-3ad5-4faf-aeb3-7cdbaa9f50f5"], + +Cell[BoxData[" "], "Input", + CellChangeTimes->{3.627992683770735*^9}, + CellLabel-> + "In[312]:=",ExpressionUUID->"8714cb77-63af-49bd-8987-722049f040d7"] +}, +CellGrouping->Manual, +WindowSize->{1920, 1090}, +WindowMargins->{{0, Automatic}, {Automatic, 55}}, +FrontEndVersion->"12.0 for Linux x86 (64-bit) (April 8, 2019)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[558, 20, 224, 4, 31, "Input",ExpressionUUID->"28aebd44-7a23-4603-b370-38149a649cc1"], +Cell[785, 26, 558, 13, 55, "Input",ExpressionUUID->"d5e95da8-5675-4df2-8ff6-af7b8fb219a1"], +Cell[CellGroupData[{ +Cell[1368, 43, 242, 5, 54, "Subtitle",ExpressionUUID->"addb9730-72b2-4859-8e4b-0e776f073328", + InitializationCell->True], +Cell[1613, 50, 968, 31, 47, "Input",ExpressionUUID->"78e5840d-381c-47a9-b9dd-90c3c4dacb03", + InitializationCell->True], +Cell[2584, 83, 1658, 48, 47, "Input",ExpressionUUID->"66ac8851-0848-4866-8069-42c37f27b5de", + InitializationCell->True], +Cell[4245, 133, 948, 30, 71, "Input",ExpressionUUID->"a40aa98c-a7a2-4814-b63b-e7c90c9932a0", + InitializationCell->True], +Cell[5196, 165, 1656, 50, 47, "Input",ExpressionUUID->"ee9449fb-cd56-4179-b90c-f5e3bb0fdcdb", + InitializationCell->True], +Cell[6855, 217, 977, 26, 47, "Input",ExpressionUUID->"b69052f0-f728-4bd6-9bf7-bae15aa76095", + InitializationCell->True], +Cell[7835, 245, 1349, 41, 71, "Input",ExpressionUUID->"905c9ad7-8258-45b1-b64f-2d576f63cf20", + InitializationCell->True], +Cell[9187, 288, 2514, 66, 186, "Input",ExpressionUUID->"a7b9df83-8379-4a26-b658-cd16a2c680e3", + InitializationCell->True] +}, Open ]], +Cell[11716, 357, 188, 3, 99, "Title",ExpressionUUID->"243eeb2a-7eb6-46c5-afb4-9166e290b8da"], +Cell[11907, 362, 156, 3, 32, "Subsubtitle",ExpressionUUID->"934e8056-77ed-401a-af0c-38f7a1beea69"], +Cell[12066, 367, 422, 11, 31, "Input",ExpressionUUID->"89e76b07-ca4f-4879-a9de-3406cd562327"], +Cell[12491, 380, 1436, 39, 147, "Input",ExpressionUUID->"0f88cdc1-a39e-4d13-b528-8472e029b05f"], +Cell[13930, 421, 159, 3, 32, "Subsubtitle",ExpressionUUID->"a1d3915d-f613-4425-8a04-fe27c5187298"], +Cell[14092, 426, 8104, 208, 1067, "Input",ExpressionUUID->"33f47236-ad3c-4a61-8f93-8222aa6cc9fa"], +Cell[22199, 636, 1500, 38, 101, "Input",ExpressionUUID->"53a40cfc-f0e8-4e44-9f25-b052baa99c29"], +Cell[23702, 676, 442, 13, 31, "Input",ExpressionUUID->"be98cbcc-62a9-4b36-a592-7c1827bbba19"], +Cell[24147, 691, 1695, 49, 170, "Input",ExpressionUUID->"3db40cdd-aae8-4aed-bbcf-7b6c917acc34"], +Cell[25845, 742, 287, 5, 32, "Subsubtitle",ExpressionUUID->"3a22e419-d65c-4c9e-84c6-863e409e519a"], +Cell[26135, 749, 324, 6, 36, "Text",ExpressionUUID->"58ebbe4e-85bd-47cd-b927-8039f9c2d955"], +Cell[26462, 757, 493, 14, 31, "Input",ExpressionUUID->"e4cd07b0-b7a6-476f-a82d-1ad870ed93c3"], +Cell[26958, 773, 208, 4, 36, "Text",ExpressionUUID->"9ac0d911-0e84-4579-bcb9-2110f48ca902"], +Cell[27169, 779, 1582, 41, 55, "Input",ExpressionUUID->"9f81cfa6-a749-4450-bfb3-736066b50bce"], +Cell[28754, 822, 154, 3, 36, "Text",ExpressionUUID->"656d798c-a5c9-4cc6-a1dd-06c8dc6c6565"], +Cell[28911, 827, 1502, 41, 124, "Input",ExpressionUUID->"29b01d2f-83ef-4d5a-8a25-69d70c2e9207"], +Cell[30416, 870, 157, 3, 36, "Text",ExpressionUUID->"7aa4501a-e764-4f85-8410-73dc94387049"], +Cell[30576, 875, 894, 21, 31, "Input",ExpressionUUID->"dbea6cef-0336-433e-92e3-cc59b4a69219"], +Cell[31473, 898, 152, 3, 36, "Text",ExpressionUUID->"15e73123-e84e-4360-b55b-334ef918a821"], +Cell[31628, 903, 1939, 48, 101, "Input",ExpressionUUID->"176642b9-ef21-428e-bda6-88b3064f0fe2"], +Cell[33570, 953, 152, 3, 36, "Text",ExpressionUUID->"ac9144ba-14f4-4cb2-9d7c-1b84aa717d7b"], +Cell[33725, 958, 667, 16, 55, "Input",ExpressionUUID->"f4931c36-9cb3-41d5-9636-f3fbcef428c9"], +Cell[34395, 976, 154, 3, 36, "Text",ExpressionUUID->"57ce017d-559b-4d58-ba18-1e7631c436d9"], +Cell[34552, 981, 361, 9, 55, "Input",ExpressionUUID->"63203ee0-9601-47b1-9606-b67b10ce9a46"], +Cell[34916, 992, 156, 3, 36, "Text",ExpressionUUID->"4432b235-bb2b-4e9d-87f8-55bf93c648df"], +Cell[35075, 997, 497, 12, 55, "Input",ExpressionUUID->"c73ee33c-6f07-4ea9-82e2-0f37fad73c8e"], +Cell[35575, 1011, 153, 3, 36, "Text",ExpressionUUID->"3b78e61b-a31c-43c6-949c-8ab46a558347"], +Cell[35731, 1016, 1424, 38, 101, "Input",ExpressionUUID->"7be4a0a1-b2c0-4d7b-b564-9f92dabf375f"], +Cell[37158, 1056, 154, 3, 36, "Text",ExpressionUUID->"78b600c8-17c9-43b2-8561-39fdff7b92e4"], +Cell[37315, 1061, 936, 24, 78, "Input",ExpressionUUID->"4ce3e11d-b2d8-42df-94f3-f44671feb140"], +Cell[38254, 1087, 154, 3, 36, "Text",ExpressionUUID->"c302290e-b2df-4299-8d3e-f59d1fc850b6"], +Cell[38411, 1092, 625, 14, 55, "Input",ExpressionUUID->"1a28b43d-e9a2-4ebf-8251-f3ab2ddb7786"], +Cell[39039, 1108, 159, 3, 36, "Text",ExpressionUUID->"4ba37bc9-3ca4-4415-be72-e388f0dad47a"], +Cell[39201, 1113, 2062, 49, 55, "Input",ExpressionUUID->"fe419f0a-adf5-43af-9f08-7b8a7f19180b"], +Cell[41266, 1164, 1854, 43, 170, "Input",ExpressionUUID->"ff5f7d73-add6-4e24-9e55-7b15786660c6"], +Cell[43123, 1209, 2067, 54, 78, "Input",ExpressionUUID->"d17df8c1-9260-4a0c-8495-b5ef6f820848"], +Cell[45193, 1265, 509, 14, 31, "Input",ExpressionUUID->"8c91f72d-3f47-4547-a792-5e0813bcc352"], +Cell[45705, 1281, 204, 3, 32, "Subsubtitle",ExpressionUUID->"b92b1bb0-abe4-4170-8cfc-1e9dd8bc5679"], +Cell[45912, 1286, 956, 25, 101, "Input",ExpressionUUID->"dea35a84-3a0f-4600-a2f4-2ab045608d87"], +Cell[46871, 1313, 154, 3, 32, "Subsubtitle",ExpressionUUID->"bf1afef8-2e19-4e8e-9c26-8b9e596cd10c"], +Cell[47028, 1318, 206, 5, 31, "Input",ExpressionUUID->"c2f98c75-5faf-44c8-a958-147c2a660678"], +Cell[47237, 1325, 3709, 87, 193, "Input",ExpressionUUID->"716ee195-4767-4067-92df-43ed8da3bd15"], +Cell[50949, 1414, 982, 29, 78, "Input",ExpressionUUID->"cdb0dbd5-e787-49a0-bb76-c4468b401cbc"], +Cell[51934, 1445, 243, 5, 31, "Input",ExpressionUUID->"41b82835-d8e1-446a-bec9-5cabfad38221"], +Cell[52180, 1452, 5157, 122, 377, "Input",ExpressionUUID->"cbb713d0-b847-42c0-9c5d-8772380d8dba"], +Cell[57340, 1576, 3505, 102, 446, "Input",ExpressionUUID->"1a2cbc4e-fbe6-4f7c-8741-b70e886cb2db"], +Cell[CellGroupData[{ +Cell[60870, 1682, 427, 8, 31, "Input",ExpressionUUID->"92a89388-7fc0-4900-84db-870a39602d88"], +Cell[61300, 1692, 1732, 26, 35, "Output",ExpressionUUID->"c52a2155-311e-43ad-bf89-1e085fc0fb03"] +}, Open ]], +Cell[63047, 1721, 275, 7, 55, "Input",ExpressionUUID->"aaff244c-3ad5-4faf-aeb3-7cdbaa9f50f5"], +Cell[63325, 1730, 152, 3, 64, "Input",ExpressionUUID->"8714cb77-63af-49bd-8987-722049f040d7"] +} +] +*) + diff --git a/_development/Mathematica/models/PlaneDynamicModel_aalphadebug.m b/_development/Mathematica/models/PlaneDynamicModel_aalphadebug.m new file mode 100644 index 0000000..c9c1eb0 --- /dev/null +++ b/_development/Mathematica/models/PlaneDynamicModel_aalphadebug.m @@ -0,0 +1,120 @@ +tmp0 = x(4); +tmp1 = x(5); +tmp2 = wind(3); +tmp3 = x(6); +tmp4 = wind(1); +tmp5 = x(7); +tmp6 = wind(2); +tmp7 = -(tmp0*tmp3); +tmp8 = tmp1*tmp5; +tmp9 = tmp7 + tmp8; +tmp10 = (tmp0)^(2); +tmp11 = (tmp1)^(2); +tmp12 = (tmp3)^(2); +tmp13 = (tmp5)^(2); +tmp14 = -tmp12; +tmp15 = x(10); +tmp16 = x(8); +tmp17 = tmp1*tmp3; +tmp18 = tmp0*tmp5; +tmp19 = tmp17 + tmp18; +tmp20 = -2*tmp6*tmp19; +tmp21 = -2*tmp2*tmp9; +tmp22 = -tmp13; +tmp23 = tmp10 + tmp11 + tmp14 + tmp22; +tmp24 = -(tmp4*tmp23); +tmp25 = tmp20 + tmp21 + tmp24 + tmp16; +tmp26 = (tmp25)^(2); +tmp27 = tmp0*tmp3; +tmp28 = tmp27 + tmp8; +tmp29 = -2*tmp4*tmp28; +tmp30 = -(tmp0*tmp1); +tmp31 = tmp3*tmp5; +tmp32 = tmp30 + tmp31; +tmp33 = -2*tmp6*tmp32; +tmp34 = -tmp11; +tmp35 = tmp10 + tmp34 + tmp14 + tmp13; +tmp36 = -(tmp2*tmp35); +tmp37 = tmp29 + tmp33 + tmp36 + tmp15; +tmp38 = (tmp37)^(2); +tmp39 = tmp26 + tmp38; +tmp40 = 1/sqrt(tmp39); +tmp41 = x(9); +tmp42 = -(tmp4*tmp10); +tmp43 = -(tmp4*tmp11); +tmp44 = 2*tmp2*tmp0*tmp3; +tmp45 = -2*tmp6*tmp1*tmp3; +tmp46 = tmp4*tmp12; +tmp47 = -2*tmp6*tmp0*tmp5; +tmp48 = -2*tmp2*tmp1*tmp5; +tmp49 = tmp4*tmp13; +tmp50 = tmp42 + tmp43 + tmp44 + tmp45 + tmp46 + tmp47 + tmp48 + tmp49 + tmp16; +tmp51 = -(tmp0*tmp5); +tmp52 = tmp17 + tmp51; +tmp53 = -2*tmp4*tmp52; +tmp54 = tmp0*tmp1; +tmp55 = tmp54 + tmp31; +tmp56 = -2*tmp2*tmp55; +tmp57 = tmp10 + tmp34 + tmp12 + tmp22; +tmp58 = -(tmp6*tmp57); +tmp59 = tmp53 + tmp56 + tmp58 + tmp41; +tmp60 = (tmp59)^(2); +tmp61 = tmp26 + tmp60 + tmp38; +tmp62 = gravity(1); +tmp63 = set2(26); +tmp64 = 1/tmp63; +tmp65 = f(1); +tmp66 = 1/sqrt(tmp61); +tmp67 = f(2); +tmp68 = 1/tmp61; +tmp69 = -(tmp60*tmp68); +tmp70 = 1 + tmp69; +tmp71 = sqrt(tmp70); +tmp72 = x(13); +tmp73 = f(3); +tmp74 = tmp6*tmp10; +tmp75 = 2*tmp2*tmp0*tmp1; +tmp76 = -(tmp6*tmp11); +tmp77 = 2*tmp4*tmp1*tmp3; +tmp78 = tmp6*tmp12; +tmp79 = -2*tmp4*tmp0*tmp5; +tmp80 = 2*tmp2*tmp3*tmp5; +tmp81 = -(tmp6*tmp13); +tmp82 = -tmp41; +tmp83 = tmp74 + tmp75 + tmp76 + tmp77 + tmp78 + tmp79 + tmp80 + tmp81 + tmp82; +tmp84 = -(tmp2*tmp10); +tmp85 = 2*tmp6*tmp0*tmp1; +tmp86 = tmp2*tmp11; +tmp87 = -2*tmp4*tmp0*tmp3; +tmp88 = tmp2*tmp12; +tmp89 = -2*tmp4*tmp1*tmp5; +tmp90 = -2*tmp6*tmp3*tmp5; +tmp91 = -(tmp2*tmp13); +tmp92 = tmp84 + tmp85 + tmp86 + tmp87 + tmp88 + tmp89 + tmp90 + tmp91 + tmp15; +tmp93 = x(11); +tmp94 = x(12); +tmp95 = set2(28); +tmp96 = set2(29); +tmp97 = set2(30); +tmp98 = set2(27); +tmp99 = tmp98*tmp95*tmp96; +tmp100 = (tmp97)^(2); +tmp101 = -(tmp95*tmp100); +tmp102 = tmp99 + tmp101; +tmp103 = 1/tmp102; +tmp104 = mm(1); +tmp105 = -(tmp97*tmp93*tmp94); +tmp106 = tmp95*tmp94*tmp72; +tmp107 = -(tmp96*tmp94*tmp72); +tmp108 = tmp104 + tmp105 + tmp106 + tmp107; +tmp109 = mm(3); +tmp110 = tmp98*tmp93*tmp94; +tmp111 = -(tmp95*tmp93*tmp94); +tmp112 = tmp97*tmp94*tmp72; +tmp113 = tmp109 + tmp110 + tmp111 + tmp112; +AALPHA(1) = -2*tmp62*tmp9 + tmp64*(f(4) + tmp73*(tmp2*tmp10 - 2*tmp6*tmp0*tmp1 - tmp2*tmp11 + 2*tmp4*tmp0*tmp3 - tmp2*tmp12 + 2*tmp4*tmp1*tmp5 + 2*tmp6*tmp3*tmp5 + tmp2*tmp13 - tmp15)*tmp40 + tmp67*tmp50*tmp83*tmp40*tmp66 + tmp65*tmp50*tmp40*tmp71) - tmp15*tmp94 + tmp41*tmp72; +AALPHA(2) = -2*tmp62*tmp55 + tmp64*(tmp65*(-(tmp6*tmp10) - 2*tmp2*tmp0*tmp1 + tmp6*tmp11 - 2*tmp4*tmp1*tmp3 - tmp6*tmp12 + 2*tmp4*tmp0*tmp5 - 2*tmp2*tmp3*tmp5 + tmp6*tmp13 + tmp41)*tmp66 + tmp67*tmp71) + tmp15*tmp93 - tmp16*tmp72; +AALPHA(3) = -(tmp62*tmp35) + tmp64*(tmp73*tmp50*tmp40 + tmp67*tmp83*tmp92*tmp40*tmp66 + tmp65*tmp92*tmp40*tmp71) - tmp41*tmp93 + tmp16*tmp94; +AALPHA(4) = tmp95*tmp96*tmp103*tmp108 - tmp95*tmp97*tmp103*tmp113; +AALPHA(5) = (tmp98*tmp96 - tmp100)*tmp103*(mm(2) + tmp97*(tmp93)^(2) - tmp98*tmp93*tmp72 + tmp96*tmp93*tmp72 - tmp97*(tmp72)^(2)); +AALPHA(6) = -(tmp95*tmp97*tmp103*tmp108) + tmp98*tmp95*tmp103*tmp113; diff --git a/_development/Mathematica/models/PlaneDynamicModel_debug.m b/_development/Mathematica/models/PlaneDynamicModel_debug.m new file mode 100644 index 0000000..e25e0f2 --- /dev/null +++ b/_development/Mathematica/models/PlaneDynamicModel_debug.m @@ -0,0 +1,78 @@ +tmp0 = x(4); +tmp1 = x(6); +tmp2 = x(5); +tmp3 = x(7); +tmp4 = wind(1); +tmp5 = tmp2*tmp3; +tmp6 = wind(2); +tmp7 = wind(3); +tmp8 = (tmp0)^(2); +tmp9 = (tmp2)^(2); +tmp10 = (tmp1)^(2); +tmp11 = -tmp10; +tmp12 = (tmp3)^(2); +tmp13 = tmp2*tmp1; +tmp14 = tmp0*tmp3; +tmp15 = tmp13 + tmp14; +tmp16 = -2*tmp6*tmp15; +tmp17 = -(tmp0*tmp1); +tmp18 = tmp17 + tmp5; +tmp19 = -2*tmp7*tmp18; +tmp20 = -tmp12; +tmp21 = tmp8 + tmp9 + tmp11 + tmp20; +tmp22 = -(tmp4*tmp21); +tmp23 = x(8); +tmp24 = tmp16 + tmp19 + tmp22 + tmp23; +tmp25 = tmp0*tmp1; +tmp26 = tmp25 + tmp5; +tmp27 = -2*tmp4*tmp26; +tmp28 = -(tmp0*tmp2); +tmp29 = tmp1*tmp3; +tmp30 = tmp28 + tmp29; +tmp31 = -2*tmp6*tmp30; +tmp32 = -tmp9; +tmp33 = tmp8 + tmp32 + tmp11 + tmp12; +tmp34 = -(tmp7*tmp33); +tmp35 = x(10); +tmp36 = tmp27 + tmp31 + tmp34 + tmp35; +tmp37 = atan2(tmp36,tmp24); +tmp38 = -(tmp0*tmp3); +tmp39 = tmp13 + tmp38; +tmp40 = -2*tmp4*tmp39; +tmp41 = tmp0*tmp2; +tmp42 = tmp41 + tmp29; +tmp43 = -2*tmp7*tmp42; +tmp44 = tmp8 + tmp32 + tmp10 + tmp20; +tmp45 = -(tmp6*tmp44); +tmp46 = x(9); +tmp47 = tmp40 + tmp43 + tmp45 + tmp46; +tmp48 = set1(2); +tmp49 = 1/tmp48; +tmp50 = (tmp24)^(2); +tmp51 = (tmp47)^(2); +tmp52 = (tmp36)^(2); +tmp53 = tmp50 + tmp51 + tmp52; +tmp54 = 1/sqrt(tmp53); +tmp55 = tmp47*tmp54; +tmp56 = asin(tmp55); +tmp57 = set1(3); +tmp58 = set2(24); +tmp59 = set1(1); +tmp60 = x(3); +tmp61 = tmp59 + tmp60; +tmp62 = -0.006500000000000001*tmp49*tmp61; +tmp63 = 1 + tmp62; +tmp64 = (tmp63)^(4.2561); +tmp65 = set2(23); +tmp66 = (tmp65)^(2); +tmp67 = z(1); +tmp68 = set2(25); +tmp69 = set2(22); +tmp70 = x(13); +MF(1) = 0.0017418568193694477*tmp49*tmp57*(set2(4) + tmp37*set2(5) + (tmp37)^(2)*set2(6) + (tmp56)^(2)*set2(7))*tmp58*tmp64*tmp53; +MF(2) = 0.0017418568193694477*tmp56*tmp49*tmp57*set2(8)*tmp58*tmp64*tmp53; +MF(3) = 0.0017418568193694477*tmp49*tmp57*(set2(9) + tmp37*set2(10))*tmp58*tmp64*tmp53; +MF(4) = 0.0034837136387388954*tmp49*tmp57*tmp66*tmp64*((set2(3)*tmp53)/(M_PI)^(2) + (set2(2)*tmp65*sqrt(tmp53)*tmp67)/M_PI + set2(1)*tmp66*(tmp67)^(2)); +MF(5) = 0.0017418568193694477*tmp49*tmp57*tmp58*tmp68*tmp64*tmp53*(tmp56*set2(12) + (set2(13)*tmp68*tmp54*x(11))/2. + (set2(14)*tmp68*tmp54*tmp70)/2. + set2(11)*z(2)); +MF(6) = 0.0017418568193694477*tmp49*tmp57*tmp69*tmp58*tmp64*tmp53*(set2(15) + tmp37*set2(18) + (set2(17)*tmp69*tmp54*x(12))/2. + set2(16)*z(3)); +MF(7) = 0.0017418568193694477*tmp49*tmp57*tmp58*tmp68*tmp64*tmp53*(tmp56*set2(21) + (set2(20)*tmp68*tmp54*tmp70)/2. + set2(19)*z(4)); diff --git a/roamfree/ROAMestimation/include/ROAMestimation/Enums.h b/roamfree/ROAMestimation/include/ROAMestimation/Enums.h index 2cf4050..90edf14 100644 --- a/roamfree/ROAMestimation/include/ROAMestimation/Enums.h +++ b/roamfree/ROAMestimation/include/ROAMestimation/Enums.h @@ -48,7 +48,8 @@ enum MeasTypes { IMUintegralDeltaP, IMUintegralDeltaQ, PlanarConstraint, - QuadDynamicModel + QuadDynamicModel, + RotatingPushbroom }; enum ParameterTypes { diff --git a/roamfree/ROAMestimation/src/FactorGraphFilterImpl.cpp b/roamfree/ROAMestimation/src/FactorGraphFilterImpl.cpp index 5fc7a5c..056ddc8 100644 --- a/roamfree/ROAMestimation/src/FactorGraphFilterImpl.cpp +++ b/roamfree/ROAMestimation/src/FactorGraphFilterImpl.cpp @@ -236,6 +236,9 @@ bool FactorGraphFilter_Impl::addSensor(const string& name, MeasTypes type, case QuadDynamicModel: s.order = QuadDynamicModelM::_ORDER; break; + case PlaneDynamicModel: + s.order = PlaneDynamicModelM::_ORDER; + break; default: cerr << "[FactorGraphFilter] Error: unknown measurement type" << endl; break; @@ -1312,6 +1315,9 @@ GenericEdgeInterface *FactorGraphFilter_Impl::addMeasurement_i( case GenericOdometer: e = new QuaternionGenericEdge; break; + case PlaneDynamicModel: + e = new QuaternionGenericEdge; + break; case Displacement: e = new QuaternionGenericEdge; break; @@ -1354,6 +1360,7 @@ GenericEdgeInterface *FactorGraphFilter_Impl::addMeasurement_i( case QuadDynamicModel: e = new QuaternionGenericEdge; break; + default: cerr << "[FactorGraphFilter] Error: unknown measurement type" << endl; return NULL; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_Err.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_Err.cppready new file mode 100644 index 0000000..d0f08eb --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_Err.cppready @@ -0,0 +1,169 @@ +double tmp0 = x(5+_OFF); +double tmp1 = x(6+_OFF); +double tmp2 = x(4+_OFF); +double tmp3 = x(7+_OFF); +double tmp4 = wind(2+_OFF); +double tmp5 = tmp0*tmp1; +double tmp6 = wind(3+_OFF); +double tmp7 = -(tmp2*tmp1); +double tmp8 = tmp0*tmp3; +double tmp9 = tmp7 + tmp8; +double tmp10 = wind(1+_OFF); +double tmp11 = std::pow(tmp2,2); +double tmp12 = std::pow(tmp0,2); +double tmp13 = std::pow(tmp1,2); +double tmp14 = std::pow(tmp3,2); +double tmp15 = -tmp14; +double tmp16 = -(tmp2*tmp3); +double tmp17 = tmp5 + tmp16; +double tmp18 = -2*tmp10*tmp17; +double tmp19 = tmp2*tmp0; +double tmp20 = tmp1*tmp3; +double tmp21 = tmp19 + tmp20; +double tmp22 = -2*tmp6*tmp21; +double tmp23 = -tmp12; +double tmp24 = tmp11 + tmp23 + tmp13 + tmp15; +double tmp25 = -(tmp4*tmp24); +double tmp26 = x(9+_OFF); +double tmp27 = tmp18 + tmp22 + tmp25 + tmp26; +double tmp28 = -tmp13; +double tmp29 = set1(2+_OFF); +double tmp30 = 1/tmp29; +double tmp31 = x(8+_OFF); +double tmp32 = tmp2*tmp3; +double tmp33 = tmp5 + tmp32; +double tmp34 = -2*tmp4*tmp33; +double tmp35 = -2*tmp6*tmp9; +double tmp36 = tmp11 + tmp12 + tmp28 + tmp15; +double tmp37 = -(tmp10*tmp36); +double tmp38 = tmp34 + tmp35 + tmp37 + tmp31; +double tmp39 = std::pow(tmp38,2); +double tmp40 = tmp2*tmp1; +double tmp41 = tmp40 + tmp8; +double tmp42 = -2*tmp10*tmp41; +double tmp43 = -(tmp2*tmp0); +double tmp44 = tmp43 + tmp20; +double tmp45 = -2*tmp4*tmp44; +double tmp46 = tmp11 + tmp23 + tmp28 + tmp14; +double tmp47 = -(tmp6*tmp46); +double tmp48 = x(10+_OFF); +double tmp49 = tmp42 + tmp45 + tmp47 + tmp48; +double tmp50 = std::pow(tmp49,2); +double tmp51 = std::pow(tmp27,2); +double tmp52 = tmp39 + tmp51 + tmp50; +double tmp53 = set1(3+_OFF); +double tmp54 = set2(24+_OFF); +double tmp55 = set1(1+_OFF); +double tmp56 = x(3+_OFF); +double tmp57 = tmp55 + tmp56; +double tmp58 = -0.006500000000000001*tmp30*tmp57; +double tmp59 = 1 + tmp58; +double tmp60 = std::pow(tmp59,4.2561); +double tmp61 = tmp39 + tmp50; +double tmp62 = 1/std::sqrt(tmp61); +double tmp63 = std::atan2(tmp49,tmp38); +double tmp64 = 1/std::sqrt(tmp52); +double tmp65 = tmp27*tmp64; +double tmp66 = std::asin(tmp65); +double tmp67 = -(tmp10*tmp11); +double tmp68 = -(tmp10*tmp12); +double tmp69 = 2*tmp6*tmp2*tmp1; +double tmp70 = -2*tmp4*tmp0*tmp1; +double tmp71 = tmp10*tmp13; +double tmp72 = -2*tmp4*tmp2*tmp3; +double tmp73 = -2*tmp6*tmp0*tmp3; +double tmp74 = tmp10*tmp14; +double tmp75 = tmp67 + tmp68 + tmp69 + tmp70 + tmp71 + tmp72 + tmp73 + tmp74 + tmp31; +double tmp76 = set2(23+_OFF); +double tmp77 = std::sqrt(tmp52); +double tmp78 = std::pow(tmp76,2); +double tmp79 = z(1+_OFF); +double tmp80 = gravity(1+_OFF); +double tmp81 = set2(26+_OFF); +double tmp82 = 1/tmp81; +double tmp83 = set2(4+_OFF); +double tmp84 = set2(5+_OFF); +double tmp85 = tmp63*tmp84; +double tmp86 = std::pow(tmp63,2); +double tmp87 = set2(6+_OFF); +double tmp88 = tmp86*tmp87; +double tmp89 = std::pow(tmp66,2); +double tmp90 = set2(7+_OFF); +double tmp91 = tmp89*tmp90; +double tmp92 = tmp83 + tmp85 + tmp88 + tmp91; +double tmp93 = set2(8+_OFF); +double tmp94 = 1/tmp52; +double tmp95 = -(tmp51*tmp94); +double tmp96 = 1 + tmp95; +double tmp97 = std::sqrt(tmp96); +double tmp98 = tmp4*tmp11; +double tmp99 = 2*tmp6*tmp2*tmp0; +double tmp100 = -(tmp4*tmp12); +double tmp101 = 2*tmp10*tmp0*tmp1; +double tmp102 = tmp4*tmp13; +double tmp103 = -2*tmp10*tmp2*tmp3; +double tmp104 = 2*tmp6*tmp1*tmp3; +double tmp105 = -(tmp4*tmp14); +double tmp106 = -tmp26; +double tmp107 = tmp98 + tmp99 + tmp100 + tmp101 + tmp102 + tmp103 + tmp104 + tmp105 + tmp106; +double tmp108 = set2(9+_OFF); +double tmp109 = set2(10+_OFF); +double tmp110 = tmp63*tmp109; +double tmp111 = tmp108 + tmp110; +double tmp112 = -(tmp6*tmp11); +double tmp113 = 2*tmp4*tmp2*tmp0; +double tmp114 = tmp6*tmp12; +double tmp115 = -2*tmp10*tmp2*tmp1; +double tmp116 = tmp6*tmp13; +double tmp117 = -2*tmp10*tmp0*tmp3; +double tmp118 = -2*tmp4*tmp1*tmp3; +double tmp119 = -(tmp6*tmp14); +double tmp120 = tmp112 + tmp113 + tmp114 + tmp115 + tmp116 + tmp117 + tmp118 + tmp119 + tmp48; +double tmp121 = set2(28+_OFF); +double tmp122 = set2(29+_OFF); +double tmp123 = set2(30+_OFF); +double tmp124 = x(12+_OFF); +double tmp125 = x(13+_OFF); +double tmp126 = set2(25+_OFF); +double tmp127 = x(11+_OFF); +double tmp128 = set2(27+_OFF); +double tmp129 = tmp128*tmp121*tmp122; +double tmp130 = std::pow(tmp123,2); +double tmp131 = -(tmp121*tmp130); +double tmp132 = tmp129 + tmp131; +double tmp133 = 1/tmp132; +double tmp134 = set2(22+_OFF); +double tmp135 = -(tmp123*tmp127*tmp124); +double tmp136 = tmp121*tmp124*tmp125; +double tmp137 = -(tmp122*tmp124*tmp125); +double tmp138 = set2(12+_OFF); +double tmp139 = tmp66*tmp138; +double tmp140 = set2(13+_OFF); +double tmp141 = (tmp140*tmp126*tmp64*tmp127)/2.; +double tmp142 = set2(14+_OFF); +double tmp143 = (tmp142*tmp126*tmp64*tmp125)/2.; +double tmp144 = set2(11+_OFF); +double tmp145 = z(2+_OFF); +double tmp146 = tmp144*tmp145; +double tmp147 = tmp139 + tmp141 + tmp143 + tmp146; +double tmp148 = 0.0017418568193694477*tmp30*tmp53*tmp54*tmp126*tmp60*tmp52*tmp147; +double tmp149 = tmp135 + tmp136 + tmp137 + tmp148; +double tmp150 = tmp128*tmp127*tmp124; +double tmp151 = -(tmp121*tmp127*tmp124); +double tmp152 = tmp123*tmp124*tmp125; +double tmp153 = set2(21+_OFF); +double tmp154 = tmp66*tmp153; +double tmp155 = set2(20+_OFF); +double tmp156 = (tmp155*tmp126*tmp64*tmp125)/2.; +double tmp157 = set2(19+_OFF); +double tmp158 = z(4+_OFF); +double tmp159 = tmp157*tmp158; +double tmp160 = tmp154 + tmp156 + tmp159; +double tmp161 = 0.0017418568193694477*tmp30*tmp53*tmp54*tmp126*tmp60*tmp52*tmp160; +double tmp162 = tmp150 + tmp151 + tmp152 + tmp161; +err(1+_OFF) = 2*tmp80*tmp9 + x(14+_OFF) - tmp82*(0.0017418568193694477*tmp66*tmp30*tmp53*tmp93*tmp54*tmp60*tmp75*tmp107*tmp62*tmp77 + 0.0017418568193694477*tmp30*tmp53*tmp111*tmp54*tmp60*(tmp6*tmp11 - 2*tmp4*tmp2*tmp0 - tmp6*tmp12 + 2*tmp10*tmp2*tmp1 - tmp6*tmp13 + 2*tmp10*tmp0*tmp3 + 2*tmp4*tmp1*tmp3 + tmp6*tmp14 - tmp48)*tmp62*tmp52 + 0.0017418568193694477*tmp30*tmp53*tmp92*tmp54*tmp60*tmp75*tmp62*tmp52*tmp97 + 0.0034837136387388954*tmp30*tmp53*tmp78*tmp60*((set2(3+_OFF)*tmp52)/std::pow(M_PI,2) + (set2(2+_OFF)*tmp76*tmp77*tmp79)/M_PI + set2(1+_OFF)*tmp78*std::pow(tmp79,2))); +err(2+_OFF) = 2*tmp80*tmp21 - tmp82*(0. + 0.0017418568193694477*tmp30*tmp53*tmp92*tmp54*tmp60*(-(tmp4*tmp11) - 2*tmp6*tmp2*tmp0 + tmp4*tmp12 - 2*tmp10*tmp0*tmp1 - tmp4*tmp13 + 2*tmp10*tmp2*tmp3 - 2*tmp6*tmp1*tmp3 + tmp4*tmp14 + tmp26)*tmp77 + 0.0017418568193694477*tmp66*tmp30*tmp53*tmp93*tmp54*tmp60*tmp52*tmp97) + x(15+_OFF); +err(3+_OFF) = tmp80*tmp46 - tmp82*(0.0017418568193694477*tmp66*tmp30*tmp53*tmp93*tmp54*tmp60*tmp107*tmp120*tmp62*tmp77 + 0.0017418568193694477*tmp30*tmp53*tmp111*tmp54*tmp60*tmp75*tmp62*tmp52 + 0.0017418568193694477*tmp30*tmp53*tmp92*tmp54*tmp60*tmp120*tmp62*tmp52*tmp97) + x(16+_OFF); +err(4+_OFF) = x(17+_OFF) - tmp121*tmp122*tmp133*tmp149 + tmp121*tmp123*tmp133*tmp162; +err(5+_OFF) = x(18+_OFF) - (tmp128*tmp122 - tmp130)*tmp133*(tmp123*std::pow(tmp127,2) - tmp128*tmp127*tmp125 + tmp122*tmp127*tmp125 - tmp123*std::pow(tmp125,2) + 0.0017418568193694477*tmp30*tmp53*tmp134*tmp54*tmp60*tmp52*(set2(15+_OFF) + tmp63*set2(18+_OFF) + (set2(17+_OFF)*tmp134*tmp64*tmp124)/2. + set2(16+_OFF)*z(3+_OFF))); +err(6+_OFF) = x(19+_OFF) + tmp121*tmp123*tmp133*tmp149 - tmp128*tmp121*tmp133*tmp162; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrA.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrA.cppready new file mode 100644 index 0000000..a374356 --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrA.cppready @@ -0,0 +1,18 @@ +J(1+_OFF,1+_OFF) = 1; +J(1+_OFF,2+_OFF) = 0; +J(1+_OFF,3+_OFF) = 0; +J(2+_OFF,1+_OFF) = 0; +J(2+_OFF,2+_OFF) = 1; +J(2+_OFF,3+_OFF) = 0; +J(3+_OFF,1+_OFF) = 0; +J(3+_OFF,2+_OFF) = 0; +J(3+_OFF,3+_OFF) = 1; +J(4+_OFF,1+_OFF) = 0; +J(4+_OFF,2+_OFF) = 0; +J(4+_OFF,3+_OFF) = 0; +J(5+_OFF,1+_OFF) = 0; +J(5+_OFF,2+_OFF) = 0; +J(5+_OFF,3+_OFF) = 0; +J(6+_OFF,1+_OFF) = 0; +J(6+_OFF,2+_OFF) = 0; +J(6+_OFF,3+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrAlpha.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrAlpha.cppready new file mode 100644 index 0000000..f9d8be2 --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrAlpha.cppready @@ -0,0 +1,18 @@ +J(1+_OFF,1+_OFF) = 0; +J(1+_OFF,2+_OFF) = 0; +J(1+_OFF,3+_OFF) = 0; +J(2+_OFF,1+_OFF) = 0; +J(2+_OFF,2+_OFF) = 0; +J(2+_OFF,3+_OFF) = 0; +J(3+_OFF,1+_OFF) = 0; +J(3+_OFF,2+_OFF) = 0; +J(3+_OFF,3+_OFF) = 0; +J(4+_OFF,1+_OFF) = 1; +J(4+_OFF,2+_OFF) = 0; +J(4+_OFF,3+_OFF) = 0; +J(5+_OFF,1+_OFF) = 0; +J(5+_OFF,2+_OFF) = 1; +J(5+_OFF,3+_OFF) = 0; +J(6+_OFF,1+_OFF) = 0; +J(6+_OFF,2+_OFF) = 0; +J(6+_OFF,3+_OFF) = 1; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrNoises.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrNoises.cppready new file mode 100644 index 0000000..5036d42 --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrNoises.cppready @@ -0,0 +1,36 @@ +J(1+_OFF,1+_OFF) = 1; +J(1+_OFF,2+_OFF) = 0; +J(1+_OFF,3+_OFF) = 0; +J(1+_OFF,4+_OFF) = 0; +J(1+_OFF,5+_OFF) = 0; +J(1+_OFF,6+_OFF) = 0; +J(2+_OFF,1+_OFF) = 0; +J(2+_OFF,2+_OFF) = 1; +J(2+_OFF,3+_OFF) = 0; +J(2+_OFF,4+_OFF) = 0; +J(2+_OFF,5+_OFF) = 0; +J(2+_OFF,6+_OFF) = 0; +J(3+_OFF,1+_OFF) = 0; +J(3+_OFF,2+_OFF) = 0; +J(3+_OFF,3+_OFF) = 1; +J(3+_OFF,4+_OFF) = 0; +J(3+_OFF,5+_OFF) = 0; +J(3+_OFF,6+_OFF) = 0; +J(4+_OFF,1+_OFF) = 0; +J(4+_OFF,2+_OFF) = 0; +J(4+_OFF,3+_OFF) = 0; +J(4+_OFF,4+_OFF) = 1; +J(4+_OFF,5+_OFF) = 0; +J(4+_OFF,6+_OFF) = 0; +J(5+_OFF,1+_OFF) = 0; +J(5+_OFF,2+_OFF) = 0; +J(5+_OFF,3+_OFF) = 0; +J(5+_OFF,4+_OFF) = 0; +J(5+_OFF,5+_OFF) = 1; +J(5+_OFF,6+_OFF) = 0; +J(6+_OFF,1+_OFF) = 0; +J(6+_OFF,2+_OFF) = 0; +J(6+_OFF,3+_OFF) = 0; +J(6+_OFF,4+_OFF) = 0; +J(6+_OFF,5+_OFF) = 0; +J(6+_OFF,6+_OFF) = 1; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrPose.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrPose.cppready new file mode 100644 index 0000000..b3833d7 --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrPose.cppready @@ -0,0 +1,170 @@ +double tmp0 = x(4+_OFF); +double tmp1 = x(5+_OFF); +double tmp2 = x(6+_OFF); +double tmp3 = x(7+_OFF); +double tmp4 = wind(2+_OFF); +double tmp5 = tmp1*tmp2; +double tmp6 = wind(3+_OFF); +double tmp7 = wind(1+_OFF); +double tmp8 = std::pow(tmp0,2); +double tmp9 = std::pow(tmp1,2); +double tmp10 = std::pow(tmp2,2); +double tmp11 = std::pow(tmp3,2); +double tmp12 = -tmp11; +double tmp13 = -(tmp0*tmp3); +double tmp14 = tmp5 + tmp13; +double tmp15 = -2*tmp7*tmp14; +double tmp16 = tmp0*tmp1; +double tmp17 = tmp2*tmp3; +double tmp18 = tmp16 + tmp17; +double tmp19 = -2*tmp6*tmp18; +double tmp20 = -tmp9; +double tmp21 = tmp8 + tmp20 + tmp10 + tmp12; +double tmp22 = -(tmp4*tmp21); +double tmp23 = x(9+_OFF); +double tmp24 = tmp15 + tmp19 + tmp22 + tmp23; +double tmp25 = tmp1*tmp3; +double tmp26 = -tmp10; +double tmp27 = set1(2+_OFF); +double tmp28 = x(8+_OFF); +double tmp29 = tmp0*tmp3; +double tmp30 = tmp5 + tmp29; +double tmp31 = -2*tmp4*tmp30; +double tmp32 = -(tmp0*tmp2); +double tmp33 = tmp32 + tmp25; +double tmp34 = -2*tmp6*tmp33; +double tmp35 = tmp8 + tmp9 + tmp26 + tmp12; +double tmp36 = -(tmp7*tmp35); +double tmp37 = tmp31 + tmp34 + tmp36 + tmp28; +double tmp38 = std::pow(tmp37,2); +double tmp39 = tmp0*tmp2; +double tmp40 = tmp39 + tmp25; +double tmp41 = -2*tmp7*tmp40; +double tmp42 = -(tmp0*tmp1); +double tmp43 = tmp42 + tmp17; +double tmp44 = -2*tmp4*tmp43; +double tmp45 = tmp8 + tmp20 + tmp26 + tmp11; +double tmp46 = -(tmp6*tmp45); +double tmp47 = x(10+_OFF); +double tmp48 = tmp41 + tmp44 + tmp46 + tmp47; +double tmp49 = std::pow(tmp48,2); +double tmp50 = std::pow(tmp24,2); +double tmp51 = tmp38 + tmp50 + tmp49; +double tmp52 = std::pow(tmp27,-2); +double tmp53 = set1(3+_OFF); +double tmp54 = set2(24+_OFF); +double tmp55 = 1/tmp27; +double tmp56 = set1(1+_OFF); +double tmp57 = x(3+_OFF); +double tmp58 = tmp56 + tmp57; +double tmp59 = -0.006500000000000001*tmp55*tmp58; +double tmp60 = 1 + tmp59; +double tmp61 = std::pow(tmp60,3.2561); +double tmp62 = tmp38 + tmp49; +double tmp63 = 1/std::sqrt(tmp62); +double tmp64 = std::atan2(tmp48,tmp37); +double tmp65 = 1/std::sqrt(tmp51); +double tmp66 = tmp24*tmp65; +double tmp67 = std::asin(tmp66); +double tmp68 = -(tmp7*tmp8); +double tmp69 = -(tmp7*tmp9); +double tmp70 = 2*tmp6*tmp0*tmp2; +double tmp71 = -2*tmp4*tmp1*tmp2; +double tmp72 = tmp7*tmp10; +double tmp73 = -2*tmp4*tmp0*tmp3; +double tmp74 = -2*tmp6*tmp1*tmp3; +double tmp75 = tmp7*tmp11; +double tmp76 = tmp68 + tmp69 + tmp70 + tmp71 + tmp72 + tmp73 + tmp74 + tmp75 + tmp28; +double tmp77 = set2(23+_OFF); +double tmp78 = std::sqrt(tmp51); +double tmp79 = std::pow(tmp77,2); +double tmp80 = z(1+_OFF); +double tmp81 = set2(26+_OFF); +double tmp82 = 1/tmp81; +double tmp83 = set2(4+_OFF); +double tmp84 = set2(5+_OFF); +double tmp85 = tmp64*tmp84; +double tmp86 = std::pow(tmp64,2); +double tmp87 = set2(6+_OFF); +double tmp88 = tmp86*tmp87; +double tmp89 = std::pow(tmp67,2); +double tmp90 = set2(7+_OFF); +double tmp91 = tmp89*tmp90; +double tmp92 = tmp83 + tmp85 + tmp88 + tmp91; +double tmp93 = set2(8+_OFF); +double tmp94 = 1/tmp51; +double tmp95 = -(tmp50*tmp94); +double tmp96 = 1 + tmp95; +double tmp97 = std::sqrt(tmp96); +double tmp98 = tmp4*tmp8; +double tmp99 = 2*tmp6*tmp0*tmp1; +double tmp100 = -(tmp4*tmp9); +double tmp101 = 2*tmp7*tmp1*tmp2; +double tmp102 = tmp4*tmp10; +double tmp103 = -2*tmp7*tmp0*tmp3; +double tmp104 = 2*tmp6*tmp2*tmp3; +double tmp105 = -(tmp4*tmp11); +double tmp106 = -tmp23; +double tmp107 = tmp98 + tmp99 + tmp100 + tmp101 + tmp102 + tmp103 + tmp104 + tmp105 + tmp106; +double tmp108 = set2(9+_OFF); +double tmp109 = set2(10+_OFF); +double tmp110 = tmp64*tmp109; +double tmp111 = tmp108 + tmp110; +double tmp112 = -(tmp6*tmp8); +double tmp113 = 2*tmp4*tmp0*tmp1; +double tmp114 = tmp6*tmp9; +double tmp115 = -2*tmp7*tmp0*tmp2; +double tmp116 = tmp6*tmp10; +double tmp117 = -2*tmp7*tmp1*tmp3; +double tmp118 = -2*tmp4*tmp2*tmp3; +double tmp119 = -(tmp6*tmp11); +double tmp120 = tmp112 + tmp113 + tmp114 + tmp115 + tmp116 + tmp117 + tmp118 + tmp119 + tmp47; +double tmp121 = set2(28+_OFF); +double tmp122 = set2(29+_OFF); +double tmp123 = set2(25+_OFF); +double tmp124 = set2(30+_OFF); +double tmp125 = set2(27+_OFF); +double tmp126 = tmp125*tmp121*tmp122; +double tmp127 = std::pow(tmp124,2); +double tmp128 = -(tmp121*tmp127); +double tmp129 = tmp126 + tmp128; +double tmp130 = 1/tmp129; +double tmp131 = x(13+_OFF); +double tmp132 = set2(22+_OFF); +double tmp133 = set2(12+_OFF); +double tmp134 = tmp67*tmp133; +double tmp135 = set2(13+_OFF); +double tmp136 = x(11+_OFF); +double tmp137 = (tmp135*tmp123*tmp65*tmp136)/2.; +double tmp138 = set2(14+_OFF); +double tmp139 = (tmp138*tmp123*tmp65*tmp131)/2.; +double tmp140 = set2(11+_OFF); +double tmp141 = z(2+_OFF); +double tmp142 = tmp140*tmp141; +double tmp143 = tmp134 + tmp137 + tmp139 + tmp142; +double tmp144 = set2(21+_OFF); +double tmp145 = tmp67*tmp144; +double tmp146 = set2(20+_OFF); +double tmp147 = (tmp146*tmp123*tmp65*tmp131)/2.; +double tmp148 = set2(19+_OFF); +double tmp149 = z(4+_OFF); +double tmp150 = tmp148*tmp149; +double tmp151 = tmp145 + tmp147 + tmp150; +J(1+_OFF,1+_OFF) = 0; +J(1+_OFF,2+_OFF) = 0; +J(1+_OFF,3+_OFF) = -(tmp82*(-0.000048187859257968994*tmp67*tmp52*tmp53*tmp93*tmp54*tmp61*tmp76*tmp107*tmp63*tmp78 - 0.000048187859257968994*tmp52*tmp53*tmp111*tmp54*tmp61*(tmp6*tmp8 - 2*tmp4*tmp0*tmp1 - tmp6*tmp9 + 2*tmp7*tmp0*tmp2 - tmp6*tmp10 + 2*tmp7*tmp1*tmp3 + 2*tmp4*tmp2*tmp3 + tmp6*tmp11 - tmp47)*tmp63*tmp51 - 0.000048187859257968994*tmp52*tmp53*tmp92*tmp54*tmp61*tmp76*tmp63*tmp51*tmp97 - 0.00009637571851593799*tmp52*tmp53*tmp79*tmp61*((set2(3+_OFF)*tmp51)/std::pow(M_PI,2) + (set2(2+_OFF)*tmp77*tmp78*tmp80)/M_PI + set2(1+_OFF)*tmp79*std::pow(tmp80,2)))); +J(2+_OFF,1+_OFF) = 0; +J(2+_OFF,2+_OFF) = 0; +J(2+_OFF,3+_OFF) = -(tmp82*(-0.000048187859257968994*tmp52*tmp53*tmp92*tmp54*tmp61*(-(tmp4*tmp8) - 2*tmp6*tmp0*tmp1 + tmp4*tmp9 - 2*tmp7*tmp1*tmp2 - tmp4*tmp10 + 2*tmp7*tmp0*tmp3 - 2*tmp6*tmp2*tmp3 + tmp4*tmp11 + tmp23)*tmp78 - 0.000048187859257968994*tmp67*tmp52*tmp53*tmp93*tmp54*tmp61*tmp51*tmp97)); +J(3+_OFF,1+_OFF) = 0; +J(3+_OFF,2+_OFF) = 0; +J(3+_OFF,3+_OFF) = -(tmp82*(-0.000048187859257968994*tmp67*tmp52*tmp53*tmp93*tmp54*tmp61*tmp107*tmp120*tmp63*tmp78 - 0.000048187859257968994*tmp52*tmp53*tmp111*tmp54*tmp61*tmp76*tmp63*tmp51 - 0.000048187859257968994*tmp52*tmp53*tmp92*tmp54*tmp61*tmp120*tmp63*tmp51*tmp97)); +J(4+_OFF,1+_OFF) = 0; +J(4+_OFF,2+_OFF) = 0; +J(4+_OFF,3+_OFF) = 0.000048187859257968994*tmp52*tmp53*tmp54*tmp123*tmp121*tmp122*tmp130*tmp61*tmp51*tmp143 - 0.000048187859257968994*tmp52*tmp53*tmp54*tmp123*tmp121*tmp124*tmp130*tmp61*tmp51*tmp151; +J(5+_OFF,1+_OFF) = 0; +J(5+_OFF,2+_OFF) = 0; +J(5+_OFF,3+_OFF) = 0.000048187859257968994*tmp52*tmp53*tmp132*tmp54*(tmp125*tmp122 - tmp127)*tmp130*tmp61*tmp51*(set2(15+_OFF) + tmp64*set2(18+_OFF) + (set2(17+_OFF)*tmp132*tmp65*x(12+_OFF))/2. + set2(16+_OFF)*z(3+_OFF)); +J(6+_OFF,1+_OFF) = 0; +J(6+_OFF,2+_OFF) = 0; +J(6+_OFF,3+_OFF) = -0.000048187859257968994*tmp52*tmp53*tmp54*tmp123*tmp121*tmp124*tmp130*tmp61*tmp51*tmp143 + 0.000048187859257968994*tmp52*tmp53*tmp54*tmp123*tmp125*tmp121*tmp130*tmp61*tmp51*tmp151; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrQ.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrQ.cppready new file mode 100644 index 0000000..49bb460 --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrQ.cppready @@ -0,0 +1,387 @@ +double tmp0 = x(6+_OFF); +double tmp1 = x(4+_OFF); +double tmp2 = x(5+_OFF); +double tmp3 = x(7+_OFF); +double tmp4 = wind(1+_OFF); +double tmp5 = tmp2*tmp3; +double tmp6 = wind(2+_OFF); +double tmp7 = wind(3+_OFF); +double tmp8 = std::pow(tmp1,2); +double tmp9 = std::pow(tmp2,2); +double tmp10 = std::pow(tmp0,2); +double tmp11 = -tmp10; +double tmp12 = std::pow(tmp3,2); +double tmp13 = set1(2+_OFF); +double tmp14 = 1/tmp13; +double tmp15 = x(10+_OFF); +double tmp16 = tmp2*tmp0; +double tmp17 = tmp1*tmp3; +double tmp18 = tmp16 + tmp17; +double tmp19 = -2*tmp6*tmp18; +double tmp20 = -(tmp1*tmp0); +double tmp21 = tmp20 + tmp5; +double tmp22 = -2*tmp7*tmp21; +double tmp23 = -tmp12; +double tmp24 = tmp8 + tmp9 + tmp11 + tmp23; +double tmp25 = -(tmp4*tmp24); +double tmp26 = x(8+_OFF); +double tmp27 = tmp19 + tmp22 + tmp25 + tmp26; +double tmp28 = tmp0*tmp3; +double tmp29 = -tmp9; +double tmp30 = tmp1*tmp0; +double tmp31 = tmp30 + tmp5; +double tmp32 = -2*tmp4*tmp31; +double tmp33 = -(tmp1*tmp2); +double tmp34 = tmp33 + tmp28; +double tmp35 = -2*tmp6*tmp34; +double tmp36 = tmp8 + tmp29 + tmp11 + tmp12; +double tmp37 = -(tmp7*tmp36); +double tmp38 = tmp32 + tmp35 + tmp37 + tmp15; +double tmp39 = -(tmp1*tmp3); +double tmp40 = tmp16 + tmp39; +double tmp41 = -2*tmp4*tmp40; +double tmp42 = tmp1*tmp2; +double tmp43 = tmp42 + tmp28; +double tmp44 = -2*tmp7*tmp43; +double tmp45 = tmp8 + tmp29 + tmp10 + tmp23; +double tmp46 = -(tmp6*tmp45); +double tmp47 = x(9+_OFF); +double tmp48 = tmp41 + tmp44 + tmp46 + tmp47; +double tmp49 = std::pow(tmp27,2); +double tmp50 = std::pow(tmp38,2); +double tmp51 = set1(3+_OFF); +double tmp52 = set2(24+_OFF); +double tmp53 = set1(1+_OFF); +double tmp54 = x(3+_OFF); +double tmp55 = tmp53 + tmp54; +double tmp56 = -0.006500000000000001*tmp14*tmp55; +double tmp57 = 1 + tmp56; +double tmp58 = std::pow(tmp57,4.2561); +double tmp59 = -2*tmp4*tmp1; +double tmp60 = 2*tmp7*tmp0; +double tmp61 = -2*tmp6*tmp3; +double tmp62 = tmp59 + tmp60 + tmp61; +double tmp63 = 2*tmp62*tmp27; +double tmp64 = -2*tmp6*tmp1; +double tmp65 = -2*tmp7*tmp2; +double tmp66 = 2*tmp4*tmp3; +double tmp67 = tmp64 + tmp65 + tmp66; +double tmp68 = 2*tmp67*tmp48; +double tmp69 = -2*tmp7*tmp1; +double tmp70 = 2*tmp6*tmp2; +double tmp71 = -2*tmp4*tmp0; +double tmp72 = tmp69 + tmp70 + tmp71; +double tmp73 = 2*tmp72*tmp38; +double tmp74 = tmp63 + tmp68 + tmp73; +double tmp75 = tmp49 + tmp50; +double tmp76 = 1/std::sqrt(tmp75); +double tmp77 = std::pow(tmp48,2); +double tmp78 = tmp49 + tmp77 + tmp50; +double tmp79 = 1/std::sqrt(tmp78); +double tmp80 = tmp48*tmp79; +double tmp81 = std::asin(tmp80); +double tmp82 = set2(8+_OFF); +double tmp83 = -(tmp4*tmp8); +double tmp84 = -(tmp4*tmp9); +double tmp85 = 2*tmp7*tmp1*tmp0; +double tmp86 = -2*tmp6*tmp2*tmp0; +double tmp87 = tmp4*tmp10; +double tmp88 = -2*tmp6*tmp1*tmp3; +double tmp89 = -2*tmp7*tmp2*tmp3; +double tmp90 = tmp4*tmp12; +double tmp91 = tmp83 + tmp84 + tmp85 + tmp86 + tmp87 + tmp88 + tmp89 + tmp90 + tmp26; +double tmp92 = tmp6*tmp8; +double tmp93 = 2*tmp7*tmp1*tmp2; +double tmp94 = -(tmp6*tmp9); +double tmp95 = 2*tmp4*tmp2*tmp0; +double tmp96 = tmp6*tmp10; +double tmp97 = -2*tmp4*tmp1*tmp3; +double tmp98 = 2*tmp7*tmp0*tmp3; +double tmp99 = -(tmp6*tmp12); +double tmp100 = -tmp47; +double tmp101 = tmp92 + tmp93 + tmp94 + tmp95 + tmp96 + tmp97 + tmp98 + tmp99 + tmp100; +double tmp102 = std::sqrt(tmp78); +double tmp103 = set2(9+_OFF); +double tmp104 = std::atan2(tmp38,tmp27); +double tmp105 = set2(10+_OFF); +double tmp106 = tmp104*tmp105; +double tmp107 = tmp103 + tmp106; +double tmp108 = tmp7*tmp8; +double tmp109 = -2*tmp6*tmp1*tmp2; +double tmp110 = -(tmp7*tmp9); +double tmp111 = 2*tmp4*tmp1*tmp0; +double tmp112 = -(tmp7*tmp10); +double tmp113 = 2*tmp4*tmp2*tmp3; +double tmp114 = 2*tmp6*tmp0*tmp3; +double tmp115 = tmp7*tmp12; +double tmp116 = -tmp15; +double tmp117 = tmp108 + tmp109 + tmp110 + tmp111 + tmp112 + tmp113 + tmp114 + tmp115 + tmp116; +double tmp118 = tmp63 + tmp73; +double tmp119 = std::pow(tmp75,-1.5); +double tmp120 = 1/tmp75; +double tmp121 = 1/tmp78; +double tmp122 = set2(4+_OFF); +double tmp123 = set2(5+_OFF); +double tmp124 = tmp104*tmp123; +double tmp125 = std::pow(tmp104,2); +double tmp126 = set2(6+_OFF); +double tmp127 = tmp125*tmp126; +double tmp128 = std::pow(tmp81,2); +double tmp129 = set2(7+_OFF); +double tmp130 = tmp128*tmp129; +double tmp131 = tmp122 + tmp124 + tmp127 + tmp130; +double tmp132 = -(tmp77*tmp121); +double tmp133 = 1 + tmp132; +double tmp134 = std::sqrt(tmp133); +double tmp135 = 1/std::sqrt(tmp133); +double tmp136 = tmp72*tmp27*tmp120; +double tmp137 = 2*tmp4*tmp31; +double tmp138 = 2*tmp6*tmp34; +double tmp139 = tmp7*tmp36; +double tmp140 = tmp137 + tmp138 + tmp139 + tmp116; +double tmp141 = tmp62*tmp140*tmp120; +double tmp142 = tmp136 + tmp141; +double tmp143 = std::pow(tmp78,-1.5); +double tmp144 = -(tmp48*tmp74*tmp143)/2.; +double tmp145 = tmp67*tmp79; +double tmp146 = tmp144 + tmp145; +double tmp147 = set2(23+_OFF); +double tmp148 = gravity(1+_OFF); +double tmp149 = set2(26+_OFF); +double tmp150 = 1/tmp149; +double tmp151 = 2*tmp6*tmp1; +double tmp152 = 2*tmp7*tmp2; +double tmp153 = -2*tmp4*tmp3; +double tmp154 = tmp151 + tmp152 + tmp153; +double tmp155 = -2*tmp4*tmp2; +double tmp156 = -2*tmp6*tmp0; +double tmp157 = -2*tmp7*tmp3; +double tmp158 = tmp155 + tmp156 + tmp157; +double tmp159 = 2*tmp158*tmp27; +double tmp160 = 2*tmp72*tmp48; +double tmp161 = 2*tmp154*tmp38; +double tmp162 = tmp159 + tmp160 + tmp161; +double tmp163 = 2*tmp7*tmp1; +double tmp164 = -2*tmp6*tmp2; +double tmp165 = 2*tmp4*tmp0; +double tmp166 = tmp163 + tmp164 + tmp165; +double tmp167 = tmp159 + tmp161; +double tmp168 = std::pow(tmp78,-2); +double tmp169 = tmp154*tmp27*tmp120; +double tmp170 = tmp158*tmp140*tmp120; +double tmp171 = tmp169 + tmp170; +double tmp172 = -(tmp48*tmp162*tmp143)/2.; +double tmp173 = tmp72*tmp79; +double tmp174 = tmp172 + tmp173; +double tmp175 = std::pow(tmp147,2); +double tmp176 = std::pow(M_PI,-2); +double tmp177 = set2(3+_OFF); +double tmp178 = 1/M_PI; +double tmp179 = set2(2+_OFF); +double tmp180 = z(1+_OFF); +double tmp181 = 2*tmp166*tmp27; +double tmp182 = 2*tmp158*tmp48; +double tmp183 = 2*tmp62*tmp38; +double tmp184 = tmp181 + tmp182 + tmp183; +double tmp185 = tmp181 + tmp183; +double tmp186 = tmp62*tmp27*tmp120; +double tmp187 = tmp166*tmp140*tmp120; +double tmp188 = tmp186 + tmp187; +double tmp189 = -(tmp48*tmp184*tmp143)/2.; +double tmp190 = tmp158*tmp79; +double tmp191 = tmp189 + tmp190; +double tmp192 = 2*tmp4*tmp1; +double tmp193 = -2*tmp7*tmp0; +double tmp194 = 2*tmp6*tmp3; +double tmp195 = tmp192 + tmp193 + tmp194; +double tmp196 = 2*tmp67*tmp27; +double tmp197 = 2*tmp195*tmp48; +double tmp198 = 2*tmp158*tmp38; +double tmp199 = tmp196 + tmp197 + tmp198; +double tmp200 = tmp196 + tmp198; +double tmp201 = 2*tmp4*tmp2; +double tmp202 = 2*tmp6*tmp0; +double tmp203 = 2*tmp7*tmp3; +double tmp204 = tmp201 + tmp202 + tmp203; +double tmp205 = tmp158*tmp27*tmp120; +double tmp206 = tmp67*tmp140*tmp120; +double tmp207 = tmp205 + tmp206; +double tmp208 = -(tmp48*tmp199*tmp143)/2.; +double tmp209 = tmp195*tmp79; +double tmp210 = tmp208 + tmp209; +double tmp211 = 2*tmp148*tmp2; +double tmp212 = tmp77*tmp74*tmp168; +double tmp213 = -2*tmp67*tmp48*tmp121; +double tmp214 = tmp212 + tmp213; +double tmp215 = -(tmp6*tmp8); +double tmp216 = -2*tmp7*tmp1*tmp2; +double tmp217 = tmp6*tmp9; +double tmp218 = -2*tmp4*tmp2*tmp0; +double tmp219 = -(tmp6*tmp10); +double tmp220 = 2*tmp4*tmp1*tmp3; +double tmp221 = -2*tmp7*tmp0*tmp3; +double tmp222 = tmp6*tmp12; +double tmp223 = tmp215 + tmp216 + tmp217 + tmp218 + tmp219 + tmp220 + tmp221 + tmp222 + tmp47; +double tmp224 = tmp123*tmp142; +double tmp225 = 2*tmp104*tmp126*tmp142; +double tmp226 = 2*tmp81*tmp129*tmp135*tmp146; +double tmp227 = tmp224 + tmp225 + tmp226; +double tmp228 = tmp77*tmp162*tmp168; +double tmp229 = -2*tmp72*tmp48*tmp121; +double tmp230 = tmp228 + tmp229; +double tmp231 = tmp123*tmp171; +double tmp232 = 2*tmp104*tmp126*tmp171; +double tmp233 = 2*tmp81*tmp129*tmp135*tmp174; +double tmp234 = tmp231 + tmp232 + tmp233; +double tmp235 = 2*tmp148*tmp3; +double tmp236 = tmp77*tmp184*tmp168; +double tmp237 = -2*tmp158*tmp48*tmp121; +double tmp238 = tmp236 + tmp237; +double tmp239 = tmp123*tmp188; +double tmp240 = 2*tmp104*tmp126*tmp188; +double tmp241 = 2*tmp81*tmp129*tmp135*tmp191; +double tmp242 = tmp239 + tmp240 + tmp241; +double tmp243 = tmp77*tmp199*tmp168; +double tmp244 = -2*tmp195*tmp48*tmp121; +double tmp245 = tmp243 + tmp244; +double tmp246 = tmp123*tmp207; +double tmp247 = 2*tmp104*tmp126*tmp207; +double tmp248 = 2*tmp81*tmp129*tmp135*tmp210; +double tmp249 = tmp246 + tmp247 + tmp248; +double tmp250 = 2*tmp148*tmp1; +double tmp251 = -(tmp7*tmp8); +double tmp252 = 2*tmp6*tmp1*tmp2; +double tmp253 = tmp7*tmp9; +double tmp254 = -2*tmp4*tmp1*tmp0; +double tmp255 = tmp7*tmp10; +double tmp256 = -2*tmp4*tmp2*tmp3; +double tmp257 = -2*tmp6*tmp0*tmp3; +double tmp258 = -(tmp7*tmp12); +double tmp259 = tmp251 + tmp252 + tmp253 + tmp254 + tmp255 + tmp256 + tmp257 + tmp258 + tmp15; +double tmp260 = -2*tmp148*tmp0; +double tmp261 = 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp62*tmp101*tmp76*tmp102; +double tmp262 = 0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp166*tmp76*tmp78; +double tmp263 = 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp62*tmp76*tmp78*tmp134; +double tmp264 = 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp158*tmp101*tmp76*tmp102; +double tmp265 = 0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp67*tmp76*tmp78; +double tmp266 = 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp158*tmp76*tmp78*tmp134; +double tmp267 = set2(28+_OFF); +double tmp268 = set2(29+_OFF); +double tmp269 = set2(25+_OFF); +double tmp270 = set2(12+_OFF); +double tmp271 = set2(13+_OFF); +double tmp272 = x(11+_OFF); +double tmp273 = set2(14+_OFF); +double tmp274 = x(13+_OFF); +double tmp275 = set2(30+_OFF); +double tmp276 = set2(27+_OFF); +double tmp277 = tmp276*tmp267*tmp268; +double tmp278 = std::pow(tmp275,2); +double tmp279 = -(tmp267*tmp278); +double tmp280 = tmp277 + tmp279; +double tmp281 = 1/tmp280; +double tmp282 = set2(21+_OFF); +double tmp283 = set2(20+_OFF); +double tmp284 = tmp81*tmp270; +double tmp285 = (tmp271*tmp269*tmp79*tmp272)/2.; +double tmp286 = (tmp273*tmp269*tmp79*tmp274)/2.; +double tmp287 = set2(11+_OFF); +double tmp288 = z(2+_OFF); +double tmp289 = tmp287*tmp288; +double tmp290 = tmp284 + tmp285 + tmp286 + tmp289; +double tmp291 = tmp81*tmp282; +double tmp292 = (tmp283*tmp269*tmp79*tmp274)/2.; +double tmp293 = set2(19+_OFF); +double tmp294 = z(4+_OFF); +double tmp295 = tmp293*tmp294; +double tmp296 = tmp291 + tmp292 + tmp295; +double tmp297 = set2(22+_OFF); +double tmp298 = set2(18+_OFF); +double tmp299 = set2(17+_OFF); +double tmp300 = x(12+_OFF); +double tmp301 = tmp276*tmp268; +double tmp302 = -tmp278; +double tmp303 = tmp301 + tmp302; +double tmp304 = set2(15+_OFF); +double tmp305 = tmp104*tmp298; +double tmp306 = (tmp299*tmp297*tmp79*tmp300)/2.; +double tmp307 = set2(16+_OFF); +double tmp308 = z(3+_OFF); +double tmp309 = tmp307*tmp308; +double tmp310 = tmp304 + tmp305 + tmp306 + tmp309; +double tmp311 = tmp270*tmp135*tmp146; +double tmp312 = -(tmp271*tmp269*tmp74*tmp143*tmp272)/4.; +double tmp313 = -(tmp273*tmp269*tmp74*tmp143*tmp274)/4.; +double tmp314 = tmp311 + tmp312 + tmp313; +double tmp315 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp78*tmp314; +double tmp316 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp74*tmp290; +double tmp317 = tmp315 + tmp316; +double tmp318 = tmp282*tmp135*tmp146; +double tmp319 = -(tmp283*tmp269*tmp74*tmp143*tmp274)/4.; +double tmp320 = tmp318 + tmp319; +double tmp321 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp78*tmp320; +double tmp322 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp74*tmp296; +double tmp323 = tmp321 + tmp322; +double tmp324 = tmp270*tmp135*tmp174; +double tmp325 = -(tmp271*tmp269*tmp162*tmp143*tmp272)/4.; +double tmp326 = -(tmp273*tmp269*tmp162*tmp143*tmp274)/4.; +double tmp327 = tmp324 + tmp325 + tmp326; +double tmp328 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp78*tmp327; +double tmp329 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp162*tmp290; +double tmp330 = tmp328 + tmp329; +double tmp331 = tmp282*tmp135*tmp174; +double tmp332 = -(tmp283*tmp269*tmp162*tmp143*tmp274)/4.; +double tmp333 = tmp331 + tmp332; +double tmp334 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp78*tmp333; +double tmp335 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp162*tmp296; +double tmp336 = tmp334 + tmp335; +double tmp337 = tmp270*tmp135*tmp191; +double tmp338 = -(tmp271*tmp269*tmp184*tmp143*tmp272)/4.; +double tmp339 = -(tmp273*tmp269*tmp184*tmp143*tmp274)/4.; +double tmp340 = tmp337 + tmp338 + tmp339; +double tmp341 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp78*tmp340; +double tmp342 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp184*tmp290; +double tmp343 = tmp341 + tmp342; +double tmp344 = tmp282*tmp135*tmp191; +double tmp345 = -(tmp283*tmp269*tmp184*tmp143*tmp274)/4.; +double tmp346 = tmp344 + tmp345; +double tmp347 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp78*tmp346; +double tmp348 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp184*tmp296; +double tmp349 = tmp347 + tmp348; +double tmp350 = tmp270*tmp135*tmp210; +double tmp351 = -(tmp271*tmp269*tmp199*tmp143*tmp272)/4.; +double tmp352 = -(tmp273*tmp269*tmp199*tmp143*tmp274)/4.; +double tmp353 = tmp350 + tmp351 + tmp352; +double tmp354 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp78*tmp353; +double tmp355 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp199*tmp290; +double tmp356 = tmp354 + tmp355; +double tmp357 = tmp282*tmp135*tmp210; +double tmp358 = -(tmp283*tmp269*tmp199*tmp143*tmp274)/4.; +double tmp359 = tmp357 + tmp358; +double tmp360 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp78*tmp359; +double tmp361 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp199*tmp296; +double tmp362 = tmp360 + tmp361; +J(1+_OFF,1+_OFF) = tmp260 - tmp150*(0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp117*tmp74*tmp76 + 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp91*tmp101*tmp74*tmp76*tmp79 - 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp91*tmp101*tmp118*tmp119*tmp102 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp154*tmp91*tmp76*tmp102 + tmp261 - 0.0008709284096847238*tmp14*tmp51*tmp107*tmp52*tmp58*tmp117*tmp118*tmp119*tmp78 + tmp262 + 0.0017418568193694477*tmp14*tmp51*tmp105*tmp52*tmp58*tmp117*tmp76*tmp78*tmp142 + 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp91*tmp76*tmp78*tmp214*tmp135 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp91*tmp74*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp91*tmp118*tmp119*tmp78*tmp134 + tmp263 + 0.0017418568193694477*tmp14*tmp51*tmp82*tmp52*tmp58*tmp91*tmp101*tmp76*tmp102*tmp135*tmp146 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp91*tmp76*tmp78*tmp134*tmp227 + 0.0034837136387388954*tmp14*tmp51*tmp175*tmp58*(tmp176*tmp177*tmp74 + (tmp178*tmp179*tmp147*tmp74*tmp79*tmp180)/2.)); +J(1+_OFF,2+_OFF) = tmp235 - tmp150*(0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp117*tmp162*tmp76 + 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp91*tmp101*tmp162*tmp76*tmp79 - 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp91*tmp101*tmp167*tmp119*tmp102 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp166*tmp91*tmp76*tmp102 + tmp264 - 0.0008709284096847238*tmp14*tmp51*tmp107*tmp52*tmp58*tmp117*tmp167*tmp119*tmp78 + tmp265 + 0.0017418568193694477*tmp14*tmp51*tmp105*tmp52*tmp58*tmp117*tmp76*tmp78*tmp171 + 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp91*tmp76*tmp78*tmp230*tmp135 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp91*tmp162*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp91*tmp167*tmp119*tmp78*tmp134 + tmp266 + 0.0017418568193694477*tmp14*tmp51*tmp82*tmp52*tmp58*tmp91*tmp101*tmp76*tmp102*tmp135*tmp174 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp91*tmp76*tmp78*tmp134*tmp234 + 0.0034837136387388954*tmp14*tmp51*tmp175*tmp58*(tmp176*tmp177*tmp162 + (tmp178*tmp179*tmp147*tmp162*tmp79*tmp180)/2.)); +J(1+_OFF,3+_OFF) = -2*tmp148*tmp1 - tmp150*(0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp117*tmp184*tmp76 + 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp91*tmp101*tmp184*tmp76*tmp79 - 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp91*tmp101*tmp185*tmp119*tmp102 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp204*tmp91*tmp76*tmp102 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp166*tmp101*tmp76*tmp102 - 0.0008709284096847238*tmp14*tmp51*tmp107*tmp52*tmp58*tmp117*tmp185*tmp119*tmp78 + 0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp195*tmp76*tmp78 + 0.0017418568193694477*tmp14*tmp51*tmp105*tmp52*tmp58*tmp117*tmp76*tmp78*tmp188 + 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp91*tmp76*tmp78*tmp238*tmp135 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp91*tmp184*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp91*tmp185*tmp119*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp166*tmp76*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp51*tmp82*tmp52*tmp58*tmp91*tmp101*tmp76*tmp102*tmp135*tmp191 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp91*tmp76*tmp78*tmp134*tmp242 + 0.0034837136387388954*tmp14*tmp51*tmp175*tmp58*(tmp176*tmp177*tmp184 + (tmp178*tmp179*tmp147*tmp184*tmp79*tmp180)/2.)); +J(1+_OFF,4+_OFF) = tmp211 - tmp150*(0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp117*tmp199*tmp76 + 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp91*tmp101*tmp199*tmp76*tmp79 - 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp91*tmp101*tmp200*tmp119*tmp102 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp62*tmp91*tmp76*tmp102 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp67*tmp101*tmp76*tmp102 - 0.0008709284096847238*tmp14*tmp51*tmp107*tmp52*tmp58*tmp117*tmp200*tmp119*tmp78 + 0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp204*tmp76*tmp78 + 0.0017418568193694477*tmp14*tmp51*tmp105*tmp52*tmp58*tmp117*tmp76*tmp78*tmp207 + 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp91*tmp76*tmp78*tmp245*tmp135 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp91*tmp199*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp91*tmp200*tmp119*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp67*tmp76*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp51*tmp82*tmp52*tmp58*tmp91*tmp101*tmp76*tmp102*tmp135*tmp210 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp91*tmp76*tmp78*tmp134*tmp249 + 0.0034837136387388954*tmp14*tmp51*tmp175*tmp58*(tmp176*tmp177*tmp199 + (tmp178*tmp179*tmp147*tmp199*tmp79*tmp180)/2.)); +J(2+_OFF,1+_OFF) = tmp211 - tmp150*(0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp223*tmp74*tmp79 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp67*tmp102 + 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp78*tmp214*tmp135 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp74*tmp134 + 0.0017418568193694477*tmp14*tmp51*tmp82*tmp52*tmp58*tmp78*tmp146 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp223*tmp102*tmp227); +J(2+_OFF,2+_OFF) = tmp250 - tmp150*(0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp223*tmp162*tmp79 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp72*tmp102 + 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp78*tmp230*tmp135 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp162*tmp134 + 0.0017418568193694477*tmp14*tmp51*tmp82*tmp52*tmp58*tmp78*tmp174 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp223*tmp102*tmp234); +J(2+_OFF,3+_OFF) = tmp235 - tmp150*(0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp223*tmp184*tmp79 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp158*tmp102 + 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp78*tmp238*tmp135 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp184*tmp134 + 0.0017418568193694477*tmp14*tmp51*tmp82*tmp52*tmp58*tmp78*tmp191 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp223*tmp102*tmp242); +J(2+_OFF,4+_OFF) = 2*tmp148*tmp0 - tmp150*(0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp223*tmp199*tmp79 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp195*tmp102 + 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp78*tmp245*tmp135 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp199*tmp134 + 0.0017418568193694477*tmp14*tmp51*tmp82*tmp52*tmp58*tmp78*tmp210 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp223*tmp102*tmp249); +J(3+_OFF,1+_OFF) = tmp250 - tmp150*(0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp91*tmp74*tmp76 + 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp101*tmp259*tmp74*tmp76*tmp79 - 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp101*tmp259*tmp118*tmp119*tmp102 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp72*tmp101*tmp76*tmp102 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp154*tmp259*tmp76*tmp102 - 0.0008709284096847238*tmp14*tmp51*tmp107*tmp52*tmp58*tmp91*tmp118*tmp119*tmp78 + 0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp62*tmp76*tmp78 + 0.0017418568193694477*tmp14*tmp51*tmp105*tmp52*tmp58*tmp91*tmp76*tmp78*tmp142 + 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp259*tmp76*tmp78*tmp214*tmp135 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp259*tmp74*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp259*tmp118*tmp119*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp72*tmp76*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp51*tmp82*tmp52*tmp58*tmp101*tmp259*tmp76*tmp102*tmp135*tmp146 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp259*tmp76*tmp78*tmp134*tmp227); +J(3+_OFF,2+_OFF) = -2*tmp148*tmp2 - tmp150*(0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp91*tmp162*tmp76 + 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp101*tmp259*tmp162*tmp76*tmp79 - 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp101*tmp259*tmp167*tmp119*tmp102 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp154*tmp101*tmp76*tmp102 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp166*tmp259*tmp76*tmp102 - 0.0008709284096847238*tmp14*tmp51*tmp107*tmp52*tmp58*tmp91*tmp167*tmp119*tmp78 + 0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp158*tmp76*tmp78 + 0.0017418568193694477*tmp14*tmp51*tmp105*tmp52*tmp58*tmp91*tmp76*tmp78*tmp171 + 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp259*tmp76*tmp78*tmp230*tmp135 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp259*tmp162*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp259*tmp167*tmp119*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp154*tmp76*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp51*tmp82*tmp52*tmp58*tmp101*tmp259*tmp76*tmp102*tmp135*tmp174 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp259*tmp76*tmp78*tmp134*tmp234); +J(3+_OFF,3+_OFF) = tmp260 - tmp150*(0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp91*tmp184*tmp76 + 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp101*tmp259*tmp184*tmp76*tmp79 - 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp101*tmp259*tmp185*tmp119*tmp102 + tmp261 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp204*tmp259*tmp76*tmp102 - 0.0008709284096847238*tmp14*tmp51*tmp107*tmp52*tmp58*tmp91*tmp185*tmp119*tmp78 + tmp262 + 0.0017418568193694477*tmp14*tmp51*tmp105*tmp52*tmp58*tmp91*tmp76*tmp78*tmp188 + 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp259*tmp76*tmp78*tmp238*tmp135 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp259*tmp184*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp259*tmp185*tmp119*tmp78*tmp134 + tmp263 + 0.0017418568193694477*tmp14*tmp51*tmp82*tmp52*tmp58*tmp101*tmp259*tmp76*tmp102*tmp135*tmp191 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp259*tmp76*tmp78*tmp134*tmp242); +J(3+_OFF,4+_OFF) = tmp235 - tmp150*(0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp91*tmp199*tmp76 + 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp101*tmp259*tmp199*tmp76*tmp79 - 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp101*tmp259*tmp200*tmp119*tmp102 + tmp264 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp62*tmp259*tmp76*tmp102 - 0.0008709284096847238*tmp14*tmp51*tmp107*tmp52*tmp58*tmp91*tmp200*tmp119*tmp78 + tmp265 + 0.0017418568193694477*tmp14*tmp51*tmp105*tmp52*tmp58*tmp91*tmp76*tmp78*tmp207 + 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp259*tmp76*tmp78*tmp245*tmp135 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp259*tmp199*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp259*tmp200*tmp119*tmp78*tmp134 + tmp266 + 0.0017418568193694477*tmp14*tmp51*tmp82*tmp52*tmp58*tmp101*tmp259*tmp76*tmp102*tmp135*tmp210 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp259*tmp76*tmp78*tmp134*tmp249); +J(4+_OFF,1+_OFF) = -(tmp267*tmp268*tmp281*tmp317) + tmp267*tmp275*tmp281*tmp323; +J(4+_OFF,2+_OFF) = -(tmp267*tmp268*tmp281*tmp330) + tmp267*tmp275*tmp281*tmp336; +J(4+_OFF,3+_OFF) = -(tmp267*tmp268*tmp281*tmp343) + tmp267*tmp275*tmp281*tmp349; +J(4+_OFF,4+_OFF) = -(tmp267*tmp268*tmp281*tmp356) + tmp267*tmp275*tmp281*tmp362; +J(5+_OFF,1+_OFF) = -(tmp303*tmp281*(0.0017418568193694477*tmp14*tmp51*tmp297*tmp52*tmp58*tmp78*(tmp298*tmp142 - (tmp299*tmp297*tmp74*tmp143*tmp300)/4.) + 0.0017418568193694477*tmp14*tmp51*tmp297*tmp52*tmp58*tmp74*tmp310)); +J(5+_OFF,2+_OFF) = -(tmp303*tmp281*(0.0017418568193694477*tmp14*tmp51*tmp297*tmp52*tmp58*tmp78*(tmp298*tmp171 - (tmp299*tmp297*tmp162*tmp143*tmp300)/4.) + 0.0017418568193694477*tmp14*tmp51*tmp297*tmp52*tmp58*tmp162*tmp310)); +J(5+_OFF,3+_OFF) = -(tmp303*tmp281*(0.0017418568193694477*tmp14*tmp51*tmp297*tmp52*tmp58*tmp78*(tmp298*tmp188 - (tmp299*tmp297*tmp184*tmp143*tmp300)/4.) + 0.0017418568193694477*tmp14*tmp51*tmp297*tmp52*tmp58*tmp184*tmp310)); +J(5+_OFF,4+_OFF) = -(tmp303*tmp281*(0.0017418568193694477*tmp14*tmp51*tmp297*tmp52*tmp58*tmp78*(tmp298*tmp207 - (tmp299*tmp297*tmp199*tmp143*tmp300)/4.) + 0.0017418568193694477*tmp14*tmp51*tmp297*tmp52*tmp58*tmp199*tmp310)); +J(6+_OFF,1+_OFF) = tmp267*tmp275*tmp281*tmp317 - tmp276*tmp267*tmp281*tmp323; +J(6+_OFF,2+_OFF) = tmp267*tmp275*tmp281*tmp330 - tmp276*tmp267*tmp281*tmp336; +J(6+_OFF,3+_OFF) = tmp267*tmp275*tmp281*tmp343 - tmp276*tmp267*tmp281*tmp349; +J(6+_OFF,4+_OFF) = tmp267*tmp275*tmp281*tmp356 - tmp276*tmp267*tmp281*tmp362; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrSet1.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrSet1.cppready new file mode 100644 index 0000000..9217281 --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrSet1.cppready @@ -0,0 +1,220 @@ +double tmp0 = x(4+_OFF); +double tmp1 = x(5+_OFF); +double tmp2 = x(6+_OFF); +double tmp3 = x(7+_OFF); +double tmp4 = wind(2+_OFF); +double tmp5 = tmp1*tmp2; +double tmp6 = wind(3+_OFF); +double tmp7 = wind(1+_OFF); +double tmp8 = std::pow(tmp0,2); +double tmp9 = std::pow(tmp1,2); +double tmp10 = std::pow(tmp2,2); +double tmp11 = std::pow(tmp3,2); +double tmp12 = -tmp11; +double tmp13 = -(tmp0*tmp3); +double tmp14 = tmp5 + tmp13; +double tmp15 = -2*tmp7*tmp14; +double tmp16 = tmp0*tmp1; +double tmp17 = tmp2*tmp3; +double tmp18 = tmp16 + tmp17; +double tmp19 = -2*tmp6*tmp18; +double tmp20 = -tmp9; +double tmp21 = tmp8 + tmp20 + tmp10 + tmp12; +double tmp22 = -(tmp4*tmp21); +double tmp23 = x(9+_OFF); +double tmp24 = tmp15 + tmp19 + tmp22 + tmp23; +double tmp25 = tmp1*tmp3; +double tmp26 = -tmp10; +double tmp27 = set1(2+_OFF); +double tmp28 = x(8+_OFF); +double tmp29 = tmp0*tmp3; +double tmp30 = tmp5 + tmp29; +double tmp31 = -2*tmp4*tmp30; +double tmp32 = -(tmp0*tmp2); +double tmp33 = tmp32 + tmp25; +double tmp34 = -2*tmp6*tmp33; +double tmp35 = tmp8 + tmp9 + tmp26 + tmp12; +double tmp36 = -(tmp7*tmp35); +double tmp37 = tmp31 + tmp34 + tmp36 + tmp28; +double tmp38 = std::pow(tmp37,2); +double tmp39 = tmp0*tmp2; +double tmp40 = tmp39 + tmp25; +double tmp41 = -2*tmp7*tmp40; +double tmp42 = -(tmp0*tmp1); +double tmp43 = tmp42 + tmp17; +double tmp44 = -2*tmp4*tmp43; +double tmp45 = tmp8 + tmp20 + tmp26 + tmp11; +double tmp46 = -(tmp6*tmp45); +double tmp47 = x(10+_OFF); +double tmp48 = tmp41 + tmp44 + tmp46 + tmp47; +double tmp49 = std::pow(tmp48,2); +double tmp50 = std::pow(tmp24,2); +double tmp51 = tmp38 + tmp50 + tmp49; +double tmp52 = std::pow(tmp27,-2); +double tmp53 = set1(3+_OFF); +double tmp54 = set2(24+_OFF); +double tmp55 = 1/tmp27; +double tmp56 = set1(1+_OFF); +double tmp57 = x(3+_OFF); +double tmp58 = tmp56 + tmp57; +double tmp59 = -0.006500000000000001*tmp55*tmp58; +double tmp60 = 1 + tmp59; +double tmp61 = std::pow(tmp60,3.2561); +double tmp62 = tmp38 + tmp49; +double tmp63 = 1/std::sqrt(tmp62); +double tmp64 = std::atan2(tmp48,tmp37); +double tmp65 = 1/std::sqrt(tmp51); +double tmp66 = tmp24*tmp65; +double tmp67 = std::asin(tmp66); +double tmp68 = -(tmp7*tmp8); +double tmp69 = -(tmp7*tmp9); +double tmp70 = 2*tmp6*tmp0*tmp2; +double tmp71 = -2*tmp4*tmp1*tmp2; +double tmp72 = tmp7*tmp10; +double tmp73 = -2*tmp4*tmp0*tmp3; +double tmp74 = -2*tmp6*tmp1*tmp3; +double tmp75 = tmp7*tmp11; +double tmp76 = tmp68 + tmp69 + tmp70 + tmp71 + tmp72 + tmp73 + tmp74 + tmp75 + tmp28; +double tmp77 = set2(23+_OFF); +double tmp78 = std::sqrt(tmp51); +double tmp79 = std::pow(tmp77,2); +double tmp80 = z(1+_OFF); +double tmp81 = set2(26+_OFF); +double tmp82 = 1/tmp81; +double tmp83 = set2(8+_OFF); +double tmp84 = tmp4*tmp8; +double tmp85 = 2*tmp6*tmp0*tmp1; +double tmp86 = -(tmp4*tmp9); +double tmp87 = 2*tmp7*tmp1*tmp2; +double tmp88 = tmp4*tmp10; +double tmp89 = -2*tmp7*tmp0*tmp3; +double tmp90 = 2*tmp6*tmp2*tmp3; +double tmp91 = -(tmp4*tmp11); +double tmp92 = -tmp23; +double tmp93 = tmp84 + tmp85 + tmp86 + tmp87 + tmp88 + tmp89 + tmp90 + tmp91 + tmp92; +double tmp94 = std::pow(tmp27,-3); +double tmp95 = set2(9+_OFF); +double tmp96 = set2(10+_OFF); +double tmp97 = tmp64*tmp96; +double tmp98 = tmp95 + tmp97; +double tmp99 = tmp6*tmp8; +double tmp100 = -2*tmp4*tmp0*tmp1; +double tmp101 = -(tmp6*tmp9); +double tmp102 = 2*tmp7*tmp0*tmp2; +double tmp103 = -(tmp6*tmp10); +double tmp104 = 2*tmp7*tmp1*tmp3; +double tmp105 = 2*tmp4*tmp2*tmp3; +double tmp106 = tmp6*tmp11; +double tmp107 = -tmp47; +double tmp108 = tmp99 + tmp100 + tmp101 + tmp102 + tmp103 + tmp104 + tmp105 + tmp106 + tmp107; +double tmp109 = std::pow(tmp60,4.2561); +double tmp110 = set2(4+_OFF); +double tmp111 = set2(5+_OFF); +double tmp112 = tmp64*tmp111; +double tmp113 = std::pow(tmp64,2); +double tmp114 = set2(6+_OFF); +double tmp115 = tmp113*tmp114; +double tmp116 = std::pow(tmp67,2); +double tmp117 = set2(7+_OFF); +double tmp118 = tmp116*tmp117; +double tmp119 = tmp110 + tmp112 + tmp115 + tmp118; +double tmp120 = 1/tmp51; +double tmp121 = -(tmp50*tmp120); +double tmp122 = 1 + tmp121; +double tmp123 = std::sqrt(tmp122); +double tmp124 = std::pow(M_PI,-2); +double tmp125 = set2(3+_OFF); +double tmp126 = tmp124*tmp125*tmp51; +double tmp127 = 1/M_PI; +double tmp128 = set2(2+_OFF); +double tmp129 = tmp127*tmp128*tmp77*tmp78*tmp80; +double tmp130 = set2(1+_OFF); +double tmp131 = std::pow(tmp80,2); +double tmp132 = tmp130*tmp79*tmp131; +double tmp133 = tmp126 + tmp129 + tmp132; +double tmp134 = -(tmp4*tmp8); +double tmp135 = -2*tmp6*tmp0*tmp1; +double tmp136 = tmp4*tmp9; +double tmp137 = -2*tmp7*tmp1*tmp2; +double tmp138 = -(tmp4*tmp10); +double tmp139 = 2*tmp7*tmp0*tmp3; +double tmp140 = -2*tmp6*tmp2*tmp3; +double tmp141 = tmp4*tmp11; +double tmp142 = tmp134 + tmp135 + tmp136 + tmp137 + tmp138 + tmp139 + tmp140 + tmp141 + tmp23; +double tmp143 = -(tmp6*tmp8); +double tmp144 = 2*tmp4*tmp0*tmp1; +double tmp145 = tmp6*tmp9; +double tmp146 = -2*tmp7*tmp0*tmp2; +double tmp147 = tmp6*tmp10; +double tmp148 = -2*tmp7*tmp1*tmp3; +double tmp149 = -2*tmp4*tmp2*tmp3; +double tmp150 = -(tmp6*tmp11); +double tmp151 = tmp143 + tmp144 + tmp145 + tmp146 + tmp147 + tmp148 + tmp149 + tmp150 + tmp47; +double tmp152 = set2(28+_OFF); +double tmp153 = set2(29+_OFF); +double tmp154 = set2(25+_OFF); +double tmp155 = set2(30+_OFF); +double tmp156 = set2(27+_OFF); +double tmp157 = tmp156*tmp152*tmp153; +double tmp158 = std::pow(tmp155,2); +double tmp159 = -(tmp152*tmp158); +double tmp160 = tmp157 + tmp159; +double tmp161 = 1/tmp160; +double tmp162 = x(13+_OFF); +double tmp163 = set2(12+_OFF); +double tmp164 = tmp67*tmp163; +double tmp165 = set2(13+_OFF); +double tmp166 = x(11+_OFF); +double tmp167 = (tmp165*tmp154*tmp65*tmp166)/2.; +double tmp168 = set2(14+_OFF); +double tmp169 = (tmp168*tmp154*tmp65*tmp162)/2.; +double tmp170 = set2(11+_OFF); +double tmp171 = z(2+_OFF); +double tmp172 = tmp170*tmp171; +double tmp173 = tmp164 + tmp167 + tmp169 + tmp172; +double tmp174 = set2(21+_OFF); +double tmp175 = tmp67*tmp174; +double tmp176 = set2(20+_OFF); +double tmp177 = (tmp176*tmp154*tmp65*tmp162)/2.; +double tmp178 = set2(19+_OFF); +double tmp179 = z(4+_OFF); +double tmp180 = tmp178*tmp179; +double tmp181 = tmp175 + tmp177 + tmp180; +double tmp182 = set2(22+_OFF); +double tmp183 = tmp156*tmp153; +double tmp184 = -tmp158; +double tmp185 = tmp183 + tmp184; +double tmp186 = set2(15+_OFF); +double tmp187 = set2(18+_OFF); +double tmp188 = tmp64*tmp187; +double tmp189 = set2(17+_OFF); +double tmp190 = x(12+_OFF); +double tmp191 = (tmp189*tmp182*tmp65*tmp190)/2.; +double tmp192 = set2(16+_OFF); +double tmp193 = z(3+_OFF); +double tmp194 = tmp192*tmp193; +double tmp195 = tmp186 + tmp188 + tmp191 + tmp194; +double tmp196 = 0.000048187859257968994*tmp94*tmp53*tmp54*tmp154*tmp58*tmp61*tmp51*tmp173; +double tmp197 = -0.0017418568193694477*tmp52*tmp53*tmp54*tmp154*tmp109*tmp51*tmp173; +double tmp198 = tmp196 + tmp197; +double tmp199 = 0.000048187859257968994*tmp94*tmp53*tmp54*tmp154*tmp58*tmp61*tmp51*tmp181; +double tmp200 = -0.0017418568193694477*tmp52*tmp53*tmp54*tmp154*tmp109*tmp51*tmp181; +double tmp201 = tmp199 + tmp200; +J(1+_OFF,1+_OFF) = -(tmp82*(-0.000048187859257968994*tmp67*tmp52*tmp53*tmp83*tmp54*tmp61*tmp76*tmp93*tmp63*tmp78 - 0.000048187859257968994*tmp52*tmp53*tmp98*tmp54*tmp61*tmp108*tmp63*tmp51 - 0.000048187859257968994*tmp52*tmp53*tmp119*tmp54*tmp61*tmp76*tmp63*tmp51*tmp123 - 0.00009637571851593799*tmp52*tmp53*tmp79*tmp61*tmp133)); +J(1+_OFF,2+_OFF) = -(tmp82*(0.000048187859257968994*tmp67*tmp94*tmp53*tmp83*tmp54*tmp58*tmp61*tmp76*tmp93*tmp63*tmp78 - 0.0017418568193694477*tmp67*tmp52*tmp53*tmp83*tmp54*tmp109*tmp76*tmp93*tmp63*tmp78 + 0.000048187859257968994*tmp94*tmp53*tmp98*tmp54*tmp58*tmp61*tmp108*tmp63*tmp51 - 0.0017418568193694477*tmp52*tmp53*tmp98*tmp54*tmp109*tmp108*tmp63*tmp51 + 0.000048187859257968994*tmp94*tmp53*tmp119*tmp54*tmp58*tmp61*tmp76*tmp63*tmp51*tmp123 - 0.0017418568193694477*tmp52*tmp53*tmp119*tmp54*tmp109*tmp76*tmp63*tmp51*tmp123 + 0.00009637571851593799*tmp94*tmp53*tmp79*tmp58*tmp61*tmp133 - 0.0034837136387388954*tmp52*tmp53*tmp79*tmp109*tmp133)); +J(1+_OFF,3+_OFF) = -(tmp82*(0.0017418568193694477*tmp67*tmp55*tmp83*tmp54*tmp109*tmp76*tmp93*tmp63*tmp78 + 0.0017418568193694477*tmp55*tmp98*tmp54*tmp109*tmp108*tmp63*tmp51 + 0.0017418568193694477*tmp55*tmp119*tmp54*tmp109*tmp76*tmp63*tmp51*tmp123 + 0.0034837136387388954*tmp55*tmp79*tmp109*tmp133)); +J(2+_OFF,1+_OFF) = -(tmp82*(-0.000048187859257968994*tmp52*tmp53*tmp119*tmp54*tmp61*tmp142*tmp78 - 0.000048187859257968994*tmp67*tmp52*tmp53*tmp83*tmp54*tmp61*tmp51*tmp123)); +J(2+_OFF,2+_OFF) = -(tmp82*(0.000048187859257968994*tmp94*tmp53*tmp119*tmp54*tmp58*tmp61*tmp142*tmp78 - 0.0017418568193694477*tmp52*tmp53*tmp119*tmp54*tmp109*tmp142*tmp78 + 0.000048187859257968994*tmp67*tmp94*tmp53*tmp83*tmp54*tmp58*tmp61*tmp51*tmp123 - 0.0017418568193694477*tmp67*tmp52*tmp53*tmp83*tmp54*tmp109*tmp51*tmp123)); +J(2+_OFF,3+_OFF) = -(tmp82*(0.0017418568193694477*tmp55*tmp119*tmp54*tmp109*tmp142*tmp78 + 0.0017418568193694477*tmp67*tmp55*tmp83*tmp54*tmp109*tmp51*tmp123)); +J(3+_OFF,1+_OFF) = -(tmp82*(-0.000048187859257968994*tmp67*tmp52*tmp53*tmp83*tmp54*tmp61*tmp93*tmp151*tmp63*tmp78 - 0.000048187859257968994*tmp52*tmp53*tmp98*tmp54*tmp61*tmp76*tmp63*tmp51 - 0.000048187859257968994*tmp52*tmp53*tmp119*tmp54*tmp61*tmp151*tmp63*tmp51*tmp123)); +J(3+_OFF,2+_OFF) = -(tmp82*(0.000048187859257968994*tmp67*tmp94*tmp53*tmp83*tmp54*tmp58*tmp61*tmp93*tmp151*tmp63*tmp78 - 0.0017418568193694477*tmp67*tmp52*tmp53*tmp83*tmp54*tmp109*tmp93*tmp151*tmp63*tmp78 + 0.000048187859257968994*tmp94*tmp53*tmp98*tmp54*tmp58*tmp61*tmp76*tmp63*tmp51 - 0.0017418568193694477*tmp52*tmp53*tmp98*tmp54*tmp109*tmp76*tmp63*tmp51 + 0.000048187859257968994*tmp94*tmp53*tmp119*tmp54*tmp58*tmp61*tmp151*tmp63*tmp51*tmp123 - 0.0017418568193694477*tmp52*tmp53*tmp119*tmp54*tmp109*tmp151*tmp63*tmp51*tmp123)); +J(3+_OFF,3+_OFF) = -(tmp82*(0.0017418568193694477*tmp67*tmp55*tmp83*tmp54*tmp109*tmp93*tmp151*tmp63*tmp78 + 0.0017418568193694477*tmp55*tmp98*tmp54*tmp109*tmp76*tmp63*tmp51 + 0.0017418568193694477*tmp55*tmp119*tmp54*tmp109*tmp151*tmp63*tmp51*tmp123)); +J(4+_OFF,1+_OFF) = 0.000048187859257968994*tmp52*tmp53*tmp54*tmp154*tmp152*tmp153*tmp161*tmp61*tmp51*tmp173 - 0.000048187859257968994*tmp52*tmp53*tmp54*tmp154*tmp152*tmp155*tmp161*tmp61*tmp51*tmp181; +J(4+_OFF,2+_OFF) = -(tmp152*tmp153*tmp161*tmp198) + tmp152*tmp155*tmp161*tmp201; +J(4+_OFF,3+_OFF) = -0.0017418568193694477*tmp55*tmp54*tmp154*tmp152*tmp153*tmp161*tmp109*tmp51*tmp173 + 0.0017418568193694477*tmp55*tmp54*tmp154*tmp152*tmp155*tmp161*tmp109*tmp51*tmp181; +J(5+_OFF,1+_OFF) = 0.000048187859257968994*tmp52*tmp53*tmp182*tmp54*tmp185*tmp161*tmp61*tmp51*tmp195; +J(5+_OFF,2+_OFF) = -(tmp185*tmp161*(0.000048187859257968994*tmp94*tmp53*tmp182*tmp54*tmp58*tmp61*tmp51*tmp195 - 0.0017418568193694477*tmp52*tmp53*tmp182*tmp54*tmp109*tmp51*tmp195)); +J(5+_OFF,3+_OFF) = -0.0017418568193694477*tmp55*tmp182*tmp54*tmp185*tmp161*tmp109*tmp51*tmp195; +J(6+_OFF,1+_OFF) = -0.000048187859257968994*tmp52*tmp53*tmp54*tmp154*tmp152*tmp155*tmp161*tmp61*tmp51*tmp173 + 0.000048187859257968994*tmp52*tmp53*tmp54*tmp154*tmp156*tmp152*tmp161*tmp61*tmp51*tmp181; +J(6+_OFF,2+_OFF) = tmp152*tmp155*tmp161*tmp198 - tmp156*tmp152*tmp161*tmp201; +J(6+_OFF,3+_OFF) = 0.0017418568193694477*tmp55*tmp54*tmp154*tmp152*tmp155*tmp161*tmp109*tmp51*tmp173 - 0.0017418568193694477*tmp55*tmp54*tmp154*tmp156*tmp152*tmp161*tmp109*tmp51*tmp181; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrSet2.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrSet2.cppready new file mode 100644 index 0000000..7d0e6f7 --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrSet2.cppready @@ -0,0 +1,408 @@ +double tmp0 = set1(2+_OFF); +double tmp1 = 1/tmp0; +double tmp2 = set1(3+_OFF); +double tmp3 = set2(23+_OFF); +double tmp4 = set2(26+_OFF); +double tmp5 = 1/tmp4; +double tmp6 = set1(1+_OFF); +double tmp7 = x(3+_OFF); +double tmp8 = tmp6 + tmp7; +double tmp9 = -0.006500000000000001*tmp1*tmp8; +double tmp10 = 1 + tmp9; +double tmp11 = std::pow(tmp10,4.2561); +double tmp12 = x(4+_OFF); +double tmp13 = x(6+_OFF); +double tmp14 = x(5+_OFF); +double tmp15 = x(7+_OFF); +double tmp16 = wind(1+_OFF); +double tmp17 = tmp14*tmp13; +double tmp18 = wind(3+_OFF); +double tmp19 = wind(2+_OFF); +double tmp20 = std::pow(tmp12,2); +double tmp21 = std::pow(tmp14,2); +double tmp22 = std::pow(tmp13,2); +double tmp23 = std::pow(tmp15,2); +double tmp24 = -tmp23; +double tmp25 = tmp14*tmp15; +double tmp26 = tmp13*tmp15; +double tmp27 = -tmp21; +double tmp28 = -tmp22; +double tmp29 = z(1+_OFF); +double tmp30 = tmp12*tmp15; +double tmp31 = tmp17 + tmp30; +double tmp32 = -2*tmp19*tmp31; +double tmp33 = -(tmp12*tmp13); +double tmp34 = tmp33 + tmp25; +double tmp35 = -2*tmp18*tmp34; +double tmp36 = tmp20 + tmp21 + tmp28 + tmp24; +double tmp37 = -(tmp16*tmp36); +double tmp38 = x(8+_OFF); +double tmp39 = tmp32 + tmp35 + tmp37 + tmp38; +double tmp40 = std::pow(tmp39,2); +double tmp41 = -(tmp12*tmp15); +double tmp42 = tmp17 + tmp41; +double tmp43 = -2*tmp16*tmp42; +double tmp44 = tmp12*tmp14; +double tmp45 = tmp44 + tmp26; +double tmp46 = -2*tmp18*tmp45; +double tmp47 = tmp20 + tmp27 + tmp22 + tmp24; +double tmp48 = -(tmp19*tmp47); +double tmp49 = x(9+_OFF); +double tmp50 = tmp43 + tmp46 + tmp48 + tmp49; +double tmp51 = std::pow(tmp50,2); +double tmp52 = tmp12*tmp13; +double tmp53 = tmp52 + tmp25; +double tmp54 = -2*tmp16*tmp53; +double tmp55 = -(tmp12*tmp14); +double tmp56 = tmp55 + tmp26; +double tmp57 = -2*tmp19*tmp56; +double tmp58 = tmp20 + tmp27 + tmp28 + tmp23; +double tmp59 = -(tmp18*tmp58); +double tmp60 = x(10+_OFF); +double tmp61 = tmp54 + tmp57 + tmp59 + tmp60; +double tmp62 = std::pow(tmp61,2); +double tmp63 = tmp40 + tmp51 + tmp62; +double tmp64 = set2(24+_OFF); +double tmp65 = -(tmp16*tmp20); +double tmp66 = -(tmp16*tmp21); +double tmp67 = 2*tmp18*tmp12*tmp13; +double tmp68 = -2*tmp19*tmp14*tmp13; +double tmp69 = tmp16*tmp22; +double tmp70 = -2*tmp19*tmp12*tmp15; +double tmp71 = -2*tmp18*tmp14*tmp15; +double tmp72 = tmp16*tmp23; +double tmp73 = tmp65 + tmp66 + tmp67 + tmp68 + tmp69 + tmp70 + tmp71 + tmp72 + tmp38; +double tmp74 = tmp40 + tmp62; +double tmp75 = 1/std::sqrt(tmp74); +double tmp76 = 1/tmp63; +double tmp77 = -(tmp51*tmp76); +double tmp78 = 1 + tmp77; +double tmp79 = std::sqrt(tmp78); +double tmp80 = std::atan2(tmp61,tmp39); +double tmp81 = 1/std::sqrt(tmp63); +double tmp82 = tmp50*tmp81; +double tmp83 = std::asin(tmp82); +double tmp84 = std::sqrt(tmp63); +double tmp85 = tmp18*tmp20; +double tmp86 = -2*tmp19*tmp12*tmp14; +double tmp87 = -(tmp18*tmp21); +double tmp88 = 2*tmp16*tmp12*tmp13; +double tmp89 = -(tmp18*tmp22); +double tmp90 = 2*tmp16*tmp14*tmp15; +double tmp91 = 2*tmp19*tmp13*tmp15; +double tmp92 = tmp18*tmp23; +double tmp93 = -tmp60; +double tmp94 = tmp85 + tmp86 + tmp87 + tmp88 + tmp89 + tmp90 + tmp91 + tmp92 + tmp93; +double tmp95 = std::pow(tmp3,2); +double tmp96 = std::pow(tmp29,2); +double tmp97 = 1/M_PI; +double tmp98 = set2(2+_OFF); +double tmp99 = set2(1+_OFF); +double tmp100 = tmp19*tmp20; +double tmp101 = 2*tmp18*tmp12*tmp14; +double tmp102 = -(tmp19*tmp21); +double tmp103 = 2*tmp16*tmp14*tmp13; +double tmp104 = tmp19*tmp22; +double tmp105 = -2*tmp16*tmp12*tmp15; +double tmp106 = 2*tmp18*tmp13*tmp15; +double tmp107 = -(tmp19*tmp23); +double tmp108 = -tmp49; +double tmp109 = tmp100 + tmp101 + tmp102 + tmp103 + tmp104 + tmp105 + tmp106 + tmp107 + tmp108; +double tmp110 = std::pow(tmp80,2); +double tmp111 = std::pow(tmp83,2); +double tmp112 = set2(8+_OFF); +double tmp113 = set2(9+_OFF); +double tmp114 = set2(10+_OFF); +double tmp115 = tmp80*tmp114; +double tmp116 = tmp113 + tmp115; +double tmp117 = set2(4+_OFF); +double tmp118 = set2(5+_OFF); +double tmp119 = tmp80*tmp118; +double tmp120 = set2(6+_OFF); +double tmp121 = tmp110*tmp120; +double tmp122 = set2(7+_OFF); +double tmp123 = tmp111*tmp122; +double tmp124 = tmp117 + tmp119 + tmp121 + tmp123; +double tmp125 = std::pow(M_PI,-2); +double tmp126 = set2(3+_OFF); +double tmp127 = tmp125*tmp126*tmp63; +double tmp128 = tmp97*tmp98*tmp3*tmp84*tmp29; +double tmp129 = tmp99*tmp95*tmp96; +double tmp130 = tmp127 + tmp128 + tmp129; +double tmp131 = -(tmp19*tmp20); +double tmp132 = -2*tmp18*tmp12*tmp14; +double tmp133 = tmp19*tmp21; +double tmp134 = -2*tmp16*tmp14*tmp13; +double tmp135 = -(tmp19*tmp22); +double tmp136 = 2*tmp16*tmp12*tmp15; +double tmp137 = -2*tmp18*tmp13*tmp15; +double tmp138 = tmp19*tmp23; +double tmp139 = tmp131 + tmp132 + tmp133 + tmp134 + tmp135 + tmp136 + tmp137 + tmp138 + tmp49; +double tmp140 = std::pow(tmp4,-2); +double tmp141 = -(tmp18*tmp20); +double tmp142 = 2*tmp19*tmp12*tmp14; +double tmp143 = tmp18*tmp21; +double tmp144 = -2*tmp16*tmp12*tmp13; +double tmp145 = tmp18*tmp22; +double tmp146 = -2*tmp16*tmp14*tmp15; +double tmp147 = -2*tmp19*tmp13*tmp15; +double tmp148 = -(tmp18*tmp23); +double tmp149 = tmp141 + tmp142 + tmp143 + tmp144 + tmp145 + tmp146 + tmp147 + tmp148 + tmp60; +double tmp150 = set2(28+_OFF); +double tmp151 = set2(29+_OFF); +double tmp152 = set2(25+_OFF); +double tmp153 = set2(27+_OFF); +double tmp154 = tmp153*tmp150*tmp151; +double tmp155 = set2(30+_OFF); +double tmp156 = std::pow(tmp155,2); +double tmp157 = -(tmp150*tmp156); +double tmp158 = tmp154 + tmp157; +double tmp159 = 1/tmp158; +double tmp160 = std::pow(tmp152,2); +double tmp161 = x(13+_OFF); +double tmp162 = x(11+_OFF); +double tmp163 = z(2+_OFF); +double tmp164 = z(4+_OFF); +double tmp165 = set2(13+_OFF); +double tmp166 = set2(14+_OFF); +double tmp167 = set2(12+_OFF); +double tmp168 = tmp83*tmp167; +double tmp169 = (tmp165*tmp152*tmp81*tmp162)/2.; +double tmp170 = (tmp166*tmp152*tmp81*tmp161)/2.; +double tmp171 = set2(11+_OFF); +double tmp172 = tmp171*tmp163; +double tmp173 = tmp168 + tmp169 + tmp170 + tmp172; +double tmp174 = set2(20+_OFF); +double tmp175 = set2(21+_OFF); +double tmp176 = tmp83*tmp175; +double tmp177 = (tmp174*tmp152*tmp81*tmp161)/2.; +double tmp178 = set2(19+_OFF); +double tmp179 = tmp178*tmp164; +double tmp180 = tmp176 + tmp177 + tmp179; +double tmp181 = x(12+_OFF); +double tmp182 = std::pow(tmp150,2); +double tmp183 = std::pow(tmp158,-2); +double tmp184 = -(tmp155*tmp162*tmp181); +double tmp185 = tmp150*tmp181*tmp161; +double tmp186 = -(tmp151*tmp181*tmp161); +double tmp187 = 0.0017418568193694477*tmp1*tmp2*tmp64*tmp152*tmp11*tmp63*tmp173; +double tmp188 = tmp184 + tmp185 + tmp186 + tmp187; +double tmp189 = tmp153*tmp151; +double tmp190 = -tmp156; +double tmp191 = tmp189 + tmp190; +double tmp192 = tmp153*tmp162*tmp181; +double tmp193 = -(tmp150*tmp162*tmp181); +double tmp194 = tmp155*tmp181*tmp161; +double tmp195 = 0.0017418568193694477*tmp1*tmp2*tmp64*tmp152*tmp11*tmp63*tmp180; +double tmp196 = tmp192 + tmp193 + tmp194 + tmp195; +double tmp197 = set2(22+_OFF); +double tmp198 = set2(17+_OFF); +double tmp199 = z(3+_OFF); +double tmp200 = set2(15+_OFF); +double tmp201 = set2(18+_OFF); +double tmp202 = tmp80*tmp201; +double tmp203 = (tmp198*tmp197*tmp81*tmp181)/2.; +double tmp204 = set2(16+_OFF); +double tmp205 = tmp204*tmp199; +double tmp206 = tmp200 + tmp202 + tmp203 + tmp205; +double tmp207 = std::pow(tmp162,2); +double tmp208 = tmp155*tmp207; +double tmp209 = -(tmp153*tmp162*tmp161); +double tmp210 = tmp151*tmp162*tmp161; +double tmp211 = std::pow(tmp161,2); +double tmp212 = -(tmp155*tmp211); +double tmp213 = 0.0017418568193694477*tmp1*tmp2*tmp197*tmp64*tmp11*tmp63*tmp206; +double tmp214 = tmp208 + tmp209 + tmp210 + tmp212 + tmp213; +double tmp215 = 0.0017418568193694477*tmp83*tmp1*tmp2*tmp64*tmp152*tmp150*tmp155*tmp159*tmp11*tmp63; +double tmp216 = 0.0008709284096847238*tmp1*tmp2*tmp64*tmp160*tmp150*tmp155*tmp159*tmp11*tmp84*tmp161; +double tmp217 = (tmp165*tmp81*tmp162)/2.; +double tmp218 = (tmp166*tmp81*tmp161)/2.; +double tmp219 = tmp217 + tmp218; +double tmp220 = 0.0017418568193694477*tmp1*tmp2*tmp64*tmp152*tmp11*tmp63*tmp219; +double tmp221 = 0.0017418568193694477*tmp1*tmp2*tmp64*tmp11*tmp63*tmp173; +double tmp222 = tmp220 + tmp221; +double tmp223 = 0.0008709284096847238*tmp1*tmp2*tmp174*tmp64*tmp152*tmp11*tmp84*tmp161; +double tmp224 = 0.0017418568193694477*tmp1*tmp2*tmp64*tmp11*tmp63*tmp180; +double tmp225 = tmp223 + tmp224; +double tmp226 = tmp150*tmp155*tmp159*tmp181*tmp161; +double tmp227 = -(tmp150*tmp155*tmp159*tmp162*tmp181); +J(1+_OFF,1+_OFF) = -0.0034837136387388954*tmp1*tmp2*std::pow(tmp3,4)*tmp5*tmp11*tmp96; +J(1+_OFF,2+_OFF) = -0.0011089004918438971*tmp1*tmp2*std::pow(tmp3,3)*tmp5*tmp11*tmp84*tmp29; +J(1+_OFF,3+_OFF) = -0.00035297398934798035*tmp1*tmp2*tmp95*tmp5*tmp11*tmp63; +J(1+_OFF,4+_OFF) = -0.0017418568193694477*tmp1*tmp2*tmp64*tmp5*tmp11*tmp73*tmp75*tmp63*tmp79; +J(1+_OFF,5+_OFF) = -0.0017418568193694477*tmp80*tmp1*tmp2*tmp64*tmp5*tmp11*tmp73*tmp75*tmp63*tmp79; +J(1+_OFF,6+_OFF) = -0.0017418568193694477*tmp110*tmp1*tmp2*tmp64*tmp5*tmp11*tmp73*tmp75*tmp63*tmp79; +J(1+_OFF,7+_OFF) = -0.0017418568193694477*tmp111*tmp1*tmp2*tmp64*tmp5*tmp11*tmp73*tmp75*tmp63*tmp79; +J(1+_OFF,8+_OFF) = -0.0017418568193694477*tmp83*tmp1*tmp2*tmp64*tmp5*tmp11*tmp73*tmp109*tmp75*tmp84; +J(1+_OFF,9+_OFF) = -0.0017418568193694477*tmp1*tmp2*tmp64*tmp5*tmp11*tmp94*tmp75*tmp63; +J(1+_OFF,10+_OFF) = -0.0017418568193694477*tmp80*tmp1*tmp2*tmp64*tmp5*tmp11*tmp94*tmp75*tmp63; +J(1+_OFF,11+_OFF) = 0; +J(1+_OFF,12+_OFF) = 0; +J(1+_OFF,13+_OFF) = 0; +J(1+_OFF,14+_OFF) = 0; +J(1+_OFF,15+_OFF) = 0; +J(1+_OFF,16+_OFF) = 0; +J(1+_OFF,17+_OFF) = 0; +J(1+_OFF,18+_OFF) = 0; +J(1+_OFF,19+_OFF) = 0; +J(1+_OFF,20+_OFF) = 0; +J(1+_OFF,21+_OFF) = 0; +J(1+_OFF,22+_OFF) = 0; +J(1+_OFF,23+_OFF) = -(tmp5*(0.0034837136387388954*tmp1*tmp2*tmp95*tmp11*(tmp97*tmp98*tmp84*tmp29 + 2*tmp99*tmp3*tmp96) + 0.006967427277477791*tmp1*tmp2*tmp3*tmp11*tmp130)); +J(1+_OFF,24+_OFF) = -(tmp5*(0.0017418568193694477*tmp83*tmp1*tmp2*tmp112*tmp11*tmp73*tmp109*tmp75*tmp84 + 0.0017418568193694477*tmp1*tmp2*tmp116*tmp11*tmp94*tmp75*tmp63 + 0.0017418568193694477*tmp1*tmp2*tmp124*tmp11*tmp73*tmp75*tmp63*tmp79)); +J(1+_OFF,25+_OFF) = 0; +J(1+_OFF,26+_OFF) = tmp140*(0.0017418568193694477*tmp83*tmp1*tmp2*tmp112*tmp64*tmp11*tmp73*tmp109*tmp75*tmp84 + 0.0017418568193694477*tmp1*tmp2*tmp116*tmp64*tmp11*tmp94*tmp75*tmp63 + 0.0017418568193694477*tmp1*tmp2*tmp124*tmp64*tmp11*tmp73*tmp75*tmp63*tmp79 + 0.0034837136387388954*tmp1*tmp2*tmp95*tmp11*tmp130); +J(1+_OFF,27+_OFF) = 0; +J(1+_OFF,28+_OFF) = 0; +J(1+_OFF,29+_OFF) = 0; +J(1+_OFF,30+_OFF) = 0; +J(2+_OFF,1+_OFF) = 0; +J(2+_OFF,2+_OFF) = 0; +J(2+_OFF,3+_OFF) = 0; +J(2+_OFF,4+_OFF) = -0.0017418568193694477*tmp1*tmp2*tmp64*tmp5*tmp11*tmp139*tmp84; +J(2+_OFF,5+_OFF) = -0.0017418568193694477*tmp80*tmp1*tmp2*tmp64*tmp5*tmp11*tmp139*tmp84; +J(2+_OFF,6+_OFF) = -0.0017418568193694477*tmp110*tmp1*tmp2*tmp64*tmp5*tmp11*tmp139*tmp84; +J(2+_OFF,7+_OFF) = -0.0017418568193694477*tmp111*tmp1*tmp2*tmp64*tmp5*tmp11*tmp139*tmp84; +J(2+_OFF,8+_OFF) = -0.0017418568193694477*tmp83*tmp1*tmp2*tmp64*tmp5*tmp11*tmp63*tmp79; +J(2+_OFF,9+_OFF) = 0; +J(2+_OFF,10+_OFF) = 0; +J(2+_OFF,11+_OFF) = 0; +J(2+_OFF,12+_OFF) = 0; +J(2+_OFF,13+_OFF) = 0; +J(2+_OFF,14+_OFF) = 0; +J(2+_OFF,15+_OFF) = 0; +J(2+_OFF,16+_OFF) = 0; +J(2+_OFF,17+_OFF) = 0; +J(2+_OFF,18+_OFF) = 0; +J(2+_OFF,19+_OFF) = 0; +J(2+_OFF,20+_OFF) = 0; +J(2+_OFF,21+_OFF) = 0; +J(2+_OFF,22+_OFF) = 0; +J(2+_OFF,23+_OFF) = 0; +J(2+_OFF,24+_OFF) = -(tmp5*(0.0017418568193694477*tmp1*tmp2*tmp124*tmp11*tmp139*tmp84 + 0.0017418568193694477*tmp83*tmp1*tmp2*tmp112*tmp11*tmp63*tmp79)); +J(2+_OFF,25+_OFF) = 0; +J(2+_OFF,26+_OFF) = tmp140*(0. + 0.0017418568193694477*tmp1*tmp2*tmp124*tmp64*tmp11*tmp139*tmp84 + 0.0017418568193694477*tmp83*tmp1*tmp2*tmp112*tmp64*tmp11*tmp63*tmp79); +J(2+_OFF,27+_OFF) = 0; +J(2+_OFF,28+_OFF) = 0; +J(2+_OFF,29+_OFF) = 0; +J(2+_OFF,30+_OFF) = 0; +J(3+_OFF,1+_OFF) = 0; +J(3+_OFF,2+_OFF) = 0; +J(3+_OFF,3+_OFF) = 0; +J(3+_OFF,4+_OFF) = -0.0017418568193694477*tmp1*tmp2*tmp64*tmp5*tmp11*tmp149*tmp75*tmp63*tmp79; +J(3+_OFF,5+_OFF) = -0.0017418568193694477*tmp80*tmp1*tmp2*tmp64*tmp5*tmp11*tmp149*tmp75*tmp63*tmp79; +J(3+_OFF,6+_OFF) = -0.0017418568193694477*tmp110*tmp1*tmp2*tmp64*tmp5*tmp11*tmp149*tmp75*tmp63*tmp79; +J(3+_OFF,7+_OFF) = -0.0017418568193694477*tmp111*tmp1*tmp2*tmp64*tmp5*tmp11*tmp149*tmp75*tmp63*tmp79; +J(3+_OFF,8+_OFF) = -0.0017418568193694477*tmp83*tmp1*tmp2*tmp64*tmp5*tmp11*tmp109*tmp149*tmp75*tmp84; +J(3+_OFF,9+_OFF) = -0.0017418568193694477*tmp1*tmp2*tmp64*tmp5*tmp11*tmp73*tmp75*tmp63; +J(3+_OFF,10+_OFF) = -0.0017418568193694477*tmp80*tmp1*tmp2*tmp64*tmp5*tmp11*tmp73*tmp75*tmp63; +J(3+_OFF,11+_OFF) = 0; +J(3+_OFF,12+_OFF) = 0; +J(3+_OFF,13+_OFF) = 0; +J(3+_OFF,14+_OFF) = 0; +J(3+_OFF,15+_OFF) = 0; +J(3+_OFF,16+_OFF) = 0; +J(3+_OFF,17+_OFF) = 0; +J(3+_OFF,18+_OFF) = 0; +J(3+_OFF,19+_OFF) = 0; +J(3+_OFF,20+_OFF) = 0; +J(3+_OFF,21+_OFF) = 0; +J(3+_OFF,22+_OFF) = 0; +J(3+_OFF,23+_OFF) = 0; +J(3+_OFF,24+_OFF) = -(tmp5*(0.0017418568193694477*tmp83*tmp1*tmp2*tmp112*tmp11*tmp109*tmp149*tmp75*tmp84 + 0.0017418568193694477*tmp1*tmp2*tmp116*tmp11*tmp73*tmp75*tmp63 + 0.0017418568193694477*tmp1*tmp2*tmp124*tmp11*tmp149*tmp75*tmp63*tmp79)); +J(3+_OFF,25+_OFF) = 0; +J(3+_OFF,26+_OFF) = tmp140*(0.0017418568193694477*tmp83*tmp1*tmp2*tmp112*tmp64*tmp11*tmp109*tmp149*tmp75*tmp84 + 0.0017418568193694477*tmp1*tmp2*tmp116*tmp64*tmp11*tmp73*tmp75*tmp63 + 0.0017418568193694477*tmp1*tmp2*tmp124*tmp64*tmp11*tmp149*tmp75*tmp63*tmp79); +J(3+_OFF,27+_OFF) = 0; +J(3+_OFF,28+_OFF) = 0; +J(3+_OFF,29+_OFF) = 0; +J(3+_OFF,30+_OFF) = 0; +J(4+_OFF,1+_OFF) = 0; +J(4+_OFF,2+_OFF) = 0; +J(4+_OFF,3+_OFF) = 0; +J(4+_OFF,4+_OFF) = 0; +J(4+_OFF,5+_OFF) = 0; +J(4+_OFF,6+_OFF) = 0; +J(4+_OFF,7+_OFF) = 0; +J(4+_OFF,8+_OFF) = 0; +J(4+_OFF,9+_OFF) = 0; +J(4+_OFF,10+_OFF) = 0; +J(4+_OFF,11+_OFF) = -0.0017418568193694477*tmp1*tmp2*tmp64*tmp152*tmp150*tmp151*tmp159*tmp11*tmp63*tmp163; +J(4+_OFF,12+_OFF) = -0.0017418568193694477*tmp83*tmp1*tmp2*tmp64*tmp152*tmp150*tmp151*tmp159*tmp11*tmp63; +J(4+_OFF,13+_OFF) = -0.0008709284096847238*tmp1*tmp2*tmp64*tmp160*tmp150*tmp151*tmp159*tmp11*tmp84*tmp162; +J(4+_OFF,14+_OFF) = -0.0008709284096847238*tmp1*tmp2*tmp64*tmp160*tmp150*tmp151*tmp159*tmp11*tmp84*tmp161; +J(4+_OFF,15+_OFF) = 0; +J(4+_OFF,16+_OFF) = 0; +J(4+_OFF,17+_OFF) = 0; +J(4+_OFF,18+_OFF) = 0; +J(4+_OFF,19+_OFF) = 0.0017418568193694477*tmp1*tmp2*tmp64*tmp152*tmp150*tmp155*tmp159*tmp11*tmp63*tmp164; +J(4+_OFF,20+_OFF) = tmp216; +J(4+_OFF,21+_OFF) = tmp215; +J(4+_OFF,22+_OFF) = 0; +J(4+_OFF,23+_OFF) = 0; +J(4+_OFF,24+_OFF) = -0.0017418568193694477*tmp1*tmp2*tmp152*tmp150*tmp151*tmp159*tmp11*tmp63*tmp173 + 0.0017418568193694477*tmp1*tmp2*tmp152*tmp150*tmp155*tmp159*tmp11*tmp63*tmp180; +J(4+_OFF,25+_OFF) = -(tmp150*tmp151*tmp159*tmp222) + tmp150*tmp155*tmp159*tmp225; +J(4+_OFF,26+_OFF) = 0; +J(4+_OFF,27+_OFF) = tmp150*tmp155*tmp159*tmp162*tmp181 + tmp182*std::pow(tmp151,2)*tmp183*tmp188 - tmp182*tmp151*tmp155*tmp183*tmp196; +J(4+_OFF,28+_OFF) = tmp227 - tmp150*tmp151*tmp159*tmp181*tmp161 + tmp150*tmp151*tmp191*tmp183*tmp188 - tmp151*tmp159*tmp188 - tmp150*tmp155*tmp191*tmp183*tmp196 + tmp155*tmp159*tmp196; +J(4+_OFF,29+_OFF) = tmp150*tmp151*tmp159*tmp181*tmp161 + tmp153*tmp182*tmp151*tmp183*tmp188 - tmp150*tmp159*tmp188 - tmp153*tmp182*tmp155*tmp183*tmp196; +J(4+_OFF,30+_OFF) = tmp150*tmp151*tmp159*tmp162*tmp181 + tmp226 - 2*tmp182*tmp151*tmp155*tmp183*tmp188 + 2*tmp182*tmp156*tmp183*tmp196 + tmp150*tmp159*tmp196; +J(5+_OFF,1+_OFF) = 0; +J(5+_OFF,2+_OFF) = 0; +J(5+_OFF,3+_OFF) = 0; +J(5+_OFF,4+_OFF) = 0; +J(5+_OFF,5+_OFF) = 0; +J(5+_OFF,6+_OFF) = 0; +J(5+_OFF,7+_OFF) = 0; +J(5+_OFF,8+_OFF) = 0; +J(5+_OFF,9+_OFF) = 0; +J(5+_OFF,10+_OFF) = 0; +J(5+_OFF,11+_OFF) = 0; +J(5+_OFF,12+_OFF) = 0; +J(5+_OFF,13+_OFF) = 0; +J(5+_OFF,14+_OFF) = 0; +J(5+_OFF,15+_OFF) = -0.0017418568193694477*tmp1*tmp2*tmp197*tmp64*tmp191*tmp159*tmp11*tmp63; +J(5+_OFF,16+_OFF) = -0.0017418568193694477*tmp1*tmp2*tmp197*tmp64*tmp191*tmp159*tmp11*tmp63*tmp199; +J(5+_OFF,17+_OFF) = -0.0008709284096847238*tmp1*tmp2*std::pow(tmp197,2)*tmp64*tmp191*tmp159*tmp11*tmp84*tmp181; +J(5+_OFF,18+_OFF) = -0.0017418568193694477*tmp80*tmp1*tmp2*tmp197*tmp64*tmp191*tmp159*tmp11*tmp63; +J(5+_OFF,19+_OFF) = 0; +J(5+_OFF,20+_OFF) = 0; +J(5+_OFF,21+_OFF) = 0; +J(5+_OFF,22+_OFF) = -(tmp191*tmp159*(0.0008709284096847238*tmp1*tmp2*tmp198*tmp197*tmp64*tmp11*tmp84*tmp181 + 0.0017418568193694477*tmp1*tmp2*tmp64*tmp11*tmp63*tmp206)); +J(5+_OFF,23+_OFF) = 0; +J(5+_OFF,24+_OFF) = -0.0017418568193694477*tmp1*tmp2*tmp197*tmp191*tmp159*tmp11*tmp63*tmp206; +J(5+_OFF,25+_OFF) = 0; +J(5+_OFF,26+_OFF) = 0; +J(5+_OFF,27+_OFF) = tmp191*tmp159*tmp162*tmp161 + tmp150*tmp151*tmp191*tmp183*tmp214 - tmp151*tmp159*tmp214; +J(5+_OFF,28+_OFF) = std::pow(tmp191,2)*tmp183*tmp214; +J(5+_OFF,29+_OFF) = -(tmp191*tmp159*tmp162*tmp161) + tmp153*tmp150*tmp191*tmp183*tmp214 - tmp153*tmp159*tmp214; +J(5+_OFF,30+_OFF) = -(tmp191*tmp159*(tmp207 - tmp211)) - 2*tmp150*tmp155*tmp191*tmp183*tmp214 + 2*tmp155*tmp159*tmp214; +J(6+_OFF,1+_OFF) = 0; +J(6+_OFF,2+_OFF) = 0; +J(6+_OFF,3+_OFF) = 0; +J(6+_OFF,4+_OFF) = 0; +J(6+_OFF,5+_OFF) = 0; +J(6+_OFF,6+_OFF) = 0; +J(6+_OFF,7+_OFF) = 0; +J(6+_OFF,8+_OFF) = 0; +J(6+_OFF,9+_OFF) = 0; +J(6+_OFF,10+_OFF) = 0; +J(6+_OFF,11+_OFF) = 0.0017418568193694477*tmp1*tmp2*tmp64*tmp152*tmp150*tmp155*tmp159*tmp11*tmp63*tmp163; +J(6+_OFF,12+_OFF) = tmp215; +J(6+_OFF,13+_OFF) = 0.0008709284096847238*tmp1*tmp2*tmp64*tmp160*tmp150*tmp155*tmp159*tmp11*tmp84*tmp162; +J(6+_OFF,14+_OFF) = tmp216; +J(6+_OFF,15+_OFF) = 0; +J(6+_OFF,16+_OFF) = 0; +J(6+_OFF,17+_OFF) = 0; +J(6+_OFF,18+_OFF) = 0; +J(6+_OFF,19+_OFF) = -0.0017418568193694477*tmp1*tmp2*tmp64*tmp152*tmp153*tmp150*tmp159*tmp11*tmp63*tmp164; +J(6+_OFF,20+_OFF) = -0.0008709284096847238*tmp1*tmp2*tmp64*tmp160*tmp153*tmp150*tmp159*tmp11*tmp84*tmp161; +J(6+_OFF,21+_OFF) = -0.0017418568193694477*tmp83*tmp1*tmp2*tmp64*tmp152*tmp153*tmp150*tmp159*tmp11*tmp63; +J(6+_OFF,22+_OFF) = 0; +J(6+_OFF,23+_OFF) = 0; +J(6+_OFF,24+_OFF) = 0.0017418568193694477*tmp1*tmp2*tmp152*tmp150*tmp155*tmp159*tmp11*tmp63*tmp173 - 0.0017418568193694477*tmp1*tmp2*tmp152*tmp153*tmp150*tmp159*tmp11*tmp63*tmp180; +J(6+_OFF,25+_OFF) = tmp150*tmp155*tmp159*tmp222 - tmp153*tmp150*tmp159*tmp225; +J(6+_OFF,26+_OFF) = 0; +J(6+_OFF,27+_OFF) = -(tmp153*tmp150*tmp159*tmp162*tmp181) - tmp182*tmp151*tmp155*tmp183*tmp188 + tmp153*tmp182*tmp151*tmp183*tmp196 - tmp150*tmp159*tmp196; +J(6+_OFF,28+_OFF) = tmp153*tmp150*tmp159*tmp162*tmp181 + tmp226 - tmp150*tmp155*tmp191*tmp183*tmp188 + tmp155*tmp159*tmp188 + tmp153*tmp150*tmp191*tmp183*tmp196 - tmp153*tmp159*tmp196; +J(6+_OFF,29+_OFF) = -(tmp150*tmp155*tmp159*tmp181*tmp161) - tmp153*tmp182*tmp155*tmp183*tmp188 + std::pow(tmp153,2)*tmp182*tmp183*tmp196; +J(6+_OFF,30+_OFF) = tmp227 - tmp153*tmp150*tmp159*tmp181*tmp161 + 2*tmp182*tmp156*tmp183*tmp188 + tmp150*tmp159*tmp188 - 2*tmp153*tmp182*tmp155*tmp183*tmp196; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrV.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrV.cppready new file mode 100644 index 0000000..2adba55 --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrV.cppready @@ -0,0 +1,269 @@ +double tmp0 = x(4+_OFF); +double tmp1 = x(6+_OFF); +double tmp2 = x(5+_OFF); +double tmp3 = x(7+_OFF); +double tmp4 = wind(1+_OFF); +double tmp5 = tmp2*tmp3; +double tmp6 = wind(2+_OFF); +double tmp7 = wind(3+_OFF); +double tmp8 = std::pow(tmp0,2); +double tmp9 = std::pow(tmp2,2); +double tmp10 = std::pow(tmp1,2); +double tmp11 = -tmp10; +double tmp12 = std::pow(tmp3,2); +double tmp13 = set1(2+_OFF); +double tmp14 = 1/tmp13; +double tmp15 = tmp2*tmp1; +double tmp16 = tmp0*tmp3; +double tmp17 = tmp15 + tmp16; +double tmp18 = -2*tmp6*tmp17; +double tmp19 = -(tmp0*tmp1); +double tmp20 = tmp19 + tmp5; +double tmp21 = -2*tmp7*tmp20; +double tmp22 = -tmp12; +double tmp23 = tmp8 + tmp9 + tmp11 + tmp22; +double tmp24 = -(tmp4*tmp23); +double tmp25 = x(8+_OFF); +double tmp26 = tmp18 + tmp21 + tmp24 + tmp25; +double tmp27 = x(10+_OFF); +double tmp28 = tmp0*tmp1; +double tmp29 = tmp28 + tmp5; +double tmp30 = -2*tmp4*tmp29; +double tmp31 = -(tmp0*tmp2); +double tmp32 = tmp1*tmp3; +double tmp33 = tmp31 + tmp32; +double tmp34 = -2*tmp6*tmp33; +double tmp35 = -tmp9; +double tmp36 = tmp8 + tmp35 + tmp11 + tmp12; +double tmp37 = -(tmp7*tmp36); +double tmp38 = tmp30 + tmp34 + tmp37 + tmp27; +double tmp39 = std::pow(tmp26,2); +double tmp40 = -(tmp0*tmp3); +double tmp41 = tmp15 + tmp40; +double tmp42 = -2*tmp4*tmp41; +double tmp43 = tmp0*tmp2; +double tmp44 = tmp43 + tmp32; +double tmp45 = -2*tmp7*tmp44; +double tmp46 = tmp8 + tmp35 + tmp10 + tmp22; +double tmp47 = -(tmp6*tmp46); +double tmp48 = x(9+_OFF); +double tmp49 = tmp42 + tmp45 + tmp47 + tmp48; +double tmp50 = std::pow(tmp38,2); +double tmp51 = set1(3+_OFF); +double tmp52 = set2(24+_OFF); +double tmp53 = set1(1+_OFF); +double tmp54 = x(3+_OFF); +double tmp55 = tmp53 + tmp54; +double tmp56 = -0.006500000000000001*tmp14*tmp55; +double tmp57 = 1 + tmp56; +double tmp58 = std::pow(tmp57,4.2561); +double tmp59 = tmp39 + tmp50; +double tmp60 = 1/std::sqrt(tmp59); +double tmp61 = std::pow(tmp49,2); +double tmp62 = tmp39 + tmp61 + tmp50; +double tmp63 = 1/std::sqrt(tmp62); +double tmp64 = tmp49*tmp63; +double tmp65 = std::asin(tmp64); +double tmp66 = set2(8+_OFF); +double tmp67 = -(tmp4*tmp8); +double tmp68 = -(tmp4*tmp9); +double tmp69 = 2*tmp7*tmp0*tmp1; +double tmp70 = -2*tmp6*tmp2*tmp1; +double tmp71 = tmp4*tmp10; +double tmp72 = -2*tmp6*tmp0*tmp3; +double tmp73 = -2*tmp7*tmp2*tmp3; +double tmp74 = tmp4*tmp12; +double tmp75 = tmp67 + tmp68 + tmp69 + tmp70 + tmp71 + tmp72 + tmp73 + tmp74 + tmp25; +double tmp76 = tmp6*tmp8; +double tmp77 = 2*tmp7*tmp0*tmp2; +double tmp78 = -(tmp6*tmp9); +double tmp79 = 2*tmp4*tmp2*tmp1; +double tmp80 = tmp6*tmp10; +double tmp81 = -2*tmp4*tmp0*tmp3; +double tmp82 = 2*tmp7*tmp1*tmp3; +double tmp83 = -(tmp6*tmp12); +double tmp84 = -tmp48; +double tmp85 = tmp76 + tmp77 + tmp78 + tmp79 + tmp80 + tmp81 + tmp82 + tmp83 + tmp84; +double tmp86 = std::sqrt(tmp62); +double tmp87 = set2(9+_OFF); +double tmp88 = std::atan2(tmp38,tmp26); +double tmp89 = set2(10+_OFF); +double tmp90 = tmp88*tmp89; +double tmp91 = tmp87 + tmp90; +double tmp92 = tmp7*tmp8; +double tmp93 = -2*tmp6*tmp0*tmp2; +double tmp94 = -(tmp7*tmp9); +double tmp95 = 2*tmp4*tmp0*tmp1; +double tmp96 = -(tmp7*tmp10); +double tmp97 = 2*tmp4*tmp2*tmp3; +double tmp98 = 2*tmp6*tmp1*tmp3; +double tmp99 = tmp7*tmp12; +double tmp100 = -tmp27; +double tmp101 = tmp92 + tmp93 + tmp94 + tmp95 + tmp96 + tmp97 + tmp98 + tmp99 + tmp100; +double tmp102 = std::pow(tmp59,-1.5); +double tmp103 = 1/tmp62; +double tmp104 = -(tmp61*tmp103); +double tmp105 = 1 + tmp104; +double tmp106 = 1/std::sqrt(tmp105); +double tmp107 = set2(4+_OFF); +double tmp108 = set2(5+_OFF); +double tmp109 = tmp88*tmp108; +double tmp110 = std::pow(tmp88,2); +double tmp111 = set2(6+_OFF); +double tmp112 = tmp110*tmp111; +double tmp113 = std::pow(tmp65,2); +double tmp114 = set2(7+_OFF); +double tmp115 = tmp113*tmp114; +double tmp116 = tmp107 + tmp109 + tmp112 + tmp115; +double tmp117 = std::sqrt(tmp105); +double tmp118 = 2*tmp4*tmp29; +double tmp119 = 2*tmp6*tmp33; +double tmp120 = tmp7*tmp36; +double tmp121 = tmp118 + tmp119 + tmp120 + tmp100; +double tmp122 = 1/tmp59; +double tmp123 = set2(23+_OFF); +double tmp124 = set2(26+_OFF); +double tmp125 = 1/tmp124; +double tmp126 = std::pow(tmp62,-1.5); +double tmp127 = -(tmp61*tmp126); +double tmp128 = tmp127 + tmp63; +double tmp129 = std::pow(tmp123,2); +double tmp130 = std::pow(M_PI,-2); +double tmp131 = set2(3+_OFF); +double tmp132 = 1/M_PI; +double tmp133 = set2(2+_OFF); +double tmp134 = z(1+_OFF); +double tmp135 = -(tmp6*tmp8); +double tmp136 = -2*tmp7*tmp0*tmp2; +double tmp137 = tmp6*tmp9; +double tmp138 = -2*tmp4*tmp2*tmp1; +double tmp139 = -(tmp6*tmp10); +double tmp140 = 2*tmp4*tmp0*tmp3; +double tmp141 = -2*tmp7*tmp1*tmp3; +double tmp142 = tmp6*tmp12; +double tmp143 = tmp135 + tmp136 + tmp137 + tmp138 + tmp139 + tmp140 + tmp141 + tmp142 + tmp48; +double tmp144 = tmp108*tmp121*tmp122; +double tmp145 = 2*tmp88*tmp111*tmp121*tmp122; +double tmp146 = -2*tmp65*tmp114*tmp26*tmp49*tmp126*tmp106; +double tmp147 = tmp144 + tmp145 + tmp146; +double tmp148 = std::pow(tmp49,3); +double tmp149 = std::pow(tmp62,-2); +double tmp150 = 2*tmp148*tmp149; +double tmp151 = -2*tmp49*tmp103; +double tmp152 = tmp150 + tmp151; +double tmp153 = tmp108*tmp26*tmp122; +double tmp154 = 2*tmp88*tmp111*tmp26*tmp122; +double tmp155 = -2*tmp65*tmp114*tmp49*tmp38*tmp126*tmp106; +double tmp156 = tmp153 + tmp154 + tmp155; +double tmp157 = -(tmp7*tmp8); +double tmp158 = 2*tmp6*tmp0*tmp2; +double tmp159 = tmp7*tmp9; +double tmp160 = -2*tmp4*tmp0*tmp1; +double tmp161 = tmp7*tmp10; +double tmp162 = -2*tmp4*tmp2*tmp3; +double tmp163 = -2*tmp6*tmp1*tmp3; +double tmp164 = -(tmp7*tmp12); +double tmp165 = tmp157 + tmp158 + tmp159 + tmp160 + tmp161 + tmp162 + tmp163 + tmp164 + tmp27; +double tmp166 = 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp85*tmp60*tmp86; +double tmp167 = 0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp60*tmp62*tmp117; +double tmp168 = set2(28+_OFF); +double tmp169 = set2(29+_OFF); +double tmp170 = set2(25+_OFF); +double tmp171 = set2(12+_OFF); +double tmp172 = set2(13+_OFF); +double tmp173 = x(11+_OFF); +double tmp174 = set2(14+_OFF); +double tmp175 = x(13+_OFF); +double tmp176 = set2(30+_OFF); +double tmp177 = set2(27+_OFF); +double tmp178 = tmp177*tmp168*tmp169; +double tmp179 = std::pow(tmp176,2); +double tmp180 = -(tmp168*tmp179); +double tmp181 = tmp178 + tmp180; +double tmp182 = 1/tmp181; +double tmp183 = set2(21+_OFF); +double tmp184 = set2(20+_OFF); +double tmp185 = tmp65*tmp171; +double tmp186 = (tmp172*tmp170*tmp63*tmp173)/2.; +double tmp187 = (tmp174*tmp170*tmp63*tmp175)/2.; +double tmp188 = set2(11+_OFF); +double tmp189 = z(2+_OFF); +double tmp190 = tmp188*tmp189; +double tmp191 = tmp185 + tmp186 + tmp187 + tmp190; +double tmp192 = tmp65*tmp183; +double tmp193 = (tmp184*tmp170*tmp63*tmp175)/2.; +double tmp194 = set2(19+_OFF); +double tmp195 = z(4+_OFF); +double tmp196 = tmp194*tmp195; +double tmp197 = tmp192 + tmp193 + tmp196; +double tmp198 = set2(22+_OFF); +double tmp199 = set2(18+_OFF); +double tmp200 = set2(17+_OFF); +double tmp201 = x(12+_OFF); +double tmp202 = tmp177*tmp169; +double tmp203 = -tmp179; +double tmp204 = tmp202 + tmp203; +double tmp205 = set2(15+_OFF); +double tmp206 = tmp88*tmp199; +double tmp207 = (tmp200*tmp198*tmp63*tmp201)/2.; +double tmp208 = set2(16+_OFF); +double tmp209 = z(3+_OFF); +double tmp210 = tmp208*tmp209; +double tmp211 = tmp205 + tmp206 + tmp207 + tmp210; +double tmp212 = -(tmp171*tmp26*tmp49*tmp126*tmp106); +double tmp213 = -(tmp172*tmp170*tmp26*tmp126*tmp173)/2.; +double tmp214 = -(tmp174*tmp170*tmp26*tmp126*tmp175)/2.; +double tmp215 = tmp212 + tmp213 + tmp214; +double tmp216 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp170*tmp58*tmp62*tmp215; +double tmp217 = 0.0034837136387388954*tmp14*tmp51*tmp52*tmp170*tmp58*tmp26*tmp191; +double tmp218 = tmp216 + tmp217; +double tmp219 = -(tmp183*tmp26*tmp49*tmp126*tmp106); +double tmp220 = -(tmp184*tmp170*tmp26*tmp126*tmp175)/2.; +double tmp221 = tmp219 + tmp220; +double tmp222 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp170*tmp58*tmp62*tmp221; +double tmp223 = 0.0034837136387388954*tmp14*tmp51*tmp52*tmp170*tmp58*tmp26*tmp197; +double tmp224 = tmp222 + tmp223; +double tmp225 = tmp171*tmp106*tmp128; +double tmp226 = -(tmp172*tmp170*tmp49*tmp126*tmp173)/2.; +double tmp227 = -(tmp174*tmp170*tmp49*tmp126*tmp175)/2.; +double tmp228 = tmp225 + tmp226 + tmp227; +double tmp229 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp170*tmp58*tmp62*tmp228; +double tmp230 = 0.0034837136387388954*tmp14*tmp51*tmp52*tmp170*tmp58*tmp49*tmp191; +double tmp231 = tmp229 + tmp230; +double tmp232 = tmp183*tmp106*tmp128; +double tmp233 = -(tmp184*tmp170*tmp49*tmp126*tmp175)/2.; +double tmp234 = tmp232 + tmp233; +double tmp235 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp170*tmp58*tmp62*tmp234; +double tmp236 = 0.0034837136387388954*tmp14*tmp51*tmp52*tmp170*tmp58*tmp49*tmp197; +double tmp237 = tmp235 + tmp236; +double tmp238 = -(tmp171*tmp49*tmp38*tmp126*tmp106); +double tmp239 = -(tmp172*tmp170*tmp38*tmp126*tmp173)/2.; +double tmp240 = -(tmp174*tmp170*tmp38*tmp126*tmp175)/2.; +double tmp241 = tmp238 + tmp239 + tmp240; +double tmp242 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp170*tmp58*tmp62*tmp241; +double tmp243 = 0.0034837136387388954*tmp14*tmp51*tmp52*tmp170*tmp58*tmp38*tmp191; +double tmp244 = tmp242 + tmp243; +double tmp245 = -(tmp183*tmp49*tmp38*tmp126*tmp106); +double tmp246 = -(tmp184*tmp170*tmp38*tmp126*tmp175)/2.; +double tmp247 = tmp245 + tmp246; +double tmp248 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp170*tmp58*tmp62*tmp247; +double tmp249 = 0.0034837136387388954*tmp14*tmp51*tmp52*tmp170*tmp58*tmp38*tmp197; +double tmp250 = tmp248 + tmp249; +J(1+_OFF,1+_OFF) = -(tmp125*(0.0034837136387388954*tmp14*tmp51*tmp91*tmp52*tmp58*tmp26*tmp101*tmp60 + 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp75*tmp26*tmp85*tmp60*tmp63 - 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp75*tmp26*tmp85*tmp102*tmp86 + tmp166 - 0.0017418568193694477*tmp14*tmp51*tmp91*tmp52*tmp58*tmp26*tmp101*tmp102*tmp62 + 0.0017418568193694477*tmp14*tmp51*tmp89*tmp52*tmp58*tmp101*tmp121*tmp102*tmp62 - 0.0017418568193694477*tmp14*tmp51*tmp66*tmp52*tmp58*tmp75*tmp26*tmp85*tmp49*tmp60*tmp103*tmp106 + 0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp75*tmp26*tmp61*tmp60*tmp103*tmp106 + 0.0034837136387388954*tmp14*tmp51*tmp116*tmp52*tmp58*tmp75*tmp26*tmp60*tmp117 - 0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp75*tmp26*tmp102*tmp62*tmp117 + tmp167 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp75*tmp60*tmp62*tmp117*tmp147 + 0.0034837136387388954*tmp14*tmp51*tmp129*tmp58*(2*tmp130*tmp131*tmp26 + tmp132*tmp133*tmp123*tmp26*tmp63*tmp134))); +J(1+_OFF,2+_OFF) = -(tmp125*(0.0034837136387388954*tmp14*tmp51*tmp91*tmp52*tmp58*tmp49*tmp101*tmp60 + 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp75*tmp85*tmp49*tmp60*tmp63 - 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp75*tmp60*tmp86 + 0.0008709284096847238*tmp14*tmp51*tmp116*tmp52*tmp58*tmp75*tmp60*tmp62*tmp152*tmp106 + 0.0034837136387388954*tmp14*tmp51*tmp116*tmp52*tmp58*tmp75*tmp49*tmp60*tmp117 + 0.0034837136387388954*tmp65*tmp14*tmp51*tmp114*tmp52*tmp58*tmp75*tmp60*tmp62*tmp128 + 0.0017418568193694477*tmp14*tmp51*tmp66*tmp52*tmp58*tmp75*tmp85*tmp60*tmp86*tmp106*tmp128 + 0.0034837136387388954*tmp14*tmp51*tmp129*tmp58*(2*tmp130*tmp131*tmp49 + tmp132*tmp133*tmp123*tmp49*tmp63*tmp134))); +J(1+_OFF,3+_OFF) = -(tmp125*(0.0034837136387388954*tmp14*tmp51*tmp91*tmp52*tmp58*tmp101*tmp38*tmp60 + 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp75*tmp85*tmp38*tmp60*tmp63 - 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp75*tmp85*tmp38*tmp102*tmp86 + 0.0017418568193694477*tmp14*tmp51*tmp89*tmp52*tmp58*tmp26*tmp101*tmp102*tmp62 - 0.0017418568193694477*tmp14*tmp51*tmp91*tmp52*tmp58*tmp101*tmp38*tmp102*tmp62 - 0.0017418568193694477*tmp14*tmp51*tmp91*tmp52*tmp58*tmp60*tmp62 - 0.0017418568193694477*tmp14*tmp51*tmp66*tmp52*tmp58*tmp75*tmp85*tmp49*tmp38*tmp60*tmp103*tmp106 + 0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp75*tmp61*tmp38*tmp60*tmp103*tmp106 + 0.0034837136387388954*tmp14*tmp51*tmp116*tmp52*tmp58*tmp75*tmp38*tmp60*tmp117 - 0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp75*tmp38*tmp102*tmp62*tmp117 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp75*tmp60*tmp62*tmp117*tmp156 + 0.0034837136387388954*tmp14*tmp51*tmp129*tmp58*(2*tmp130*tmp131*tmp38 + tmp132*tmp133*tmp123*tmp38*tmp63*tmp134))); +J(2+_OFF,1+_OFF) = -(tmp125*(0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp26*tmp143*tmp63 - 0.0017418568193694477*tmp14*tmp51*tmp66*tmp52*tmp58*tmp26*tmp49*tmp63 + 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp26*tmp61*tmp103*tmp106 + 0.0034837136387388954*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp26*tmp117 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp143*tmp86*tmp147)); +J(2+_OFF,2+_OFF) = -(tmp125*(0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp143*tmp49*tmp63 + 0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp86 + 0.0008709284096847238*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp62*tmp152*tmp106 + 0.0034837136387388954*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp49*tmp117 + 0.0017418568193694477*tmp14*tmp51*tmp66*tmp52*tmp58*tmp62*tmp128 + 0.0034837136387388954*tmp65*tmp14*tmp51*tmp114*tmp52*tmp58*tmp143*tmp86*tmp106*tmp128)); +J(2+_OFF,3+_OFF) = -(tmp125*(0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp143*tmp38*tmp63 - 0.0017418568193694477*tmp14*tmp51*tmp66*tmp52*tmp58*tmp49*tmp38*tmp63 + 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp61*tmp38*tmp103*tmp106 + 0.0034837136387388954*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp38*tmp117 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp143*tmp86*tmp156)); +J(3+_OFF,1+_OFF) = -(tmp125*(0.0034837136387388954*tmp14*tmp51*tmp91*tmp52*tmp58*tmp75*tmp26*tmp60 + 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp26*tmp85*tmp165*tmp60*tmp63 - 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp26*tmp85*tmp165*tmp102*tmp86 - 0.0017418568193694477*tmp14*tmp51*tmp91*tmp52*tmp58*tmp75*tmp26*tmp102*tmp62 + 0.0017418568193694477*tmp14*tmp51*tmp89*tmp52*tmp58*tmp75*tmp121*tmp102*tmp62 + 0.0017418568193694477*tmp14*tmp51*tmp91*tmp52*tmp58*tmp60*tmp62 - 0.0017418568193694477*tmp14*tmp51*tmp66*tmp52*tmp58*tmp26*tmp85*tmp49*tmp165*tmp60*tmp103*tmp106 + 0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp26*tmp61*tmp165*tmp60*tmp103*tmp106 + 0.0034837136387388954*tmp14*tmp51*tmp116*tmp52*tmp58*tmp26*tmp165*tmp60*tmp117 - 0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp26*tmp165*tmp102*tmp62*tmp117 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp165*tmp60*tmp62*tmp117*tmp147)); +J(3+_OFF,2+_OFF) = -(tmp125*(0.0034837136387388954*tmp14*tmp51*tmp91*tmp52*tmp58*tmp75*tmp49*tmp60 + 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp85*tmp49*tmp165*tmp60*tmp63 - 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp165*tmp60*tmp86 + 0.0008709284096847238*tmp14*tmp51*tmp116*tmp52*tmp58*tmp165*tmp60*tmp62*tmp152*tmp106 + 0.0034837136387388954*tmp14*tmp51*tmp116*tmp52*tmp58*tmp49*tmp165*tmp60*tmp117 + 0.0034837136387388954*tmp65*tmp14*tmp51*tmp114*tmp52*tmp58*tmp165*tmp60*tmp62*tmp128 + 0.0017418568193694477*tmp14*tmp51*tmp66*tmp52*tmp58*tmp85*tmp165*tmp60*tmp86*tmp106*tmp128)); +J(3+_OFF,3+_OFF) = -(tmp125*(0.0034837136387388954*tmp14*tmp51*tmp91*tmp52*tmp58*tmp75*tmp38*tmp60 + 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp85*tmp165*tmp38*tmp60*tmp63 - 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp85*tmp165*tmp38*tmp102*tmp86 + tmp166 + 0.0017418568193694477*tmp14*tmp51*tmp89*tmp52*tmp58*tmp75*tmp26*tmp102*tmp62 - 0.0017418568193694477*tmp14*tmp51*tmp91*tmp52*tmp58*tmp75*tmp38*tmp102*tmp62 - 0.0017418568193694477*tmp14*tmp51*tmp66*tmp52*tmp58*tmp85*tmp49*tmp165*tmp38*tmp60*tmp103*tmp106 + 0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp61*tmp165*tmp38*tmp60*tmp103*tmp106 + 0.0034837136387388954*tmp14*tmp51*tmp116*tmp52*tmp58*tmp165*tmp38*tmp60*tmp117 - 0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp165*tmp38*tmp102*tmp62*tmp117 + tmp167 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp165*tmp60*tmp62*tmp117*tmp156)); +J(4+_OFF,1+_OFF) = -(tmp168*tmp169*tmp182*tmp218) + tmp168*tmp176*tmp182*tmp224; +J(4+_OFF,2+_OFF) = -(tmp168*tmp169*tmp182*tmp231) + tmp168*tmp176*tmp182*tmp237; +J(4+_OFF,3+_OFF) = -(tmp168*tmp169*tmp182*tmp244) + tmp168*tmp176*tmp182*tmp250; +J(5+_OFF,1+_OFF) = -(tmp204*tmp182*(0.0017418568193694477*tmp14*tmp51*tmp198*tmp52*tmp58*tmp62*(tmp199*tmp121*tmp122 - (tmp200*tmp198*tmp26*tmp126*tmp201)/2.) + 0.0034837136387388954*tmp14*tmp51*tmp198*tmp52*tmp58*tmp26*tmp211)); +J(5+_OFF,2+_OFF) = -(tmp204*tmp182*(-0.0008709284096847238*tmp14*tmp51*tmp200*std::pow(tmp198,2)*tmp52*tmp58*tmp49*tmp63*tmp201 + 0.0034837136387388954*tmp14*tmp51*tmp198*tmp52*tmp58*tmp49*tmp211)); +J(5+_OFF,3+_OFF) = -(tmp204*tmp182*(0.0017418568193694477*tmp14*tmp51*tmp198*tmp52*tmp58*tmp62*(tmp199*tmp26*tmp122 - (tmp200*tmp198*tmp38*tmp126*tmp201)/2.) + 0.0034837136387388954*tmp14*tmp51*tmp198*tmp52*tmp58*tmp38*tmp211)); +J(6+_OFF,1+_OFF) = tmp168*tmp176*tmp182*tmp218 - tmp177*tmp168*tmp182*tmp224; +J(6+_OFF,2+_OFF) = tmp168*tmp176*tmp182*tmp231 - tmp177*tmp168*tmp182*tmp237; +J(6+_OFF,3+_OFF) = tmp168*tmp176*tmp182*tmp244 - tmp177*tmp168*tmp182*tmp250; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrW.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrW.cppready new file mode 100644 index 0000000..6a8f6c6 --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrW.cppready @@ -0,0 +1,121 @@ +double tmp0 = set2(28+_OFF); +double tmp1 = set2(30+_OFF); +double tmp2 = set2(27+_OFF); +double tmp3 = x(12+_OFF); +double tmp4 = set2(29+_OFF); +double tmp5 = tmp2*tmp0*tmp4; +double tmp6 = std::pow(tmp1,2); +double tmp7 = -(tmp0*tmp6); +double tmp8 = tmp5 + tmp7; +double tmp9 = 1/tmp8; +double tmp10 = set1(2+_OFF); +double tmp11 = 1/tmp10; +double tmp12 = x(4+_OFF); +double tmp13 = x(6+_OFF); +double tmp14 = x(5+_OFF); +double tmp15 = x(7+_OFF); +double tmp16 = wind(1+_OFF); +double tmp17 = tmp14*tmp13; +double tmp18 = wind(3+_OFF); +double tmp19 = wind(2+_OFF); +double tmp20 = std::pow(tmp12,2); +double tmp21 = std::pow(tmp14,2); +double tmp22 = std::pow(tmp13,2); +double tmp23 = std::pow(tmp15,2); +double tmp24 = -tmp23; +double tmp25 = tmp14*tmp15; +double tmp26 = tmp13*tmp15; +double tmp27 = -tmp21; +double tmp28 = -tmp22; +double tmp29 = x(13+_OFF); +double tmp30 = x(11+_OFF); +double tmp31 = set1(3+_OFF); +double tmp32 = set2(24+_OFF); +double tmp33 = set2(25+_OFF); +double tmp34 = std::pow(tmp33,2); +double tmp35 = set1(1+_OFF); +double tmp36 = x(3+_OFF); +double tmp37 = tmp35 + tmp36; +double tmp38 = -0.006500000000000001*tmp11*tmp37; +double tmp39 = 1 + tmp38; +double tmp40 = std::pow(tmp39,4.2561); +double tmp41 = tmp12*tmp15; +double tmp42 = tmp17 + tmp41; +double tmp43 = -2*tmp19*tmp42; +double tmp44 = -(tmp12*tmp13); +double tmp45 = tmp44 + tmp25; +double tmp46 = -2*tmp18*tmp45; +double tmp47 = tmp20 + tmp21 + tmp28 + tmp24; +double tmp48 = -(tmp16*tmp47); +double tmp49 = x(8+_OFF); +double tmp50 = tmp43 + tmp46 + tmp48 + tmp49; +double tmp51 = std::pow(tmp50,2); +double tmp52 = -(tmp12*tmp15); +double tmp53 = tmp17 + tmp52; +double tmp54 = -2*tmp16*tmp53; +double tmp55 = tmp12*tmp14; +double tmp56 = tmp55 + tmp26; +double tmp57 = -2*tmp18*tmp56; +double tmp58 = tmp20 + tmp27 + tmp22 + tmp24; +double tmp59 = -(tmp19*tmp58); +double tmp60 = x(9+_OFF); +double tmp61 = tmp54 + tmp57 + tmp59 + tmp60; +double tmp62 = std::pow(tmp61,2); +double tmp63 = tmp12*tmp13; +double tmp64 = tmp63 + tmp25; +double tmp65 = -2*tmp16*tmp64; +double tmp66 = -(tmp12*tmp14); +double tmp67 = tmp66 + tmp26; +double tmp68 = -2*tmp19*tmp67; +double tmp69 = tmp20 + tmp27 + tmp28 + tmp23; +double tmp70 = -(tmp18*tmp69); +double tmp71 = x(10+_OFF); +double tmp72 = tmp65 + tmp68 + tmp70 + tmp71; +double tmp73 = std::pow(tmp72,2); +double tmp74 = tmp51 + tmp62 + tmp73; +double tmp75 = std::sqrt(tmp74); +double tmp76 = tmp2*tmp4; +double tmp77 = -tmp6; +double tmp78 = tmp76 + tmp77; +double tmp79 = tmp2*tmp3; +double tmp80 = -(tmp0*tmp3); +double tmp81 = tmp79 + tmp80; +double tmp82 = set2(13+_OFF); +double tmp83 = 0.0008709284096847238*tmp11*tmp31*tmp82*tmp32*tmp34*tmp40*tmp75; +double tmp84 = -(tmp1*tmp3); +double tmp85 = tmp83 + tmp84; +double tmp86 = -(tmp1*tmp30); +double tmp87 = tmp0*tmp29; +double tmp88 = -(tmp4*tmp29); +double tmp89 = tmp86 + tmp87 + tmp88; +double tmp90 = tmp2*tmp30; +double tmp91 = -(tmp0*tmp30); +double tmp92 = tmp1*tmp29; +double tmp93 = tmp90 + tmp91 + tmp92; +double tmp94 = set2(14+_OFF); +double tmp95 = 0.0008709284096847238*tmp11*tmp31*tmp94*tmp32*tmp34*tmp40*tmp75; +double tmp96 = tmp0*tmp3; +double tmp97 = -(tmp4*tmp3); +double tmp98 = tmp95 + tmp96 + tmp97; +double tmp99 = set2(20+_OFF); +double tmp100 = 0.0008709284096847238*tmp11*tmp31*tmp99*tmp32*tmp34*tmp40*tmp75; +double tmp101 = tmp1*tmp3; +double tmp102 = tmp100 + tmp101; +J(1+_OFF,1+_OFF) = 0; +J(1+_OFF,2+_OFF) = 0; +J(1+_OFF,3+_OFF) = 0; +J(2+_OFF,1+_OFF) = 0; +J(2+_OFF,2+_OFF) = 0; +J(2+_OFF,3+_OFF) = 0; +J(3+_OFF,1+_OFF) = 0; +J(3+_OFF,2+_OFF) = 0; +J(3+_OFF,3+_OFF) = 0; +J(4+_OFF,1+_OFF) = tmp0*tmp1*tmp9*tmp81 - tmp0*tmp4*tmp9*tmp85; +J(4+_OFF,2+_OFF) = -(tmp0*tmp4*tmp9*tmp89) + tmp0*tmp1*tmp9*tmp93; +J(4+_OFF,3+_OFF) = -(tmp0*tmp4*tmp9*tmp98) + tmp0*tmp1*tmp9*tmp102; +J(5+_OFF,1+_OFF) = -(tmp78*tmp9*(2*tmp1*tmp30 - tmp2*tmp29 + tmp4*tmp29)); +J(5+_OFF,2+_OFF) = -0.0008709284096847238*tmp11*tmp31*set2(17+_OFF)*std::pow(set2(22+_OFF),2)*tmp32*tmp78*tmp9*tmp40*tmp75; +J(5+_OFF,3+_OFF) = -(tmp78*tmp9*(-(tmp2*tmp30) + tmp4*tmp30 - 2*tmp1*tmp29)); +J(6+_OFF,1+_OFF) = -(tmp2*tmp0*tmp9*tmp81) + tmp0*tmp1*tmp9*tmp85; +J(6+_OFF,2+_OFF) = tmp0*tmp1*tmp9*tmp89 - tmp2*tmp0*tmp9*tmp93; +J(6+_OFF,3+_OFF) = tmp0*tmp1*tmp9*tmp98 - tmp2*tmp0*tmp9*tmp102; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrWind.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrWind.cppready new file mode 100644 index 0000000..58ec3d6 --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrWind.cppready @@ -0,0 +1,327 @@ +double tmp0 = x(4+_OFF); +double tmp1 = x(6+_OFF); +double tmp2 = x(5+_OFF); +double tmp3 = x(7+_OFF); +double tmp4 = wind(1+_OFF); +double tmp5 = tmp2*tmp3; +double tmp6 = wind(2+_OFF); +double tmp7 = wind(3+_OFF); +double tmp8 = std::pow(tmp0,2); +double tmp9 = std::pow(tmp2,2); +double tmp10 = std::pow(tmp1,2); +double tmp11 = -tmp10; +double tmp12 = std::pow(tmp3,2); +double tmp13 = set1(2+_OFF); +double tmp14 = 1/tmp13; +double tmp15 = x(10+_OFF); +double tmp16 = -tmp9; +double tmp17 = tmp2*tmp1; +double tmp18 = tmp0*tmp3; +double tmp19 = tmp17 + tmp18; +double tmp20 = -2*tmp6*tmp19; +double tmp21 = -(tmp0*tmp1); +double tmp22 = tmp21 + tmp5; +double tmp23 = -2*tmp7*tmp22; +double tmp24 = -tmp12; +double tmp25 = tmp8 + tmp9 + tmp11 + tmp24; +double tmp26 = -(tmp4*tmp25); +double tmp27 = x(8+_OFF); +double tmp28 = tmp20 + tmp23 + tmp26 + tmp27; +double tmp29 = -(tmp0*tmp3); +double tmp30 = tmp17 + tmp29; +double tmp31 = tmp1*tmp3; +double tmp32 = tmp0*tmp1; +double tmp33 = tmp32 + tmp5; +double tmp34 = -2*tmp4*tmp33; +double tmp35 = -(tmp0*tmp2); +double tmp36 = tmp35 + tmp31; +double tmp37 = -2*tmp6*tmp36; +double tmp38 = tmp8 + tmp16 + tmp11 + tmp12; +double tmp39 = -(tmp7*tmp38); +double tmp40 = tmp34 + tmp37 + tmp39 + tmp15; +double tmp41 = -2*tmp4*tmp30; +double tmp42 = tmp0*tmp2; +double tmp43 = tmp42 + tmp31; +double tmp44 = -2*tmp7*tmp43; +double tmp45 = tmp8 + tmp16 + tmp10 + tmp24; +double tmp46 = -(tmp6*tmp45); +double tmp47 = x(9+_OFF); +double tmp48 = tmp41 + tmp44 + tmp46 + tmp47; +double tmp49 = std::pow(tmp28,2); +double tmp50 = std::pow(tmp40,2); +double tmp51 = set1(3+_OFF); +double tmp52 = set2(24+_OFF); +double tmp53 = set1(1+_OFF); +double tmp54 = x(3+_OFF); +double tmp55 = tmp53 + tmp54; +double tmp56 = -0.006500000000000001*tmp14*tmp55; +double tmp57 = 1 + tmp56; +double tmp58 = std::pow(tmp57,4.2561); +double tmp59 = -tmp8; +double tmp60 = tmp59 + tmp16 + tmp10 + tmp12; +double tmp61 = 2*tmp60*tmp28; +double tmp62 = -4*tmp30*tmp48; +double tmp63 = -4*tmp33*tmp40; +double tmp64 = tmp61 + tmp62 + tmp63; +double tmp65 = tmp49 + tmp50; +double tmp66 = 1/std::sqrt(tmp65); +double tmp67 = std::pow(tmp48,2); +double tmp68 = tmp49 + tmp67 + tmp50; +double tmp69 = 1/std::sqrt(tmp68); +double tmp70 = tmp48*tmp69; +double tmp71 = std::asin(tmp70); +double tmp72 = set2(8+_OFF); +double tmp73 = -(tmp4*tmp8); +double tmp74 = -(tmp4*tmp9); +double tmp75 = 2*tmp7*tmp0*tmp1; +double tmp76 = -2*tmp6*tmp2*tmp1; +double tmp77 = tmp4*tmp10; +double tmp78 = -2*tmp6*tmp0*tmp3; +double tmp79 = -2*tmp7*tmp2*tmp3; +double tmp80 = tmp4*tmp12; +double tmp81 = tmp73 + tmp74 + tmp75 + tmp76 + tmp77 + tmp78 + tmp79 + tmp80 + tmp27; +double tmp82 = tmp6*tmp8; +double tmp83 = 2*tmp7*tmp0*tmp2; +double tmp84 = -(tmp6*tmp9); +double tmp85 = 2*tmp4*tmp2*tmp1; +double tmp86 = tmp6*tmp10; +double tmp87 = -2*tmp4*tmp0*tmp3; +double tmp88 = 2*tmp7*tmp1*tmp3; +double tmp89 = -(tmp6*tmp12); +double tmp90 = -tmp47; +double tmp91 = tmp82 + tmp83 + tmp84 + tmp85 + tmp86 + tmp87 + tmp88 + tmp89 + tmp90; +double tmp92 = std::sqrt(tmp68); +double tmp93 = set2(9+_OFF); +double tmp94 = std::atan2(tmp40,tmp28); +double tmp95 = set2(10+_OFF); +double tmp96 = tmp94*tmp95; +double tmp97 = tmp93 + tmp96; +double tmp98 = tmp7*tmp8; +double tmp99 = -2*tmp6*tmp0*tmp2; +double tmp100 = -(tmp7*tmp9); +double tmp101 = 2*tmp4*tmp0*tmp1; +double tmp102 = -(tmp7*tmp10); +double tmp103 = 2*tmp4*tmp2*tmp3; +double tmp104 = 2*tmp6*tmp1*tmp3; +double tmp105 = tmp7*tmp12; +double tmp106 = -tmp15; +double tmp107 = tmp98 + tmp99 + tmp100 + tmp101 + tmp102 + tmp103 + tmp104 + tmp105 + tmp106; +double tmp108 = tmp61 + tmp63; +double tmp109 = std::pow(tmp65,-1.5); +double tmp110 = 1/tmp65; +double tmp111 = 1/tmp68; +double tmp112 = set2(4+_OFF); +double tmp113 = set2(5+_OFF); +double tmp114 = tmp94*tmp113; +double tmp115 = std::pow(tmp94,2); +double tmp116 = set2(6+_OFF); +double tmp117 = tmp115*tmp116; +double tmp118 = std::pow(tmp71,2); +double tmp119 = set2(7+_OFF); +double tmp120 = tmp118*tmp119; +double tmp121 = tmp112 + tmp114 + tmp117 + tmp120; +double tmp122 = -(tmp67*tmp111); +double tmp123 = 1 + tmp122; +double tmp124 = std::sqrt(tmp123); +double tmp125 = 1/std::sqrt(tmp123); +double tmp126 = -2*tmp33*tmp28*tmp110; +double tmp127 = 2*tmp4*tmp33; +double tmp128 = 2*tmp6*tmp36; +double tmp129 = tmp7*tmp38; +double tmp130 = tmp127 + tmp128 + tmp129 + tmp106; +double tmp131 = tmp60*tmp130*tmp110; +double tmp132 = tmp126 + tmp131; +double tmp133 = std::pow(tmp68,-1.5); +double tmp134 = -(tmp48*tmp64*tmp133)/2.; +double tmp135 = -2*tmp30*tmp69; +double tmp136 = tmp134 + tmp135; +double tmp137 = set2(23+_OFF); +double tmp138 = set2(26+_OFF); +double tmp139 = 1/tmp138; +double tmp140 = -4*tmp19*tmp28; +double tmp141 = tmp59 + tmp9 + tmp11 + tmp12; +double tmp142 = 2*tmp141*tmp48; +double tmp143 = -4*tmp36*tmp40; +double tmp144 = tmp140 + tmp142 + tmp143; +double tmp145 = -2*tmp0*tmp3; +double tmp146 = tmp140 + tmp143; +double tmp147 = std::pow(tmp68,-2); +double tmp148 = -2*tmp2*tmp1; +double tmp149 = tmp148 + tmp145; +double tmp150 = -2*tmp36*tmp28*tmp110; +double tmp151 = -2*tmp19*tmp130*tmp110; +double tmp152 = tmp150 + tmp151; +double tmp153 = -(tmp48*tmp144*tmp133)/2.; +double tmp154 = tmp141*tmp69; +double tmp155 = tmp153 + tmp154; +double tmp156 = std::pow(tmp137,2); +double tmp157 = std::pow(M_PI,-2); +double tmp158 = set2(3+_OFF); +double tmp159 = 1/M_PI; +double tmp160 = set2(2+_OFF); +double tmp161 = z(1+_OFF); +double tmp162 = -4*tmp22*tmp28; +double tmp163 = -4*tmp43*tmp48; +double tmp164 = tmp59 + tmp9 + tmp10 + tmp24; +double tmp165 = 2*tmp164*tmp40; +double tmp166 = tmp162 + tmp163 + tmp165; +double tmp167 = 2*tmp1*tmp3; +double tmp168 = 2*tmp0*tmp1; +double tmp169 = tmp162 + tmp165; +double tmp170 = -2*tmp2*tmp3; +double tmp171 = tmp168 + tmp170; +double tmp172 = tmp164*tmp28*tmp110; +double tmp173 = -2*tmp22*tmp130*tmp110; +double tmp174 = tmp172 + tmp173; +double tmp175 = -(tmp48*tmp166*tmp133)/2.; +double tmp176 = -2*tmp43*tmp69; +double tmp177 = tmp175 + tmp176; +double tmp178 = tmp67*tmp64*tmp147; +double tmp179 = 4*tmp30*tmp48*tmp111; +double tmp180 = tmp178 + tmp179; +double tmp181 = -(tmp6*tmp8); +double tmp182 = -2*tmp7*tmp0*tmp2; +double tmp183 = tmp6*tmp9; +double tmp184 = -2*tmp4*tmp2*tmp1; +double tmp185 = -(tmp6*tmp10); +double tmp186 = 2*tmp4*tmp0*tmp3; +double tmp187 = -2*tmp7*tmp1*tmp3; +double tmp188 = tmp6*tmp12; +double tmp189 = tmp181 + tmp182 + tmp183 + tmp184 + tmp185 + tmp186 + tmp187 + tmp188 + tmp47; +double tmp190 = tmp113*tmp132; +double tmp191 = 2*tmp94*tmp116*tmp132; +double tmp192 = 2*tmp71*tmp119*tmp125*tmp136; +double tmp193 = tmp190 + tmp191 + tmp192; +double tmp194 = tmp67*tmp144*tmp147; +double tmp195 = -2*tmp141*tmp48*tmp111; +double tmp196 = tmp194 + tmp195; +double tmp197 = tmp113*tmp152; +double tmp198 = 2*tmp94*tmp116*tmp152; +double tmp199 = 2*tmp71*tmp119*tmp125*tmp155; +double tmp200 = tmp197 + tmp198 + tmp199; +double tmp201 = -2*tmp0*tmp2; +double tmp202 = tmp67*tmp166*tmp147; +double tmp203 = 4*tmp43*tmp48*tmp111; +double tmp204 = tmp202 + tmp203; +double tmp205 = tmp113*tmp174; +double tmp206 = 2*tmp94*tmp116*tmp174; +double tmp207 = 2*tmp71*tmp119*tmp125*tmp177; +double tmp208 = tmp205 + tmp206 + tmp207; +double tmp209 = -(tmp7*tmp8); +double tmp210 = 2*tmp6*tmp0*tmp2; +double tmp211 = tmp7*tmp9; +double tmp212 = -2*tmp4*tmp0*tmp1; +double tmp213 = tmp7*tmp10; +double tmp214 = -2*tmp4*tmp2*tmp3; +double tmp215 = -2*tmp6*tmp1*tmp3; +double tmp216 = -(tmp7*tmp12); +double tmp217 = tmp209 + tmp210 + tmp211 + tmp212 + tmp213 + tmp214 + tmp215 + tmp216 + tmp15; +double tmp218 = 2*tmp2*tmp1; +double tmp219 = tmp218 + tmp145; +double tmp220 = -2*tmp0*tmp1; +double tmp221 = tmp220 + tmp170; +double tmp222 = 2*tmp0*tmp2; +double tmp223 = -2*tmp1*tmp3; +double tmp224 = tmp222 + tmp223; +double tmp225 = tmp222 + tmp167; +double tmp226 = set2(28+_OFF); +double tmp227 = set2(29+_OFF); +double tmp228 = set2(25+_OFF); +double tmp229 = set2(12+_OFF); +double tmp230 = set2(13+_OFF); +double tmp231 = x(11+_OFF); +double tmp232 = set2(14+_OFF); +double tmp233 = x(13+_OFF); +double tmp234 = set2(30+_OFF); +double tmp235 = set2(27+_OFF); +double tmp236 = tmp235*tmp226*tmp227; +double tmp237 = std::pow(tmp234,2); +double tmp238 = -(tmp226*tmp237); +double tmp239 = tmp236 + tmp238; +double tmp240 = 1/tmp239; +double tmp241 = set2(21+_OFF); +double tmp242 = set2(20+_OFF); +double tmp243 = tmp71*tmp229; +double tmp244 = (tmp230*tmp228*tmp69*tmp231)/2.; +double tmp245 = (tmp232*tmp228*tmp69*tmp233)/2.; +double tmp246 = set2(11+_OFF); +double tmp247 = z(2+_OFF); +double tmp248 = tmp246*tmp247; +double tmp249 = tmp243 + tmp244 + tmp245 + tmp248; +double tmp250 = tmp71*tmp241; +double tmp251 = (tmp242*tmp228*tmp69*tmp233)/2.; +double tmp252 = set2(19+_OFF); +double tmp253 = z(4+_OFF); +double tmp254 = tmp252*tmp253; +double tmp255 = tmp250 + tmp251 + tmp254; +double tmp256 = set2(22+_OFF); +double tmp257 = set2(18+_OFF); +double tmp258 = set2(17+_OFF); +double tmp259 = x(12+_OFF); +double tmp260 = tmp235*tmp227; +double tmp261 = -tmp237; +double tmp262 = tmp260 + tmp261; +double tmp263 = set2(15+_OFF); +double tmp264 = tmp94*tmp257; +double tmp265 = (tmp258*tmp256*tmp69*tmp259)/2.; +double tmp266 = set2(16+_OFF); +double tmp267 = z(3+_OFF); +double tmp268 = tmp266*tmp267; +double tmp269 = tmp263 + tmp264 + tmp265 + tmp268; +double tmp270 = tmp229*tmp125*tmp136; +double tmp271 = -(tmp230*tmp228*tmp64*tmp133*tmp231)/4.; +double tmp272 = -(tmp232*tmp228*tmp64*tmp133*tmp233)/4.; +double tmp273 = tmp270 + tmp271 + tmp272; +double tmp274 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp228*tmp58*tmp68*tmp273; +double tmp275 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp228*tmp58*tmp64*tmp249; +double tmp276 = tmp274 + tmp275; +double tmp277 = tmp241*tmp125*tmp136; +double tmp278 = -(tmp242*tmp228*tmp64*tmp133*tmp233)/4.; +double tmp279 = tmp277 + tmp278; +double tmp280 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp228*tmp58*tmp68*tmp279; +double tmp281 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp228*tmp58*tmp64*tmp255; +double tmp282 = tmp280 + tmp281; +double tmp283 = tmp229*tmp125*tmp155; +double tmp284 = -(tmp230*tmp228*tmp144*tmp133*tmp231)/4.; +double tmp285 = -(tmp232*tmp228*tmp144*tmp133*tmp233)/4.; +double tmp286 = tmp283 + tmp284 + tmp285; +double tmp287 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp228*tmp58*tmp68*tmp286; +double tmp288 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp228*tmp58*tmp144*tmp249; +double tmp289 = tmp287 + tmp288; +double tmp290 = tmp241*tmp125*tmp155; +double tmp291 = -(tmp242*tmp228*tmp144*tmp133*tmp233)/4.; +double tmp292 = tmp290 + tmp291; +double tmp293 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp228*tmp58*tmp68*tmp292; +double tmp294 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp228*tmp58*tmp144*tmp255; +double tmp295 = tmp293 + tmp294; +double tmp296 = tmp229*tmp125*tmp177; +double tmp297 = -(tmp230*tmp228*tmp166*tmp133*tmp231)/4.; +double tmp298 = -(tmp232*tmp228*tmp166*tmp133*tmp233)/4.; +double tmp299 = tmp296 + tmp297 + tmp298; +double tmp300 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp228*tmp58*tmp68*tmp299; +double tmp301 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp228*tmp58*tmp166*tmp249; +double tmp302 = tmp300 + tmp301; +double tmp303 = tmp241*tmp125*tmp177; +double tmp304 = -(tmp242*tmp228*tmp166*tmp133*tmp233)/4.; +double tmp305 = tmp303 + tmp304; +double tmp306 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp228*tmp58*tmp68*tmp305; +double tmp307 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp228*tmp58*tmp166*tmp255; +double tmp308 = tmp306 + tmp307; +J(1+_OFF,1+_OFF) = -(tmp139*(0.0017418568193694477*tmp14*tmp51*tmp97*tmp52*tmp58*tmp107*tmp64*tmp66 + 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp81*tmp91*tmp64*tmp66*tmp69 - 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp81*tmp91*tmp108*tmp109*tmp92 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp219*tmp81*tmp66*tmp92 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp60*tmp91*tmp66*tmp92 - 0.0008709284096847238*tmp14*tmp51*tmp97*tmp52*tmp58*tmp107*tmp108*tmp109*tmp68 + 0.0017418568193694477*tmp14*tmp51*tmp97*tmp52*tmp58*(tmp168 + 2*tmp2*tmp3)*tmp66*tmp68 + 0.0017418568193694477*tmp14*tmp51*tmp95*tmp52*tmp58*tmp107*tmp66*tmp68*tmp132 + 0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp81*tmp66*tmp68*tmp180*tmp125 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp81*tmp64*tmp66*tmp124 - 0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp81*tmp108*tmp109*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp60*tmp66*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp72*tmp52*tmp58*tmp81*tmp91*tmp66*tmp92*tmp125*tmp136 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp81*tmp66*tmp68*tmp124*tmp193 + 0.0034837136387388954*tmp14*tmp51*tmp156*tmp58*(tmp157*tmp158*tmp64 + (tmp159*tmp160*tmp137*tmp64*tmp69*tmp161)/2.))); +J(1+_OFF,2+_OFF) = -(tmp139*(0.0017418568193694477*tmp14*tmp51*tmp97*tmp52*tmp58*tmp107*tmp144*tmp66 + 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp81*tmp91*tmp144*tmp66*tmp69 - 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp81*tmp91*tmp146*tmp109*tmp92 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp45*tmp81*tmp66*tmp92 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp149*tmp91*tmp66*tmp92 - 0.0008709284096847238*tmp14*tmp51*tmp97*tmp52*tmp58*tmp107*tmp146*tmp109*tmp68 + 0.0017418568193694477*tmp14*tmp51*tmp97*tmp52*tmp58*(tmp201 + tmp167)*tmp66*tmp68 + 0.0017418568193694477*tmp14*tmp51*tmp95*tmp52*tmp58*tmp107*tmp66*tmp68*tmp152 + 0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp81*tmp66*tmp68*tmp196*tmp125 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp81*tmp144*tmp66*tmp124 - 0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp81*tmp146*tmp109*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp149*tmp66*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp72*tmp52*tmp58*tmp81*tmp91*tmp66*tmp92*tmp125*tmp155 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp81*tmp66*tmp68*tmp124*tmp200 + 0.0034837136387388954*tmp14*tmp51*tmp156*tmp58*(tmp157*tmp158*tmp144 + (tmp159*tmp160*tmp137*tmp144*tmp69*tmp161)/2.))); +J(1+_OFF,3+_OFF) = -(tmp139*(0.0017418568193694477*tmp14*tmp51*tmp97*tmp52*tmp58*tmp107*tmp166*tmp66 + 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp81*tmp91*tmp166*tmp66*tmp69 - 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp81*tmp91*tmp169*tmp109*tmp92 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp225*tmp81*tmp66*tmp92 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp171*tmp91*tmp66*tmp92 - 0.0008709284096847238*tmp14*tmp51*tmp97*tmp52*tmp58*tmp107*tmp169*tmp109*tmp68 + 0.0017418568193694477*tmp14*tmp51*tmp97*tmp52*tmp58*tmp38*tmp66*tmp68 + 0.0017418568193694477*tmp14*tmp51*tmp95*tmp52*tmp58*tmp107*tmp66*tmp68*tmp174 + 0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp81*tmp66*tmp68*tmp204*tmp125 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp81*tmp166*tmp66*tmp124 - 0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp81*tmp169*tmp109*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp171*tmp66*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp72*tmp52*tmp58*tmp81*tmp91*tmp66*tmp92*tmp125*tmp177 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp81*tmp66*tmp68*tmp124*tmp208 + 0.0034837136387388954*tmp14*tmp51*tmp156*tmp58*(tmp157*tmp158*tmp166 + (tmp159*tmp160*tmp137*tmp166*tmp69*tmp161)/2.))); +J(2+_OFF,1+_OFF) = -(tmp139*(0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp189*tmp64*tmp69 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*(tmp148 + 2*tmp0*tmp3)*tmp92 + 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp68*tmp180*tmp125 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp64*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp72*tmp52*tmp58*tmp68*tmp136 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp189*tmp92*tmp193)); +J(2+_OFF,2+_OFF) = -(tmp139*(0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp189*tmp144*tmp69 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp141*tmp92 + 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp68*tmp196*tmp125 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp144*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp72*tmp52*tmp58*tmp68*tmp155 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp189*tmp92*tmp200)); +J(2+_OFF,3+_OFF) = -(tmp139*(0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp189*tmp166*tmp69 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*(tmp201 + tmp223)*tmp92 + 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp68*tmp204*tmp125 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp166*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp72*tmp52*tmp58*tmp68*tmp177 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp189*tmp92*tmp208)); +J(3+_OFF,1+_OFF) = -(tmp139*(0.0017418568193694477*tmp14*tmp51*tmp97*tmp52*tmp58*tmp81*tmp64*tmp66 + 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp91*tmp217*tmp64*tmp66*tmp69 - 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp91*tmp217*tmp108*tmp109*tmp92 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp221*tmp91*tmp66*tmp92 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp219*tmp217*tmp66*tmp92 - 0.0008709284096847238*tmp14*tmp51*tmp97*tmp52*tmp58*tmp81*tmp108*tmp109*tmp68 + 0.0017418568193694477*tmp14*tmp51*tmp97*tmp52*tmp58*tmp60*tmp66*tmp68 + 0.0017418568193694477*tmp14*tmp51*tmp95*tmp52*tmp58*tmp81*tmp66*tmp68*tmp132 + 0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp217*tmp66*tmp68*tmp180*tmp125 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp217*tmp64*tmp66*tmp124 - 0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp217*tmp108*tmp109*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp221*tmp66*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp72*tmp52*tmp58*tmp91*tmp217*tmp66*tmp92*tmp125*tmp136 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp217*tmp66*tmp68*tmp124*tmp193)); +J(3+_OFF,2+_OFF) = -(tmp139*(0.0017418568193694477*tmp14*tmp51*tmp97*tmp52*tmp58*tmp81*tmp144*tmp66 + 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp91*tmp217*tmp144*tmp66*tmp69 - 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp91*tmp217*tmp146*tmp109*tmp92 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp224*tmp91*tmp66*tmp92 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp45*tmp217*tmp66*tmp92 - 0.0008709284096847238*tmp14*tmp51*tmp97*tmp52*tmp58*tmp81*tmp146*tmp109*tmp68 + 0.0017418568193694477*tmp14*tmp51*tmp97*tmp52*tmp58*tmp149*tmp66*tmp68 + 0.0017418568193694477*tmp14*tmp51*tmp95*tmp52*tmp58*tmp81*tmp66*tmp68*tmp152 + 0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp217*tmp66*tmp68*tmp196*tmp125 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp217*tmp144*tmp66*tmp124 - 0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp217*tmp146*tmp109*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp224*tmp66*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp72*tmp52*tmp58*tmp91*tmp217*tmp66*tmp92*tmp125*tmp155 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp217*tmp66*tmp68*tmp124*tmp200)); +J(3+_OFF,3+_OFF) = -(tmp139*(0.0017418568193694477*tmp14*tmp51*tmp97*tmp52*tmp58*tmp81*tmp166*tmp66 + 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp91*tmp217*tmp166*tmp66*tmp69 - 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp91*tmp217*tmp169*tmp109*tmp92 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp164*tmp91*tmp66*tmp92 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp225*tmp217*tmp66*tmp92 - 0.0008709284096847238*tmp14*tmp51*tmp97*tmp52*tmp58*tmp81*tmp169*tmp109*tmp68 + 0.0017418568193694477*tmp14*tmp51*tmp97*tmp52*tmp58*tmp171*tmp66*tmp68 + 0.0017418568193694477*tmp14*tmp51*tmp95*tmp52*tmp58*tmp81*tmp66*tmp68*tmp174 + 0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp217*tmp66*tmp68*tmp204*tmp125 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp217*tmp166*tmp66*tmp124 - 0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp217*tmp169*tmp109*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp164*tmp66*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp72*tmp52*tmp58*tmp91*tmp217*tmp66*tmp92*tmp125*tmp177 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp217*tmp66*tmp68*tmp124*tmp208)); +J(4+_OFF,1+_OFF) = -(tmp226*tmp227*tmp240*tmp276) + tmp226*tmp234*tmp240*tmp282; +J(4+_OFF,2+_OFF) = -(tmp226*tmp227*tmp240*tmp289) + tmp226*tmp234*tmp240*tmp295; +J(4+_OFF,3+_OFF) = -(tmp226*tmp227*tmp240*tmp302) + tmp226*tmp234*tmp240*tmp308; +J(5+_OFF,1+_OFF) = -(tmp262*tmp240*(0.0017418568193694477*tmp14*tmp51*tmp256*tmp52*tmp58*tmp68*(tmp257*tmp132 - (tmp258*tmp256*tmp64*tmp133*tmp259)/4.) + 0.0017418568193694477*tmp14*tmp51*tmp256*tmp52*tmp58*tmp64*tmp269)); +J(5+_OFF,2+_OFF) = -(tmp262*tmp240*(0.0017418568193694477*tmp14*tmp51*tmp256*tmp52*tmp58*tmp68*(tmp257*tmp152 - (tmp258*tmp256*tmp144*tmp133*tmp259)/4.) + 0.0017418568193694477*tmp14*tmp51*tmp256*tmp52*tmp58*tmp144*tmp269)); +J(5+_OFF,3+_OFF) = -(tmp262*tmp240*(0.0017418568193694477*tmp14*tmp51*tmp256*tmp52*tmp58*tmp68*(tmp257*tmp174 - (tmp258*tmp256*tmp166*tmp133*tmp259)/4.) + 0.0017418568193694477*tmp14*tmp51*tmp256*tmp52*tmp58*tmp166*tmp269)); +J(6+_OFF,1+_OFF) = tmp226*tmp234*tmp240*tmp276 - tmp235*tmp226*tmp240*tmp282; +J(6+_OFF,2+_OFF) = tmp226*tmp234*tmp240*tmp289 - tmp235*tmp226*tmp240*tmp295; +J(6+_OFF,3+_OFF) = tmp226*tmp234*tmp240*tmp302 - tmp235*tmp226*tmp240*tmp308; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_debug.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_debug.cppready new file mode 100644 index 0000000..f1f4669 --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_debug.cppready @@ -0,0 +1,78 @@ +double tmp0 = x(4+_OFF); +double tmp1 = x(6+_OFF); +double tmp2 = x(5+_OFF); +double tmp3 = x(7+_OFF); +double tmp4 = wind(1+_OFF); +double tmp5 = tmp2*tmp3; +double tmp6 = wind(2+_OFF); +double tmp7 = wind(3+_OFF); +double tmp8 = std::pow(tmp0,2); +double tmp9 = std::pow(tmp2,2); +double tmp10 = std::pow(tmp1,2); +double tmp11 = -tmp10; +double tmp12 = std::pow(tmp3,2); +double tmp13 = tmp2*tmp1; +double tmp14 = tmp0*tmp3; +double tmp15 = tmp13 + tmp14; +double tmp16 = -2*tmp6*tmp15; +double tmp17 = -(tmp0*tmp1); +double tmp18 = tmp17 + tmp5; +double tmp19 = -2*tmp7*tmp18; +double tmp20 = -tmp12; +double tmp21 = tmp8 + tmp9 + tmp11 + tmp20; +double tmp22 = -(tmp4*tmp21); +double tmp23 = x(8+_OFF); +double tmp24 = tmp16 + tmp19 + tmp22 + tmp23; +double tmp25 = tmp0*tmp1; +double tmp26 = tmp25 + tmp5; +double tmp27 = -2*tmp4*tmp26; +double tmp28 = -(tmp0*tmp2); +double tmp29 = tmp1*tmp3; +double tmp30 = tmp28 + tmp29; +double tmp31 = -2*tmp6*tmp30; +double tmp32 = -tmp9; +double tmp33 = tmp8 + tmp32 + tmp11 + tmp12; +double tmp34 = -(tmp7*tmp33); +double tmp35 = x(10+_OFF); +double tmp36 = tmp27 + tmp31 + tmp34 + tmp35; +double tmp37 = std::atan2(tmp36,tmp24); +double tmp38 = -(tmp0*tmp3); +double tmp39 = tmp13 + tmp38; +double tmp40 = -2*tmp4*tmp39; +double tmp41 = tmp0*tmp2; +double tmp42 = tmp41 + tmp29; +double tmp43 = -2*tmp7*tmp42; +double tmp44 = tmp8 + tmp32 + tmp10 + tmp20; +double tmp45 = -(tmp6*tmp44); +double tmp46 = x(9+_OFF); +double tmp47 = tmp40 + tmp43 + tmp45 + tmp46; +double tmp48 = set1(2+_OFF); +double tmp49 = 1/tmp48; +double tmp50 = std::pow(tmp24,2); +double tmp51 = std::pow(tmp47,2); +double tmp52 = std::pow(tmp36,2); +double tmp53 = tmp50 + tmp51 + tmp52; +double tmp54 = 1/std::sqrt(tmp53); +double tmp55 = tmp47*tmp54; +double tmp56 = std::asin(tmp55); +double tmp57 = set1(3+_OFF); +double tmp58 = set2(24+_OFF); +double tmp59 = set1(1+_OFF); +double tmp60 = x(3+_OFF); +double tmp61 = tmp59 + tmp60; +double tmp62 = -0.006500000000000001*tmp49*tmp61; +double tmp63 = 1 + tmp62; +double tmp64 = std::pow(tmp63,4.2561); +double tmp65 = set2(23+_OFF); +double tmp66 = std::pow(tmp65,2); +double tmp67 = z(1+_OFF); +double tmp68 = set2(25+_OFF); +double tmp69 = set2(22+_OFF); +double tmp70 = x(13+_OFF); +dbg(1+_OFF) = 0.0017418568193694477*tmp49*tmp57*(set2(4+_OFF) + tmp37*set2(5+_OFF) + std::pow(tmp37,2)*set2(6+_OFF) + std::pow(tmp56,2)*set2(7+_OFF))*tmp58*tmp64*tmp53; +dbg(2+_OFF) = 0.0017418568193694477*tmp56*tmp49*tmp57*set2(8+_OFF)*tmp58*tmp64*tmp53; +dbg(3+_OFF) = 0.0017418568193694477*tmp49*tmp57*(set2(9+_OFF) + tmp37*set2(10+_OFF))*tmp58*tmp64*tmp53; +dbg(4+_OFF) = 0.0034837136387388954*tmp49*tmp57*tmp66*tmp64*((set2(3+_OFF)*tmp53)/std::pow(M_PI,2) + (set2(2+_OFF)*tmp65*std::sqrt(tmp53)*tmp67)/M_PI + set2(1+_OFF)*tmp66*std::pow(tmp67,2)); +dbg(5+_OFF) = 0.0017418568193694477*tmp49*tmp57*tmp58*tmp68*tmp64*tmp53*(tmp56*set2(12+_OFF) + (set2(13+_OFF)*tmp68*tmp54*x(11+_OFF))/2. + (set2(14+_OFF)*tmp68*tmp54*tmp70)/2. + set2(11+_OFF)*z(2+_OFF)); +dbg(6+_OFF) = 0.0017418568193694477*tmp49*tmp57*tmp69*tmp58*tmp64*tmp53*(set2(15+_OFF) + tmp37*set2(18+_OFF) + (set2(17+_OFF)*tmp69*tmp54*x(12+_OFF))/2. + set2(16+_OFF)*z(3+_OFF)); +dbg(7+_OFF) = 0.0017418568193694477*tmp49*tmp57*tmp58*tmp68*tmp64*tmp53*(tmp56*set2(21+_OFF) + (set2(20+_OFF)*tmp68*tmp54*tmp70)/2. + set2(19+_OFF)*z(4+_OFF)); diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_predictor.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_predictor.cppready new file mode 100644 index 0000000..66eb8f5 --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_predictor.cppready @@ -0,0 +1,11 @@ +double tmp0 = x(5+_OFF); +double tmp1 = x(6+_OFF); +double tmp2 = x(4+_OFF); +double tmp3 = x(7+_OFF); +xhat(1+_OFF) = x(1+_OFF) + dt*(std::pow(tmp2,2) + std::pow(tmp0,2) - std::pow(tmp1,2) - std::pow(tmp3,2)); +xhat(2+_OFF) = x(2+_OFF) + 2*dt*(tmp0*tmp1 + tmp2*tmp3); +xhat(3+_OFF) = x(3+_OFF) + 2*dt*(-(tmp2*tmp1) + tmp0*tmp3); +xhat(4+_OFF) = tmp2; +xhat(5+_OFF) = tmp0; +xhat(6+_OFF) = tmp1; +xhat(7+_OFF) = tmp3; diff --git a/roamfree/ROAMfunctions/include/ROAMfunctions/AllFunctions.h b/roamfree/ROAMfunctions/include/ROAMfunctions/AllFunctions.h index eddfcd1..d768bdf 100644 --- a/roamfree/ROAMfunctions/include/ROAMfunctions/AllFunctions.h +++ b/roamfree/ROAMfunctions/include/ROAMfunctions/AllFunctions.h @@ -45,6 +45,8 @@ which accompanies this distribution, and is available at #include "IMUIntegralDeltaPM.h" #include "IMUIntegralDeltaQM.h" #include "QuadDynamicModelM.h" +#include "PlaneDynamicModelM.h" +#include "PlaneDynamicModelParamsV.h" #endif /* ALLFUNCTIONS_H_ */ diff --git a/roamfree/ROAMfunctions/include/ROAMfunctions/AllVariables.h b/roamfree/ROAMfunctions/include/ROAMfunctions/AllVariables.h index 3c085f8..66c59f0 100644 --- a/roamfree/ROAMfunctions/include/ROAMfunctions/AllVariables.h +++ b/roamfree/ROAMfunctions/include/ROAMfunctions/AllVariables.h @@ -26,5 +26,7 @@ which accompanies this distribution, and is available at #include "Eucl3DV.h" #include "MagParamsV.h" #include "Matrix3DV.h" +#include "PlaneDynamicModelM.h" +#include "PlaneDynamicModelParamsV.h" #endif /* ALLVARIABLES_H_ */ diff --git a/roamfree/ROAMfunctions/include/ROAMfunctions/PlaneDynamicModelM.h b/roamfree/ROAMfunctions/include/ROAMfunctions/PlaneDynamicModelM.h new file mode 100644 index 0000000..9026e54 --- /dev/null +++ b/roamfree/ROAMfunctions/include/ROAMfunctions/PlaneDynamicModelM.h @@ -0,0 +1,187 @@ +/* + Copyright (c) 2013-2014 Politecnico di Milano. + All rights reserved. This program and the accompanying materials + are made available under the terms of the GNU Lesser Public License v3 + which accompanies this distribution, and is available at + https://www.gnu.org/licenses/lgpl.html + + Contributors: + Davide A. Cucci (cucci@elet.polimi.it) + */ + +/* + * PlaneDynamicModelM.h + * + * Created on: Feb 10, 2015 + * Author: davide + */ + +#ifndef PLANEDYNAMICMODEL_H_ +#define PLANEDYNAMICMODEL_H_ + +#include + +namespace ROAMfunctions { + +class PlaneDynamicModelM { + +public: + static const bool _usedComponents[]; + + static const std::string _paramsNames[]; + static const int _nParams = 4; + + static const unsigned int _ORDER = 2; + + static const unsigned int _ERROR_SIZE = 6; + static const unsigned int _NOISE_SIZE = 6; + static const unsigned int _MEASUREMENT_SIZE = 4; + + const std::string* getParamsList() { + return _paramsNames; + } + const int getNParams() { + return _nParams; + } + + bool predict(const Eigen::VectorXd &x, double **params, + const Eigen::VectorXd& z, double dt, Eigen::VectorXd &xhat) { + + const static int _OFF = -1; + +# include "generated/PlaneDynamicModel_predictor.cppready" + + return true; + } + + template + bool error(const Eigen::VectorXd &x, double **params, + const Eigen::VectorXd& z, Eigen::MatrixBase const &const_ret) { + + Eigen::Map > set1(params[0]); + Eigen::Map > set2(params[1]); + Eigen::Map > wind(params[2]); + Eigen::Map > gravity(params[3]); + + + Eigen::MatrixBase & err = const_cast&>(const_ret); + + const static int _OFF = -1; + + static Eigen::IOFormat CleanFmt(8, 0, ", ", "\n", "", ""); + +# include "generated/PlaneDynamicModel_Err.cppready" + + /* + + output some debug variables + + { + Eigen::Matrix dbg; + +# include "generated/PlaneDynamicModel_debug.cppready" + + std::cerr << dbg.transpose().format(CleanFmt) << std::endl; + } + //*/ + + return false; + } + + template + bool errorJacobian(const Eigen::VectorXd &x, double **params, + const Eigen::VectorXd& z, int wrt, + Eigen::MatrixBase const &const_ret) { + + Eigen::Map > set1(params[0]); + Eigen::Map > set2(params[1]); + Eigen::Map > wind(params[2]); + Eigen::Map > gravity(params[3]); + + Eigen::MatrixBase & J = const_cast&>(const_ret); + + const static int _OFF = -1; + + switch (wrt) { + + case -6: // jacobian wrt to alpha + { +# include "generated/PlaneDynamicModel_JErrAlpha.cppready" + return true; + break; + } + + case -5: // jacobian wrt to a + { +# include "generated/PlaneDynamicModel_JErrA.cppready" + return true; + break; + } + + case -4: // jacobian wrt to w + { +# include "generated/PlaneDynamicModel_JErrW.cppready" + return true; + break; + } + + case -3: // jacobian wrt to v + { +# include "generated/PlaneDynamicModel_JErrV.cppready" + return true; + break; + } + + case -2: // jacobian wrt to q + { +# include "generated/PlaneDynamicModel_JErrQ.cppready" + return true; + break; + } + + case -1: // jacobian wrt pose + { +# include "generated/PlaneDynamicModel_JErrPose.cppready" + return true; + break; + } + + case 0: // jacobian wrt to noises + { + // it is the identity matrix + // #include "generated/PlaneDynamicModel_JErrNoises.cppready" + return false; + break; + } + + case 1: // jacobian wrt set1 + { +# include "generated/PlaneDynamicModel_JErrSet1.cppready" + return true; + break; + } + + case 2: // jacobian wrt set2 + { +# include "generated/PlaneDynamicModel_JErrSet2.cppready" + return true; + break; + } + + case 3: // jacobian wrt wind + { +# include "generated/PlaneDynamicModel_JErrWind.cppready" + return true; + break; + } + + } + + assert(false); + return false; + } +}; + +} /* namespace ROAMfunctions */ + +#endif /* PLANEDYNAMICMODEL_H_ */ diff --git a/roamfree/ROAMfunctions/include/ROAMfunctions/PlaneDynamicModelParamsV.h b/roamfree/ROAMfunctions/include/ROAMfunctions/PlaneDynamicModelParamsV.h new file mode 100644 index 0000000..fd30cac --- /dev/null +++ b/roamfree/ROAMfunctions/include/ROAMfunctions/PlaneDynamicModelParamsV.h @@ -0,0 +1,44 @@ +/* +Copyright (c) 2013-2014 Politecnico di Milano. +All rights reserved. This program and the accompanying materials +are made available under the terms of the GNU Lesser Public License v3 +which accompanies this distribution, and is available at +https://www.gnu.org/licenses/lgpl.html + +Contributors: + Davide A. Cucci (cucci@elet.polimi.it) +*/ + +/* + * PlaneDynamicModelParamsV.h + * + * Created on: Feb 10, 2015 + * Author: davide + */ + +#ifndef PLANEDYNAMICMODELPARAMSV_H_ +#define PLANEDYNAMICMODELPARAMSV_H_ + +#include "Variable.h" + +namespace ROAMfunctions { + +class PlaneDynamicModelParamsV { +}; + +class PlaneDynamicModelParamsVI: public Variable { +public: + virtual ~PlaneDynamicModelParamsVI(); +}; + +template<> +struct VariableTraits { + + static const unsigned int _INTERNAL_SIZE = 30; + static const unsigned int _INCREMENT_SIZE = 30; + + typedef PlaneDynamicModelParamsVI VariableI; +}; + +} /* namespace ROAMfunctions */ +#endif /* PLANEDYNAMICMODELPARAMSV_H_ */ diff --git a/roamfree/ROAMfunctions/include/ROAMfunctions/QuadDynamicModelM.h b/roamfree/ROAMfunctions/include/ROAMfunctions/QuadDynamicModelM.h index 55ecfa5..c44aadf 100644 --- a/roamfree/ROAMfunctions/include/ROAMfunctions/QuadDynamicModelM.h +++ b/roamfree/ROAMfunctions/include/ROAMfunctions/QuadDynamicModelM.h @@ -68,7 +68,8 @@ class QuadDynamicModelM { const static int _OFF = -1; # include "generated/QuadDynamicModel_Err.cppready" - + + err.tail(3) << 0,0,0; return false; } diff --git a/roamfree/ROAMfunctions/src/PlaneDynamicModelM.cpp b/roamfree/ROAMfunctions/src/PlaneDynamicModelM.cpp new file mode 100644 index 0000000..c079f84 --- /dev/null +++ b/roamfree/ROAMfunctions/src/PlaneDynamicModelM.cpp @@ -0,0 +1,26 @@ +/* +Copyright (c) 2013-2014 Politecnico di Milano. +All rights reserved. This program and the accompanying materials +are made available under the terms of the GNU Lesser Public License v3 +which accompanies this distribution, and is available at +https://www.gnu.org/licenses/lgpl.html + +Contributors: + Davide A. Cucci (cucci@elet.polimi.it) +*/ + +/* + * PlaneDynamicModelM.cpp + * + * Created on: Feb 10, 2015 + * Author: davide + */ + +#include "PlaneDynamicModelM.h" + +namespace ROAMfunctions { +const bool PlaneDynamicModelM::_usedComponents[] = {true, true, true, true, true, true, false, false, false, false}; + +const std::string PlaneDynamicModelM::_paramsNames[] = {"Set1", "Set2", "Wind", "Gravity"}; + +} /* namespace ROAMfunctions */ diff --git a/roamfree/ROAMfunctions/src/PlaneDynamicModelParamsV.cpp b/roamfree/ROAMfunctions/src/PlaneDynamicModelParamsV.cpp new file mode 100644 index 0000000..cc1567e --- /dev/null +++ b/roamfree/ROAMfunctions/src/PlaneDynamicModelParamsV.cpp @@ -0,0 +1,26 @@ +/* +Copyright (c) 2013-2014 Politecnico di Milano. +All rights reserved. This program and the accompanying materials +are made available under the terms of the GNU Lesser Public License v3 +which accompanies this distribution, and is available at +https://www.gnu.org/licenses/lgpl.html + +Contributors: + Davide A. Cucci (cucci@elet.polimi.it) +*/ + +/* + * PlaneDynamicModelParamsV.cpp + * + * Created on: Feb 10, 2015 + * Author: davide + */ + +#include "PlaneDynamicModelParamsV.h" + +namespace ROAMfunctions { + +PlaneDynamicModelParamsVI::~PlaneDynamicModelParamsVI() { +} + +} /* namespace ROAMfunctions */ From 50666c7488ade6703baebd4a18635152d39254b0 Mon Sep 17 00:00:00 2001 From: Kenneth Date: Tue, 23 Jul 2019 13:51:42 +0200 Subject: [PATCH 2/7] Fixed an error which renamed Pitch variable as M_PI --- _development/Mathematica/fixMathematicaOutput_v2.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_development/Mathematica/fixMathematicaOutput_v2.py b/_development/Mathematica/fixMathematicaOutput_v2.py index 17ba667..0431dc2 100644 --- a/_development/Mathematica/fixMathematicaOutput_v2.py +++ b/_development/Mathematica/fixMathematicaOutput_v2.py @@ -91,7 +91,7 @@ def fixMathFunctions(l): #pi l = re.sub('Pi', 'M_PI', l) - + l = re.sub('mM_PItch', 'mPitch', l) # we have to swap the two arguments of the ArcTan because of odd Mathematica conventions From da649ec4d8d484b1f8f6cb577387190f207dcafd Mon Sep 17 00:00:00 2001 From: Kenneth Date: Tue, 23 Jul 2019 14:04:45 +0200 Subject: [PATCH 3/7] Modified the defenition of parameters in the Fixed wing model. Implemented the Euclidean4 and it's prior. --- .../AugmentedState_PlaneDynamicModel.nb | 699 ++++++++++++------ .../models/PlaneDynamicModel_aalphadebug.m | 120 --- .../models/PlaneDynamicModel_debug.m | 78 -- roamfree/ROAMestimation/CMakeLists.txt | 1 + .../include/ROAMestimation/Enums.h | 2 + .../ROAMestimation/PriorEdges/AllPriors.h | 1 + .../PriorEdges/Eucl4DPriorEdge.h | 32 + .../src/FactorGraphFilterImpl.cpp | 7 +- .../src/ParameterVerticesManager.cpp | 7 + .../src/PriorEdges/Eucl4DPriorEdge.cpp | 42 ++ .../generated/PlaneDynamicModel_Err.cppready | 164 ++-- .../PlaneDynamicModel_JErrAirDensity.cppready | 6 + .../PlaneDynamicModel_JErrCBar.cppready | 6 + .../PlaneDynamicModel_JErrCp.cppready | 6 + .../PlaneDynamicModel_JErrFDrag.cppready | 6 + .../PlaneDynamicModel_JErrFLat.cppready | 6 + .../PlaneDynamicModel_JErrFLift.cppready | 6 + .../PlaneDynamicModel_JErrFThrust.cppready | 6 + .../PlaneDynamicModel_JErrIbd.cppready | 6 + .../PlaneDynamicModel_JErrIbod.cppready | 6 + .../PlaneDynamicModel_JErrMPitch.cppready | 6 + .../PlaneDynamicModel_JErrMRoll.cppready | 6 + .../PlaneDynamicModel_JErrMYaw.cppready | 6 + .../PlaneDynamicModel_JErrPose.cppready | 126 ++-- .../PlaneDynamicModel_JErrQ.cppready | 376 +++++----- .../PlaneDynamicModel_JErrV.cppready | 306 ++++---- .../PlaneDynamicModel_JErrW.cppready | 271 ++++--- .../PlaneDynamicModel_JErrWind.cppready | 312 ++++---- .../PlaneDynamicModel_debug.cppready | 34 +- .../include/ROAMfunctions/AllVariables.h | 1 + .../include/ROAMfunctions/Eucl4DV.h | 39 + .../ROAMfunctions/PlaneDynamicModelM.h | 109 ++- roamfree/ROAMfunctions/src/Eucl4DV.cpp | 21 + .../ROAMfunctions/src/PlaneDynamicModelM.cpp | 2 +- 34 files changed, 1722 insertions(+), 1100 deletions(-) delete mode 100644 _development/Mathematica/models/PlaneDynamicModel_aalphadebug.m delete mode 100644 _development/Mathematica/models/PlaneDynamicModel_debug.m create mode 100644 roamfree/ROAMestimation/include/ROAMestimation/PriorEdges/Eucl4DPriorEdge.h create mode 100644 roamfree/ROAMestimation/src/PriorEdges/Eucl4DPriorEdge.cpp create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrAirDensity.cppready create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrCBar.cppready create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrCp.cppready create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFDrag.cppready create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFLat.cppready create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFLift.cppready create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFThrust.cppready create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrIbd.cppready create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrIbod.cppready create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMPitch.cppready create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMRoll.cppready create mode 100644 roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMYaw.cppready create mode 100644 roamfree/ROAMfunctions/include/ROAMfunctions/Eucl4DV.h create mode 100644 roamfree/ROAMfunctions/src/Eucl4DV.cpp diff --git a/_development/Mathematica/models/AugmentedState_PlaneDynamicModel.nb b/_development/Mathematica/models/AugmentedState_PlaneDynamicModel.nb index 0d9e83a..935db7c 100644 --- a/_development/Mathematica/models/AugmentedState_PlaneDynamicModel.nb +++ b/_development/Mathematica/models/AugmentedState_PlaneDynamicModel.nb @@ -10,10 +10,10 @@ NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 158, 7] -NotebookDataLength[ 69718, 1820] -NotebookOptionsPosition[ 63481, 1735] -NotebookOutlinePosition[ 63838, 1751] -CellTagsIndexPosition[ 63795, 1748] +NotebookDataLength[ 78811, 2101] +NotebookOptionsPosition[ 72564, 2016] +NotebookOutlinePosition[ 72921, 2032] +CellTagsIndexPosition[ 72878, 2029] WindowFrame->Normal*) (* Beginning of Notebook Content *) @@ -22,7 +22,7 @@ Cell[BoxData[ RowBox[{"Clear", "[", "\"\\"", "]"}]], "Input", CellChangeTimes->{{3.5951624068865957`*^9, 3.595162434106801*^9}}, CellLabel-> - "In[167]:=",ExpressionUUID->"28aebd44-7a23-4603-b370-38149a649cc1"], + "In[187]:=",ExpressionUUID->"28aebd44-7a23-4603-b370-38149a649cc1"], Cell[BoxData[{ RowBox[{"Import", "[", @@ -37,7 +37,7 @@ Cell[BoxData[{ 3.6175174204357758`*^9, 3.617517424343709*^9}, {3.632487617988913*^9, 3.632487633951275*^9}}, CellLabel-> - "In[168]:=",ExpressionUUID->"d5e95da8-5675-4df2-8ff6-af7b8fb219a1"], + "In[188]:=",ExpressionUUID->"d5e95da8-5675-4df2-8ff6-af7b8fb219a1"], Cell[CellGroupData[{ @@ -79,7 +79,7 @@ Cell[BoxData[ CellChangeTimes->{{3.563607037606062*^9, 3.563607124416689*^9}, 3.563608231083735*^9}, CellLabel-> - "In[170]:=",ExpressionUUID->"78e5840d-381c-47a9-b9dd-90c3c4dacb03"], + "In[190]:=",ExpressionUUID->"78e5840d-381c-47a9-b9dd-90c3c4dacb03"], Cell[BoxData[ RowBox[{ @@ -129,7 +129,7 @@ Cell[BoxData[ 3.57113111793888*^9, 3.57113116341093*^9}, {3.571131195958424*^9, 3.571131254626845*^9}, 3.571133049520565*^9}, CellLabel-> - "In[171]:=",ExpressionUUID->"66ac8851-0848-4866-8069-42c37f27b5de"], + "In[191]:=",ExpressionUUID->"66ac8851-0848-4866-8069-42c37f27b5de"], Cell[BoxData[{ RowBox[{ @@ -161,7 +161,7 @@ Cell[BoxData[{ InitializationCell->True, CellChangeTimes->{{3.568453075302482*^9, 3.568453143924776*^9}}, CellLabel-> - "In[172]:=",ExpressionUUID->"a40aa98c-a7a2-4814-b63b-e7c90c9932a0"], + "In[192]:=",ExpressionUUID->"a40aa98c-a7a2-4814-b63b-e7c90c9932a0"], Cell[BoxData[ RowBox[{ @@ -213,7 +213,7 @@ Cell[BoxData[ CellChangeTimes->{{3.568443187261707*^9, 3.568443273520089*^9}, { 3.568458568630984*^9, 3.568458568967643*^9}}, CellLabel-> - "In[174]:=",ExpressionUUID->"ee9449fb-cd56-4179-b90c-f5e3bb0fdcdb"], + "In[194]:=",ExpressionUUID->"ee9449fb-cd56-4179-b90c-f5e3bb0fdcdb"], Cell[BoxData[ RowBox[{ @@ -241,7 +241,7 @@ Cell[BoxData[ 3.568443409373211*^9}, {3.568453008511107*^9, 3.568453014783046*^9}, { 3.60835655838758*^9, 3.608356558395439*^9}}, CellLabel-> - "In[175]:=",ExpressionUUID->"b69052f0-f728-4bd6-9bf7-bae15aa76095"], + "In[195]:=",ExpressionUUID->"b69052f0-f728-4bd6-9bf7-bae15aa76095"], Cell[BoxData[{ RowBox[{ @@ -284,7 +284,7 @@ Cell[BoxData[{ CellChangeTimes->{{3.568444740747602*^9, 3.568444776506934*^9}, { 3.568444838483142*^9, 3.568444844345901*^9}}, CellLabel-> - "In[176]:=",ExpressionUUID->"905c9ad7-8258-45b1-b64f-2d576f63cf20"], + "In[196]:=",ExpressionUUID->"905c9ad7-8258-45b1-b64f-2d576f63cf20"], Cell[BoxData[{ RowBox[{ @@ -352,7 +352,7 @@ Cell[BoxData[{ 3.568446816971497*^9, 3.568446831371454*^9}, {3.56844689667688*^9, 3.568446897039928*^9}, {3.571133081827365*^9, 3.571133085326789*^9}}, CellLabel-> - "In[178]:=",ExpressionUUID->"a7b9df83-8379-4a26-b658-cd16a2c680e3"] + "In[198]:=",ExpressionUUID->"a7b9df83-8379-4a26-b658-cd16a2c680e3"] }, Open ]], Cell["Beginning of stuff", "Title", @@ -376,7 +376,7 @@ Cell[BoxData[ CellChangeTimes->{{3.5732982634483347`*^9, 3.573298275094433*^9}, { 3.606108793708241*^9, 3.6061087941202383`*^9}}, CellLabel-> - "In[180]:=",ExpressionUUID->"89e76b07-ca4f-4879-a9de-3406cd562327"], + "In[200]:=",ExpressionUUID->"89e76b07-ca4f-4879-a9de-3406cd562327"], Cell[BoxData[{ RowBox[{ @@ -417,7 +417,7 @@ Cell[BoxData[{ 3.6324860672576303`*^9}, 3.6324863191229258`*^9, {3.632487946501395*^9, 3.6324879678038177`*^9}, {3.632488008725754*^9, 3.632488019377554*^9}}, CellLabel-> - "In[181]:=",ExpressionUUID->"0f88cdc1-a39e-4d13-b528-8472e029b05f"], + "In[201]:=",ExpressionUUID->"0f88cdc1-a39e-4d13-b528-8472e029b05f"], Cell["Parameters", "Subsubtitle", CellChangeTimes->{{3.576920320535687*^9, @@ -427,21 +427,21 @@ fe27c5187298"], Cell[BoxData[{ RowBox[{ RowBox[{"h0", " ", "=", - RowBox[{"set1", "[", "1", "]"}]}], ";", + RowBox[{"airDensity", "[", "1", "]"}]}], ";", RowBox[{"(*", " ", RowBox[{ "base", " ", "point", " ", "altitude", " ", "above", " ", "sea", " ", "level"}], " ", "*)"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"T0", "=", - RowBox[{"set1", "[", "2", "]"}]}], ";", " ", + RowBox[{"airDensity", "[", "2", "]"}]}], ";", " ", RowBox[{"(*", " ", RowBox[{ "ambient", " ", "temperature", " ", "at", " ", "mean", " ", "sea", " ", "level"}], " ", "*)"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"p0", "=", - RowBox[{"set1", "[", "3", "]"}]}], ";", " ", + RowBox[{"airDensity", "[", "3", "]"}]}], ";", " ", RowBox[{"(*", " ", RowBox[{"pressure", " ", "at", " ", "sea", " ", "level"}], " ", "*)"}], ";"}], "\[IndentingNewLine]", @@ -468,143 +468,151 @@ Cell[BoxData[{ "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CFT1", "=", - RowBox[{"set2", "[", "1", "]"}]}], ";", " ", + RowBox[{"fThrust", "[", "1", "]"}]}], ";", " ", RowBox[{"(*", " ", RowBox[{"thrust", " ", "force", " ", "coefficients"}], "*)"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CFT2", "=", - RowBox[{"set2", "[", "2", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{"fThrust", "[", "2", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"CFT3", "=", - RowBox[{"set2", "[", "3", "]"}]}], ";"}], + RowBox[{"fThrust", "[", "3", "]"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CFX1", "=", - RowBox[{"set2", "[", "4", "]"}]}], ";", " ", + RowBox[{"fDrag", "[", "1", "]"}]}], ";", " ", RowBox[{"(*", " ", RowBox[{"drag", " ", "force", " ", "coefficients"}], " ", "*)"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CFXalpha1", " ", "=", " ", - RowBox[{"set2", "[", "5", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{"fDrag", "[", "2", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CFXalpha2", " ", "=", " ", - RowBox[{"set2", "[", "6", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{"fDrag", "[", "3", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"CFXbeta2", " ", "=", " ", - RowBox[{"set2", "[", "7", "]"}]}], ";"}], + RowBox[{"fDrag", "[", "4", "]"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"CFY1", "=", - RowBox[{"set2", "[", "8", "]"}]}], ";", " ", + RowBox[{"fLat", "[", "1", "]"}]}], ";", " ", RowBox[{"(*", " ", RowBox[{"lateral", " ", "force", " ", "coefficient"}], " ", "*)"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CFZ1", "=", - RowBox[{"set2", "[", "9", "]"}]}], ";", " ", + RowBox[{"fLift", "[", "1", "]"}]}], ";", " ", RowBox[{"(*", " ", RowBox[{"lift", " ", "force", " ", "coefficients"}], " ", "*)"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"CFZalpha", "=", - RowBox[{"set2", "[", "10", "]"}]}], ";"}], + RowBox[{"fLift", "[", "2", "]"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CMXa", "=", - RowBox[{"set2", "[", "11", "]"}]}], ";", + RowBox[{"mRoll", "[", "1", "]"}]}], ";", RowBox[{"(*", " ", RowBox[{"roll", " ", "moment", " ", "coefficients"}], " ", "*)"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CMXbeta", "=", - RowBox[{"set2", "[", "12", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{"mRoll", "[", "2", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CMX\[Omega]tildex", "=", - RowBox[{"set2", "[", "13", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{"mRoll", "[", "3", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"CMX\[Omega]tildez", "=", - RowBox[{"set2", "[", "14", "]"}]}], ";"}], + RowBox[{"mRoll", "[", "4", "]"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CMY1", "=", - RowBox[{"set2", "[", "15", "]"}]}], ";", + RowBox[{"mPitch", "[", "1", "]"}]}], ";", RowBox[{"(*", " ", RowBox[{"pitch", " ", "moment", " ", "coefficients"}], " ", "*)"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CMYe", "=", - RowBox[{"set2", "[", "16", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{"mPitch", "[", "2", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CMY\[Omega]tildey", "=", - RowBox[{"set2", "[", "17", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{"mPitch", "[", "3", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"CMYalpha", "=", - RowBox[{"set2", "[", "18", "]"}]}], ";"}], + RowBox[{"mPitch", "[", "4", "]"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CMZr", "=", - RowBox[{"set2", "[", "19", "]"}]}], ";", " ", + RowBox[{"mYaw", "[", "1", "]"}]}], ";", " ", RowBox[{"(*", " ", RowBox[{"yaw", " ", "moment", " ", "coefficients"}], " ", "*)"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CMZ\[Omega]tildez", "=", - RowBox[{"set2", "[", "20", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{"mYaw", "[", "2", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"CMZbeta", "=", - RowBox[{"set2", "[", "21", "]"}]}], ";"}], + RowBox[{"mYaw", "[", "3", "]"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"cbar", " ", "=", " ", - RowBox[{"set2", "[", "22", "]"}]}], ";", " ", + RowBox[{"cBar", "[", "1", "]"}]}], ";", " ", RowBox[{"(*", " ", RowBox[{"mean", " ", "aereodynamic", " ", "chord"}], " ", "*)"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"PD", "=", - RowBox[{"set2", "[", "23", "]"}]}], ";", " ", + RowBox[{"cp", "[", "1", "]"}]}], ";", " ", RowBox[{"(*", " ", RowBox[{"propeller", " ", "diemater"}], " ", "*)"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"S", "=", - RowBox[{"set2", "[", "24", "]"}]}], ";", " ", + RowBox[{"cp", "[", "2", "]"}]}], ";", " ", RowBox[{"(*", " ", RowBox[{"wing", " ", "surface"}], " ", "*)"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"b", "=", + RowBox[{"cp", "[", "3", "]"}]}], ";", " ", + RowBox[{"(*", " ", + RowBox[{"wind", " ", "span"}], " ", "*)"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ - RowBox[{"b", "=", - RowBox[{"set2", "[", "25", "]"}]}], ";", " ", - RowBox[{"(*", " ", - RowBox[{"wind", " ", "span"}], " ", "*)"}], ";"}], + RowBox[{"m", " ", "=", " ", + RowBox[{"cp", "[", "4", "]"}]}], ";", " ", + RowBox[{"(*", " ", "mass", " ", "*)"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"m", " ", "=", " ", - RowBox[{"set2", "[", "26", "]"}]}], ";", " ", - RowBox[{"(*", " ", "mass", " ", "*)"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Ixx", "=", - RowBox[{"set2", "[", "27", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{"ibd", "[", "1", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Iyy", "=", - RowBox[{"set2", "[", "28", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{"ibd", "[", "2", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ - RowBox[{"Izz", " ", "=", - RowBox[{"set2", "[", "29", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Izz", " ", "=", + RowBox[{"ibd", "[", "3", "]"}]}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Ixz", "=", - RowBox[{"set2", "[", "30", "]"}]}], ";"}]}], "Input", + RowBox[{"ibod", "[", "1", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Ixy", "=", + RowBox[{"ibod", "[", "2", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Iyz", "=", + RowBox[{"ibod", "[", "3", "]"}]}], ";"}]}], "Input", CellChangeTimes->{{3.630156966488817*^9, 3.630156997327407*^9}, { 3.630240787595443*^9, 3.630240871119405*^9}, {3.632462563480411*^9, 3.6324626574790983`*^9}, {3.6324627822557497`*^9, @@ -630,49 +638,141 @@ Cell[BoxData[{ 3.6343016879675493`*^9, 3.634301688364636*^9}, {3.63430226729615*^9, 3.634302271560999*^9}, 3.634302333067884*^9, 3.634303000998124*^9, { 3.634303882252087*^9, 3.634303882568714*^9}, 3.634303913676345*^9, { - 3.7715699472059917`*^9, 3.771569949298133*^9}}, + 3.7715699472059917`*^9, 3.771569949298133*^9}, {3.772359310486154*^9, + 3.772359365392565*^9}, {3.7723594227641973`*^9, 3.772359613795624*^9}, { + 3.772360215586792*^9, 3.77236021597759*^9}}, CellLabel-> - "In[187]:=",ExpressionUUID->"33f47236-ad3c-4a61-8f93-8222aa6cc9fa"], + "In[207]:=",ExpressionUUID->"33f47236-ad3c-4a61-8f93-8222aa6cc9fa"], Cell[BoxData[{ RowBox[{ RowBox[{ - RowBox[{"IB", "=", - RowBox[{"{", - RowBox[{ - RowBox[{"{", - RowBox[{"Ixx", ",", "0", ",", "Ixz"}], "}"}], ",", - RowBox[{"{", - RowBox[{"0", ",", "Iyy", ",", "0"}], "}"}], ",", - RowBox[{"{", - RowBox[{"Ixz", ",", "0", ",", "Izz"}], "}"}]}], "}"}]}], ";", " ", + RowBox[{ + RowBox[{"IB", "=", + RowBox[{"{", + RowBox[{ + RowBox[{"{", + RowBox[{"Ixx", ",", "Ixy", ",", "Ixz"}], "}"}], ",", + RowBox[{"{", + RowBox[{"Ixy", ",", "Iyy", ",", "Iyz"}], "}"}], ",", + RowBox[{"{", + RowBox[{"Ixz", ",", "Iyz", ",", "Izz"}], "}"}]}], "}"}]}], ";"}], " ", RowBox[{"(*", " ", RowBox[{"Inertia", " ", "matrix"}], " ", "*)"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ - RowBox[{"Set1", "=", + RowBox[{ + RowBox[{"AIRDENSITY", " ", "=", " ", + RowBox[{"Table", "[", + RowBox[{ + RowBox[{"airDensity", "[", "i", "]"}], ",", + RowBox[{"(", + RowBox[{"i", ",", "1", ",", "3"}], ")"}]}], "]"}]}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"FTHRUST", " ", "=", " ", RowBox[{"Table", "[", RowBox[{ - RowBox[{"set1", "[", "i", "]"}], ",", - RowBox[{"{", - RowBox[{"i", ",", "1", ",", "3"}], "}"}]}], "]"}]}], + RowBox[{"fThrust", "[", "i", "]"}], ",", + RowBox[{"(", + RowBox[{"i", ",", "1", ",", "3"}], ")"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ - RowBox[{"Set2", "=", + RowBox[{"FDRAG", " ", "=", " ", RowBox[{"Table", "[", RowBox[{ - RowBox[{"set2", "[", "i", "]"}], ",", - RowBox[{"{", - RowBox[{"i", ",", "1", ",", "30"}], "}"}]}], "]"}]}], ";"}]}], "Input", + RowBox[{"fDrag", "[", "i", "]"}], ",", + RowBox[{"(", + RowBox[{"i", ",", "1", ",", "4"}], ")"}]}], "]"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"FLAT", " ", "=", " ", + RowBox[{"Table", "[", + RowBox[{ + RowBox[{"fLat", "[", "i", "]"}], ",", + RowBox[{"(", + RowBox[{"i", ",", "1", ",", "1"}], ")"}]}], "]"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"FLIFT", "=", " ", + RowBox[{"Table", "[", + RowBox[{ + RowBox[{"fLift", "[", "i", "]"}], ",", + RowBox[{"(", + RowBox[{"i", ",", "1", ",", "2"}], ")"}]}], "]"}]}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MROLL", " ", "=", " ", + RowBox[{"Table", "[", + RowBox[{ + RowBox[{"mRoll", "[", "i", "]"}], ",", + RowBox[{"(", + RowBox[{"i", ",", "1", ",", "4"}], ")"}]}], "]"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MPITCH", " ", "=", " ", + RowBox[{"Table", "[", + RowBox[{ + RowBox[{"mPitch", "[", "i", "]"}], ",", + RowBox[{"(", + RowBox[{"i", ",", "1", ",", "4"}], ")"}]}], "]"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"MYAW", " ", "=", " ", + RowBox[{"Table", "[", + RowBox[{ + RowBox[{"mYaw", "[", "i", "]"}], ",", + RowBox[{"(", + RowBox[{"i", ",", "1", ",", "3"}], ")"}]}], "]"}]}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"CBAR", " ", "=", " ", + RowBox[{"Table", "[", + RowBox[{ + RowBox[{"cBar", "[", "i", "]"}], ",", + RowBox[{"(", + RowBox[{"i", ",", "1", ",", "1"}], ")"}]}], "]"}]}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"CP", " ", "=", " ", + RowBox[{"Table", "[", + RowBox[{ + RowBox[{"cp", "[", "i", "]"}], ",", + RowBox[{"(", + RowBox[{"i", ",", "1", ",", "4"}], ")"}]}], "]"}]}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"IBD", " ", "=", " ", + RowBox[{"Table", "[", + RowBox[{ + RowBox[{"ibd", "[", "i", "]"}], ",", + RowBox[{"(", + RowBox[{"i", ",", "1", ",", "3"}], ")"}]}], "]"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"IBOD", " ", "=", " ", + RowBox[{"Table", "[", + RowBox[{ + RowBox[{"ibod", "[", "i", "]"}], ",", + RowBox[{"(", + RowBox[{"i", ",", "1", ",", "3"}], ")"}]}], "]"}]}], + ";"}], "\[IndentingNewLine]"}], "Input", CellChangeTimes->{{3.6324667198820887`*^9, 3.632466771730083*^9}, { 3.6324745054453506`*^9, 3.632474645927088*^9}, {3.6324746840634813`*^9, 3.6324746893289757`*^9}, {3.632484902639776*^9, 3.6324849084840813`*^9}, { 3.6324849547663603`*^9, 3.632485026020185*^9}, {3.632485970613168*^9, 3.6324859838780127`*^9}, {3.632486046079789*^9, 3.632486046409316*^9}, { 3.632486196852049*^9, 3.632486214881503*^9}, 3.6325480929677277`*^9, { - 3.6325633642283154`*^9, 3.632563371518127*^9}}, + 3.6325633642283154`*^9, 3.632563371518127*^9}, {3.772359621486253*^9, + 3.772359671724037*^9}, {3.772359705820054*^9, 3.772359711259782*^9}, { + 3.772359937605813*^9, 3.772360048550315*^9}, {3.7723600966964912`*^9, + 3.772360359842062*^9}}, CellLabel-> - "In[223]:=",ExpressionUUID->"53a40cfc-f0e8-4e44-9f25-b052baa99c29"], + "In[245]:=",ExpressionUUID->"53a40cfc-f0e8-4e44-9f25-b052baa99c29"], Cell[BoxData[ RowBox[{ @@ -687,7 +787,7 @@ Cell[BoxData[ RowBox[{"wind", " ", "speed", " ", "in", " ", "world", " ", "frame"}], " ", "*)"}]}]], "Input", CellLabel-> - "In[226]:=",ExpressionUUID->"be98cbcc-62a9-4b36-a592-7c1827bbba19"], + "In[246]:=",ExpressionUUID->"be98cbcc-62a9-4b36-a592-7c1827bbba19"], Cell[BoxData[{ RowBox[{ @@ -738,7 +838,7 @@ Cell[BoxData[{ 3.6324862298118343`*^9, 3.632486253278077*^9}, {3.632488200362911*^9, 3.632488217048265*^9}}, CellLabel-> - "In[227]:=",ExpressionUUID->"3db40cdd-aae8-4aed-bbcf-7b6c917acc34"], + "In[247]:=",ExpressionUUID->"3db40cdd-aae8-4aed-bbcf-7b6c917acc34"], Cell["Equations", "Subsubtitle", CellChangeTimes->{{3.573298514193714*^9, 3.5732985158016453`*^9}, { @@ -769,7 +869,7 @@ Cell[BoxData[ RowBox[{"-", "1"}]}], "}"}]}], "}"}]}], ";"}]], "Input", CellChangeTimes->{{3.632820134921884*^9, 3.632820163656551*^9}}, CellLabel-> - "In[233]:=",ExpressionUUID->"e4cd07b0-b7a6-476f-a82d-1ad870ed93c3"], + "In[253]:=",ExpressionUUID->"e4cd07b0-b7a6-476f-a82d-1ad870ed93c3"], Cell["Air density model", "Text", CellChangeTimes->{{3.632464865348349*^9, 3.632464865838887*^9}, { @@ -818,7 +918,7 @@ Cell[BoxData[{ 3.632635175495201*^9}, {3.634305313267096*^9, 3.634305315999455*^9}, 3.771231605060816*^9, {3.7713227938461018`*^9, 3.771322795852179*^9}}, CellLabel-> - "In[234]:=",ExpressionUUID->"9f81cfa6-a749-4450-bfb3-736066b50bce"], + "In[254]:=",ExpressionUUID->"9f81cfa6-a749-4450-bfb3-736066b50bce"], Cell["Airspeed", "Text", CellChangeTimes->{{3.6324649632440243`*^9, @@ -866,7 +966,7 @@ Cell[BoxData[{ 3.632464847852816*^9}, {3.632464958182373*^9, 3.632464975561612*^9}, { 3.632548707477417*^9, 3.632548715250105*^9}}, CellLabel-> - "In[236]:=",ExpressionUUID->"29b01d2f-83ef-4d5a-8a25-69d70c2e9207"], + "In[256]:=",ExpressionUUID->"29b01d2f-83ef-4d5a-8a25-69d70c2e9207"], Cell["Wind frame ", "Text", CellChangeTimes->{{3.6324649823613243`*^9, @@ -894,11 +994,11 @@ Cell[BoxData[ 3.632571433828497*^9}, {3.632571484241777*^9, 3.632571500711404*^9}, { 3.634300370544889*^9, 3.634300375506771*^9}}, CellLabel-> - "In[240]:=",ExpressionUUID->"dbea6cef-0336-433e-92e3-cc59b4a69219"], + "In[260]:=",ExpressionUUID->"dbea6cef-0336-433e-92e3-cc59b4a69219"], -Cell["Trust force", "Text", - CellChangeTimes->{{3.632464997924268*^9, - 3.63246500193495*^9}},ExpressionUUID->"15e73123-e84e-4360-b55b-\ +Cell["Thrust force", "Text", + CellChangeTimes->{{3.632464997924268*^9, 3.63246500193495*^9}, + 3.7723597660999403`*^9},ExpressionUUID->"15e73123-e84e-4360-b55b-\ 334ef918a821"], Cell[BoxData[ @@ -949,7 +1049,7 @@ Cell[BoxData[ 3.6349808735654984`*^9, 3.634980887899046*^9}, {3.634982313791176*^9, 3.634982334481447*^9}, {3.634988395067772*^9, 3.634988403877116*^9}}, CellLabel-> - "In[241]:=",ExpressionUUID->"176642b9-ef21-428e-bda6-88b3064f0fe2"], + "In[261]:=",ExpressionUUID->"176642b9-ef21-428e-bda6-88b3064f0fe2"], Cell["Drag force", "Text", CellChangeTimes->{{3.632465883892436*^9, @@ -972,7 +1072,7 @@ Cell[BoxData[{ 3.632466061225836*^9, 3.632466070531445*^9}, 3.632474180051531*^9, { 3.632486333812204*^9, 3.632486338262673*^9}}, CellLabel-> - "In[242]:=",ExpressionUUID->"f4931c36-9cb3-41d5-9636-f3fbcef428c9"], + "In[262]:=",ExpressionUUID->"f4931c36-9cb3-41d5-9636-f3fbcef428c9"], Cell["Lateral force", "Text", CellChangeTimes->{{3.63246580061057*^9, @@ -988,7 +1088,7 @@ Cell[BoxData[{ RowBox[{"qbar", " ", "S", " ", "CFY"}]}], ";"}]}], "Input", CellChangeTimes->{{3.632465807062015*^9, 3.63246584035797*^9}}, CellLabel-> - "In[244]:=",ExpressionUUID->"63203ee0-9601-47b1-9606-b67b10ce9a46"], + "In[264]:=",ExpressionUUID->"63203ee0-9601-47b1-9606-b67b10ce9a46"], Cell["Lift force", "Text", CellChangeTimes->{{3.6324653247972507`*^9, @@ -1007,7 +1107,7 @@ Cell[BoxData[{ 3.632465682669859*^9, 3.6324656933429127`*^9}, {3.632465792314137*^9, 3.632465798108323*^9}}, CellLabel-> - "In[246]:=",ExpressionUUID->"c73ee33c-6f07-4ea9-82e2-0f37fad73c8e"], + "In[266]:=",ExpressionUUID->"c73ee33c-6f07-4ea9-82e2-0f37fad73c8e"], Cell["Roll moment", "Text", CellChangeTimes->{{3.632466790216868*^9, @@ -1052,7 +1152,7 @@ Cell[BoxData[{ 3.6324862875540953`*^9, 3.6324862888104773`*^9}, {3.6325487193918743`*^9, 3.632548719873026*^9}, 3.634292400473446*^9}, CellLabel-> - "In[248]:=",ExpressionUUID->"7be4a0a1-b2c0-4d7b-b564-9f92dabf375f"], + "In[268]:=",ExpressionUUID->"7be4a0a1-b2c0-4d7b-b564-9f92dabf375f"], Cell["Pitch moment", "Text", CellChangeTimes->{{3.632467155741108*^9, @@ -1083,7 +1183,7 @@ Cell[BoxData[{ 3.6324734635941877`*^9, 3.6324734804954777`*^9}, {3.632486355640251*^9, 3.632486356968248*^9}, 3.6325487214032393`*^9}, CellLabel-> - "In[252]:=",ExpressionUUID->"4ce3e11d-b2d8-42df-94f3-f44671feb140"], + "In[272]:=",ExpressionUUID->"4ce3e11d-b2d8-42df-94f3-f44671feb140"], Cell["Yaw moment", "Text", CellChangeTimes->{{3.6324733890787363`*^9, @@ -1104,7 +1204,7 @@ Cell[BoxData[{ 3.632473773078868*^9, 3.632486362438322*^9, {3.632734158387792*^9, 3.632734159678158*^9}}, CellLabel-> - "In[255]:=",ExpressionUUID->"1a28b43d-e9a2-4ebf-8251-f3ab2ddb7786"], + "In[275]:=",ExpressionUUID->"1a28b43d-e9a2-4ebf-8251-f3ab2ddb7786"], Cell["Error equations", "Text", CellChangeTimes->{{3.6324737754609947`*^9, @@ -1160,40 +1260,14 @@ Cell[BoxData[{ 3.6342783329840317`*^9, 3.6342783528443823`*^9}, {3.6344523148400803`*^9, 3.634452317130845*^9}}, CellLabel-> - "In[257]:=",ExpressionUUID->"fe419f0a-adf5-43af-9f08-7b8a7f19180b"], + "In[277]:=",ExpressionUUID->"fe419f0a-adf5-43af-9f08-7b8a7f19180b"], -Cell[BoxData[ +Cell[BoxData[{ RowBox[{ - RowBox[{"(*", "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Ahat", "=", - RowBox[{"SimplifyQLite", "[", - RowBox[{"Ahatlong", ",", - RowBox[{"{", "QWS", "}"}], ",", - RowBox[{"{", - RowBox[{"AreReals", "[", - RowBox[{"{", - RowBox[{ - "Set1", ",", "Set2", ",", "SW", ",", "VS", ",", "WS", ",", - "WINDW"}], "}"}], "]"}], "}"}]}], "]"}]}], ";", - "\[IndentingNewLine]", - RowBox[{"Alphahat", "=", - RowBox[{"SimplifyQLite", "[", - RowBox[{"AlphaHatlong", ",", - RowBox[{"{", "QWS", "}"}], ",", - RowBox[{"{", - RowBox[{"AreReals", "[", - RowBox[{"{", - RowBox[{ - "Set1", ",", "Set2", ",", "SW", ",", "VS", ",", "WS", ",", - "WINDW"}], "}"}], "]"}], "}"}]}], "]"}]}], ";"}], - "\[IndentingNewLine]", "*)"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{ - RowBox[{"Ahat", "=", "Ahatlong"}], ";"}], "\[IndentingNewLine]", - RowBox[{ - RowBox[{"Alphahat", "=", "AlphaHatlong"}], ";"}], - "\[IndentingNewLine]"}]}]], "Input", + RowBox[{"Ahat", "=", "Ahatlong"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"Alphahat", "=", "AlphaHatlong"}], + ";"}], "\[IndentingNewLine]"}], "Input", CellChangeTimes->{{3.632486455549663*^9, 3.6324865144132833`*^9}, { 3.632486628670555*^9, 3.632486630005704*^9}, {3.6324868147521963`*^9, 3.632486817333385*^9}, 3.632486929763055*^9, {3.632487008855073*^9, @@ -1203,9 +1277,9 @@ Cell[BoxData[ 3.632734121716978*^9, 3.632734200327458*^9}, {3.633067298879485*^9, 3.63306731942362*^9}, {3.634278298237008*^9, 3.63427829964246*^9}, { 3.63427833587599*^9, 3.634278345660905*^9}, {3.634298584045291*^9, - 3.634298585468253*^9}}, + 3.634298585468253*^9}, {3.7723598046089363`*^9, 3.772359805228352*^9}}, CellLabel-> - "In[259]:=",ExpressionUUID->"ff5f7d73-add6-4e24-9e55-7b15786660c6"], + "In[279]:=",ExpressionUUID->"ff5f7d73-add6-4e24-9e55-7b15786660c6"], Cell[BoxData[{ RowBox[{ @@ -1261,7 +1335,7 @@ Cell[BoxData[{ 3.634299852392684*^9, 3.634300111654772*^9, {3.634300178359811*^9, 3.634300196975257*^9}}, CellLabel-> - "In[261]:=",ExpressionUUID->"d17df8c1-9260-4a0c-8495-b5ef6f820848"], + "In[281]:=",ExpressionUUID->"d17df8c1-9260-4a0c-8495-b5ef6f820848"], Cell[BoxData[ RowBox[{ @@ -1277,7 +1351,7 @@ Cell[BoxData[ 3.632488026778446*^9, 3.632488059172721*^9}, {3.632488578258338*^9, 3.632488606817566*^9}}, CellLabel-> - "In[264]:=",ExpressionUUID->"8c91f72d-3f47-4547-a792-5e0813bcc352"], + "In[284]:=",ExpressionUUID->"8c91f72d-3f47-4547-a792-5e0813bcc352"], Cell["Predictor", "Subsubtitle", CellChangeTimes->{{3.573298851623851*^9, 3.57329885458322*^9}, { @@ -1309,7 +1383,7 @@ Cell[BoxData[ CellChangeTimes->{{3.632636764848427*^9, 3.632636870351482*^9}, 3.633327075601856*^9, 3.634538652426509*^9}, CellLabel-> - "In[265]:=",ExpressionUUID->"dea35a84-3a0f-4600-a2f4-2ab045608d87"], + "In[285]:=",ExpressionUUID->"dea35a84-3a0f-4600-a2f4-2ab045608d87"], Cell["Output", "Subsubtitle", CellChangeTimes->{{3.573298851623851*^9, @@ -1321,7 +1395,7 @@ Cell[BoxData[ RowBox[{"SetDirectory", "[", RowBox[{"NotebookDirectory", "[", "]"}], "]"}], ";"}]], "Input", CellLabel-> - "In[267]:=",ExpressionUUID->"c2f98c75-5faf-44c8-a958-147c2a660678"], + "In[287]:=",ExpressionUUID->"c2f98c75-5faf-44c8-a958-147c2a660678"], Cell[BoxData[{ RowBox[{ @@ -1410,25 +1484,110 @@ Cell[BoxData[{ 3.632488075940673*^9, 3.632488120413509*^9}, {3.6324882328081903`*^9, 3.632488236596348*^9}, {3.632488545113055*^9, 3.632488557103654*^9}}, CellLabel-> - "In[268]:=",ExpressionUUID->"716ee195-4767-4067-92df-43ed8da3bd15"], + "In[288]:=",ExpressionUUID->"716ee195-4767-4067-92df-43ed8da3bd15"], Cell[BoxData[{ RowBox[{ - RowBox[{"JErrSet1", "=", + RowBox[{ + RowBox[{"JErrAirDensity", "=", + RowBox[{"VecToZero", "[", + RowBox[{ + RowBox[{"D", "[", + RowBox[{"ERR", ",", + RowBox[{"{", "AIRDENSITY", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], + ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"JErrFThrust", "=", + RowBox[{"VecToZero", "[", + RowBox[{ + RowBox[{"D", "[", + RowBox[{"ERR", ",", + RowBox[{"{", "FTHRUST", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"JErrFDrag", "=", + RowBox[{"VecToZero", "[", + RowBox[{ + RowBox[{"D", "[", + RowBox[{"ERR", ",", + RowBox[{"{", "FDRAG", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"JErrFLat", "=", RowBox[{"VecToZero", "[", RowBox[{ RowBox[{"D", "[", RowBox[{"ERR", ",", - RowBox[{"{", "Set1", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], + RowBox[{"{", "FLAT", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ - RowBox[{"JErrSet2", "=", + RowBox[{ + RowBox[{"JErrFLift", "=", + RowBox[{"VecToZero", "[", + RowBox[{ + RowBox[{"D", "[", + RowBox[{"ERR", ",", + RowBox[{"{", "FLIFT", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"JErrMRoll", "=", RowBox[{"VecToZero", "[", RowBox[{ RowBox[{"D", "[", RowBox[{"ERR", ",", - RowBox[{"{", "Set2", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], + RowBox[{"{", "MROLL", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"JErrMPitch", "=", + RowBox[{"VecToZero", "[", + RowBox[{ + RowBox[{"D", "[", + RowBox[{"ERR", ",", + RowBox[{"{", "MPTICH", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"JErrMYaw", "=", + RowBox[{"VecToZero", "[", + RowBox[{ + RowBox[{"D", "[", + RowBox[{"ERR", ",", + RowBox[{"{", "MYAW", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"JErrCBar", "=", + RowBox[{"VecToZero", "[", + RowBox[{ + RowBox[{"D", "[", + RowBox[{"ERR", ",", + RowBox[{"{", "CBAR", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"JErrCp", "=", + RowBox[{"VecToZero", "[", + RowBox[{ + RowBox[{"D", "[", + RowBox[{"ERR", ",", + RowBox[{"{", "CP", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"JErrIbd", "=", + RowBox[{"VecToZero", "[", + RowBox[{ + RowBox[{"D", "[", + RowBox[{"ERR", ",", + RowBox[{"{", "IBD", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + RowBox[{"JErrIbod", "=", + RowBox[{"VecToZero", "[", + RowBox[{ + RowBox[{"D", "[", + RowBox[{"ERR", ",", + RowBox[{"{", "IBOD", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], ";"}], + "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"JErrWind", "=", RowBox[{"VecToZero", "[", @@ -1439,16 +1598,18 @@ Cell[BoxData[{ ";"}]}], "Input", CellChangeTimes->{{3.632488242861087*^9, 3.63248826986901*^9}, { 3.632488302807823*^9, 3.632488310708211*^9}, {3.632549179684801*^9, - 3.6325491830062933`*^9}, 3.632549233454729*^9}, + 3.6325491830062933`*^9}, 3.632549233454729*^9, {3.772359825953252*^9, + 3.772359833140972*^9}, {3.7723603795875998`*^9, 3.7723605440122347`*^9}, { + 3.772364327412218*^9, 3.772364391371952*^9}}, CellLabel-> - "In[276]:=",ExpressionUUID->"cdb0dbd5-e787-49a0-bb76-c4468b401cbc"], + "In[296]:=",ExpressionUUID->"cdb0dbd5-e787-49a0-bb76-c4468b401cbc"], Cell[BoxData[ RowBox[{ RowBox[{"Run", "[", "\"\\"", "]"}], ";"}]], "Input", CellChangeTimes->{{3.605001578968874*^9, 3.605001586300552*^9}}, CellLabel-> - "In[279]:=",ExpressionUUID->"41b82835-d8e1-446a-bec9-5cabfad38221"], + "In[309]:=",ExpressionUUID->"41b82835-d8e1-446a-bec9-5cabfad38221"], Cell[BoxData[{ RowBox[{ @@ -1502,14 +1663,74 @@ Cell[BoxData[{ RowBox[{ RowBox[{"MyStringWrite", "[", RowBox[{ - RowBox[{"ToGoodC", "[", "JErrSet1", "]"}], ",", - "\"\\""}], "]"}], + RowBox[{"ToGoodC", "[", "JErrAirDensity", "]"}], ",", + "\"\\""}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{ + RowBox[{"ToGoodC", "[", "JErrFThrust", "]"}], ",", + "\"\\""}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{ + RowBox[{"ToGoodC", "[", "JErrFDrag", "]"}], ",", + "\"\\""}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{ + RowBox[{"ToGoodC", "[", "JErrFLat", "]"}], ",", + "\"\\""}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{ + RowBox[{"ToGoodC", "[", "JErrFLift", "]"}], ",", + "\"\\""}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{ + RowBox[{"ToGoodC", "[", "JErrMRoll", "]"}], ",", + "\"\\""}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{ + RowBox[{"ToGoodC", "[", "JErrMPitch", "]"}], ",", + "\"\\""}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{ + RowBox[{"ToGoodC", "[", "JErrMYaw", "]"}], ",", + "\"\\""}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{ + RowBox[{"ToGoodC", "[", "JErrCBar", "]"}], ",", + "\"\\""}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{ + RowBox[{"ToGoodC", "[", "JErrCp", "]"}], ",", + "\"\\""}], "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"MyStringWrite", "[", + RowBox[{ + RowBox[{"ToGoodC", "[", "JErrIbd", "]"}], ",", + "\"\\""}], "]"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"MyStringWrite", "[", RowBox[{ - RowBox[{"ToGoodC", "[", "JErrSet2", "]"}], ",", - "\"\\""}], "]"}], + RowBox[{"ToGoodC", "[", "JErrIbod", "]"}], ",", + "\"\\""}], "]"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ @@ -1570,9 +1791,9 @@ Cell[BoxData[{ 3.632636908066628*^9, 3.632636924909555*^9}, {3.633235060777438*^9, 3.6332350814039917`*^9}, {3.634287350134149*^9, 3.63428738680274*^9}, { 3.6342984069072943`*^9, 3.634298419729596*^9}, {3.63429849221801*^9, - 3.6342985327140083`*^9}}, + 3.6342985327140083`*^9}, {3.772364411990938*^9, 3.7723645797179956`*^9}}, CellLabel-> - "In[280]:=",ExpressionUUID->"cbb713d0-b847-42c0-9c5d-8772380d8dba"], + "In[310]:=",ExpressionUUID->"cbb713d0-b847-42c0-9c5d-8772380d8dba"], Cell[BoxData[{ RowBox[{ @@ -1622,13 +1843,71 @@ PlaneDynamicModel_JErrAlpha.mthout J 0 0\>\"", "]"}], RowBox[{ "Run", "[", "\"\\"", "]"}], +PlaneDynamicModel_JErrAirDensity.mthout J 0 0\>\"", "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ "Run", "[", "\"\\"", "]"}], +PlaneDynamicModel_JErrIbod.mthout J 0 0\>\"", "]"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ @@ -1662,21 +1941,22 @@ MF 1 0\>\"", "]"}], ";"}], "\[IndentingNewLine]", PlaneDynamicModel_aalphadebug.mthout AALPHA 1 0\>\"", "]"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]"}], "Input", CellChangeTimes->CompressedData[" -1:eJwdzV9Ik1EcxvEpGmoDV9aiPzDFcrVV4CqaXgSnUuylQt5uMhPXNChySQvB -QJqFbZmR6DtLIowgt2k1wQaKSTm90JWa6UusYnttDYlzTHAuvXBtnd+5ePjc -Pd8cYy1/OVkmk+2jA7t+8d+szzFaannL1DWmJEA73iyzUa+M/tsN6jtCalBM -+DjwonWK+WUtLMxRlbfldnDCkGhWv6A/y6EHYKQpuRUcmEtnFo535qa+pr2s -deZjyXVz3Y3RWEFOHfiobENBUh9GF+75CsFFJ18Fnhz7zFRsG4mBVkFkRj36 -Y8X9GO3o7mA+DJfEhVmMTJZ6puadIsVODXiUTPdVqWhnECOvcZ45ONXjADWc -xQnuyfbPgE9Pi7NgTa5VE1zBaPqIjZmmit6Yp/oFnRlcDS+RBer9s/o/oFJZ -GdRFMWqqq5BAXvSoD1FLnyxowGitnMRWMTr/0cTMeNkSAQ0W7i84nFde9juJ -oFJtWgW4SFz7D6cSlHn9A9MrDn8CJzr5STDSPfkT7O3KDoGu7Vt2qTYS1J+5 -lWmXbA7QHKhxgg5vazonJyj/RDvTdPfcCFj0tdwLHjxzavmagqD6aY5ZnZcf -A2f2vomDB0Ydlc1U96sMA1hSXNUDNjT0MoNaX6OHumIW7oBGbajNv4mg98fX -2kFR1XfpexZBz+KBanDox61xiTrYdtQH/geUpFxa +1:eJwdzV9IU2EcxvEpGmoDV9aiDKZYLs4qcP2bXgRvpdihQk43mYlrGhS5pIVg +MJyFbZmR6JklEUaQ29ScYAPFpJxCulIzPcQqtmNrmJyzDOfSC9fW+3svHj53 +zzdbV8NcSZRIJBQe2PmT+Wp+LqDl5tdEdUNSHLQKWyUW7NWxf3tATXtACXJx +Dw1eMk8TP68H2XmsvF5qBSe18SblC/yzEngAhhsTW8DB+VRiwURHTvIr3MvY +ID7mHbc2nAIaz8+uBR+VbspP6BfQxXueAjBkZyrBU+OfiLIdo1HQzHLEiEtz +vGhAQLu62okPg8Uxdk5AelMdkXojS7JifS450XmNL8z0C8itWyAOTXfbQIo2 +2cG9Wd5Z8OkZbg6szjFT/lUBzRyxEFMUkZsLWC+rNoBrwWVxEXv/nOY3KJdX ++NURATXWlvMgw7mUh7AlTxYpMFIjFaNrArrwQU9Me9kcBrUm+i84kltWupQg +ohJVSjkYEh37DyeLKP3GO6KbG/kITnYwU2C4a+oH2NOZFQAdO7ftVmwW0UD6 +dqKVt9hAg6/aDtrcLam0VER5J9uI+rvnR8HCL2Vu8ODZ0yvXZSKqm6GJVbl5 +UXB2X18MPDBmq2jCOnvTtGBxUWU3aDT2EP0qT4MLu2pg74A6VaDVu0VEb0+s +t4Gcov/ytwwRPYv5qsDh77cneOxQ6zEPWP/n/a+jmSFk7FsKg/8Bru9ldA== + "], CellLabel-> - "In[294]:=",ExpressionUUID->"1a2cbc4e-fbe6-4f7c-8741-b70e886cb2db"], + "In[334]:=",ExpressionUUID->"1a2cbc4e-fbe6-4f7c-8741-b70e886cb2db"], Cell[CellGroupData[{ @@ -1688,7 +1968,7 @@ Cell[BoxData[ 3.605001619532137*^9, 3.6050016309343433`*^9}, {3.626084473225601*^9, 3.626084492513814*^9}, {3.6260847134763527`*^9, 3.6260847142374268`*^9}}, CellLabel-> - "In[309]:=",ExpressionUUID->"92a89388-7fc0-4900-84db-870a39602d88"], + "In[359]:=",ExpressionUUID->"92a89388-7fc0-4900-84db-870a39602d88"], Cell[BoxData["0"], "Output", CellChangeTimes->{ @@ -1714,9 +1994,10 @@ Cell[BoxData["0"], "Output", 3.634303008624929*^9, 3.6343039186453753`*^9, 3.634452382385035*^9, 3.634452775895094*^9, 3.634980290608531*^9, 3.634980867087916*^9, { 3.634982332576049*^9, 3.6349823386672897`*^9}, 3.771327259597065*^9, - 3.771569957428474*^9}, + 3.771569957428474*^9, 3.7723647052058573`*^9, 3.7724326260823793`*^9, + 3.772432982619478*^9}, CellLabel-> - "Out[309]=",ExpressionUUID->"c52a2155-311e-43ad-bf89-1e085fc0fb03"] + "Out[359]=",ExpressionUUID->"37052ee2-e74e-4e22-9c7a-bbeada570cb9"] }, Open ]], Cell[BoxData[{ @@ -1726,12 +2007,12 @@ Cell[BoxData[{ RowBox[{ RowBox[{"Run", "[", "\"\\"", "]"}], ";"}]}], "Input", CellLabel-> - "In[310]:=",ExpressionUUID->"aaff244c-3ad5-4faf-aeb3-7cdbaa9f50f5"], + "In[360]:=",ExpressionUUID->"aaff244c-3ad5-4faf-aeb3-7cdbaa9f50f5"], Cell[BoxData[" "], "Input", CellChangeTimes->{3.627992683770735*^9}, CellLabel-> - "In[312]:=",ExpressionUUID->"8714cb77-63af-49bd-8987-722049f040d7"] + "In[362]:=",ExpressionUUID->"8714cb77-63af-49bd-8987-722049f040d7"] }, CellGrouping->Manual, WindowSize->{1920, 1090}, @@ -1775,53 +2056,53 @@ Cell[11907, 362, 156, 3, 32, "Subsubtitle",ExpressionUUID->"934e8056-77ed-401a-a Cell[12066, 367, 422, 11, 31, "Input",ExpressionUUID->"89e76b07-ca4f-4879-a9de-3406cd562327"], Cell[12491, 380, 1436, 39, 147, "Input",ExpressionUUID->"0f88cdc1-a39e-4d13-b528-8472e029b05f"], Cell[13930, 421, 159, 3, 32, "Subsubtitle",ExpressionUUID->"a1d3915d-f613-4425-8a04-fe27c5187298"], -Cell[14092, 426, 8104, 208, 1067, "Input",ExpressionUUID->"33f47236-ad3c-4a61-8f93-8222aa6cc9fa"], -Cell[22199, 636, 1500, 38, 101, "Input",ExpressionUUID->"53a40cfc-f0e8-4e44-9f25-b052baa99c29"], -Cell[23702, 676, 442, 13, 31, "Input",ExpressionUUID->"be98cbcc-62a9-4b36-a592-7c1827bbba19"], -Cell[24147, 691, 1695, 49, 170, "Input",ExpressionUUID->"3db40cdd-aae8-4aed-bbcf-7b6c917acc34"], -Cell[25845, 742, 287, 5, 32, "Subsubtitle",ExpressionUUID->"3a22e419-d65c-4c9e-84c6-863e409e519a"], -Cell[26135, 749, 324, 6, 36, "Text",ExpressionUUID->"58ebbe4e-85bd-47cd-b927-8039f9c2d955"], -Cell[26462, 757, 493, 14, 31, "Input",ExpressionUUID->"e4cd07b0-b7a6-476f-a82d-1ad870ed93c3"], -Cell[26958, 773, 208, 4, 36, "Text",ExpressionUUID->"9ac0d911-0e84-4579-bcb9-2110f48ca902"], -Cell[27169, 779, 1582, 41, 55, "Input",ExpressionUUID->"9f81cfa6-a749-4450-bfb3-736066b50bce"], -Cell[28754, 822, 154, 3, 36, "Text",ExpressionUUID->"656d798c-a5c9-4cc6-a1dd-06c8dc6c6565"], -Cell[28911, 827, 1502, 41, 124, "Input",ExpressionUUID->"29b01d2f-83ef-4d5a-8a25-69d70c2e9207"], -Cell[30416, 870, 157, 3, 36, "Text",ExpressionUUID->"7aa4501a-e764-4f85-8410-73dc94387049"], -Cell[30576, 875, 894, 21, 31, "Input",ExpressionUUID->"dbea6cef-0336-433e-92e3-cc59b4a69219"], -Cell[31473, 898, 152, 3, 36, "Text",ExpressionUUID->"15e73123-e84e-4360-b55b-334ef918a821"], -Cell[31628, 903, 1939, 48, 101, "Input",ExpressionUUID->"176642b9-ef21-428e-bda6-88b3064f0fe2"], -Cell[33570, 953, 152, 3, 36, "Text",ExpressionUUID->"ac9144ba-14f4-4cb2-9d7c-1b84aa717d7b"], -Cell[33725, 958, 667, 16, 55, "Input",ExpressionUUID->"f4931c36-9cb3-41d5-9636-f3fbcef428c9"], -Cell[34395, 976, 154, 3, 36, "Text",ExpressionUUID->"57ce017d-559b-4d58-ba18-1e7631c436d9"], -Cell[34552, 981, 361, 9, 55, "Input",ExpressionUUID->"63203ee0-9601-47b1-9606-b67b10ce9a46"], -Cell[34916, 992, 156, 3, 36, "Text",ExpressionUUID->"4432b235-bb2b-4e9d-87f8-55bf93c648df"], -Cell[35075, 997, 497, 12, 55, "Input",ExpressionUUID->"c73ee33c-6f07-4ea9-82e2-0f37fad73c8e"], -Cell[35575, 1011, 153, 3, 36, "Text",ExpressionUUID->"3b78e61b-a31c-43c6-949c-8ab46a558347"], -Cell[35731, 1016, 1424, 38, 101, "Input",ExpressionUUID->"7be4a0a1-b2c0-4d7b-b564-9f92dabf375f"], -Cell[37158, 1056, 154, 3, 36, "Text",ExpressionUUID->"78b600c8-17c9-43b2-8561-39fdff7b92e4"], -Cell[37315, 1061, 936, 24, 78, "Input",ExpressionUUID->"4ce3e11d-b2d8-42df-94f3-f44671feb140"], -Cell[38254, 1087, 154, 3, 36, "Text",ExpressionUUID->"c302290e-b2df-4299-8d3e-f59d1fc850b6"], -Cell[38411, 1092, 625, 14, 55, "Input",ExpressionUUID->"1a28b43d-e9a2-4ebf-8251-f3ab2ddb7786"], -Cell[39039, 1108, 159, 3, 36, "Text",ExpressionUUID->"4ba37bc9-3ca4-4415-be72-e388f0dad47a"], -Cell[39201, 1113, 2062, 49, 55, "Input",ExpressionUUID->"fe419f0a-adf5-43af-9f08-7b8a7f19180b"], -Cell[41266, 1164, 1854, 43, 170, "Input",ExpressionUUID->"ff5f7d73-add6-4e24-9e55-7b15786660c6"], -Cell[43123, 1209, 2067, 54, 78, "Input",ExpressionUUID->"d17df8c1-9260-4a0c-8495-b5ef6f820848"], -Cell[45193, 1265, 509, 14, 31, "Input",ExpressionUUID->"8c91f72d-3f47-4547-a792-5e0813bcc352"], -Cell[45705, 1281, 204, 3, 32, "Subsubtitle",ExpressionUUID->"b92b1bb0-abe4-4170-8cfc-1e9dd8bc5679"], -Cell[45912, 1286, 956, 25, 101, "Input",ExpressionUUID->"dea35a84-3a0f-4600-a2f4-2ab045608d87"], -Cell[46871, 1313, 154, 3, 32, "Subsubtitle",ExpressionUUID->"bf1afef8-2e19-4e8e-9c26-8b9e596cd10c"], -Cell[47028, 1318, 206, 5, 31, "Input",ExpressionUUID->"c2f98c75-5faf-44c8-a958-147c2a660678"], -Cell[47237, 1325, 3709, 87, 193, "Input",ExpressionUUID->"716ee195-4767-4067-92df-43ed8da3bd15"], -Cell[50949, 1414, 982, 29, 78, "Input",ExpressionUUID->"cdb0dbd5-e787-49a0-bb76-c4468b401cbc"], -Cell[51934, 1445, 243, 5, 31, "Input",ExpressionUUID->"41b82835-d8e1-446a-bec9-5cabfad38221"], -Cell[52180, 1452, 5157, 122, 377, "Input",ExpressionUUID->"cbb713d0-b847-42c0-9c5d-8772380d8dba"], -Cell[57340, 1576, 3505, 102, 446, "Input",ExpressionUUID->"1a2cbc4e-fbe6-4f7c-8741-b70e886cb2db"], +Cell[14092, 426, 8508, 218, 1136, "Input",ExpressionUUID->"33f47236-ad3c-4a61-8f93-8222aa6cc9fa"], +Cell[22603, 646, 4394, 128, 469, "Input",ExpressionUUID->"53a40cfc-f0e8-4e44-9f25-b052baa99c29"], +Cell[27000, 776, 442, 13, 31, "Input",ExpressionUUID->"be98cbcc-62a9-4b36-a592-7c1827bbba19"], +Cell[27445, 791, 1695, 49, 170, "Input",ExpressionUUID->"3db40cdd-aae8-4aed-bbcf-7b6c917acc34"], +Cell[29143, 842, 287, 5, 32, "Subsubtitle",ExpressionUUID->"3a22e419-d65c-4c9e-84c6-863e409e519a"], +Cell[29433, 849, 324, 6, 36, "Text",ExpressionUUID->"58ebbe4e-85bd-47cd-b927-8039f9c2d955"], +Cell[29760, 857, 493, 14, 31, "Input",ExpressionUUID->"e4cd07b0-b7a6-476f-a82d-1ad870ed93c3"], +Cell[30256, 873, 208, 4, 36, "Text",ExpressionUUID->"9ac0d911-0e84-4579-bcb9-2110f48ca902"], +Cell[30467, 879, 1582, 41, 55, "Input",ExpressionUUID->"9f81cfa6-a749-4450-bfb3-736066b50bce"], +Cell[32052, 922, 154, 3, 36, "Text",ExpressionUUID->"656d798c-a5c9-4cc6-a1dd-06c8dc6c6565"], +Cell[32209, 927, 1502, 41, 124, "Input",ExpressionUUID->"29b01d2f-83ef-4d5a-8a25-69d70c2e9207"], +Cell[33714, 970, 157, 3, 36, "Text",ExpressionUUID->"7aa4501a-e764-4f85-8410-73dc94387049"], +Cell[33874, 975, 894, 21, 31, "Input",ExpressionUUID->"dbea6cef-0336-433e-92e3-cc59b4a69219"], +Cell[34771, 998, 178, 3, 36, "Text",ExpressionUUID->"15e73123-e84e-4360-b55b-334ef918a821"], +Cell[34952, 1003, 1939, 48, 101, "Input",ExpressionUUID->"176642b9-ef21-428e-bda6-88b3064f0fe2"], +Cell[36894, 1053, 152, 3, 36, "Text",ExpressionUUID->"ac9144ba-14f4-4cb2-9d7c-1b84aa717d7b"], +Cell[37049, 1058, 667, 16, 55, "Input",ExpressionUUID->"f4931c36-9cb3-41d5-9636-f3fbcef428c9"], +Cell[37719, 1076, 154, 3, 36, "Text",ExpressionUUID->"57ce017d-559b-4d58-ba18-1e7631c436d9"], +Cell[37876, 1081, 361, 9, 55, "Input",ExpressionUUID->"63203ee0-9601-47b1-9606-b67b10ce9a46"], +Cell[38240, 1092, 156, 3, 36, "Text",ExpressionUUID->"4432b235-bb2b-4e9d-87f8-55bf93c648df"], +Cell[38399, 1097, 497, 12, 55, "Input",ExpressionUUID->"c73ee33c-6f07-4ea9-82e2-0f37fad73c8e"], +Cell[38899, 1111, 153, 3, 36, "Text",ExpressionUUID->"3b78e61b-a31c-43c6-949c-8ab46a558347"], +Cell[39055, 1116, 1424, 38, 101, "Input",ExpressionUUID->"7be4a0a1-b2c0-4d7b-b564-9f92dabf375f"], +Cell[40482, 1156, 154, 3, 36, "Text",ExpressionUUID->"78b600c8-17c9-43b2-8561-39fdff7b92e4"], +Cell[40639, 1161, 936, 24, 78, "Input",ExpressionUUID->"4ce3e11d-b2d8-42df-94f3-f44671feb140"], +Cell[41578, 1187, 154, 3, 36, "Text",ExpressionUUID->"c302290e-b2df-4299-8d3e-f59d1fc850b6"], +Cell[41735, 1192, 625, 14, 55, "Input",ExpressionUUID->"1a28b43d-e9a2-4ebf-8251-f3ab2ddb7786"], +Cell[42363, 1208, 159, 3, 36, "Text",ExpressionUUID->"4ba37bc9-3ca4-4415-be72-e388f0dad47a"], +Cell[42525, 1213, 2062, 49, 55, "Input",ExpressionUUID->"fe419f0a-adf5-43af-9f08-7b8a7f19180b"], +Cell[44590, 1264, 1000, 17, 78, "Input",ExpressionUUID->"ff5f7d73-add6-4e24-9e55-7b15786660c6"], +Cell[45593, 1283, 2067, 54, 78, "Input",ExpressionUUID->"d17df8c1-9260-4a0c-8495-b5ef6f820848"], +Cell[47663, 1339, 509, 14, 31, "Input",ExpressionUUID->"8c91f72d-3f47-4547-a792-5e0813bcc352"], +Cell[48175, 1355, 204, 3, 32, "Subsubtitle",ExpressionUUID->"b92b1bb0-abe4-4170-8cfc-1e9dd8bc5679"], +Cell[48382, 1360, 956, 25, 101, "Input",ExpressionUUID->"dea35a84-3a0f-4600-a2f4-2ab045608d87"], +Cell[49341, 1387, 154, 3, 32, "Subsubtitle",ExpressionUUID->"bf1afef8-2e19-4e8e-9c26-8b9e596cd10c"], +Cell[49498, 1392, 206, 5, 31, "Input",ExpressionUUID->"c2f98c75-5faf-44c8-a958-147c2a660678"], +Cell[49707, 1399, 3709, 87, 193, "Input",ExpressionUUID->"716ee195-4767-4067-92df-43ed8da3bd15"], +Cell[53419, 1488, 3725, 116, 423, "Input",ExpressionUUID->"cdb0dbd5-e787-49a0-bb76-c4468b401cbc"], +Cell[57147, 1606, 243, 5, 31, "Input",ExpressionUUID->"41b82835-d8e1-446a-bec9-5cabfad38221"], +Cell[57393, 1613, 7227, 182, 607, "Input",ExpressionUUID->"cbb713d0-b847-42c0-9c5d-8772380d8dba"], +Cell[64623, 1797, 5231, 161, 676, "Input",ExpressionUUID->"1a2cbc4e-fbe6-4f7c-8741-b70e886cb2db"], Cell[CellGroupData[{ -Cell[60870, 1682, 427, 8, 31, "Input",ExpressionUUID->"92a89388-7fc0-4900-84db-870a39602d88"], -Cell[61300, 1692, 1732, 26, 35, "Output",ExpressionUUID->"c52a2155-311e-43ad-bf89-1e085fc0fb03"] +Cell[69879, 1962, 427, 8, 31, "Input",ExpressionUUID->"92a89388-7fc0-4900-84db-870a39602d88"], +Cell[70309, 1972, 1806, 27, 35, "Output",ExpressionUUID->"37052ee2-e74e-4e22-9c7a-bbeada570cb9"] }, Open ]], -Cell[63047, 1721, 275, 7, 55, "Input",ExpressionUUID->"aaff244c-3ad5-4faf-aeb3-7cdbaa9f50f5"], -Cell[63325, 1730, 152, 3, 64, "Input",ExpressionUUID->"8714cb77-63af-49bd-8987-722049f040d7"] +Cell[72130, 2002, 275, 7, 55, "Input",ExpressionUUID->"aaff244c-3ad5-4faf-aeb3-7cdbaa9f50f5"], +Cell[72408, 2011, 152, 3, 31, "Input",ExpressionUUID->"8714cb77-63af-49bd-8987-722049f040d7"] } ] *) diff --git a/_development/Mathematica/models/PlaneDynamicModel_aalphadebug.m b/_development/Mathematica/models/PlaneDynamicModel_aalphadebug.m deleted file mode 100644 index c9c1eb0..0000000 --- a/_development/Mathematica/models/PlaneDynamicModel_aalphadebug.m +++ /dev/null @@ -1,120 +0,0 @@ -tmp0 = x(4); -tmp1 = x(5); -tmp2 = wind(3); -tmp3 = x(6); -tmp4 = wind(1); -tmp5 = x(7); -tmp6 = wind(2); -tmp7 = -(tmp0*tmp3); -tmp8 = tmp1*tmp5; -tmp9 = tmp7 + tmp8; -tmp10 = (tmp0)^(2); -tmp11 = (tmp1)^(2); -tmp12 = (tmp3)^(2); -tmp13 = (tmp5)^(2); -tmp14 = -tmp12; -tmp15 = x(10); -tmp16 = x(8); -tmp17 = tmp1*tmp3; -tmp18 = tmp0*tmp5; -tmp19 = tmp17 + tmp18; -tmp20 = -2*tmp6*tmp19; -tmp21 = -2*tmp2*tmp9; -tmp22 = -tmp13; -tmp23 = tmp10 + tmp11 + tmp14 + tmp22; -tmp24 = -(tmp4*tmp23); -tmp25 = tmp20 + tmp21 + tmp24 + tmp16; -tmp26 = (tmp25)^(2); -tmp27 = tmp0*tmp3; -tmp28 = tmp27 + tmp8; -tmp29 = -2*tmp4*tmp28; -tmp30 = -(tmp0*tmp1); -tmp31 = tmp3*tmp5; -tmp32 = tmp30 + tmp31; -tmp33 = -2*tmp6*tmp32; -tmp34 = -tmp11; -tmp35 = tmp10 + tmp34 + tmp14 + tmp13; -tmp36 = -(tmp2*tmp35); -tmp37 = tmp29 + tmp33 + tmp36 + tmp15; -tmp38 = (tmp37)^(2); -tmp39 = tmp26 + tmp38; -tmp40 = 1/sqrt(tmp39); -tmp41 = x(9); -tmp42 = -(tmp4*tmp10); -tmp43 = -(tmp4*tmp11); -tmp44 = 2*tmp2*tmp0*tmp3; -tmp45 = -2*tmp6*tmp1*tmp3; -tmp46 = tmp4*tmp12; -tmp47 = -2*tmp6*tmp0*tmp5; -tmp48 = -2*tmp2*tmp1*tmp5; -tmp49 = tmp4*tmp13; -tmp50 = tmp42 + tmp43 + tmp44 + tmp45 + tmp46 + tmp47 + tmp48 + tmp49 + tmp16; -tmp51 = -(tmp0*tmp5); -tmp52 = tmp17 + tmp51; -tmp53 = -2*tmp4*tmp52; -tmp54 = tmp0*tmp1; -tmp55 = tmp54 + tmp31; -tmp56 = -2*tmp2*tmp55; -tmp57 = tmp10 + tmp34 + tmp12 + tmp22; -tmp58 = -(tmp6*tmp57); -tmp59 = tmp53 + tmp56 + tmp58 + tmp41; -tmp60 = (tmp59)^(2); -tmp61 = tmp26 + tmp60 + tmp38; -tmp62 = gravity(1); -tmp63 = set2(26); -tmp64 = 1/tmp63; -tmp65 = f(1); -tmp66 = 1/sqrt(tmp61); -tmp67 = f(2); -tmp68 = 1/tmp61; -tmp69 = -(tmp60*tmp68); -tmp70 = 1 + tmp69; -tmp71 = sqrt(tmp70); -tmp72 = x(13); -tmp73 = f(3); -tmp74 = tmp6*tmp10; -tmp75 = 2*tmp2*tmp0*tmp1; -tmp76 = -(tmp6*tmp11); -tmp77 = 2*tmp4*tmp1*tmp3; -tmp78 = tmp6*tmp12; -tmp79 = -2*tmp4*tmp0*tmp5; -tmp80 = 2*tmp2*tmp3*tmp5; -tmp81 = -(tmp6*tmp13); -tmp82 = -tmp41; -tmp83 = tmp74 + tmp75 + tmp76 + tmp77 + tmp78 + tmp79 + tmp80 + tmp81 + tmp82; -tmp84 = -(tmp2*tmp10); -tmp85 = 2*tmp6*tmp0*tmp1; -tmp86 = tmp2*tmp11; -tmp87 = -2*tmp4*tmp0*tmp3; -tmp88 = tmp2*tmp12; -tmp89 = -2*tmp4*tmp1*tmp5; -tmp90 = -2*tmp6*tmp3*tmp5; -tmp91 = -(tmp2*tmp13); -tmp92 = tmp84 + tmp85 + tmp86 + tmp87 + tmp88 + tmp89 + tmp90 + tmp91 + tmp15; -tmp93 = x(11); -tmp94 = x(12); -tmp95 = set2(28); -tmp96 = set2(29); -tmp97 = set2(30); -tmp98 = set2(27); -tmp99 = tmp98*tmp95*tmp96; -tmp100 = (tmp97)^(2); -tmp101 = -(tmp95*tmp100); -tmp102 = tmp99 + tmp101; -tmp103 = 1/tmp102; -tmp104 = mm(1); -tmp105 = -(tmp97*tmp93*tmp94); -tmp106 = tmp95*tmp94*tmp72; -tmp107 = -(tmp96*tmp94*tmp72); -tmp108 = tmp104 + tmp105 + tmp106 + tmp107; -tmp109 = mm(3); -tmp110 = tmp98*tmp93*tmp94; -tmp111 = -(tmp95*tmp93*tmp94); -tmp112 = tmp97*tmp94*tmp72; -tmp113 = tmp109 + tmp110 + tmp111 + tmp112; -AALPHA(1) = -2*tmp62*tmp9 + tmp64*(f(4) + tmp73*(tmp2*tmp10 - 2*tmp6*tmp0*tmp1 - tmp2*tmp11 + 2*tmp4*tmp0*tmp3 - tmp2*tmp12 + 2*tmp4*tmp1*tmp5 + 2*tmp6*tmp3*tmp5 + tmp2*tmp13 - tmp15)*tmp40 + tmp67*tmp50*tmp83*tmp40*tmp66 + tmp65*tmp50*tmp40*tmp71) - tmp15*tmp94 + tmp41*tmp72; -AALPHA(2) = -2*tmp62*tmp55 + tmp64*(tmp65*(-(tmp6*tmp10) - 2*tmp2*tmp0*tmp1 + tmp6*tmp11 - 2*tmp4*tmp1*tmp3 - tmp6*tmp12 + 2*tmp4*tmp0*tmp5 - 2*tmp2*tmp3*tmp5 + tmp6*tmp13 + tmp41)*tmp66 + tmp67*tmp71) + tmp15*tmp93 - tmp16*tmp72; -AALPHA(3) = -(tmp62*tmp35) + tmp64*(tmp73*tmp50*tmp40 + tmp67*tmp83*tmp92*tmp40*tmp66 + tmp65*tmp92*tmp40*tmp71) - tmp41*tmp93 + tmp16*tmp94; -AALPHA(4) = tmp95*tmp96*tmp103*tmp108 - tmp95*tmp97*tmp103*tmp113; -AALPHA(5) = (tmp98*tmp96 - tmp100)*tmp103*(mm(2) + tmp97*(tmp93)^(2) - tmp98*tmp93*tmp72 + tmp96*tmp93*tmp72 - tmp97*(tmp72)^(2)); -AALPHA(6) = -(tmp95*tmp97*tmp103*tmp108) + tmp98*tmp95*tmp103*tmp113; diff --git a/_development/Mathematica/models/PlaneDynamicModel_debug.m b/_development/Mathematica/models/PlaneDynamicModel_debug.m deleted file mode 100644 index e25e0f2..0000000 --- a/_development/Mathematica/models/PlaneDynamicModel_debug.m +++ /dev/null @@ -1,78 +0,0 @@ -tmp0 = x(4); -tmp1 = x(6); -tmp2 = x(5); -tmp3 = x(7); -tmp4 = wind(1); -tmp5 = tmp2*tmp3; -tmp6 = wind(2); -tmp7 = wind(3); -tmp8 = (tmp0)^(2); -tmp9 = (tmp2)^(2); -tmp10 = (tmp1)^(2); -tmp11 = -tmp10; -tmp12 = (tmp3)^(2); -tmp13 = tmp2*tmp1; -tmp14 = tmp0*tmp3; -tmp15 = tmp13 + tmp14; -tmp16 = -2*tmp6*tmp15; -tmp17 = -(tmp0*tmp1); -tmp18 = tmp17 + tmp5; -tmp19 = -2*tmp7*tmp18; -tmp20 = -tmp12; -tmp21 = tmp8 + tmp9 + tmp11 + tmp20; -tmp22 = -(tmp4*tmp21); -tmp23 = x(8); -tmp24 = tmp16 + tmp19 + tmp22 + tmp23; -tmp25 = tmp0*tmp1; -tmp26 = tmp25 + tmp5; -tmp27 = -2*tmp4*tmp26; -tmp28 = -(tmp0*tmp2); -tmp29 = tmp1*tmp3; -tmp30 = tmp28 + tmp29; -tmp31 = -2*tmp6*tmp30; -tmp32 = -tmp9; -tmp33 = tmp8 + tmp32 + tmp11 + tmp12; -tmp34 = -(tmp7*tmp33); -tmp35 = x(10); -tmp36 = tmp27 + tmp31 + tmp34 + tmp35; -tmp37 = atan2(tmp36,tmp24); -tmp38 = -(tmp0*tmp3); -tmp39 = tmp13 + tmp38; -tmp40 = -2*tmp4*tmp39; -tmp41 = tmp0*tmp2; -tmp42 = tmp41 + tmp29; -tmp43 = -2*tmp7*tmp42; -tmp44 = tmp8 + tmp32 + tmp10 + tmp20; -tmp45 = -(tmp6*tmp44); -tmp46 = x(9); -tmp47 = tmp40 + tmp43 + tmp45 + tmp46; -tmp48 = set1(2); -tmp49 = 1/tmp48; -tmp50 = (tmp24)^(2); -tmp51 = (tmp47)^(2); -tmp52 = (tmp36)^(2); -tmp53 = tmp50 + tmp51 + tmp52; -tmp54 = 1/sqrt(tmp53); -tmp55 = tmp47*tmp54; -tmp56 = asin(tmp55); -tmp57 = set1(3); -tmp58 = set2(24); -tmp59 = set1(1); -tmp60 = x(3); -tmp61 = tmp59 + tmp60; -tmp62 = -0.006500000000000001*tmp49*tmp61; -tmp63 = 1 + tmp62; -tmp64 = (tmp63)^(4.2561); -tmp65 = set2(23); -tmp66 = (tmp65)^(2); -tmp67 = z(1); -tmp68 = set2(25); -tmp69 = set2(22); -tmp70 = x(13); -MF(1) = 0.0017418568193694477*tmp49*tmp57*(set2(4) + tmp37*set2(5) + (tmp37)^(2)*set2(6) + (tmp56)^(2)*set2(7))*tmp58*tmp64*tmp53; -MF(2) = 0.0017418568193694477*tmp56*tmp49*tmp57*set2(8)*tmp58*tmp64*tmp53; -MF(3) = 0.0017418568193694477*tmp49*tmp57*(set2(9) + tmp37*set2(10))*tmp58*tmp64*tmp53; -MF(4) = 0.0034837136387388954*tmp49*tmp57*tmp66*tmp64*((set2(3)*tmp53)/(M_PI)^(2) + (set2(2)*tmp65*sqrt(tmp53)*tmp67)/M_PI + set2(1)*tmp66*(tmp67)^(2)); -MF(5) = 0.0017418568193694477*tmp49*tmp57*tmp58*tmp68*tmp64*tmp53*(tmp56*set2(12) + (set2(13)*tmp68*tmp54*x(11))/2. + (set2(14)*tmp68*tmp54*tmp70)/2. + set2(11)*z(2)); -MF(6) = 0.0017418568193694477*tmp49*tmp57*tmp69*tmp58*tmp64*tmp53*(set2(15) + tmp37*set2(18) + (set2(17)*tmp69*tmp54*x(12))/2. + set2(16)*z(3)); -MF(7) = 0.0017418568193694477*tmp49*tmp57*tmp58*tmp68*tmp64*tmp53*(tmp56*set2(21) + (set2(20)*tmp68*tmp54*tmp70)/2. + set2(19)*z(4)); diff --git a/roamfree/ROAMestimation/CMakeLists.txt b/roamfree/ROAMestimation/CMakeLists.txt index b98cca1..28e6c6f 100644 --- a/roamfree/ROAMestimation/CMakeLists.txt +++ b/roamfree/ROAMestimation/CMakeLists.txt @@ -24,6 +24,7 @@ install(DIRECTORY include/ROAMestimation else() # Non-catkin installation # Install libraries + install(TARGETS ROAMestimation ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib diff --git a/roamfree/ROAMestimation/include/ROAMestimation/Enums.h b/roamfree/ROAMestimation/include/ROAMestimation/Enums.h index 90edf14..b826337 100644 --- a/roamfree/ROAMestimation/include/ROAMestimation/Enums.h +++ b/roamfree/ROAMestimation/include/ROAMestimation/Enums.h @@ -56,6 +56,7 @@ enum ParameterTypes { Euclidean1D, Euclidean2D, Euclidean3D, + Euclidean4D, Quaternion, Matrix3D, SE3, @@ -66,6 +67,7 @@ enum PriorEdgeTypes { Euclidean1DPrior, Euclidean2DPrior, Euclidean3DPrior, + Euclidean4DPrior, QuaternionPrior, SE3Prior, FHPPriorOnHomogeneousPoint diff --git a/roamfree/ROAMestimation/include/ROAMestimation/PriorEdges/AllPriors.h b/roamfree/ROAMestimation/include/ROAMestimation/PriorEdges/AllPriors.h index c03ce29..4fbf3b1 100644 --- a/roamfree/ROAMestimation/include/ROAMestimation/PriorEdges/AllPriors.h +++ b/roamfree/ROAMestimation/include/ROAMestimation/PriorEdges/AllPriors.h @@ -23,6 +23,7 @@ which accompanies this distribution, and is available at #include "Eucl2DPriorEdge.h" #include "Eucl3DGaussMarkovProcessEdge.h" #include "Eucl3DPriorEdge.h" +#include "Eucl4DPriorEdge.h" #include "QuaternionPriorEdge.h" #include "SE3PriorEdge.h" #include "Matrix3DPriorEdge.h" diff --git a/roamfree/ROAMestimation/include/ROAMestimation/PriorEdges/Eucl4DPriorEdge.h b/roamfree/ROAMestimation/include/ROAMestimation/PriorEdges/Eucl4DPriorEdge.h new file mode 100644 index 0000000..4bda6f9 --- /dev/null +++ b/roamfree/ROAMestimation/include/ROAMestimation/PriorEdges/Eucl4DPriorEdge.h @@ -0,0 +1,32 @@ + +/* + * Eucl4DPriorEdge.h + * + * Created on: Jul 17, 2019 + * Author: Kenneth J Paul + */ + +#ifndef EUCL4DPRIOREDGE_H_ +#define EUCL4DPRIOREDGE_H_ + +#include "BasePriorEdge.h" +#include "GenericVertex.h" + +namespace ROAMestimation { + +class Eucl4DPriorEdge: public ROAMestimation::BasePriorEdge<4, + GenericVertex > { + +public: + + Eucl4DPriorEdge(); + + void computeError(); + void linearizeOplus(); + + std::string writeDebugInfo() const; + +}; + +} /* namespace ROAMlog */ +#endif /* EUCL4DPRIOREDGE_H_ */ diff --git a/roamfree/ROAMestimation/src/FactorGraphFilterImpl.cpp b/roamfree/ROAMestimation/src/FactorGraphFilterImpl.cpp index 056ddc8..0af251d 100644 --- a/roamfree/ROAMestimation/src/FactorGraphFilterImpl.cpp +++ b/roamfree/ROAMestimation/src/FactorGraphFilterImpl.cpp @@ -397,7 +397,7 @@ ParameterWrapper_Ptr FactorGraphFilter_Impl::addLimitedBandwithParameter( ParameterTypes type, const string& name, const Eigen::VectorXd& x0, bool isFixed, double bandwith, int a) { - if (type != Euclidean3D && type != Euclidean1D && type != Euclidean2D) { + if (type != Euclidean3D && type != Euclidean1D && type != Euclidean2D && type!=Euclidean4D) { cerr << "[FactorGraphFilter] Error: currently, only EuclideanXD limited bandwidth parameters are supported" << endl; @@ -425,7 +425,7 @@ ParameterWrapper_Ptr FactorGraphFilter_Impl::addLinearlyInterpolatedParameter( ParameterTypes type, const std::string& name, const Eigen::VectorXd& x0, bool isFixed, double spacing) { - if (type != Euclidean3D && type != Euclidean1D && type != Euclidean2D) { + if (type != Euclidean3D && type != Euclidean1D && type != Euclidean2D && type!=Euclidean4D) { cerr << "[FactorGraphFilter] Error: currently, only EuclideanXD linearly interpolated parameters are supported" << endl; @@ -526,6 +526,9 @@ MeasurementEdgeWrapper_Ptr FactorGraphFilter_Impl::addPriorOnConstantParameter( case Euclidean3DPrior: priorif = new Eucl3DPriorEdge; break; + case Euclidean4DPrior: + priorif = new Eucl4DPriorEdge; + break; case QuaternionPrior: priorif = new QuaternionPriorEdge; break; diff --git a/roamfree/ROAMestimation/src/ParameterVerticesManager.cpp b/roamfree/ROAMestimation/src/ParameterVerticesManager.cpp index 40bf0e7..4176bd1 100644 --- a/roamfree/ROAMestimation/src/ParameterVerticesManager.cpp +++ b/roamfree/ROAMestimation/src/ParameterVerticesManager.cpp @@ -62,6 +62,13 @@ g2o::OptimizableGraph::Vertex * ParameterVerticesManager::newVertex( gv->setTimestamp(tstamp); } break; + case Euclidean4D: { + GenericVertex *gv = new GenericVertex; + v = gv; + v2 = gv; + gv->setTimestamp(tstamp); + } + break; case Quaternion: { GenericVertex *gv = new GenericVertex; v = gv; diff --git a/roamfree/ROAMestimation/src/PriorEdges/Eucl4DPriorEdge.cpp b/roamfree/ROAMestimation/src/PriorEdges/Eucl4DPriorEdge.cpp new file mode 100644 index 0000000..acc26dc --- /dev/null +++ b/roamfree/ROAMestimation/src/PriorEdges/Eucl4DPriorEdge.cpp @@ -0,0 +1,42 @@ + +/* + * Eucl4DPriorEdge.cpp + * + * Created on: Jul 17, 2019 + * Author: Kenneth J Paul + */ + +#include "PriorEdges/Eucl4DPriorEdge.h" + +namespace ROAMestimation { + +Eucl4DPriorEdge::Eucl4DPriorEdge() { + _measurement.resize(4); + + _jacobianOplusXi = Eigen::Matrix4d::Identity(); +} + +void Eucl4DPriorEdge::computeError() { + const Eigen::VectorXd & x = static_cast *>(_vertices[0])->estimate(); + const Eigen::VectorXd & z = _measurement; + + _error = x - z; +} + +void Eucl4DPriorEdge::linearizeOplus() { + + // do nothing, the jacobian is always the identity function +} + +std::string Eucl4DPriorEdge::writeDebugInfo() const { + std::stringstream s; + + g2o::OptimizableGraph::Vertex *x0 = static_cast(_vertices[0]); + + s << "Euclidean4DPrior(" << x0->id() << ")"; + + return s.str(); +} + +} /* namespace ROAMestimation */ diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_Err.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_Err.cppready index d0f08eb..f2238db 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_Err.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_Err.cppready @@ -27,7 +27,7 @@ double tmp25 = -(tmp4*tmp24); double tmp26 = x(9+_OFF); double tmp27 = tmp18 + tmp22 + tmp25 + tmp26; double tmp28 = -tmp13; -double tmp29 = set1(2+_OFF); +double tmp29 = airDensity(2+_OFF); double tmp30 = 1/tmp29; double tmp31 = x(8+_OFF); double tmp32 = tmp2*tmp3; @@ -51,9 +51,9 @@ double tmp49 = tmp42 + tmp45 + tmp47 + tmp48; double tmp50 = std::pow(tmp49,2); double tmp51 = std::pow(tmp27,2); double tmp52 = tmp39 + tmp51 + tmp50; -double tmp53 = set1(3+_OFF); -double tmp54 = set2(24+_OFF); -double tmp55 = set1(1+_OFF); +double tmp53 = airDensity(3+_OFF); +double tmp54 = cp(2+_OFF); +double tmp55 = airDensity(1+_OFF); double tmp56 = x(3+_OFF); double tmp57 = tmp55 + tmp56; double tmp58 = -0.006500000000000001*tmp30*tmp57; @@ -74,24 +74,24 @@ double tmp72 = -2*tmp4*tmp2*tmp3; double tmp73 = -2*tmp6*tmp0*tmp3; double tmp74 = tmp10*tmp14; double tmp75 = tmp67 + tmp68 + tmp69 + tmp70 + tmp71 + tmp72 + tmp73 + tmp74 + tmp31; -double tmp76 = set2(23+_OFF); +double tmp76 = cp(1+_OFF); double tmp77 = std::sqrt(tmp52); double tmp78 = std::pow(tmp76,2); double tmp79 = z(1+_OFF); double tmp80 = gravity(1+_OFF); -double tmp81 = set2(26+_OFF); +double tmp81 = cp(4+_OFF); double tmp82 = 1/tmp81; -double tmp83 = set2(4+_OFF); -double tmp84 = set2(5+_OFF); +double tmp83 = fDrag(1+_OFF); +double tmp84 = fDrag(2+_OFF); double tmp85 = tmp63*tmp84; double tmp86 = std::pow(tmp63,2); -double tmp87 = set2(6+_OFF); +double tmp87 = fDrag(3+_OFF); double tmp88 = tmp86*tmp87; double tmp89 = std::pow(tmp66,2); -double tmp90 = set2(7+_OFF); +double tmp90 = fDrag(4+_OFF); double tmp91 = tmp89*tmp90; double tmp92 = tmp83 + tmp85 + tmp88 + tmp91; -double tmp93 = set2(8+_OFF); +double tmp93 = fLat(1+_OFF); double tmp94 = 1/tmp52; double tmp95 = -(tmp51*tmp94); double tmp96 = 1 + tmp95; @@ -106,8 +106,8 @@ double tmp104 = 2*tmp6*tmp1*tmp3; double tmp105 = -(tmp4*tmp14); double tmp106 = -tmp26; double tmp107 = tmp98 + tmp99 + tmp100 + tmp101 + tmp102 + tmp103 + tmp104 + tmp105 + tmp106; -double tmp108 = set2(9+_OFF); -double tmp109 = set2(10+_OFF); +double tmp108 = fLift(1+_OFF); +double tmp109 = fLift(2+_OFF); double tmp110 = tmp63*tmp109; double tmp111 = tmp108 + tmp110; double tmp112 = -(tmp6*tmp11); @@ -119,51 +119,93 @@ double tmp117 = -2*tmp10*tmp0*tmp3; double tmp118 = -2*tmp4*tmp1*tmp3; double tmp119 = -(tmp6*tmp14); double tmp120 = tmp112 + tmp113 + tmp114 + tmp115 + tmp116 + tmp117 + tmp118 + tmp119 + tmp48; -double tmp121 = set2(28+_OFF); -double tmp122 = set2(29+_OFF); -double tmp123 = set2(30+_OFF); -double tmp124 = x(12+_OFF); -double tmp125 = x(13+_OFF); -double tmp126 = set2(25+_OFF); -double tmp127 = x(11+_OFF); -double tmp128 = set2(27+_OFF); -double tmp129 = tmp128*tmp121*tmp122; -double tmp130 = std::pow(tmp123,2); -double tmp131 = -(tmp121*tmp130); -double tmp132 = tmp129 + tmp131; -double tmp133 = 1/tmp132; -double tmp134 = set2(22+_OFF); -double tmp135 = -(tmp123*tmp127*tmp124); -double tmp136 = tmp121*tmp124*tmp125; -double tmp137 = -(tmp122*tmp124*tmp125); -double tmp138 = set2(12+_OFF); -double tmp139 = tmp66*tmp138; -double tmp140 = set2(13+_OFF); -double tmp141 = (tmp140*tmp126*tmp64*tmp127)/2.; -double tmp142 = set2(14+_OFF); -double tmp143 = (tmp142*tmp126*tmp64*tmp125)/2.; -double tmp144 = set2(11+_OFF); -double tmp145 = z(2+_OFF); -double tmp146 = tmp144*tmp145; -double tmp147 = tmp139 + tmp141 + tmp143 + tmp146; -double tmp148 = 0.0017418568193694477*tmp30*tmp53*tmp54*tmp126*tmp60*tmp52*tmp147; -double tmp149 = tmp135 + tmp136 + tmp137 + tmp148; -double tmp150 = tmp128*tmp127*tmp124; -double tmp151 = -(tmp121*tmp127*tmp124); -double tmp152 = tmp123*tmp124*tmp125; -double tmp153 = set2(21+_OFF); -double tmp154 = tmp66*tmp153; -double tmp155 = set2(20+_OFF); -double tmp156 = (tmp155*tmp126*tmp64*tmp125)/2.; -double tmp157 = set2(19+_OFF); -double tmp158 = z(4+_OFF); -double tmp159 = tmp157*tmp158; -double tmp160 = tmp154 + tmp156 + tmp159; -double tmp161 = 0.0017418568193694477*tmp30*tmp53*tmp54*tmp126*tmp60*tmp52*tmp160; -double tmp162 = tmp150 + tmp151 + tmp152 + tmp161; -err(1+_OFF) = 2*tmp80*tmp9 + x(14+_OFF) - tmp82*(0.0017418568193694477*tmp66*tmp30*tmp53*tmp93*tmp54*tmp60*tmp75*tmp107*tmp62*tmp77 + 0.0017418568193694477*tmp30*tmp53*tmp111*tmp54*tmp60*(tmp6*tmp11 - 2*tmp4*tmp2*tmp0 - tmp6*tmp12 + 2*tmp10*tmp2*tmp1 - tmp6*tmp13 + 2*tmp10*tmp0*tmp3 + 2*tmp4*tmp1*tmp3 + tmp6*tmp14 - tmp48)*tmp62*tmp52 + 0.0017418568193694477*tmp30*tmp53*tmp92*tmp54*tmp60*tmp75*tmp62*tmp52*tmp97 + 0.0034837136387388954*tmp30*tmp53*tmp78*tmp60*((set2(3+_OFF)*tmp52)/std::pow(M_PI,2) + (set2(2+_OFF)*tmp76*tmp77*tmp79)/M_PI + set2(1+_OFF)*tmp78*std::pow(tmp79,2))); -err(2+_OFF) = 2*tmp80*tmp21 - tmp82*(0. + 0.0017418568193694477*tmp30*tmp53*tmp92*tmp54*tmp60*(-(tmp4*tmp11) - 2*tmp6*tmp2*tmp0 + tmp4*tmp12 - 2*tmp10*tmp0*tmp1 - tmp4*tmp13 + 2*tmp10*tmp2*tmp3 - 2*tmp6*tmp1*tmp3 + tmp4*tmp14 + tmp26)*tmp77 + 0.0017418568193694477*tmp66*tmp30*tmp53*tmp93*tmp54*tmp60*tmp52*tmp97) + x(15+_OFF); -err(3+_OFF) = tmp80*tmp46 - tmp82*(0.0017418568193694477*tmp66*tmp30*tmp53*tmp93*tmp54*tmp60*tmp107*tmp120*tmp62*tmp77 + 0.0017418568193694477*tmp30*tmp53*tmp111*tmp54*tmp60*tmp75*tmp62*tmp52 + 0.0017418568193694477*tmp30*tmp53*tmp92*tmp54*tmp60*tmp120*tmp62*tmp52*tmp97) + x(16+_OFF); -err(4+_OFF) = x(17+_OFF) - tmp121*tmp122*tmp133*tmp149 + tmp121*tmp123*tmp133*tmp162; -err(5+_OFF) = x(18+_OFF) - (tmp128*tmp122 - tmp130)*tmp133*(tmp123*std::pow(tmp127,2) - tmp128*tmp127*tmp125 + tmp122*tmp127*tmp125 - tmp123*std::pow(tmp125,2) + 0.0017418568193694477*tmp30*tmp53*tmp134*tmp54*tmp60*tmp52*(set2(15+_OFF) + tmp63*set2(18+_OFF) + (set2(17+_OFF)*tmp134*tmp64*tmp124)/2. + set2(16+_OFF)*z(3+_OFF))); -err(6+_OFF) = x(19+_OFF) + tmp121*tmp123*tmp133*tmp149 - tmp128*tmp121*tmp133*tmp162; +double tmp121 = ibd(2+_OFF); +double tmp122 = ibd(3+_OFF); +double tmp123 = ibod(1+_OFF); +double tmp124 = ibod(2+_OFF); +double tmp125 = ibod(3+_OFF); +double tmp126 = ibd(1+_OFF); +double tmp127 = std::pow(tmp125,2); +double tmp128 = x(12+_OFF); +double tmp129 = x(11+_OFF); +double tmp130 = x(13+_OFF); +double tmp131 = cp(3+_OFF); +double tmp132 = tmp126*tmp121*tmp122; +double tmp133 = std::pow(tmp123,2); +double tmp134 = -(tmp121*tmp133); +double tmp135 = std::pow(tmp124,2); +double tmp136 = -(tmp122*tmp135); +double tmp137 = 2*tmp123*tmp124*tmp125; +double tmp138 = -(tmp126*tmp127); +double tmp139 = tmp132 + tmp134 + tmp136 + tmp137 + tmp138; +double tmp140 = 1/tmp139; +double tmp141 = std::pow(tmp130,2); +double tmp142 = cBar(1+_OFF); +double tmp143 = std::pow(tmp129,2); +double tmp144 = std::pow(tmp128,2); +double tmp145 = -(tmp122*tmp124); +double tmp146 = tmp123*tmp125; +double tmp147 = tmp145 + tmp146; +double tmp148 = -(tmp123*tmp129*tmp128); +double tmp149 = -(tmp125*tmp144); +double tmp150 = tmp124*tmp129*tmp130; +double tmp151 = tmp121*tmp128*tmp130; +double tmp152 = -(tmp122*tmp128*tmp130); +double tmp153 = tmp125*tmp141; +double tmp154 = mRoll(2+_OFF); +double tmp155 = tmp66*tmp154; +double tmp156 = mRoll(3+_OFF); +double tmp157 = (tmp131*tmp156*tmp64*tmp129)/2.; +double tmp158 = mRoll(4+_OFF); +double tmp159 = (tmp131*tmp158*tmp64*tmp130)/2.; +double tmp160 = mRoll(1+_OFF); +double tmp161 = z(2+_OFF); +double tmp162 = tmp160*tmp161; +double tmp163 = tmp155 + tmp157 + tmp159 + tmp162; +double tmp164 = 0.0017418568193694477*tmp30*tmp53*tmp54*tmp131*tmp60*tmp52*tmp163; +double tmp165 = tmp148 + tmp149 + tmp150 + tmp151 + tmp152 + tmp153 + tmp164; +double tmp166 = tmp123*tmp143; +double tmp167 = tmp125*tmp129*tmp128; +double tmp168 = -(tmp126*tmp129*tmp130); +double tmp169 = tmp122*tmp129*tmp130; +double tmp170 = -(tmp124*tmp128*tmp130); +double tmp171 = -(tmp123*tmp141); +double tmp172 = mPitch(1+_OFF); +double tmp173 = mPitch(4+_OFF); +double tmp174 = tmp63*tmp173; +double tmp175 = mPitch(3+_OFF); +double tmp176 = (tmp142*tmp175*tmp64*tmp128)/2.; +double tmp177 = mPitch(2+_OFF); +double tmp178 = z(3+_OFF); +double tmp179 = tmp177*tmp178; +double tmp180 = tmp172 + tmp174 + tmp176 + tmp179; +double tmp181 = 0.0017418568193694477*tmp30*tmp53*tmp142*tmp54*tmp60*tmp52*tmp180; +double tmp182 = tmp166 + tmp167 + tmp168 + tmp169 + tmp170 + tmp171 + tmp181; +double tmp183 = -(tmp124*tmp143); +double tmp184 = tmp126*tmp129*tmp128; +double tmp185 = -(tmp121*tmp129*tmp128); +double tmp186 = tmp124*tmp144; +double tmp187 = -(tmp125*tmp129*tmp130); +double tmp188 = tmp123*tmp128*tmp130; +double tmp189 = mYaw(3+_OFF); +double tmp190 = tmp66*tmp189; +double tmp191 = mYaw(2+_OFF); +double tmp192 = (tmp131*tmp191*tmp64*tmp130)/2.; +double tmp193 = mYaw(1+_OFF); +double tmp194 = z(4+_OFF); +double tmp195 = tmp193*tmp194; +double tmp196 = tmp190 + tmp192 + tmp195; +double tmp197 = 0.0017418568193694477*tmp30*tmp53*tmp54*tmp131*tmp60*tmp52*tmp196; +double tmp198 = tmp183 + tmp184 + tmp185 + tmp186 + tmp187 + tmp188 + tmp197; +double tmp199 = -(tmp121*tmp123); +double tmp200 = tmp124*tmp125; +double tmp201 = tmp199 + tmp200; +double tmp202 = tmp123*tmp124; +double tmp203 = -(tmp126*tmp125); +double tmp204 = tmp202 + tmp203; +err(1+_OFF) = 2*tmp80*tmp9 + x(14+_OFF) - tmp82*(0.0017418568193694477*tmp30*tmp53*tmp66*tmp54*tmp93*tmp60*tmp75*tmp107*tmp62*tmp77 + 0.0017418568193694477*tmp30*tmp53*tmp54*tmp111*tmp60*(tmp6*tmp11 - 2*tmp4*tmp2*tmp0 - tmp6*tmp12 + 2*tmp10*tmp2*tmp1 - tmp6*tmp13 + 2*tmp10*tmp0*tmp3 + 2*tmp4*tmp1*tmp3 + tmp6*tmp14 - tmp48)*tmp62*tmp52 + 0.0017418568193694477*tmp30*tmp53*tmp54*tmp92*tmp60*tmp75*tmp62*tmp52*tmp97 + 0.0034837136387388954*tmp30*tmp53*tmp78*tmp60*((fThrust(3+_OFF)*tmp52)/std::pow(M_PI,2) + (tmp76*fThrust(2+_OFF)*tmp77*tmp79)/M_PI + tmp78*fThrust(1+_OFF)*std::pow(tmp79,2))); +err(2+_OFF) = 2*tmp80*tmp21 - tmp82*(0. + 0.0017418568193694477*tmp30*tmp53*tmp54*tmp92*tmp60*(-(tmp4*tmp11) - 2*tmp6*tmp2*tmp0 + tmp4*tmp12 - 2*tmp10*tmp0*tmp1 - tmp4*tmp13 + 2*tmp10*tmp2*tmp3 - 2*tmp6*tmp1*tmp3 + tmp4*tmp14 + tmp26)*tmp77 + 0.0017418568193694477*tmp30*tmp53*tmp66*tmp54*tmp93*tmp60*tmp52*tmp97) + x(15+_OFF); +err(3+_OFF) = tmp80*tmp46 - tmp82*(0.0017418568193694477*tmp30*tmp53*tmp66*tmp54*tmp93*tmp60*tmp107*tmp120*tmp62*tmp77 + 0.0017418568193694477*tmp30*tmp53*tmp54*tmp111*tmp60*tmp75*tmp62*tmp52 + 0.0017418568193694477*tmp30*tmp53*tmp54*tmp92*tmp60*tmp120*tmp62*tmp52*tmp97) + x(16+_OFF); +err(4+_OFF) = x(17+_OFF) - (tmp121*tmp122 - tmp127)*tmp140*tmp165 - tmp147*tmp140*tmp182 - tmp201*tmp140*tmp198; +err(5+_OFF) = x(18+_OFF) - tmp147*tmp140*tmp165 - (tmp126*tmp122 - tmp133)*tmp140*tmp182 - tmp204*tmp140*tmp198; +err(6+_OFF) = x(19+_OFF) - tmp201*tmp140*tmp165 - tmp204*tmp140*tmp182 - (tmp126*tmp121 - tmp135)*tmp140*tmp198; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrAirDensity.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrAirDensity.cppready new file mode 100644 index 0000000..cd9ad87 --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrAirDensity.cppready @@ -0,0 +1,6 @@ +J(1+_OFF) = 0; +J(2+_OFF) = 0; +J(3+_OFF) = 0; +J(4+_OFF) = 0; +J(5+_OFF) = 0; +J(6+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrCBar.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrCBar.cppready new file mode 100644 index 0000000..cd9ad87 --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrCBar.cppready @@ -0,0 +1,6 @@ +J(1+_OFF) = 0; +J(2+_OFF) = 0; +J(3+_OFF) = 0; +J(4+_OFF) = 0; +J(5+_OFF) = 0; +J(6+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrCp.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrCp.cppready new file mode 100644 index 0000000..cd9ad87 --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrCp.cppready @@ -0,0 +1,6 @@ +J(1+_OFF) = 0; +J(2+_OFF) = 0; +J(3+_OFF) = 0; +J(4+_OFF) = 0; +J(5+_OFF) = 0; +J(6+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFDrag.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFDrag.cppready new file mode 100644 index 0000000..cd9ad87 --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFDrag.cppready @@ -0,0 +1,6 @@ +J(1+_OFF) = 0; +J(2+_OFF) = 0; +J(3+_OFF) = 0; +J(4+_OFF) = 0; +J(5+_OFF) = 0; +J(6+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFLat.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFLat.cppready new file mode 100644 index 0000000..cd9ad87 --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFLat.cppready @@ -0,0 +1,6 @@ +J(1+_OFF) = 0; +J(2+_OFF) = 0; +J(3+_OFF) = 0; +J(4+_OFF) = 0; +J(5+_OFF) = 0; +J(6+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFLift.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFLift.cppready new file mode 100644 index 0000000..cd9ad87 --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFLift.cppready @@ -0,0 +1,6 @@ +J(1+_OFF) = 0; +J(2+_OFF) = 0; +J(3+_OFF) = 0; +J(4+_OFF) = 0; +J(5+_OFF) = 0; +J(6+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFThrust.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFThrust.cppready new file mode 100644 index 0000000..cd9ad87 --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFThrust.cppready @@ -0,0 +1,6 @@ +J(1+_OFF) = 0; +J(2+_OFF) = 0; +J(3+_OFF) = 0; +J(4+_OFF) = 0; +J(5+_OFF) = 0; +J(6+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrIbd.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrIbd.cppready new file mode 100644 index 0000000..cd9ad87 --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrIbd.cppready @@ -0,0 +1,6 @@ +J(1+_OFF) = 0; +J(2+_OFF) = 0; +J(3+_OFF) = 0; +J(4+_OFF) = 0; +J(5+_OFF) = 0; +J(6+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrIbod.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrIbod.cppready new file mode 100644 index 0000000..cd9ad87 --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrIbod.cppready @@ -0,0 +1,6 @@ +J(1+_OFF) = 0; +J(2+_OFF) = 0; +J(3+_OFF) = 0; +J(4+_OFF) = 0; +J(5+_OFF) = 0; +J(6+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMPitch.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMPitch.cppready new file mode 100644 index 0000000..cd9ad87 --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMPitch.cppready @@ -0,0 +1,6 @@ +J(1+_OFF) = 0; +J(2+_OFF) = 0; +J(3+_OFF) = 0; +J(4+_OFF) = 0; +J(5+_OFF) = 0; +J(6+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMRoll.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMRoll.cppready new file mode 100644 index 0000000..cd9ad87 --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMRoll.cppready @@ -0,0 +1,6 @@ +J(1+_OFF) = 0; +J(2+_OFF) = 0; +J(3+_OFF) = 0; +J(4+_OFF) = 0; +J(5+_OFF) = 0; +J(6+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMYaw.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMYaw.cppready new file mode 100644 index 0000000..cd9ad87 --- /dev/null +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMYaw.cppready @@ -0,0 +1,6 @@ +J(1+_OFF) = 0; +J(2+_OFF) = 0; +J(3+_OFF) = 0; +J(4+_OFF) = 0; +J(5+_OFF) = 0; +J(6+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrPose.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrPose.cppready index b3833d7..6ec00f4 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrPose.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrPose.cppready @@ -25,7 +25,7 @@ double tmp23 = x(9+_OFF); double tmp24 = tmp15 + tmp19 + tmp22 + tmp23; double tmp25 = tmp1*tmp3; double tmp26 = -tmp10; -double tmp27 = set1(2+_OFF); +double tmp27 = airDensity(2+_OFF); double tmp28 = x(8+_OFF); double tmp29 = tmp0*tmp3; double tmp30 = tmp5 + tmp29; @@ -51,10 +51,10 @@ double tmp49 = std::pow(tmp48,2); double tmp50 = std::pow(tmp24,2); double tmp51 = tmp38 + tmp50 + tmp49; double tmp52 = std::pow(tmp27,-2); -double tmp53 = set1(3+_OFF); -double tmp54 = set2(24+_OFF); +double tmp53 = airDensity(3+_OFF); +double tmp54 = cp(2+_OFF); double tmp55 = 1/tmp27; -double tmp56 = set1(1+_OFF); +double tmp56 = airDensity(1+_OFF); double tmp57 = x(3+_OFF); double tmp58 = tmp56 + tmp57; double tmp59 = -0.006500000000000001*tmp55*tmp58; @@ -75,23 +75,23 @@ double tmp73 = -2*tmp4*tmp0*tmp3; double tmp74 = -2*tmp6*tmp1*tmp3; double tmp75 = tmp7*tmp11; double tmp76 = tmp68 + tmp69 + tmp70 + tmp71 + tmp72 + tmp73 + tmp74 + tmp75 + tmp28; -double tmp77 = set2(23+_OFF); +double tmp77 = cp(1+_OFF); double tmp78 = std::sqrt(tmp51); double tmp79 = std::pow(tmp77,2); double tmp80 = z(1+_OFF); -double tmp81 = set2(26+_OFF); +double tmp81 = cp(4+_OFF); double tmp82 = 1/tmp81; -double tmp83 = set2(4+_OFF); -double tmp84 = set2(5+_OFF); +double tmp83 = fDrag(1+_OFF); +double tmp84 = fDrag(2+_OFF); double tmp85 = tmp64*tmp84; double tmp86 = std::pow(tmp64,2); -double tmp87 = set2(6+_OFF); +double tmp87 = fDrag(3+_OFF); double tmp88 = tmp86*tmp87; double tmp89 = std::pow(tmp67,2); -double tmp90 = set2(7+_OFF); +double tmp90 = fDrag(4+_OFF); double tmp91 = tmp89*tmp90; double tmp92 = tmp83 + tmp85 + tmp88 + tmp91; -double tmp93 = set2(8+_OFF); +double tmp93 = fLat(1+_OFF); double tmp94 = 1/tmp51; double tmp95 = -(tmp50*tmp94); double tmp96 = 1 + tmp95; @@ -106,8 +106,8 @@ double tmp104 = 2*tmp6*tmp2*tmp3; double tmp105 = -(tmp4*tmp11); double tmp106 = -tmp23; double tmp107 = tmp98 + tmp99 + tmp100 + tmp101 + tmp102 + tmp103 + tmp104 + tmp105 + tmp106; -double tmp108 = set2(9+_OFF); -double tmp109 = set2(10+_OFF); +double tmp108 = fLift(1+_OFF); +double tmp109 = fLift(2+_OFF); double tmp110 = tmp64*tmp109; double tmp111 = tmp108 + tmp110; double tmp112 = -(tmp6*tmp8); @@ -119,52 +119,78 @@ double tmp117 = -2*tmp7*tmp1*tmp3; double tmp118 = -2*tmp4*tmp2*tmp3; double tmp119 = -(tmp6*tmp11); double tmp120 = tmp112 + tmp113 + tmp114 + tmp115 + tmp116 + tmp117 + tmp118 + tmp119 + tmp47; -double tmp121 = set2(28+_OFF); -double tmp122 = set2(29+_OFF); -double tmp123 = set2(25+_OFF); -double tmp124 = set2(30+_OFF); -double tmp125 = set2(27+_OFF); -double tmp126 = tmp125*tmp121*tmp122; -double tmp127 = std::pow(tmp124,2); -double tmp128 = -(tmp121*tmp127); -double tmp129 = tmp126 + tmp128; -double tmp130 = 1/tmp129; -double tmp131 = x(13+_OFF); -double tmp132 = set2(22+_OFF); -double tmp133 = set2(12+_OFF); -double tmp134 = tmp67*tmp133; -double tmp135 = set2(13+_OFF); -double tmp136 = x(11+_OFF); -double tmp137 = (tmp135*tmp123*tmp65*tmp136)/2.; -double tmp138 = set2(14+_OFF); -double tmp139 = (tmp138*tmp123*tmp65*tmp131)/2.; -double tmp140 = set2(11+_OFF); -double tmp141 = z(2+_OFF); -double tmp142 = tmp140*tmp141; -double tmp143 = tmp134 + tmp137 + tmp139 + tmp142; -double tmp144 = set2(21+_OFF); -double tmp145 = tmp67*tmp144; -double tmp146 = set2(20+_OFF); -double tmp147 = (tmp146*tmp123*tmp65*tmp131)/2.; -double tmp148 = set2(19+_OFF); -double tmp149 = z(4+_OFF); -double tmp150 = tmp148*tmp149; -double tmp151 = tmp145 + tmp147 + tmp150; +double tmp121 = ibd(2+_OFF); +double tmp122 = ibd(3+_OFF); +double tmp123 = ibod(1+_OFF); +double tmp124 = ibod(2+_OFF); +double tmp125 = ibod(3+_OFF); +double tmp126 = ibd(1+_OFF); +double tmp127 = std::pow(tmp125,2); +double tmp128 = cp(3+_OFF); +double tmp129 = tmp126*tmp121*tmp122; +double tmp130 = std::pow(tmp123,2); +double tmp131 = -(tmp121*tmp130); +double tmp132 = std::pow(tmp124,2); +double tmp133 = -(tmp122*tmp132); +double tmp134 = 2*tmp123*tmp124*tmp125; +double tmp135 = -(tmp126*tmp127); +double tmp136 = tmp129 + tmp131 + tmp133 + tmp134 + tmp135; +double tmp137 = 1/tmp136; +double tmp138 = cBar(1+_OFF); +double tmp139 = x(13+_OFF); +double tmp140 = -(tmp122*tmp124); +double tmp141 = tmp123*tmp125; +double tmp142 = tmp140 + tmp141; +double tmp143 = mRoll(2+_OFF); +double tmp144 = tmp67*tmp143; +double tmp145 = mRoll(3+_OFF); +double tmp146 = x(11+_OFF); +double tmp147 = (tmp128*tmp145*tmp65*tmp146)/2.; +double tmp148 = mRoll(4+_OFF); +double tmp149 = (tmp128*tmp148*tmp65*tmp139)/2.; +double tmp150 = mRoll(1+_OFF); +double tmp151 = z(2+_OFF); +double tmp152 = tmp150*tmp151; +double tmp153 = tmp144 + tmp147 + tmp149 + tmp152; +double tmp154 = mPitch(1+_OFF); +double tmp155 = mPitch(4+_OFF); +double tmp156 = tmp64*tmp155; +double tmp157 = mPitch(3+_OFF); +double tmp158 = x(12+_OFF); +double tmp159 = (tmp138*tmp157*tmp65*tmp158)/2.; +double tmp160 = mPitch(2+_OFF); +double tmp161 = z(3+_OFF); +double tmp162 = tmp160*tmp161; +double tmp163 = tmp154 + tmp156 + tmp159 + tmp162; +double tmp164 = mYaw(3+_OFF); +double tmp165 = tmp67*tmp164; +double tmp166 = mYaw(2+_OFF); +double tmp167 = (tmp128*tmp166*tmp65*tmp139)/2.; +double tmp168 = mYaw(1+_OFF); +double tmp169 = z(4+_OFF); +double tmp170 = tmp168*tmp169; +double tmp171 = tmp165 + tmp167 + tmp170; +double tmp172 = -(tmp121*tmp123); +double tmp173 = tmp124*tmp125; +double tmp174 = tmp172 + tmp173; +double tmp175 = tmp123*tmp124; +double tmp176 = -(tmp126*tmp125); +double tmp177 = tmp175 + tmp176; J(1+_OFF,1+_OFF) = 0; J(1+_OFF,2+_OFF) = 0; -J(1+_OFF,3+_OFF) = -(tmp82*(-0.000048187859257968994*tmp67*tmp52*tmp53*tmp93*tmp54*tmp61*tmp76*tmp107*tmp63*tmp78 - 0.000048187859257968994*tmp52*tmp53*tmp111*tmp54*tmp61*(tmp6*tmp8 - 2*tmp4*tmp0*tmp1 - tmp6*tmp9 + 2*tmp7*tmp0*tmp2 - tmp6*tmp10 + 2*tmp7*tmp1*tmp3 + 2*tmp4*tmp2*tmp3 + tmp6*tmp11 - tmp47)*tmp63*tmp51 - 0.000048187859257968994*tmp52*tmp53*tmp92*tmp54*tmp61*tmp76*tmp63*tmp51*tmp97 - 0.00009637571851593799*tmp52*tmp53*tmp79*tmp61*((set2(3+_OFF)*tmp51)/std::pow(M_PI,2) + (set2(2+_OFF)*tmp77*tmp78*tmp80)/M_PI + set2(1+_OFF)*tmp79*std::pow(tmp80,2)))); +J(1+_OFF,3+_OFF) = -(tmp82*(-0.000048187859257968994*tmp52*tmp53*tmp67*tmp54*tmp93*tmp61*tmp76*tmp107*tmp63*tmp78 - 0.000048187859257968994*tmp52*tmp53*tmp54*tmp111*tmp61*(tmp6*tmp8 - 2*tmp4*tmp0*tmp1 - tmp6*tmp9 + 2*tmp7*tmp0*tmp2 - tmp6*tmp10 + 2*tmp7*tmp1*tmp3 + 2*tmp4*tmp2*tmp3 + tmp6*tmp11 - tmp47)*tmp63*tmp51 - 0.000048187859257968994*tmp52*tmp53*tmp54*tmp92*tmp61*tmp76*tmp63*tmp51*tmp97 - 0.00009637571851593799*tmp52*tmp53*tmp79*tmp61*((fThrust(3+_OFF)*tmp51)/std::pow(M_PI,2) + (tmp77*fThrust(2+_OFF)*tmp78*tmp80)/M_PI + tmp79*fThrust(1+_OFF)*std::pow(tmp80,2)))); J(2+_OFF,1+_OFF) = 0; J(2+_OFF,2+_OFF) = 0; -J(2+_OFF,3+_OFF) = -(tmp82*(-0.000048187859257968994*tmp52*tmp53*tmp92*tmp54*tmp61*(-(tmp4*tmp8) - 2*tmp6*tmp0*tmp1 + tmp4*tmp9 - 2*tmp7*tmp1*tmp2 - tmp4*tmp10 + 2*tmp7*tmp0*tmp3 - 2*tmp6*tmp2*tmp3 + tmp4*tmp11 + tmp23)*tmp78 - 0.000048187859257968994*tmp67*tmp52*tmp53*tmp93*tmp54*tmp61*tmp51*tmp97)); +J(2+_OFF,3+_OFF) = -(tmp82*(-0.000048187859257968994*tmp52*tmp53*tmp54*tmp92*tmp61*(-(tmp4*tmp8) - 2*tmp6*tmp0*tmp1 + tmp4*tmp9 - 2*tmp7*tmp1*tmp2 - tmp4*tmp10 + 2*tmp7*tmp0*tmp3 - 2*tmp6*tmp2*tmp3 + tmp4*tmp11 + tmp23)*tmp78 - 0.000048187859257968994*tmp52*tmp53*tmp67*tmp54*tmp93*tmp61*tmp51*tmp97)); J(3+_OFF,1+_OFF) = 0; J(3+_OFF,2+_OFF) = 0; -J(3+_OFF,3+_OFF) = -(tmp82*(-0.000048187859257968994*tmp67*tmp52*tmp53*tmp93*tmp54*tmp61*tmp107*tmp120*tmp63*tmp78 - 0.000048187859257968994*tmp52*tmp53*tmp111*tmp54*tmp61*tmp76*tmp63*tmp51 - 0.000048187859257968994*tmp52*tmp53*tmp92*tmp54*tmp61*tmp120*tmp63*tmp51*tmp97)); +J(3+_OFF,3+_OFF) = -(tmp82*(-0.000048187859257968994*tmp52*tmp53*tmp67*tmp54*tmp93*tmp61*tmp107*tmp120*tmp63*tmp78 - 0.000048187859257968994*tmp52*tmp53*tmp54*tmp111*tmp61*tmp76*tmp63*tmp51 - 0.000048187859257968994*tmp52*tmp53*tmp54*tmp92*tmp61*tmp120*tmp63*tmp51*tmp97)); J(4+_OFF,1+_OFF) = 0; J(4+_OFF,2+_OFF) = 0; -J(4+_OFF,3+_OFF) = 0.000048187859257968994*tmp52*tmp53*tmp54*tmp123*tmp121*tmp122*tmp130*tmp61*tmp51*tmp143 - 0.000048187859257968994*tmp52*tmp53*tmp54*tmp123*tmp121*tmp124*tmp130*tmp61*tmp51*tmp151; +J(4+_OFF,3+_OFF) = 0.000048187859257968994*tmp52*tmp53*tmp54*tmp128*(tmp121*tmp122 - tmp127)*tmp137*tmp61*tmp51*tmp153 + 0.000048187859257968994*tmp52*tmp53*tmp138*tmp54*tmp142*tmp137*tmp61*tmp51*tmp163 + 0.000048187859257968994*tmp52*tmp53*tmp54*tmp128*tmp174*tmp137*tmp61*tmp51*tmp171; J(5+_OFF,1+_OFF) = 0; J(5+_OFF,2+_OFF) = 0; -J(5+_OFF,3+_OFF) = 0.000048187859257968994*tmp52*tmp53*tmp132*tmp54*(tmp125*tmp122 - tmp127)*tmp130*tmp61*tmp51*(set2(15+_OFF) + tmp64*set2(18+_OFF) + (set2(17+_OFF)*tmp132*tmp65*x(12+_OFF))/2. + set2(16+_OFF)*z(3+_OFF)); +J(5+_OFF,3+_OFF) = 0.000048187859257968994*tmp52*tmp53*tmp54*tmp128*tmp142*tmp137*tmp61*tmp51*tmp153 + 0.000048187859257968994*tmp52*tmp53*tmp138*tmp54*(tmp126*tmp122 - tmp130)*tmp137*tmp61*tmp51*tmp163 + 0.000048187859257968994*tmp52*tmp53*tmp54*tmp128*tmp177*tmp137*tmp61*tmp51*tmp171; J(6+_OFF,1+_OFF) = 0; J(6+_OFF,2+_OFF) = 0; -J(6+_OFF,3+_OFF) = -0.000048187859257968994*tmp52*tmp53*tmp54*tmp123*tmp121*tmp124*tmp130*tmp61*tmp51*tmp143 + 0.000048187859257968994*tmp52*tmp53*tmp54*tmp123*tmp125*tmp121*tmp130*tmp61*tmp51*tmp151; +J(6+_OFF,3+_OFF) = 0.000048187859257968994*tmp52*tmp53*tmp54*tmp128*tmp174*tmp137*tmp61*tmp51*tmp153 + 0.000048187859257968994*tmp52*tmp53*tmp138*tmp54*tmp177*tmp137*tmp61*tmp51*tmp163 + 0.000048187859257968994*tmp52*tmp53*tmp54*tmp128*(tmp126*tmp121 - tmp132)*tmp137*tmp61*tmp51*tmp171; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrQ.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrQ.cppready index 49bb460..5ac3db0 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrQ.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrQ.cppready @@ -11,7 +11,7 @@ double tmp9 = std::pow(tmp2,2); double tmp10 = std::pow(tmp0,2); double tmp11 = -tmp10; double tmp12 = std::pow(tmp3,2); -double tmp13 = set1(2+_OFF); +double tmp13 = airDensity(2+_OFF); double tmp14 = 1/tmp13; double tmp15 = x(10+_OFF); double tmp16 = tmp2*tmp0; @@ -37,21 +37,21 @@ double tmp35 = -2*tmp6*tmp34; double tmp36 = tmp8 + tmp29 + tmp11 + tmp12; double tmp37 = -(tmp7*tmp36); double tmp38 = tmp32 + tmp35 + tmp37 + tmp15; -double tmp39 = -(tmp1*tmp3); -double tmp40 = tmp16 + tmp39; -double tmp41 = -2*tmp4*tmp40; -double tmp42 = tmp1*tmp2; -double tmp43 = tmp42 + tmp28; -double tmp44 = -2*tmp7*tmp43; -double tmp45 = tmp8 + tmp29 + tmp10 + tmp23; -double tmp46 = -(tmp6*tmp45); -double tmp47 = x(9+_OFF); -double tmp48 = tmp41 + tmp44 + tmp46 + tmp47; -double tmp49 = std::pow(tmp27,2); -double tmp50 = std::pow(tmp38,2); -double tmp51 = set1(3+_OFF); -double tmp52 = set2(24+_OFF); -double tmp53 = set1(1+_OFF); +double tmp39 = airDensity(3+_OFF); +double tmp40 = -(tmp1*tmp3); +double tmp41 = tmp16 + tmp40; +double tmp42 = -2*tmp4*tmp41; +double tmp43 = tmp1*tmp2; +double tmp44 = tmp43 + tmp28; +double tmp45 = -2*tmp7*tmp44; +double tmp46 = tmp8 + tmp29 + tmp10 + tmp23; +double tmp47 = -(tmp6*tmp46); +double tmp48 = x(9+_OFF); +double tmp49 = tmp42 + tmp45 + tmp47 + tmp48; +double tmp50 = std::pow(tmp27,2); +double tmp51 = std::pow(tmp38,2); +double tmp52 = cp(2+_OFF); +double tmp53 = airDensity(1+_OFF); double tmp54 = x(3+_OFF); double tmp55 = tmp53 + tmp54; double tmp56 = -0.006500000000000001*tmp14*tmp55; @@ -66,21 +66,21 @@ double tmp64 = -2*tmp6*tmp1; double tmp65 = -2*tmp7*tmp2; double tmp66 = 2*tmp4*tmp3; double tmp67 = tmp64 + tmp65 + tmp66; -double tmp68 = 2*tmp67*tmp48; +double tmp68 = 2*tmp67*tmp49; double tmp69 = -2*tmp7*tmp1; double tmp70 = 2*tmp6*tmp2; double tmp71 = -2*tmp4*tmp0; double tmp72 = tmp69 + tmp70 + tmp71; double tmp73 = 2*tmp72*tmp38; double tmp74 = tmp63 + tmp68 + tmp73; -double tmp75 = tmp49 + tmp50; +double tmp75 = tmp50 + tmp51; double tmp76 = 1/std::sqrt(tmp75); -double tmp77 = std::pow(tmp48,2); -double tmp78 = tmp49 + tmp77 + tmp50; +double tmp77 = std::pow(tmp49,2); +double tmp78 = tmp50 + tmp77 + tmp51; double tmp79 = 1/std::sqrt(tmp78); -double tmp80 = tmp48*tmp79; +double tmp80 = tmp49*tmp79; double tmp81 = std::asin(tmp80); -double tmp82 = set2(8+_OFF); +double tmp82 = fLat(1+_OFF); double tmp83 = -(tmp4*tmp8); double tmp84 = -(tmp4*tmp9); double tmp85 = 2*tmp7*tmp1*tmp0; @@ -98,12 +98,12 @@ double tmp96 = tmp6*tmp10; double tmp97 = -2*tmp4*tmp1*tmp3; double tmp98 = 2*tmp7*tmp0*tmp3; double tmp99 = -(tmp6*tmp12); -double tmp100 = -tmp47; +double tmp100 = -tmp48; double tmp101 = tmp92 + tmp93 + tmp94 + tmp95 + tmp96 + tmp97 + tmp98 + tmp99 + tmp100; double tmp102 = std::sqrt(tmp78); -double tmp103 = set2(9+_OFF); +double tmp103 = fLift(1+_OFF); double tmp104 = std::atan2(tmp38,tmp27); -double tmp105 = set2(10+_OFF); +double tmp105 = fLift(2+_OFF); double tmp106 = tmp104*tmp105; double tmp107 = tmp103 + tmp106; double tmp108 = tmp7*tmp8; @@ -120,14 +120,14 @@ double tmp118 = tmp63 + tmp73; double tmp119 = std::pow(tmp75,-1.5); double tmp120 = 1/tmp75; double tmp121 = 1/tmp78; -double tmp122 = set2(4+_OFF); -double tmp123 = set2(5+_OFF); +double tmp122 = fDrag(1+_OFF); +double tmp123 = fDrag(2+_OFF); double tmp124 = tmp104*tmp123; double tmp125 = std::pow(tmp104,2); -double tmp126 = set2(6+_OFF); +double tmp126 = fDrag(3+_OFF); double tmp127 = tmp125*tmp126; double tmp128 = std::pow(tmp81,2); -double tmp129 = set2(7+_OFF); +double tmp129 = fDrag(4+_OFF); double tmp130 = tmp128*tmp129; double tmp131 = tmp122 + tmp124 + tmp127 + tmp130; double tmp132 = -(tmp77*tmp121); @@ -142,12 +142,12 @@ double tmp140 = tmp137 + tmp138 + tmp139 + tmp116; double tmp141 = tmp62*tmp140*tmp120; double tmp142 = tmp136 + tmp141; double tmp143 = std::pow(tmp78,-1.5); -double tmp144 = -(tmp48*tmp74*tmp143)/2.; +double tmp144 = -(tmp49*tmp74*tmp143)/2.; double tmp145 = tmp67*tmp79; double tmp146 = tmp144 + tmp145; -double tmp147 = set2(23+_OFF); +double tmp147 = cp(1+_OFF); double tmp148 = gravity(1+_OFF); -double tmp149 = set2(26+_OFF); +double tmp149 = cp(4+_OFF); double tmp150 = 1/tmp149; double tmp151 = 2*tmp6*tmp1; double tmp152 = 2*tmp7*tmp2; @@ -158,7 +158,7 @@ double tmp156 = -2*tmp6*tmp0; double tmp157 = -2*tmp7*tmp3; double tmp158 = tmp155 + tmp156 + tmp157; double tmp159 = 2*tmp158*tmp27; -double tmp160 = 2*tmp72*tmp48; +double tmp160 = 2*tmp72*tmp49; double tmp161 = 2*tmp154*tmp38; double tmp162 = tmp159 + tmp160 + tmp161; double tmp163 = 2*tmp7*tmp1; @@ -170,24 +170,24 @@ double tmp168 = std::pow(tmp78,-2); double tmp169 = tmp154*tmp27*tmp120; double tmp170 = tmp158*tmp140*tmp120; double tmp171 = tmp169 + tmp170; -double tmp172 = -(tmp48*tmp162*tmp143)/2.; +double tmp172 = -(tmp49*tmp162*tmp143)/2.; double tmp173 = tmp72*tmp79; double tmp174 = tmp172 + tmp173; double tmp175 = std::pow(tmp147,2); double tmp176 = std::pow(M_PI,-2); -double tmp177 = set2(3+_OFF); +double tmp177 = fThrust(3+_OFF); double tmp178 = 1/M_PI; -double tmp179 = set2(2+_OFF); +double tmp179 = fThrust(2+_OFF); double tmp180 = z(1+_OFF); double tmp181 = 2*tmp166*tmp27; -double tmp182 = 2*tmp158*tmp48; +double tmp182 = 2*tmp158*tmp49; double tmp183 = 2*tmp62*tmp38; double tmp184 = tmp181 + tmp182 + tmp183; double tmp185 = tmp181 + tmp183; double tmp186 = tmp62*tmp27*tmp120; double tmp187 = tmp166*tmp140*tmp120; double tmp188 = tmp186 + tmp187; -double tmp189 = -(tmp48*tmp184*tmp143)/2.; +double tmp189 = -(tmp49*tmp184*tmp143)/2.; double tmp190 = tmp158*tmp79; double tmp191 = tmp189 + tmp190; double tmp192 = 2*tmp4*tmp1; @@ -195,7 +195,7 @@ double tmp193 = -2*tmp7*tmp0; double tmp194 = 2*tmp6*tmp3; double tmp195 = tmp192 + tmp193 + tmp194; double tmp196 = 2*tmp67*tmp27; -double tmp197 = 2*tmp195*tmp48; +double tmp197 = 2*tmp195*tmp49; double tmp198 = 2*tmp158*tmp38; double tmp199 = tmp196 + tmp197 + tmp198; double tmp200 = tmp196 + tmp198; @@ -206,12 +206,12 @@ double tmp204 = tmp201 + tmp202 + tmp203; double tmp205 = tmp158*tmp27*tmp120; double tmp206 = tmp67*tmp140*tmp120; double tmp207 = tmp205 + tmp206; -double tmp208 = -(tmp48*tmp199*tmp143)/2.; +double tmp208 = -(tmp49*tmp199*tmp143)/2.; double tmp209 = tmp195*tmp79; double tmp210 = tmp208 + tmp209; double tmp211 = 2*tmp148*tmp2; double tmp212 = tmp77*tmp74*tmp168; -double tmp213 = -2*tmp67*tmp48*tmp121; +double tmp213 = -2*tmp67*tmp49*tmp121; double tmp214 = tmp212 + tmp213; double tmp215 = -(tmp6*tmp8); double tmp216 = -2*tmp7*tmp1*tmp2; @@ -221,13 +221,13 @@ double tmp219 = -(tmp6*tmp10); double tmp220 = 2*tmp4*tmp1*tmp3; double tmp221 = -2*tmp7*tmp0*tmp3; double tmp222 = tmp6*tmp12; -double tmp223 = tmp215 + tmp216 + tmp217 + tmp218 + tmp219 + tmp220 + tmp221 + tmp222 + tmp47; +double tmp223 = tmp215 + tmp216 + tmp217 + tmp218 + tmp219 + tmp220 + tmp221 + tmp222 + tmp48; double tmp224 = tmp123*tmp142; double tmp225 = 2*tmp104*tmp126*tmp142; double tmp226 = 2*tmp81*tmp129*tmp135*tmp146; double tmp227 = tmp224 + tmp225 + tmp226; double tmp228 = tmp77*tmp162*tmp168; -double tmp229 = -2*tmp72*tmp48*tmp121; +double tmp229 = -2*tmp72*tmp49*tmp121; double tmp230 = tmp228 + tmp229; double tmp231 = tmp123*tmp171; double tmp232 = 2*tmp104*tmp126*tmp171; @@ -235,14 +235,14 @@ double tmp233 = 2*tmp81*tmp129*tmp135*tmp174; double tmp234 = tmp231 + tmp232 + tmp233; double tmp235 = 2*tmp148*tmp3; double tmp236 = tmp77*tmp184*tmp168; -double tmp237 = -2*tmp158*tmp48*tmp121; +double tmp237 = -2*tmp158*tmp49*tmp121; double tmp238 = tmp236 + tmp237; double tmp239 = tmp123*tmp188; double tmp240 = 2*tmp104*tmp126*tmp188; double tmp241 = 2*tmp81*tmp129*tmp135*tmp191; double tmp242 = tmp239 + tmp240 + tmp241; double tmp243 = tmp77*tmp199*tmp168; -double tmp244 = -2*tmp195*tmp48*tmp121; +double tmp244 = -2*tmp195*tmp49*tmp121; double tmp245 = tmp243 + tmp244; double tmp246 = tmp123*tmp207; double tmp247 = 2*tmp104*tmp126*tmp207; @@ -259,129 +259,175 @@ double tmp257 = -2*tmp6*tmp0*tmp3; double tmp258 = -(tmp7*tmp12); double tmp259 = tmp251 + tmp252 + tmp253 + tmp254 + tmp255 + tmp256 + tmp257 + tmp258 + tmp15; double tmp260 = -2*tmp148*tmp0; -double tmp261 = 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp62*tmp101*tmp76*tmp102; -double tmp262 = 0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp166*tmp76*tmp78; -double tmp263 = 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp62*tmp76*tmp78*tmp134; -double tmp264 = 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp158*tmp101*tmp76*tmp102; -double tmp265 = 0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp67*tmp76*tmp78; -double tmp266 = 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp158*tmp76*tmp78*tmp134; -double tmp267 = set2(28+_OFF); -double tmp268 = set2(29+_OFF); -double tmp269 = set2(25+_OFF); -double tmp270 = set2(12+_OFF); -double tmp271 = set2(13+_OFF); -double tmp272 = x(11+_OFF); -double tmp273 = set2(14+_OFF); -double tmp274 = x(13+_OFF); -double tmp275 = set2(30+_OFF); -double tmp276 = set2(27+_OFF); -double tmp277 = tmp276*tmp267*tmp268; -double tmp278 = std::pow(tmp275,2); -double tmp279 = -(tmp267*tmp278); -double tmp280 = tmp277 + tmp279; -double tmp281 = 1/tmp280; -double tmp282 = set2(21+_OFF); -double tmp283 = set2(20+_OFF); -double tmp284 = tmp81*tmp270; -double tmp285 = (tmp271*tmp269*tmp79*tmp272)/2.; -double tmp286 = (tmp273*tmp269*tmp79*tmp274)/2.; -double tmp287 = set2(11+_OFF); -double tmp288 = z(2+_OFF); -double tmp289 = tmp287*tmp288; -double tmp290 = tmp284 + tmp285 + tmp286 + tmp289; -double tmp291 = tmp81*tmp282; -double tmp292 = (tmp283*tmp269*tmp79*tmp274)/2.; -double tmp293 = set2(19+_OFF); -double tmp294 = z(4+_OFF); -double tmp295 = tmp293*tmp294; -double tmp296 = tmp291 + tmp292 + tmp295; -double tmp297 = set2(22+_OFF); -double tmp298 = set2(18+_OFF); -double tmp299 = set2(17+_OFF); -double tmp300 = x(12+_OFF); -double tmp301 = tmp276*tmp268; -double tmp302 = -tmp278; -double tmp303 = tmp301 + tmp302; -double tmp304 = set2(15+_OFF); -double tmp305 = tmp104*tmp298; -double tmp306 = (tmp299*tmp297*tmp79*tmp300)/2.; -double tmp307 = set2(16+_OFF); -double tmp308 = z(3+_OFF); -double tmp309 = tmp307*tmp308; -double tmp310 = tmp304 + tmp305 + tmp306 + tmp309; -double tmp311 = tmp270*tmp135*tmp146; -double tmp312 = -(tmp271*tmp269*tmp74*tmp143*tmp272)/4.; -double tmp313 = -(tmp273*tmp269*tmp74*tmp143*tmp274)/4.; -double tmp314 = tmp311 + tmp312 + tmp313; -double tmp315 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp78*tmp314; -double tmp316 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp74*tmp290; +double tmp261 = 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp62*tmp101*tmp76*tmp102; +double tmp262 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp166*tmp76*tmp78; +double tmp263 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp62*tmp76*tmp78*tmp134; +double tmp264 = 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp158*tmp101*tmp76*tmp102; +double tmp265 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp67*tmp76*tmp78; +double tmp266 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp158*tmp76*tmp78*tmp134; +double tmp267 = ibd(2+_OFF); +double tmp268 = ibd(3+_OFF); +double tmp269 = ibod(1+_OFF); +double tmp270 = ibod(2+_OFF); +double tmp271 = ibod(3+_OFF); +double tmp272 = ibd(1+_OFF); +double tmp273 = std::pow(tmp271,2); +double tmp274 = cp(3+_OFF); +double tmp275 = mRoll(2+_OFF); +double tmp276 = mRoll(3+_OFF); +double tmp277 = x(11+_OFF); +double tmp278 = mRoll(4+_OFF); +double tmp279 = x(13+_OFF); +double tmp280 = tmp272*tmp267*tmp268; +double tmp281 = std::pow(tmp269,2); +double tmp282 = -(tmp267*tmp281); +double tmp283 = std::pow(tmp270,2); +double tmp284 = -(tmp268*tmp283); +double tmp285 = 2*tmp269*tmp270*tmp271; +double tmp286 = -(tmp272*tmp273); +double tmp287 = tmp280 + tmp282 + tmp284 + tmp285 + tmp286; +double tmp288 = 1/tmp287; +double tmp289 = cBar(1+_OFF); +double tmp290 = mPitch(4+_OFF); +double tmp291 = mPitch(3+_OFF); +double tmp292 = x(12+_OFF); +double tmp293 = mYaw(3+_OFF); +double tmp294 = mYaw(2+_OFF); +double tmp295 = tmp267*tmp268; +double tmp296 = -tmp273; +double tmp297 = tmp295 + tmp296; +double tmp298 = tmp81*tmp275; +double tmp299 = (tmp274*tmp276*tmp79*tmp277)/2.; +double tmp300 = (tmp274*tmp278*tmp79*tmp279)/2.; +double tmp301 = mRoll(1+_OFF); +double tmp302 = z(2+_OFF); +double tmp303 = tmp301*tmp302; +double tmp304 = tmp298 + tmp299 + tmp300 + tmp303; +double tmp305 = -(tmp268*tmp270); +double tmp306 = tmp269*tmp271; +double tmp307 = tmp305 + tmp306; +double tmp308 = mPitch(1+_OFF); +double tmp309 = tmp104*tmp290; +double tmp310 = (tmp289*tmp291*tmp79*tmp292)/2.; +double tmp311 = mPitch(2+_OFF); +double tmp312 = z(3+_OFF); +double tmp313 = tmp311*tmp312; +double tmp314 = tmp308 + tmp309 + tmp310 + tmp313; +double tmp315 = -(tmp267*tmp269); +double tmp316 = tmp270*tmp271; double tmp317 = tmp315 + tmp316; -double tmp318 = tmp282*tmp135*tmp146; -double tmp319 = -(tmp283*tmp269*tmp74*tmp143*tmp274)/4.; -double tmp320 = tmp318 + tmp319; -double tmp321 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp78*tmp320; -double tmp322 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp74*tmp296; -double tmp323 = tmp321 + tmp322; -double tmp324 = tmp270*tmp135*tmp174; -double tmp325 = -(tmp271*tmp269*tmp162*tmp143*tmp272)/4.; -double tmp326 = -(tmp273*tmp269*tmp162*tmp143*tmp274)/4.; +double tmp318 = tmp81*tmp293; +double tmp319 = (tmp274*tmp294*tmp79*tmp279)/2.; +double tmp320 = mYaw(1+_OFF); +double tmp321 = z(4+_OFF); +double tmp322 = tmp320*tmp321; +double tmp323 = tmp318 + tmp319 + tmp322; +double tmp324 = tmp275*tmp135*tmp146; +double tmp325 = -(tmp274*tmp276*tmp74*tmp143*tmp277)/4.; +double tmp326 = -(tmp274*tmp278*tmp74*tmp143*tmp279)/4.; double tmp327 = tmp324 + tmp325 + tmp326; -double tmp328 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp78*tmp327; -double tmp329 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp162*tmp290; +double tmp328 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp78*tmp327; +double tmp329 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp74*tmp304; double tmp330 = tmp328 + tmp329; -double tmp331 = tmp282*tmp135*tmp174; -double tmp332 = -(tmp283*tmp269*tmp162*tmp143*tmp274)/4.; +double tmp331 = tmp290*tmp142; +double tmp332 = -(tmp289*tmp291*tmp74*tmp143*tmp292)/4.; double tmp333 = tmp331 + tmp332; -double tmp334 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp78*tmp333; -double tmp335 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp162*tmp296; +double tmp334 = 0.0017418568193694477*tmp14*tmp39*tmp289*tmp52*tmp58*tmp78*tmp333; +double tmp335 = 0.0017418568193694477*tmp14*tmp39*tmp289*tmp52*tmp58*tmp74*tmp314; double tmp336 = tmp334 + tmp335; -double tmp337 = tmp270*tmp135*tmp191; -double tmp338 = -(tmp271*tmp269*tmp184*tmp143*tmp272)/4.; -double tmp339 = -(tmp273*tmp269*tmp184*tmp143*tmp274)/4.; -double tmp340 = tmp337 + tmp338 + tmp339; -double tmp341 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp78*tmp340; -double tmp342 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp184*tmp290; -double tmp343 = tmp341 + tmp342; -double tmp344 = tmp282*tmp135*tmp191; -double tmp345 = -(tmp283*tmp269*tmp184*tmp143*tmp274)/4.; -double tmp346 = tmp344 + tmp345; -double tmp347 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp78*tmp346; -double tmp348 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp184*tmp296; +double tmp337 = tmp293*tmp135*tmp146; +double tmp338 = -(tmp274*tmp294*tmp74*tmp143*tmp279)/4.; +double tmp339 = tmp337 + tmp338; +double tmp340 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp78*tmp339; +double tmp341 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp74*tmp323; +double tmp342 = tmp340 + tmp341; +double tmp343 = tmp275*tmp135*tmp174; +double tmp344 = -(tmp274*tmp276*tmp162*tmp143*tmp277)/4.; +double tmp345 = -(tmp274*tmp278*tmp162*tmp143*tmp279)/4.; +double tmp346 = tmp343 + tmp344 + tmp345; +double tmp347 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp78*tmp346; +double tmp348 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp162*tmp304; double tmp349 = tmp347 + tmp348; -double tmp350 = tmp270*tmp135*tmp210; -double tmp351 = -(tmp271*tmp269*tmp199*tmp143*tmp272)/4.; -double tmp352 = -(tmp273*tmp269*tmp199*tmp143*tmp274)/4.; -double tmp353 = tmp350 + tmp351 + tmp352; -double tmp354 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp78*tmp353; -double tmp355 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp199*tmp290; -double tmp356 = tmp354 + tmp355; -double tmp357 = tmp282*tmp135*tmp210; -double tmp358 = -(tmp283*tmp269*tmp199*tmp143*tmp274)/4.; -double tmp359 = tmp357 + tmp358; -double tmp360 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp78*tmp359; -double tmp361 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp269*tmp58*tmp199*tmp296; -double tmp362 = tmp360 + tmp361; -J(1+_OFF,1+_OFF) = tmp260 - tmp150*(0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp117*tmp74*tmp76 + 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp91*tmp101*tmp74*tmp76*tmp79 - 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp91*tmp101*tmp118*tmp119*tmp102 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp154*tmp91*tmp76*tmp102 + tmp261 - 0.0008709284096847238*tmp14*tmp51*tmp107*tmp52*tmp58*tmp117*tmp118*tmp119*tmp78 + tmp262 + 0.0017418568193694477*tmp14*tmp51*tmp105*tmp52*tmp58*tmp117*tmp76*tmp78*tmp142 + 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp91*tmp76*tmp78*tmp214*tmp135 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp91*tmp74*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp91*tmp118*tmp119*tmp78*tmp134 + tmp263 + 0.0017418568193694477*tmp14*tmp51*tmp82*tmp52*tmp58*tmp91*tmp101*tmp76*tmp102*tmp135*tmp146 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp91*tmp76*tmp78*tmp134*tmp227 + 0.0034837136387388954*tmp14*tmp51*tmp175*tmp58*(tmp176*tmp177*tmp74 + (tmp178*tmp179*tmp147*tmp74*tmp79*tmp180)/2.)); -J(1+_OFF,2+_OFF) = tmp235 - tmp150*(0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp117*tmp162*tmp76 + 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp91*tmp101*tmp162*tmp76*tmp79 - 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp91*tmp101*tmp167*tmp119*tmp102 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp166*tmp91*tmp76*tmp102 + tmp264 - 0.0008709284096847238*tmp14*tmp51*tmp107*tmp52*tmp58*tmp117*tmp167*tmp119*tmp78 + tmp265 + 0.0017418568193694477*tmp14*tmp51*tmp105*tmp52*tmp58*tmp117*tmp76*tmp78*tmp171 + 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp91*tmp76*tmp78*tmp230*tmp135 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp91*tmp162*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp91*tmp167*tmp119*tmp78*tmp134 + tmp266 + 0.0017418568193694477*tmp14*tmp51*tmp82*tmp52*tmp58*tmp91*tmp101*tmp76*tmp102*tmp135*tmp174 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp91*tmp76*tmp78*tmp134*tmp234 + 0.0034837136387388954*tmp14*tmp51*tmp175*tmp58*(tmp176*tmp177*tmp162 + (tmp178*tmp179*tmp147*tmp162*tmp79*tmp180)/2.)); -J(1+_OFF,3+_OFF) = -2*tmp148*tmp1 - tmp150*(0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp117*tmp184*tmp76 + 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp91*tmp101*tmp184*tmp76*tmp79 - 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp91*tmp101*tmp185*tmp119*tmp102 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp204*tmp91*tmp76*tmp102 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp166*tmp101*tmp76*tmp102 - 0.0008709284096847238*tmp14*tmp51*tmp107*tmp52*tmp58*tmp117*tmp185*tmp119*tmp78 + 0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp195*tmp76*tmp78 + 0.0017418568193694477*tmp14*tmp51*tmp105*tmp52*tmp58*tmp117*tmp76*tmp78*tmp188 + 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp91*tmp76*tmp78*tmp238*tmp135 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp91*tmp184*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp91*tmp185*tmp119*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp166*tmp76*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp51*tmp82*tmp52*tmp58*tmp91*tmp101*tmp76*tmp102*tmp135*tmp191 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp91*tmp76*tmp78*tmp134*tmp242 + 0.0034837136387388954*tmp14*tmp51*tmp175*tmp58*(tmp176*tmp177*tmp184 + (tmp178*tmp179*tmp147*tmp184*tmp79*tmp180)/2.)); -J(1+_OFF,4+_OFF) = tmp211 - tmp150*(0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp117*tmp199*tmp76 + 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp91*tmp101*tmp199*tmp76*tmp79 - 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp91*tmp101*tmp200*tmp119*tmp102 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp62*tmp91*tmp76*tmp102 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp67*tmp101*tmp76*tmp102 - 0.0008709284096847238*tmp14*tmp51*tmp107*tmp52*tmp58*tmp117*tmp200*tmp119*tmp78 + 0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp204*tmp76*tmp78 + 0.0017418568193694477*tmp14*tmp51*tmp105*tmp52*tmp58*tmp117*tmp76*tmp78*tmp207 + 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp91*tmp76*tmp78*tmp245*tmp135 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp91*tmp199*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp91*tmp200*tmp119*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp67*tmp76*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp51*tmp82*tmp52*tmp58*tmp91*tmp101*tmp76*tmp102*tmp135*tmp210 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp91*tmp76*tmp78*tmp134*tmp249 + 0.0034837136387388954*tmp14*tmp51*tmp175*tmp58*(tmp176*tmp177*tmp199 + (tmp178*tmp179*tmp147*tmp199*tmp79*tmp180)/2.)); -J(2+_OFF,1+_OFF) = tmp211 - tmp150*(0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp223*tmp74*tmp79 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp67*tmp102 + 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp78*tmp214*tmp135 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp74*tmp134 + 0.0017418568193694477*tmp14*tmp51*tmp82*tmp52*tmp58*tmp78*tmp146 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp223*tmp102*tmp227); -J(2+_OFF,2+_OFF) = tmp250 - tmp150*(0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp223*tmp162*tmp79 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp72*tmp102 + 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp78*tmp230*tmp135 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp162*tmp134 + 0.0017418568193694477*tmp14*tmp51*tmp82*tmp52*tmp58*tmp78*tmp174 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp223*tmp102*tmp234); -J(2+_OFF,3+_OFF) = tmp235 - tmp150*(0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp223*tmp184*tmp79 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp158*tmp102 + 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp78*tmp238*tmp135 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp184*tmp134 + 0.0017418568193694477*tmp14*tmp51*tmp82*tmp52*tmp58*tmp78*tmp191 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp223*tmp102*tmp242); -J(2+_OFF,4+_OFF) = 2*tmp148*tmp0 - tmp150*(0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp223*tmp199*tmp79 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp195*tmp102 + 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp78*tmp245*tmp135 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp199*tmp134 + 0.0017418568193694477*tmp14*tmp51*tmp82*tmp52*tmp58*tmp78*tmp210 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp223*tmp102*tmp249); -J(3+_OFF,1+_OFF) = tmp250 - tmp150*(0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp91*tmp74*tmp76 + 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp101*tmp259*tmp74*tmp76*tmp79 - 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp101*tmp259*tmp118*tmp119*tmp102 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp72*tmp101*tmp76*tmp102 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp154*tmp259*tmp76*tmp102 - 0.0008709284096847238*tmp14*tmp51*tmp107*tmp52*tmp58*tmp91*tmp118*tmp119*tmp78 + 0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp62*tmp76*tmp78 + 0.0017418568193694477*tmp14*tmp51*tmp105*tmp52*tmp58*tmp91*tmp76*tmp78*tmp142 + 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp259*tmp76*tmp78*tmp214*tmp135 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp259*tmp74*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp259*tmp118*tmp119*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp72*tmp76*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp51*tmp82*tmp52*tmp58*tmp101*tmp259*tmp76*tmp102*tmp135*tmp146 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp259*tmp76*tmp78*tmp134*tmp227); -J(3+_OFF,2+_OFF) = -2*tmp148*tmp2 - tmp150*(0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp91*tmp162*tmp76 + 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp101*tmp259*tmp162*tmp76*tmp79 - 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp101*tmp259*tmp167*tmp119*tmp102 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp154*tmp101*tmp76*tmp102 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp166*tmp259*tmp76*tmp102 - 0.0008709284096847238*tmp14*tmp51*tmp107*tmp52*tmp58*tmp91*tmp167*tmp119*tmp78 + 0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp158*tmp76*tmp78 + 0.0017418568193694477*tmp14*tmp51*tmp105*tmp52*tmp58*tmp91*tmp76*tmp78*tmp171 + 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp259*tmp76*tmp78*tmp230*tmp135 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp259*tmp162*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp259*tmp167*tmp119*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp154*tmp76*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp51*tmp82*tmp52*tmp58*tmp101*tmp259*tmp76*tmp102*tmp135*tmp174 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp259*tmp76*tmp78*tmp134*tmp234); -J(3+_OFF,3+_OFF) = tmp260 - tmp150*(0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp91*tmp184*tmp76 + 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp101*tmp259*tmp184*tmp76*tmp79 - 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp101*tmp259*tmp185*tmp119*tmp102 + tmp261 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp204*tmp259*tmp76*tmp102 - 0.0008709284096847238*tmp14*tmp51*tmp107*tmp52*tmp58*tmp91*tmp185*tmp119*tmp78 + tmp262 + 0.0017418568193694477*tmp14*tmp51*tmp105*tmp52*tmp58*tmp91*tmp76*tmp78*tmp188 + 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp259*tmp76*tmp78*tmp238*tmp135 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp259*tmp184*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp259*tmp185*tmp119*tmp78*tmp134 + tmp263 + 0.0017418568193694477*tmp14*tmp51*tmp82*tmp52*tmp58*tmp101*tmp259*tmp76*tmp102*tmp135*tmp191 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp259*tmp76*tmp78*tmp134*tmp242); -J(3+_OFF,4+_OFF) = tmp235 - tmp150*(0.0017418568193694477*tmp14*tmp51*tmp107*tmp52*tmp58*tmp91*tmp199*tmp76 + 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp101*tmp259*tmp199*tmp76*tmp79 - 0.0008709284096847238*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp101*tmp259*tmp200*tmp119*tmp102 + tmp264 + 0.0017418568193694477*tmp81*tmp14*tmp51*tmp82*tmp52*tmp58*tmp62*tmp259*tmp76*tmp102 - 0.0008709284096847238*tmp14*tmp51*tmp107*tmp52*tmp58*tmp91*tmp200*tmp119*tmp78 + tmp265 + 0.0017418568193694477*tmp14*tmp51*tmp105*tmp52*tmp58*tmp91*tmp76*tmp78*tmp207 + 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp259*tmp76*tmp78*tmp245*tmp135 + 0.0017418568193694477*tmp14*tmp51*tmp131*tmp52*tmp58*tmp259*tmp199*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp51*tmp131*tmp52*tmp58*tmp259*tmp200*tmp119*tmp78*tmp134 + tmp266 + 0.0017418568193694477*tmp14*tmp51*tmp82*tmp52*tmp58*tmp101*tmp259*tmp76*tmp102*tmp135*tmp210 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp259*tmp76*tmp78*tmp134*tmp249); -J(4+_OFF,1+_OFF) = -(tmp267*tmp268*tmp281*tmp317) + tmp267*tmp275*tmp281*tmp323; -J(4+_OFF,2+_OFF) = -(tmp267*tmp268*tmp281*tmp330) + tmp267*tmp275*tmp281*tmp336; -J(4+_OFF,3+_OFF) = -(tmp267*tmp268*tmp281*tmp343) + tmp267*tmp275*tmp281*tmp349; -J(4+_OFF,4+_OFF) = -(tmp267*tmp268*tmp281*tmp356) + tmp267*tmp275*tmp281*tmp362; -J(5+_OFF,1+_OFF) = -(tmp303*tmp281*(0.0017418568193694477*tmp14*tmp51*tmp297*tmp52*tmp58*tmp78*(tmp298*tmp142 - (tmp299*tmp297*tmp74*tmp143*tmp300)/4.) + 0.0017418568193694477*tmp14*tmp51*tmp297*tmp52*tmp58*tmp74*tmp310)); -J(5+_OFF,2+_OFF) = -(tmp303*tmp281*(0.0017418568193694477*tmp14*tmp51*tmp297*tmp52*tmp58*tmp78*(tmp298*tmp171 - (tmp299*tmp297*tmp162*tmp143*tmp300)/4.) + 0.0017418568193694477*tmp14*tmp51*tmp297*tmp52*tmp58*tmp162*tmp310)); -J(5+_OFF,3+_OFF) = -(tmp303*tmp281*(0.0017418568193694477*tmp14*tmp51*tmp297*tmp52*tmp58*tmp78*(tmp298*tmp188 - (tmp299*tmp297*tmp184*tmp143*tmp300)/4.) + 0.0017418568193694477*tmp14*tmp51*tmp297*tmp52*tmp58*tmp184*tmp310)); -J(5+_OFF,4+_OFF) = -(tmp303*tmp281*(0.0017418568193694477*tmp14*tmp51*tmp297*tmp52*tmp58*tmp78*(tmp298*tmp207 - (tmp299*tmp297*tmp199*tmp143*tmp300)/4.) + 0.0017418568193694477*tmp14*tmp51*tmp297*tmp52*tmp58*tmp199*tmp310)); -J(6+_OFF,1+_OFF) = tmp267*tmp275*tmp281*tmp317 - tmp276*tmp267*tmp281*tmp323; -J(6+_OFF,2+_OFF) = tmp267*tmp275*tmp281*tmp330 - tmp276*tmp267*tmp281*tmp336; -J(6+_OFF,3+_OFF) = tmp267*tmp275*tmp281*tmp343 - tmp276*tmp267*tmp281*tmp349; -J(6+_OFF,4+_OFF) = tmp267*tmp275*tmp281*tmp356 - tmp276*tmp267*tmp281*tmp362; +double tmp350 = tmp272*tmp268; +double tmp351 = -tmp281; +double tmp352 = tmp350 + tmp351; +double tmp353 = tmp290*tmp171; +double tmp354 = -(tmp289*tmp291*tmp162*tmp143*tmp292)/4.; +double tmp355 = tmp353 + tmp354; +double tmp356 = 0.0017418568193694477*tmp14*tmp39*tmp289*tmp52*tmp58*tmp78*tmp355; +double tmp357 = 0.0017418568193694477*tmp14*tmp39*tmp289*tmp52*tmp58*tmp162*tmp314; +double tmp358 = tmp356 + tmp357; +double tmp359 = tmp269*tmp270; +double tmp360 = -(tmp272*tmp271); +double tmp361 = tmp359 + tmp360; +double tmp362 = tmp293*tmp135*tmp174; +double tmp363 = -(tmp274*tmp294*tmp162*tmp143*tmp279)/4.; +double tmp364 = tmp362 + tmp363; +double tmp365 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp78*tmp364; +double tmp366 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp162*tmp323; +double tmp367 = tmp365 + tmp366; +double tmp368 = tmp275*tmp135*tmp191; +double tmp369 = -(tmp274*tmp276*tmp184*tmp143*tmp277)/4.; +double tmp370 = -(tmp274*tmp278*tmp184*tmp143*tmp279)/4.; +double tmp371 = tmp368 + tmp369 + tmp370; +double tmp372 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp78*tmp371; +double tmp373 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp184*tmp304; +double tmp374 = tmp372 + tmp373; +double tmp375 = tmp290*tmp188; +double tmp376 = -(tmp289*tmp291*tmp184*tmp143*tmp292)/4.; +double tmp377 = tmp375 + tmp376; +double tmp378 = 0.0017418568193694477*tmp14*tmp39*tmp289*tmp52*tmp58*tmp78*tmp377; +double tmp379 = 0.0017418568193694477*tmp14*tmp39*tmp289*tmp52*tmp58*tmp184*tmp314; +double tmp380 = tmp378 + tmp379; +double tmp381 = tmp293*tmp135*tmp191; +double tmp382 = -(tmp274*tmp294*tmp184*tmp143*tmp279)/4.; +double tmp383 = tmp381 + tmp382; +double tmp384 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp78*tmp383; +double tmp385 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp184*tmp323; +double tmp386 = tmp384 + tmp385; +double tmp387 = tmp275*tmp135*tmp210; +double tmp388 = -(tmp274*tmp276*tmp199*tmp143*tmp277)/4.; +double tmp389 = -(tmp274*tmp278*tmp199*tmp143*tmp279)/4.; +double tmp390 = tmp387 + tmp388 + tmp389; +double tmp391 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp78*tmp390; +double tmp392 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp199*tmp304; +double tmp393 = tmp391 + tmp392; +double tmp394 = tmp290*tmp207; +double tmp395 = -(tmp289*tmp291*tmp199*tmp143*tmp292)/4.; +double tmp396 = tmp394 + tmp395; +double tmp397 = 0.0017418568193694477*tmp14*tmp39*tmp289*tmp52*tmp58*tmp78*tmp396; +double tmp398 = 0.0017418568193694477*tmp14*tmp39*tmp289*tmp52*tmp58*tmp199*tmp314; +double tmp399 = tmp397 + tmp398; +double tmp400 = tmp293*tmp135*tmp210; +double tmp401 = -(tmp274*tmp294*tmp199*tmp143*tmp279)/4.; +double tmp402 = tmp400 + tmp401; +double tmp403 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp78*tmp402; +double tmp404 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp199*tmp323; +double tmp405 = tmp403 + tmp404; +double tmp406 = tmp272*tmp267; +double tmp407 = -tmp283; +double tmp408 = tmp406 + tmp407; +J(1+_OFF,1+_OFF) = tmp260 - tmp150*(0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp117*tmp74*tmp76 + 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp91*tmp101*tmp74*tmp76*tmp79 - 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp91*tmp101*tmp118*tmp119*tmp102 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp154*tmp91*tmp76*tmp102 + tmp261 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp107*tmp58*tmp117*tmp118*tmp119*tmp78 + tmp262 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp105*tmp58*tmp117*tmp76*tmp78*tmp142 + 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp91*tmp76*tmp78*tmp214*tmp135 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp91*tmp74*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp91*tmp118*tmp119*tmp78*tmp134 + tmp263 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp82*tmp58*tmp91*tmp101*tmp76*tmp102*tmp135*tmp146 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp91*tmp76*tmp78*tmp134*tmp227 + 0.0034837136387388954*tmp14*tmp39*tmp175*tmp58*(tmp176*tmp177*tmp74 + (tmp178*tmp147*tmp179*tmp74*tmp79*tmp180)/2.)); +J(1+_OFF,2+_OFF) = tmp235 - tmp150*(0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp117*tmp162*tmp76 + 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp91*tmp101*tmp162*tmp76*tmp79 - 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp91*tmp101*tmp167*tmp119*tmp102 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp166*tmp91*tmp76*tmp102 + tmp264 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp107*tmp58*tmp117*tmp167*tmp119*tmp78 + tmp265 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp105*tmp58*tmp117*tmp76*tmp78*tmp171 + 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp91*tmp76*tmp78*tmp230*tmp135 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp91*tmp162*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp91*tmp167*tmp119*tmp78*tmp134 + tmp266 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp82*tmp58*tmp91*tmp101*tmp76*tmp102*tmp135*tmp174 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp91*tmp76*tmp78*tmp134*tmp234 + 0.0034837136387388954*tmp14*tmp39*tmp175*tmp58*(tmp176*tmp177*tmp162 + (tmp178*tmp147*tmp179*tmp162*tmp79*tmp180)/2.)); +J(1+_OFF,3+_OFF) = -2*tmp148*tmp1 - tmp150*(0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp117*tmp184*tmp76 + 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp91*tmp101*tmp184*tmp76*tmp79 - 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp91*tmp101*tmp185*tmp119*tmp102 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp204*tmp91*tmp76*tmp102 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp166*tmp101*tmp76*tmp102 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp107*tmp58*tmp117*tmp185*tmp119*tmp78 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp195*tmp76*tmp78 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp105*tmp58*tmp117*tmp76*tmp78*tmp188 + 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp91*tmp76*tmp78*tmp238*tmp135 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp91*tmp184*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp91*tmp185*tmp119*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp166*tmp76*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp82*tmp58*tmp91*tmp101*tmp76*tmp102*tmp135*tmp191 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp91*tmp76*tmp78*tmp134*tmp242 + 0.0034837136387388954*tmp14*tmp39*tmp175*tmp58*(tmp176*tmp177*tmp184 + (tmp178*tmp147*tmp179*tmp184*tmp79*tmp180)/2.)); +J(1+_OFF,4+_OFF) = tmp211 - tmp150*(0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp117*tmp199*tmp76 + 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp91*tmp101*tmp199*tmp76*tmp79 - 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp91*tmp101*tmp200*tmp119*tmp102 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp62*tmp91*tmp76*tmp102 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp67*tmp101*tmp76*tmp102 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp107*tmp58*tmp117*tmp200*tmp119*tmp78 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp204*tmp76*tmp78 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp105*tmp58*tmp117*tmp76*tmp78*tmp207 + 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp91*tmp76*tmp78*tmp245*tmp135 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp91*tmp199*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp91*tmp200*tmp119*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp67*tmp76*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp82*tmp58*tmp91*tmp101*tmp76*tmp102*tmp135*tmp210 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp91*tmp76*tmp78*tmp134*tmp249 + 0.0034837136387388954*tmp14*tmp39*tmp175*tmp58*(tmp176*tmp177*tmp199 + (tmp178*tmp147*tmp179*tmp199*tmp79*tmp180)/2.)); +J(2+_OFF,1+_OFF) = tmp211 - tmp150*(0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp223*tmp74*tmp79 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp67*tmp102 + 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp78*tmp214*tmp135 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp74*tmp134 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp82*tmp58*tmp78*tmp146 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp223*tmp102*tmp227); +J(2+_OFF,2+_OFF) = tmp250 - tmp150*(0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp223*tmp162*tmp79 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp72*tmp102 + 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp78*tmp230*tmp135 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp162*tmp134 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp82*tmp58*tmp78*tmp174 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp223*tmp102*tmp234); +J(2+_OFF,3+_OFF) = tmp235 - tmp150*(0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp223*tmp184*tmp79 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp158*tmp102 + 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp78*tmp238*tmp135 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp184*tmp134 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp82*tmp58*tmp78*tmp191 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp223*tmp102*tmp242); +J(2+_OFF,4+_OFF) = 2*tmp148*tmp0 - tmp150*(0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp223*tmp199*tmp79 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp195*tmp102 + 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp78*tmp245*tmp135 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp199*tmp134 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp82*tmp58*tmp78*tmp210 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp223*tmp102*tmp249); +J(3+_OFF,1+_OFF) = tmp250 - tmp150*(0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp91*tmp74*tmp76 + 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp101*tmp259*tmp74*tmp76*tmp79 - 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp101*tmp259*tmp118*tmp119*tmp102 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp72*tmp101*tmp76*tmp102 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp154*tmp259*tmp76*tmp102 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp107*tmp58*tmp91*tmp118*tmp119*tmp78 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp62*tmp76*tmp78 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp105*tmp58*tmp91*tmp76*tmp78*tmp142 + 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp259*tmp76*tmp78*tmp214*tmp135 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp259*tmp74*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp259*tmp118*tmp119*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp72*tmp76*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp82*tmp58*tmp101*tmp259*tmp76*tmp102*tmp135*tmp146 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp259*tmp76*tmp78*tmp134*tmp227); +J(3+_OFF,2+_OFF) = -2*tmp148*tmp2 - tmp150*(0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp91*tmp162*tmp76 + 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp101*tmp259*tmp162*tmp76*tmp79 - 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp101*tmp259*tmp167*tmp119*tmp102 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp154*tmp101*tmp76*tmp102 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp166*tmp259*tmp76*tmp102 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp107*tmp58*tmp91*tmp167*tmp119*tmp78 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp158*tmp76*tmp78 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp105*tmp58*tmp91*tmp76*tmp78*tmp171 + 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp259*tmp76*tmp78*tmp230*tmp135 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp259*tmp162*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp259*tmp167*tmp119*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp154*tmp76*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp82*tmp58*tmp101*tmp259*tmp76*tmp102*tmp135*tmp174 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp259*tmp76*tmp78*tmp134*tmp234); +J(3+_OFF,3+_OFF) = tmp260 - tmp150*(0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp91*tmp184*tmp76 + 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp101*tmp259*tmp184*tmp76*tmp79 - 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp101*tmp259*tmp185*tmp119*tmp102 + tmp261 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp204*tmp259*tmp76*tmp102 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp107*tmp58*tmp91*tmp185*tmp119*tmp78 + tmp262 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp105*tmp58*tmp91*tmp76*tmp78*tmp188 + 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp259*tmp76*tmp78*tmp238*tmp135 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp259*tmp184*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp259*tmp185*tmp119*tmp78*tmp134 + tmp263 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp82*tmp58*tmp101*tmp259*tmp76*tmp102*tmp135*tmp191 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp259*tmp76*tmp78*tmp134*tmp242); +J(3+_OFF,4+_OFF) = tmp235 - tmp150*(0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp91*tmp199*tmp76 + 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp101*tmp259*tmp199*tmp76*tmp79 - 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp101*tmp259*tmp200*tmp119*tmp102 + tmp264 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp62*tmp259*tmp76*tmp102 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp107*tmp58*tmp91*tmp200*tmp119*tmp78 + tmp265 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp105*tmp58*tmp91*tmp76*tmp78*tmp207 + 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp259*tmp76*tmp78*tmp245*tmp135 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp259*tmp199*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp259*tmp200*tmp119*tmp78*tmp134 + tmp266 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp82*tmp58*tmp101*tmp259*tmp76*tmp102*tmp135*tmp210 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp259*tmp76*tmp78*tmp134*tmp249); +J(4+_OFF,1+_OFF) = -(tmp297*tmp288*tmp330) - tmp307*tmp288*tmp336 - tmp317*tmp288*tmp342; +J(4+_OFF,2+_OFF) = -(tmp297*tmp288*tmp349) - tmp307*tmp288*tmp358 - tmp317*tmp288*tmp367; +J(4+_OFF,3+_OFF) = -(tmp297*tmp288*tmp374) - tmp307*tmp288*tmp380 - tmp317*tmp288*tmp386; +J(4+_OFF,4+_OFF) = -(tmp297*tmp288*tmp393) - tmp307*tmp288*tmp399 - tmp317*tmp288*tmp405; +J(5+_OFF,1+_OFF) = -(tmp307*tmp288*tmp330) - tmp352*tmp288*tmp336 - tmp361*tmp288*tmp342; +J(5+_OFF,2+_OFF) = -(tmp307*tmp288*tmp349) - tmp352*tmp288*tmp358 - tmp361*tmp288*tmp367; +J(5+_OFF,3+_OFF) = -(tmp307*tmp288*tmp374) - tmp352*tmp288*tmp380 - tmp361*tmp288*tmp386; +J(5+_OFF,4+_OFF) = -(tmp307*tmp288*tmp393) - tmp352*tmp288*tmp399 - tmp361*tmp288*tmp405; +J(6+_OFF,1+_OFF) = -(tmp317*tmp288*tmp330) - tmp361*tmp288*tmp336 - tmp408*tmp288*tmp342; +J(6+_OFF,2+_OFF) = -(tmp317*tmp288*tmp349) - tmp361*tmp288*tmp358 - tmp408*tmp288*tmp367; +J(6+_OFF,3+_OFF) = -(tmp317*tmp288*tmp374) - tmp361*tmp288*tmp380 - tmp408*tmp288*tmp386; +J(6+_OFF,4+_OFF) = -(tmp317*tmp288*tmp393) - tmp361*tmp288*tmp399 - tmp408*tmp288*tmp405; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrV.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrV.cppready index 2adba55..3b53c6f 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrV.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrV.cppready @@ -11,7 +11,7 @@ double tmp9 = std::pow(tmp2,2); double tmp10 = std::pow(tmp1,2); double tmp11 = -tmp10; double tmp12 = std::pow(tmp3,2); -double tmp13 = set1(2+_OFF); +double tmp13 = airDensity(2+_OFF); double tmp14 = 1/tmp13; double tmp15 = tmp2*tmp1; double tmp16 = tmp0*tmp3; @@ -37,34 +37,34 @@ double tmp35 = -tmp9; double tmp36 = tmp8 + tmp35 + tmp11 + tmp12; double tmp37 = -(tmp7*tmp36); double tmp38 = tmp30 + tmp34 + tmp37 + tmp27; -double tmp39 = std::pow(tmp26,2); -double tmp40 = -(tmp0*tmp3); -double tmp41 = tmp15 + tmp40; -double tmp42 = -2*tmp4*tmp41; -double tmp43 = tmp0*tmp2; -double tmp44 = tmp43 + tmp32; -double tmp45 = -2*tmp7*tmp44; -double tmp46 = tmp8 + tmp35 + tmp10 + tmp22; -double tmp47 = -(tmp6*tmp46); -double tmp48 = x(9+_OFF); -double tmp49 = tmp42 + tmp45 + tmp47 + tmp48; -double tmp50 = std::pow(tmp38,2); -double tmp51 = set1(3+_OFF); -double tmp52 = set2(24+_OFF); -double tmp53 = set1(1+_OFF); +double tmp39 = airDensity(3+_OFF); +double tmp40 = std::pow(tmp26,2); +double tmp41 = -(tmp0*tmp3); +double tmp42 = tmp15 + tmp41; +double tmp43 = -2*tmp4*tmp42; +double tmp44 = tmp0*tmp2; +double tmp45 = tmp44 + tmp32; +double tmp46 = -2*tmp7*tmp45; +double tmp47 = tmp8 + tmp35 + tmp10 + tmp22; +double tmp48 = -(tmp6*tmp47); +double tmp49 = x(9+_OFF); +double tmp50 = tmp43 + tmp46 + tmp48 + tmp49; +double tmp51 = std::pow(tmp38,2); +double tmp52 = cp(2+_OFF); +double tmp53 = airDensity(1+_OFF); double tmp54 = x(3+_OFF); double tmp55 = tmp53 + tmp54; double tmp56 = -0.006500000000000001*tmp14*tmp55; double tmp57 = 1 + tmp56; double tmp58 = std::pow(tmp57,4.2561); -double tmp59 = tmp39 + tmp50; +double tmp59 = tmp40 + tmp51; double tmp60 = 1/std::sqrt(tmp59); -double tmp61 = std::pow(tmp49,2); -double tmp62 = tmp39 + tmp61 + tmp50; +double tmp61 = std::pow(tmp50,2); +double tmp62 = tmp40 + tmp61 + tmp51; double tmp63 = 1/std::sqrt(tmp62); -double tmp64 = tmp49*tmp63; +double tmp64 = tmp50*tmp63; double tmp65 = std::asin(tmp64); -double tmp66 = set2(8+_OFF); +double tmp66 = fLat(1+_OFF); double tmp67 = -(tmp4*tmp8); double tmp68 = -(tmp4*tmp9); double tmp69 = 2*tmp7*tmp0*tmp1; @@ -82,12 +82,12 @@ double tmp80 = tmp6*tmp10; double tmp81 = -2*tmp4*tmp0*tmp3; double tmp82 = 2*tmp7*tmp1*tmp3; double tmp83 = -(tmp6*tmp12); -double tmp84 = -tmp48; +double tmp84 = -tmp49; double tmp85 = tmp76 + tmp77 + tmp78 + tmp79 + tmp80 + tmp81 + tmp82 + tmp83 + tmp84; double tmp86 = std::sqrt(tmp62); -double tmp87 = set2(9+_OFF); +double tmp87 = fLift(1+_OFF); double tmp88 = std::atan2(tmp38,tmp26); -double tmp89 = set2(10+_OFF); +double tmp89 = fLift(2+_OFF); double tmp90 = tmp88*tmp89; double tmp91 = tmp87 + tmp90; double tmp92 = tmp7*tmp8; @@ -105,14 +105,14 @@ double tmp103 = 1/tmp62; double tmp104 = -(tmp61*tmp103); double tmp105 = 1 + tmp104; double tmp106 = 1/std::sqrt(tmp105); -double tmp107 = set2(4+_OFF); -double tmp108 = set2(5+_OFF); +double tmp107 = fDrag(1+_OFF); +double tmp108 = fDrag(2+_OFF); double tmp109 = tmp88*tmp108; double tmp110 = std::pow(tmp88,2); -double tmp111 = set2(6+_OFF); +double tmp111 = fDrag(3+_OFF); double tmp112 = tmp110*tmp111; double tmp113 = std::pow(tmp65,2); -double tmp114 = set2(7+_OFF); +double tmp114 = fDrag(4+_OFF); double tmp115 = tmp113*tmp114; double tmp116 = tmp107 + tmp109 + tmp112 + tmp115; double tmp117 = std::sqrt(tmp105); @@ -121,17 +121,17 @@ double tmp119 = 2*tmp6*tmp33; double tmp120 = tmp7*tmp36; double tmp121 = tmp118 + tmp119 + tmp120 + tmp100; double tmp122 = 1/tmp59; -double tmp123 = set2(23+_OFF); -double tmp124 = set2(26+_OFF); +double tmp123 = cp(1+_OFF); +double tmp124 = cp(4+_OFF); double tmp125 = 1/tmp124; double tmp126 = std::pow(tmp62,-1.5); double tmp127 = -(tmp61*tmp126); double tmp128 = tmp127 + tmp63; double tmp129 = std::pow(tmp123,2); double tmp130 = std::pow(M_PI,-2); -double tmp131 = set2(3+_OFF); +double tmp131 = fThrust(3+_OFF); double tmp132 = 1/M_PI; -double tmp133 = set2(2+_OFF); +double tmp133 = fThrust(2+_OFF); double tmp134 = z(1+_OFF); double tmp135 = -(tmp6*tmp8); double tmp136 = -2*tmp7*tmp0*tmp2; @@ -141,19 +141,19 @@ double tmp139 = -(tmp6*tmp10); double tmp140 = 2*tmp4*tmp0*tmp3; double tmp141 = -2*tmp7*tmp1*tmp3; double tmp142 = tmp6*tmp12; -double tmp143 = tmp135 + tmp136 + tmp137 + tmp138 + tmp139 + tmp140 + tmp141 + tmp142 + tmp48; +double tmp143 = tmp135 + tmp136 + tmp137 + tmp138 + tmp139 + tmp140 + tmp141 + tmp142 + tmp49; double tmp144 = tmp108*tmp121*tmp122; double tmp145 = 2*tmp88*tmp111*tmp121*tmp122; -double tmp146 = -2*tmp65*tmp114*tmp26*tmp49*tmp126*tmp106; +double tmp146 = -2*tmp65*tmp114*tmp26*tmp50*tmp126*tmp106; double tmp147 = tmp144 + tmp145 + tmp146; -double tmp148 = std::pow(tmp49,3); +double tmp148 = std::pow(tmp50,3); double tmp149 = std::pow(tmp62,-2); double tmp150 = 2*tmp148*tmp149; -double tmp151 = -2*tmp49*tmp103; +double tmp151 = -2*tmp50*tmp103; double tmp152 = tmp150 + tmp151; double tmp153 = tmp108*tmp26*tmp122; double tmp154 = 2*tmp88*tmp111*tmp26*tmp122; -double tmp155 = -2*tmp65*tmp114*tmp49*tmp38*tmp126*tmp106; +double tmp155 = -2*tmp65*tmp114*tmp50*tmp38*tmp126*tmp106; double tmp156 = tmp153 + tmp154 + tmp155; double tmp157 = -(tmp7*tmp8); double tmp158 = 2*tmp6*tmp0*tmp2; @@ -164,106 +164,144 @@ double tmp162 = -2*tmp4*tmp2*tmp3; double tmp163 = -2*tmp6*tmp1*tmp3; double tmp164 = -(tmp7*tmp12); double tmp165 = tmp157 + tmp158 + tmp159 + tmp160 + tmp161 + tmp162 + tmp163 + tmp164 + tmp27; -double tmp166 = 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp85*tmp60*tmp86; -double tmp167 = 0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp60*tmp62*tmp117; -double tmp168 = set2(28+_OFF); -double tmp169 = set2(29+_OFF); -double tmp170 = set2(25+_OFF); -double tmp171 = set2(12+_OFF); -double tmp172 = set2(13+_OFF); -double tmp173 = x(11+_OFF); -double tmp174 = set2(14+_OFF); -double tmp175 = x(13+_OFF); -double tmp176 = set2(30+_OFF); -double tmp177 = set2(27+_OFF); -double tmp178 = tmp177*tmp168*tmp169; -double tmp179 = std::pow(tmp176,2); -double tmp180 = -(tmp168*tmp179); -double tmp181 = tmp178 + tmp180; -double tmp182 = 1/tmp181; -double tmp183 = set2(21+_OFF); -double tmp184 = set2(20+_OFF); -double tmp185 = tmp65*tmp171; -double tmp186 = (tmp172*tmp170*tmp63*tmp173)/2.; -double tmp187 = (tmp174*tmp170*tmp63*tmp175)/2.; -double tmp188 = set2(11+_OFF); -double tmp189 = z(2+_OFF); -double tmp190 = tmp188*tmp189; -double tmp191 = tmp185 + tmp186 + tmp187 + tmp190; -double tmp192 = tmp65*tmp183; -double tmp193 = (tmp184*tmp170*tmp63*tmp175)/2.; -double tmp194 = set2(19+_OFF); -double tmp195 = z(4+_OFF); -double tmp196 = tmp194*tmp195; -double tmp197 = tmp192 + tmp193 + tmp196; -double tmp198 = set2(22+_OFF); -double tmp199 = set2(18+_OFF); -double tmp200 = set2(17+_OFF); -double tmp201 = x(12+_OFF); -double tmp202 = tmp177*tmp169; -double tmp203 = -tmp179; -double tmp204 = tmp202 + tmp203; -double tmp205 = set2(15+_OFF); -double tmp206 = tmp88*tmp199; -double tmp207 = (tmp200*tmp198*tmp63*tmp201)/2.; -double tmp208 = set2(16+_OFF); -double tmp209 = z(3+_OFF); -double tmp210 = tmp208*tmp209; -double tmp211 = tmp205 + tmp206 + tmp207 + tmp210; -double tmp212 = -(tmp171*tmp26*tmp49*tmp126*tmp106); -double tmp213 = -(tmp172*tmp170*tmp26*tmp126*tmp173)/2.; -double tmp214 = -(tmp174*tmp170*tmp26*tmp126*tmp175)/2.; -double tmp215 = tmp212 + tmp213 + tmp214; -double tmp216 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp170*tmp58*tmp62*tmp215; -double tmp217 = 0.0034837136387388954*tmp14*tmp51*tmp52*tmp170*tmp58*tmp26*tmp191; +double tmp166 = 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp85*tmp60*tmp86; +double tmp167 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp60*tmp62*tmp117; +double tmp168 = ibd(2+_OFF); +double tmp169 = ibd(3+_OFF); +double tmp170 = ibod(1+_OFF); +double tmp171 = ibod(2+_OFF); +double tmp172 = ibod(3+_OFF); +double tmp173 = ibd(1+_OFF); +double tmp174 = std::pow(tmp172,2); +double tmp175 = cp(3+_OFF); +double tmp176 = mRoll(2+_OFF); +double tmp177 = mRoll(3+_OFF); +double tmp178 = x(11+_OFF); +double tmp179 = mRoll(4+_OFF); +double tmp180 = x(13+_OFF); +double tmp181 = tmp173*tmp168*tmp169; +double tmp182 = std::pow(tmp170,2); +double tmp183 = -(tmp168*tmp182); +double tmp184 = std::pow(tmp171,2); +double tmp185 = -(tmp169*tmp184); +double tmp186 = 2*tmp170*tmp171*tmp172; +double tmp187 = -(tmp173*tmp174); +double tmp188 = tmp181 + tmp183 + tmp185 + tmp186 + tmp187; +double tmp189 = 1/tmp188; +double tmp190 = cBar(1+_OFF); +double tmp191 = mPitch(4+_OFF); +double tmp192 = mPitch(3+_OFF); +double tmp193 = x(12+_OFF); +double tmp194 = mYaw(3+_OFF); +double tmp195 = mYaw(2+_OFF); +double tmp196 = tmp168*tmp169; +double tmp197 = -tmp174; +double tmp198 = tmp196 + tmp197; +double tmp199 = tmp65*tmp176; +double tmp200 = (tmp175*tmp177*tmp63*tmp178)/2.; +double tmp201 = (tmp175*tmp179*tmp63*tmp180)/2.; +double tmp202 = mRoll(1+_OFF); +double tmp203 = z(2+_OFF); +double tmp204 = tmp202*tmp203; +double tmp205 = tmp199 + tmp200 + tmp201 + tmp204; +double tmp206 = -(tmp169*tmp171); +double tmp207 = tmp170*tmp172; +double tmp208 = tmp206 + tmp207; +double tmp209 = mPitch(1+_OFF); +double tmp210 = tmp88*tmp191; +double tmp211 = (tmp190*tmp192*tmp63*tmp193)/2.; +double tmp212 = mPitch(2+_OFF); +double tmp213 = z(3+_OFF); +double tmp214 = tmp212*tmp213; +double tmp215 = tmp209 + tmp210 + tmp211 + tmp214; +double tmp216 = -(tmp168*tmp170); +double tmp217 = tmp171*tmp172; double tmp218 = tmp216 + tmp217; -double tmp219 = -(tmp183*tmp26*tmp49*tmp126*tmp106); -double tmp220 = -(tmp184*tmp170*tmp26*tmp126*tmp175)/2.; -double tmp221 = tmp219 + tmp220; -double tmp222 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp170*tmp58*tmp62*tmp221; -double tmp223 = 0.0034837136387388954*tmp14*tmp51*tmp52*tmp170*tmp58*tmp26*tmp197; -double tmp224 = tmp222 + tmp223; -double tmp225 = tmp171*tmp106*tmp128; -double tmp226 = -(tmp172*tmp170*tmp49*tmp126*tmp173)/2.; -double tmp227 = -(tmp174*tmp170*tmp49*tmp126*tmp175)/2.; +double tmp219 = tmp65*tmp194; +double tmp220 = (tmp175*tmp195*tmp63*tmp180)/2.; +double tmp221 = mYaw(1+_OFF); +double tmp222 = z(4+_OFF); +double tmp223 = tmp221*tmp222; +double tmp224 = tmp219 + tmp220 + tmp223; +double tmp225 = -(tmp176*tmp26*tmp50*tmp126*tmp106); +double tmp226 = -(tmp175*tmp177*tmp26*tmp126*tmp178)/2.; +double tmp227 = -(tmp175*tmp179*tmp26*tmp126*tmp180)/2.; double tmp228 = tmp225 + tmp226 + tmp227; -double tmp229 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp170*tmp58*tmp62*tmp228; -double tmp230 = 0.0034837136387388954*tmp14*tmp51*tmp52*tmp170*tmp58*tmp49*tmp191; +double tmp229 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp175*tmp58*tmp62*tmp228; +double tmp230 = 0.0034837136387388954*tmp14*tmp39*tmp52*tmp175*tmp58*tmp26*tmp205; double tmp231 = tmp229 + tmp230; -double tmp232 = tmp183*tmp106*tmp128; -double tmp233 = -(tmp184*tmp170*tmp49*tmp126*tmp175)/2.; +double tmp232 = tmp191*tmp121*tmp122; +double tmp233 = -(tmp190*tmp192*tmp26*tmp126*tmp193)/2.; double tmp234 = tmp232 + tmp233; -double tmp235 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp170*tmp58*tmp62*tmp234; -double tmp236 = 0.0034837136387388954*tmp14*tmp51*tmp52*tmp170*tmp58*tmp49*tmp197; +double tmp235 = 0.0017418568193694477*tmp14*tmp39*tmp190*tmp52*tmp58*tmp62*tmp234; +double tmp236 = 0.0034837136387388954*tmp14*tmp39*tmp190*tmp52*tmp58*tmp26*tmp215; double tmp237 = tmp235 + tmp236; -double tmp238 = -(tmp171*tmp49*tmp38*tmp126*tmp106); -double tmp239 = -(tmp172*tmp170*tmp38*tmp126*tmp173)/2.; -double tmp240 = -(tmp174*tmp170*tmp38*tmp126*tmp175)/2.; -double tmp241 = tmp238 + tmp239 + tmp240; -double tmp242 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp170*tmp58*tmp62*tmp241; -double tmp243 = 0.0034837136387388954*tmp14*tmp51*tmp52*tmp170*tmp58*tmp38*tmp191; -double tmp244 = tmp242 + tmp243; -double tmp245 = -(tmp183*tmp49*tmp38*tmp126*tmp106); -double tmp246 = -(tmp184*tmp170*tmp38*tmp126*tmp175)/2.; -double tmp247 = tmp245 + tmp246; -double tmp248 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp170*tmp58*tmp62*tmp247; -double tmp249 = 0.0034837136387388954*tmp14*tmp51*tmp52*tmp170*tmp58*tmp38*tmp197; +double tmp238 = -(tmp194*tmp26*tmp50*tmp126*tmp106); +double tmp239 = -(tmp175*tmp195*tmp26*tmp126*tmp180)/2.; +double tmp240 = tmp238 + tmp239; +double tmp241 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp175*tmp58*tmp62*tmp240; +double tmp242 = 0.0034837136387388954*tmp14*tmp39*tmp52*tmp175*tmp58*tmp26*tmp224; +double tmp243 = tmp241 + tmp242; +double tmp244 = tmp176*tmp106*tmp128; +double tmp245 = -(tmp175*tmp177*tmp50*tmp126*tmp178)/2.; +double tmp246 = -(tmp175*tmp179*tmp50*tmp126*tmp180)/2.; +double tmp247 = tmp244 + tmp245 + tmp246; +double tmp248 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp175*tmp58*tmp62*tmp247; +double tmp249 = 0.0034837136387388954*tmp14*tmp39*tmp52*tmp175*tmp58*tmp50*tmp205; double tmp250 = tmp248 + tmp249; -J(1+_OFF,1+_OFF) = -(tmp125*(0.0034837136387388954*tmp14*tmp51*tmp91*tmp52*tmp58*tmp26*tmp101*tmp60 + 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp75*tmp26*tmp85*tmp60*tmp63 - 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp75*tmp26*tmp85*tmp102*tmp86 + tmp166 - 0.0017418568193694477*tmp14*tmp51*tmp91*tmp52*tmp58*tmp26*tmp101*tmp102*tmp62 + 0.0017418568193694477*tmp14*tmp51*tmp89*tmp52*tmp58*tmp101*tmp121*tmp102*tmp62 - 0.0017418568193694477*tmp14*tmp51*tmp66*tmp52*tmp58*tmp75*tmp26*tmp85*tmp49*tmp60*tmp103*tmp106 + 0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp75*tmp26*tmp61*tmp60*tmp103*tmp106 + 0.0034837136387388954*tmp14*tmp51*tmp116*tmp52*tmp58*tmp75*tmp26*tmp60*tmp117 - 0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp75*tmp26*tmp102*tmp62*tmp117 + tmp167 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp75*tmp60*tmp62*tmp117*tmp147 + 0.0034837136387388954*tmp14*tmp51*tmp129*tmp58*(2*tmp130*tmp131*tmp26 + tmp132*tmp133*tmp123*tmp26*tmp63*tmp134))); -J(1+_OFF,2+_OFF) = -(tmp125*(0.0034837136387388954*tmp14*tmp51*tmp91*tmp52*tmp58*tmp49*tmp101*tmp60 + 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp75*tmp85*tmp49*tmp60*tmp63 - 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp75*tmp60*tmp86 + 0.0008709284096847238*tmp14*tmp51*tmp116*tmp52*tmp58*tmp75*tmp60*tmp62*tmp152*tmp106 + 0.0034837136387388954*tmp14*tmp51*tmp116*tmp52*tmp58*tmp75*tmp49*tmp60*tmp117 + 0.0034837136387388954*tmp65*tmp14*tmp51*tmp114*tmp52*tmp58*tmp75*tmp60*tmp62*tmp128 + 0.0017418568193694477*tmp14*tmp51*tmp66*tmp52*tmp58*tmp75*tmp85*tmp60*tmp86*tmp106*tmp128 + 0.0034837136387388954*tmp14*tmp51*tmp129*tmp58*(2*tmp130*tmp131*tmp49 + tmp132*tmp133*tmp123*tmp49*tmp63*tmp134))); -J(1+_OFF,3+_OFF) = -(tmp125*(0.0034837136387388954*tmp14*tmp51*tmp91*tmp52*tmp58*tmp101*tmp38*tmp60 + 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp75*tmp85*tmp38*tmp60*tmp63 - 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp75*tmp85*tmp38*tmp102*tmp86 + 0.0017418568193694477*tmp14*tmp51*tmp89*tmp52*tmp58*tmp26*tmp101*tmp102*tmp62 - 0.0017418568193694477*tmp14*tmp51*tmp91*tmp52*tmp58*tmp101*tmp38*tmp102*tmp62 - 0.0017418568193694477*tmp14*tmp51*tmp91*tmp52*tmp58*tmp60*tmp62 - 0.0017418568193694477*tmp14*tmp51*tmp66*tmp52*tmp58*tmp75*tmp85*tmp49*tmp38*tmp60*tmp103*tmp106 + 0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp75*tmp61*tmp38*tmp60*tmp103*tmp106 + 0.0034837136387388954*tmp14*tmp51*tmp116*tmp52*tmp58*tmp75*tmp38*tmp60*tmp117 - 0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp75*tmp38*tmp102*tmp62*tmp117 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp75*tmp60*tmp62*tmp117*tmp156 + 0.0034837136387388954*tmp14*tmp51*tmp129*tmp58*(2*tmp130*tmp131*tmp38 + tmp132*tmp133*tmp123*tmp38*tmp63*tmp134))); -J(2+_OFF,1+_OFF) = -(tmp125*(0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp26*tmp143*tmp63 - 0.0017418568193694477*tmp14*tmp51*tmp66*tmp52*tmp58*tmp26*tmp49*tmp63 + 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp26*tmp61*tmp103*tmp106 + 0.0034837136387388954*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp26*tmp117 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp143*tmp86*tmp147)); -J(2+_OFF,2+_OFF) = -(tmp125*(0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp143*tmp49*tmp63 + 0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp86 + 0.0008709284096847238*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp62*tmp152*tmp106 + 0.0034837136387388954*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp49*tmp117 + 0.0017418568193694477*tmp14*tmp51*tmp66*tmp52*tmp58*tmp62*tmp128 + 0.0034837136387388954*tmp65*tmp14*tmp51*tmp114*tmp52*tmp58*tmp143*tmp86*tmp106*tmp128)); -J(2+_OFF,3+_OFF) = -(tmp125*(0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp143*tmp38*tmp63 - 0.0017418568193694477*tmp14*tmp51*tmp66*tmp52*tmp58*tmp49*tmp38*tmp63 + 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp61*tmp38*tmp103*tmp106 + 0.0034837136387388954*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp38*tmp117 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp143*tmp86*tmp156)); -J(3+_OFF,1+_OFF) = -(tmp125*(0.0034837136387388954*tmp14*tmp51*tmp91*tmp52*tmp58*tmp75*tmp26*tmp60 + 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp26*tmp85*tmp165*tmp60*tmp63 - 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp26*tmp85*tmp165*tmp102*tmp86 - 0.0017418568193694477*tmp14*tmp51*tmp91*tmp52*tmp58*tmp75*tmp26*tmp102*tmp62 + 0.0017418568193694477*tmp14*tmp51*tmp89*tmp52*tmp58*tmp75*tmp121*tmp102*tmp62 + 0.0017418568193694477*tmp14*tmp51*tmp91*tmp52*tmp58*tmp60*tmp62 - 0.0017418568193694477*tmp14*tmp51*tmp66*tmp52*tmp58*tmp26*tmp85*tmp49*tmp165*tmp60*tmp103*tmp106 + 0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp26*tmp61*tmp165*tmp60*tmp103*tmp106 + 0.0034837136387388954*tmp14*tmp51*tmp116*tmp52*tmp58*tmp26*tmp165*tmp60*tmp117 - 0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp26*tmp165*tmp102*tmp62*tmp117 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp165*tmp60*tmp62*tmp117*tmp147)); -J(3+_OFF,2+_OFF) = -(tmp125*(0.0034837136387388954*tmp14*tmp51*tmp91*tmp52*tmp58*tmp75*tmp49*tmp60 + 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp85*tmp49*tmp165*tmp60*tmp63 - 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp165*tmp60*tmp86 + 0.0008709284096847238*tmp14*tmp51*tmp116*tmp52*tmp58*tmp165*tmp60*tmp62*tmp152*tmp106 + 0.0034837136387388954*tmp14*tmp51*tmp116*tmp52*tmp58*tmp49*tmp165*tmp60*tmp117 + 0.0034837136387388954*tmp65*tmp14*tmp51*tmp114*tmp52*tmp58*tmp165*tmp60*tmp62*tmp128 + 0.0017418568193694477*tmp14*tmp51*tmp66*tmp52*tmp58*tmp85*tmp165*tmp60*tmp86*tmp106*tmp128)); -J(3+_OFF,3+_OFF) = -(tmp125*(0.0034837136387388954*tmp14*tmp51*tmp91*tmp52*tmp58*tmp75*tmp38*tmp60 + 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp85*tmp165*tmp38*tmp60*tmp63 - 0.0017418568193694477*tmp65*tmp14*tmp51*tmp66*tmp52*tmp58*tmp85*tmp165*tmp38*tmp102*tmp86 + tmp166 + 0.0017418568193694477*tmp14*tmp51*tmp89*tmp52*tmp58*tmp75*tmp26*tmp102*tmp62 - 0.0017418568193694477*tmp14*tmp51*tmp91*tmp52*tmp58*tmp75*tmp38*tmp102*tmp62 - 0.0017418568193694477*tmp14*tmp51*tmp66*tmp52*tmp58*tmp85*tmp49*tmp165*tmp38*tmp60*tmp103*tmp106 + 0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp61*tmp165*tmp38*tmp60*tmp103*tmp106 + 0.0034837136387388954*tmp14*tmp51*tmp116*tmp52*tmp58*tmp165*tmp38*tmp60*tmp117 - 0.0017418568193694477*tmp14*tmp51*tmp116*tmp52*tmp58*tmp165*tmp38*tmp102*tmp62*tmp117 + tmp167 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp165*tmp60*tmp62*tmp117*tmp156)); -J(4+_OFF,1+_OFF) = -(tmp168*tmp169*tmp182*tmp218) + tmp168*tmp176*tmp182*tmp224; -J(4+_OFF,2+_OFF) = -(tmp168*tmp169*tmp182*tmp231) + tmp168*tmp176*tmp182*tmp237; -J(4+_OFF,3+_OFF) = -(tmp168*tmp169*tmp182*tmp244) + tmp168*tmp176*tmp182*tmp250; -J(5+_OFF,1+_OFF) = -(tmp204*tmp182*(0.0017418568193694477*tmp14*tmp51*tmp198*tmp52*tmp58*tmp62*(tmp199*tmp121*tmp122 - (tmp200*tmp198*tmp26*tmp126*tmp201)/2.) + 0.0034837136387388954*tmp14*tmp51*tmp198*tmp52*tmp58*tmp26*tmp211)); -J(5+_OFF,2+_OFF) = -(tmp204*tmp182*(-0.0008709284096847238*tmp14*tmp51*tmp200*std::pow(tmp198,2)*tmp52*tmp58*tmp49*tmp63*tmp201 + 0.0034837136387388954*tmp14*tmp51*tmp198*tmp52*tmp58*tmp49*tmp211)); -J(5+_OFF,3+_OFF) = -(tmp204*tmp182*(0.0017418568193694477*tmp14*tmp51*tmp198*tmp52*tmp58*tmp62*(tmp199*tmp26*tmp122 - (tmp200*tmp198*tmp38*tmp126*tmp201)/2.) + 0.0034837136387388954*tmp14*tmp51*tmp198*tmp52*tmp58*tmp38*tmp211)); -J(6+_OFF,1+_OFF) = tmp168*tmp176*tmp182*tmp218 - tmp177*tmp168*tmp182*tmp224; -J(6+_OFF,2+_OFF) = tmp168*tmp176*tmp182*tmp231 - tmp177*tmp168*tmp182*tmp237; -J(6+_OFF,3+_OFF) = tmp168*tmp176*tmp182*tmp244 - tmp177*tmp168*tmp182*tmp250; +double tmp251 = tmp173*tmp169; +double tmp252 = -tmp182; +double tmp253 = tmp251 + tmp252; +double tmp254 = std::pow(tmp190,2); +double tmp255 = -0.0008709284096847238*tmp14*tmp39*tmp254*tmp52*tmp192*tmp58*tmp50*tmp63*tmp193; +double tmp256 = 0.0034837136387388954*tmp14*tmp39*tmp190*tmp52*tmp58*tmp50*tmp215; +double tmp257 = tmp255 + tmp256; +double tmp258 = tmp170*tmp171; +double tmp259 = -(tmp173*tmp172); +double tmp260 = tmp258 + tmp259; +double tmp261 = tmp194*tmp106*tmp128; +double tmp262 = -(tmp175*tmp195*tmp50*tmp126*tmp180)/2.; +double tmp263 = tmp261 + tmp262; +double tmp264 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp175*tmp58*tmp62*tmp263; +double tmp265 = 0.0034837136387388954*tmp14*tmp39*tmp52*tmp175*tmp58*tmp50*tmp224; +double tmp266 = tmp264 + tmp265; +double tmp267 = -(tmp176*tmp50*tmp38*tmp126*tmp106); +double tmp268 = -(tmp175*tmp177*tmp38*tmp126*tmp178)/2.; +double tmp269 = -(tmp175*tmp179*tmp38*tmp126*tmp180)/2.; +double tmp270 = tmp267 + tmp268 + tmp269; +double tmp271 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp175*tmp58*tmp62*tmp270; +double tmp272 = 0.0034837136387388954*tmp14*tmp39*tmp52*tmp175*tmp58*tmp38*tmp205; +double tmp273 = tmp271 + tmp272; +double tmp274 = tmp191*tmp26*tmp122; +double tmp275 = -(tmp190*tmp192*tmp38*tmp126*tmp193)/2.; +double tmp276 = tmp274 + tmp275; +double tmp277 = 0.0017418568193694477*tmp14*tmp39*tmp190*tmp52*tmp58*tmp62*tmp276; +double tmp278 = 0.0034837136387388954*tmp14*tmp39*tmp190*tmp52*tmp58*tmp38*tmp215; +double tmp279 = tmp277 + tmp278; +double tmp280 = -(tmp194*tmp50*tmp38*tmp126*tmp106); +double tmp281 = -(tmp175*tmp195*tmp38*tmp126*tmp180)/2.; +double tmp282 = tmp280 + tmp281; +double tmp283 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp175*tmp58*tmp62*tmp282; +double tmp284 = 0.0034837136387388954*tmp14*tmp39*tmp52*tmp175*tmp58*tmp38*tmp224; +double tmp285 = tmp283 + tmp284; +double tmp286 = tmp173*tmp168; +double tmp287 = -tmp184; +double tmp288 = tmp286 + tmp287; +J(1+_OFF,1+_OFF) = -(tmp125*(0.0034837136387388954*tmp14*tmp39*tmp52*tmp91*tmp58*tmp26*tmp101*tmp60 + 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp75*tmp26*tmp85*tmp60*tmp63 - 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp75*tmp26*tmp85*tmp102*tmp86 + tmp166 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp91*tmp58*tmp26*tmp101*tmp102*tmp62 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp89*tmp58*tmp101*tmp121*tmp102*tmp62 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp66*tmp58*tmp75*tmp26*tmp85*tmp50*tmp60*tmp103*tmp106 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp75*tmp26*tmp61*tmp60*tmp103*tmp106 + 0.0034837136387388954*tmp14*tmp39*tmp52*tmp116*tmp58*tmp75*tmp26*tmp60*tmp117 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp75*tmp26*tmp102*tmp62*tmp117 + tmp167 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp75*tmp60*tmp62*tmp117*tmp147 + 0.0034837136387388954*tmp14*tmp39*tmp129*tmp58*(2*tmp130*tmp131*tmp26 + tmp132*tmp123*tmp133*tmp26*tmp63*tmp134))); +J(1+_OFF,2+_OFF) = -(tmp125*(0.0034837136387388954*tmp14*tmp39*tmp52*tmp91*tmp58*tmp50*tmp101*tmp60 + 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp75*tmp85*tmp50*tmp60*tmp63 - 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp75*tmp60*tmp86 + 0.0008709284096847238*tmp14*tmp39*tmp52*tmp116*tmp58*tmp75*tmp60*tmp62*tmp152*tmp106 + 0.0034837136387388954*tmp14*tmp39*tmp52*tmp116*tmp58*tmp75*tmp50*tmp60*tmp117 + 0.0034837136387388954*tmp14*tmp39*tmp65*tmp52*tmp114*tmp58*tmp75*tmp60*tmp62*tmp128 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp66*tmp58*tmp75*tmp85*tmp60*tmp86*tmp106*tmp128 + 0.0034837136387388954*tmp14*tmp39*tmp129*tmp58*(2*tmp130*tmp131*tmp50 + tmp132*tmp123*tmp133*tmp50*tmp63*tmp134))); +J(1+_OFF,3+_OFF) = -(tmp125*(0.0034837136387388954*tmp14*tmp39*tmp52*tmp91*tmp58*tmp101*tmp38*tmp60 + 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp75*tmp85*tmp38*tmp60*tmp63 - 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp75*tmp85*tmp38*tmp102*tmp86 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp89*tmp58*tmp26*tmp101*tmp102*tmp62 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp91*tmp58*tmp101*tmp38*tmp102*tmp62 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp91*tmp58*tmp60*tmp62 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp66*tmp58*tmp75*tmp85*tmp50*tmp38*tmp60*tmp103*tmp106 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp75*tmp61*tmp38*tmp60*tmp103*tmp106 + 0.0034837136387388954*tmp14*tmp39*tmp52*tmp116*tmp58*tmp75*tmp38*tmp60*tmp117 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp75*tmp38*tmp102*tmp62*tmp117 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp75*tmp60*tmp62*tmp117*tmp156 + 0.0034837136387388954*tmp14*tmp39*tmp129*tmp58*(2*tmp130*tmp131*tmp38 + tmp132*tmp123*tmp133*tmp38*tmp63*tmp134))); +J(2+_OFF,1+_OFF) = -(tmp125*(0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp26*tmp143*tmp63 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp66*tmp58*tmp26*tmp50*tmp63 + 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp26*tmp61*tmp103*tmp106 + 0.0034837136387388954*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp26*tmp117 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp143*tmp86*tmp147)); +J(2+_OFF,2+_OFF) = -(tmp125*(0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp143*tmp50*tmp63 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp86 + 0.0008709284096847238*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp62*tmp152*tmp106 + 0.0034837136387388954*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp50*tmp117 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp66*tmp58*tmp62*tmp128 + 0.0034837136387388954*tmp14*tmp39*tmp65*tmp52*tmp114*tmp58*tmp143*tmp86*tmp106*tmp128)); +J(2+_OFF,3+_OFF) = -(tmp125*(0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp143*tmp38*tmp63 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp66*tmp58*tmp50*tmp38*tmp63 + 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp61*tmp38*tmp103*tmp106 + 0.0034837136387388954*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp38*tmp117 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp143*tmp86*tmp156)); +J(3+_OFF,1+_OFF) = -(tmp125*(0.0034837136387388954*tmp14*tmp39*tmp52*tmp91*tmp58*tmp75*tmp26*tmp60 + 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp26*tmp85*tmp165*tmp60*tmp63 - 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp26*tmp85*tmp165*tmp102*tmp86 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp91*tmp58*tmp75*tmp26*tmp102*tmp62 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp89*tmp58*tmp75*tmp121*tmp102*tmp62 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp91*tmp58*tmp60*tmp62 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp66*tmp58*tmp26*tmp85*tmp50*tmp165*tmp60*tmp103*tmp106 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp26*tmp61*tmp165*tmp60*tmp103*tmp106 + 0.0034837136387388954*tmp14*tmp39*tmp52*tmp116*tmp58*tmp26*tmp165*tmp60*tmp117 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp26*tmp165*tmp102*tmp62*tmp117 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp165*tmp60*tmp62*tmp117*tmp147)); +J(3+_OFF,2+_OFF) = -(tmp125*(0.0034837136387388954*tmp14*tmp39*tmp52*tmp91*tmp58*tmp75*tmp50*tmp60 + 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp85*tmp50*tmp165*tmp60*tmp63 - 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp165*tmp60*tmp86 + 0.0008709284096847238*tmp14*tmp39*tmp52*tmp116*tmp58*tmp165*tmp60*tmp62*tmp152*tmp106 + 0.0034837136387388954*tmp14*tmp39*tmp52*tmp116*tmp58*tmp50*tmp165*tmp60*tmp117 + 0.0034837136387388954*tmp14*tmp39*tmp65*tmp52*tmp114*tmp58*tmp165*tmp60*tmp62*tmp128 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp66*tmp58*tmp85*tmp165*tmp60*tmp86*tmp106*tmp128)); +J(3+_OFF,3+_OFF) = -(tmp125*(0.0034837136387388954*tmp14*tmp39*tmp52*tmp91*tmp58*tmp75*tmp38*tmp60 + 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp85*tmp165*tmp38*tmp60*tmp63 - 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp85*tmp165*tmp38*tmp102*tmp86 + tmp166 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp89*tmp58*tmp75*tmp26*tmp102*tmp62 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp91*tmp58*tmp75*tmp38*tmp102*tmp62 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp66*tmp58*tmp85*tmp50*tmp165*tmp38*tmp60*tmp103*tmp106 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp61*tmp165*tmp38*tmp60*tmp103*tmp106 + 0.0034837136387388954*tmp14*tmp39*tmp52*tmp116*tmp58*tmp165*tmp38*tmp60*tmp117 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp165*tmp38*tmp102*tmp62*tmp117 + tmp167 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp165*tmp60*tmp62*tmp117*tmp156)); +J(4+_OFF,1+_OFF) = -(tmp198*tmp189*tmp231) - tmp208*tmp189*tmp237 - tmp218*tmp189*tmp243; +J(4+_OFF,2+_OFF) = -(tmp198*tmp189*tmp250) - tmp208*tmp189*tmp257 - tmp218*tmp189*tmp266; +J(4+_OFF,3+_OFF) = -(tmp198*tmp189*tmp273) - tmp208*tmp189*tmp279 - tmp218*tmp189*tmp285; +J(5+_OFF,1+_OFF) = -(tmp208*tmp189*tmp231) - tmp253*tmp189*tmp237 - tmp260*tmp189*tmp243; +J(5+_OFF,2+_OFF) = -(tmp208*tmp189*tmp250) - tmp253*tmp189*tmp257 - tmp260*tmp189*tmp266; +J(5+_OFF,3+_OFF) = -(tmp208*tmp189*tmp273) - tmp253*tmp189*tmp279 - tmp260*tmp189*tmp285; +J(6+_OFF,1+_OFF) = -(tmp218*tmp189*tmp231) - tmp260*tmp189*tmp237 - tmp288*tmp189*tmp243; +J(6+_OFF,2+_OFF) = -(tmp218*tmp189*tmp250) - tmp260*tmp189*tmp257 - tmp288*tmp189*tmp266; +J(6+_OFF,3+_OFF) = -(tmp218*tmp189*tmp273) - tmp260*tmp189*tmp279 - tmp288*tmp189*tmp285; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrW.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrW.cppready index 6a8f6c6..7c1b482 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrW.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrW.cppready @@ -1,106 +1,153 @@ -double tmp0 = set2(28+_OFF); -double tmp1 = set2(30+_OFF); -double tmp2 = set2(27+_OFF); -double tmp3 = x(12+_OFF); -double tmp4 = set2(29+_OFF); -double tmp5 = tmp2*tmp0*tmp4; -double tmp6 = std::pow(tmp1,2); -double tmp7 = -(tmp0*tmp6); -double tmp8 = tmp5 + tmp7; -double tmp9 = 1/tmp8; -double tmp10 = set1(2+_OFF); -double tmp11 = 1/tmp10; -double tmp12 = x(4+_OFF); -double tmp13 = x(6+_OFF); -double tmp14 = x(5+_OFF); -double tmp15 = x(7+_OFF); -double tmp16 = wind(1+_OFF); -double tmp17 = tmp14*tmp13; -double tmp18 = wind(3+_OFF); -double tmp19 = wind(2+_OFF); -double tmp20 = std::pow(tmp12,2); -double tmp21 = std::pow(tmp14,2); -double tmp22 = std::pow(tmp13,2); -double tmp23 = std::pow(tmp15,2); -double tmp24 = -tmp23; -double tmp25 = tmp14*tmp15; -double tmp26 = tmp13*tmp15; -double tmp27 = -tmp21; -double tmp28 = -tmp22; -double tmp29 = x(13+_OFF); -double tmp30 = x(11+_OFF); -double tmp31 = set1(3+_OFF); -double tmp32 = set2(24+_OFF); -double tmp33 = set2(25+_OFF); -double tmp34 = std::pow(tmp33,2); -double tmp35 = set1(1+_OFF); -double tmp36 = x(3+_OFF); -double tmp37 = tmp35 + tmp36; -double tmp38 = -0.006500000000000001*tmp11*tmp37; -double tmp39 = 1 + tmp38; -double tmp40 = std::pow(tmp39,4.2561); -double tmp41 = tmp12*tmp15; -double tmp42 = tmp17 + tmp41; -double tmp43 = -2*tmp19*tmp42; -double tmp44 = -(tmp12*tmp13); -double tmp45 = tmp44 + tmp25; -double tmp46 = -2*tmp18*tmp45; -double tmp47 = tmp20 + tmp21 + tmp28 + tmp24; -double tmp48 = -(tmp16*tmp47); -double tmp49 = x(8+_OFF); -double tmp50 = tmp43 + tmp46 + tmp48 + tmp49; -double tmp51 = std::pow(tmp50,2); -double tmp52 = -(tmp12*tmp15); -double tmp53 = tmp17 + tmp52; -double tmp54 = -2*tmp16*tmp53; -double tmp55 = tmp12*tmp14; -double tmp56 = tmp55 + tmp26; -double tmp57 = -2*tmp18*tmp56; -double tmp58 = tmp20 + tmp27 + tmp22 + tmp24; -double tmp59 = -(tmp19*tmp58); -double tmp60 = x(9+_OFF); -double tmp61 = tmp54 + tmp57 + tmp59 + tmp60; -double tmp62 = std::pow(tmp61,2); -double tmp63 = tmp12*tmp13; -double tmp64 = tmp63 + tmp25; -double tmp65 = -2*tmp16*tmp64; -double tmp66 = -(tmp12*tmp14); -double tmp67 = tmp66 + tmp26; -double tmp68 = -2*tmp19*tmp67; -double tmp69 = tmp20 + tmp27 + tmp28 + tmp23; -double tmp70 = -(tmp18*tmp69); -double tmp71 = x(10+_OFF); -double tmp72 = tmp65 + tmp68 + tmp70 + tmp71; -double tmp73 = std::pow(tmp72,2); -double tmp74 = tmp51 + tmp62 + tmp73; -double tmp75 = std::sqrt(tmp74); -double tmp76 = tmp2*tmp4; -double tmp77 = -tmp6; -double tmp78 = tmp76 + tmp77; -double tmp79 = tmp2*tmp3; -double tmp80 = -(tmp0*tmp3); -double tmp81 = tmp79 + tmp80; -double tmp82 = set2(13+_OFF); -double tmp83 = 0.0008709284096847238*tmp11*tmp31*tmp82*tmp32*tmp34*tmp40*tmp75; -double tmp84 = -(tmp1*tmp3); -double tmp85 = tmp83 + tmp84; -double tmp86 = -(tmp1*tmp30); -double tmp87 = tmp0*tmp29; -double tmp88 = -(tmp4*tmp29); -double tmp89 = tmp86 + tmp87 + tmp88; -double tmp90 = tmp2*tmp30; -double tmp91 = -(tmp0*tmp30); -double tmp92 = tmp1*tmp29; -double tmp93 = tmp90 + tmp91 + tmp92; -double tmp94 = set2(14+_OFF); -double tmp95 = 0.0008709284096847238*tmp11*tmp31*tmp94*tmp32*tmp34*tmp40*tmp75; -double tmp96 = tmp0*tmp3; -double tmp97 = -(tmp4*tmp3); -double tmp98 = tmp95 + tmp96 + tmp97; -double tmp99 = set2(20+_OFF); -double tmp100 = 0.0008709284096847238*tmp11*tmp31*tmp99*tmp32*tmp34*tmp40*tmp75; -double tmp101 = tmp1*tmp3; -double tmp102 = tmp100 + tmp101; +double tmp0 = ibd(3+_OFF); +double tmp1 = ibd(2+_OFF); +double tmp2 = ibod(1+_OFF); +double tmp3 = ibod(2+_OFF); +double tmp4 = ibod(3+_OFF); +double tmp5 = ibd(1+_OFF); +double tmp6 = x(13+_OFF); +double tmp7 = std::pow(tmp4,2); +double tmp8 = tmp5*tmp1*tmp0; +double tmp9 = std::pow(tmp2,2); +double tmp10 = -(tmp1*tmp9); +double tmp11 = std::pow(tmp3,2); +double tmp12 = -(tmp0*tmp11); +double tmp13 = 2*tmp2*tmp3*tmp4; +double tmp14 = -(tmp5*tmp7); +double tmp15 = tmp8 + tmp10 + tmp12 + tmp13 + tmp14; +double tmp16 = 1/tmp15; +double tmp17 = airDensity(2+_OFF); +double tmp18 = 1/tmp17; +double tmp19 = x(4+_OFF); +double tmp20 = x(6+_OFF); +double tmp21 = x(5+_OFF); +double tmp22 = x(7+_OFF); +double tmp23 = wind(1+_OFF); +double tmp24 = tmp21*tmp20; +double tmp25 = wind(3+_OFF); +double tmp26 = wind(2+_OFF); +double tmp27 = std::pow(tmp19,2); +double tmp28 = std::pow(tmp21,2); +double tmp29 = std::pow(tmp20,2); +double tmp30 = std::pow(tmp22,2); +double tmp31 = -tmp30; +double tmp32 = tmp21*tmp22; +double tmp33 = tmp20*tmp22; +double tmp34 = -tmp28; +double tmp35 = -tmp29; +double tmp36 = x(12+_OFF); +double tmp37 = x(11+_OFF); +double tmp38 = tmp1*tmp0; +double tmp39 = -tmp7; +double tmp40 = tmp38 + tmp39; +double tmp41 = -(tmp1*tmp2); +double tmp42 = tmp3*tmp4; +double tmp43 = tmp41 + tmp42; +double tmp44 = -(tmp0*tmp3); +double tmp45 = tmp2*tmp4; +double tmp46 = tmp44 + tmp45; +double tmp47 = airDensity(3+_OFF); +double tmp48 = cp(2+_OFF); +double tmp49 = airDensity(1+_OFF); +double tmp50 = x(3+_OFF); +double tmp51 = tmp49 + tmp50; +double tmp52 = -0.006500000000000001*tmp18*tmp51; +double tmp53 = 1 + tmp52; +double tmp54 = std::pow(tmp53,4.2561); +double tmp55 = tmp19*tmp22; +double tmp56 = tmp24 + tmp55; +double tmp57 = -2*tmp26*tmp56; +double tmp58 = -(tmp19*tmp20); +double tmp59 = tmp58 + tmp32; +double tmp60 = -2*tmp25*tmp59; +double tmp61 = tmp27 + tmp28 + tmp35 + tmp31; +double tmp62 = -(tmp23*tmp61); +double tmp63 = x(8+_OFF); +double tmp64 = tmp57 + tmp60 + tmp62 + tmp63; +double tmp65 = std::pow(tmp64,2); +double tmp66 = -(tmp19*tmp22); +double tmp67 = tmp24 + tmp66; +double tmp68 = -2*tmp23*tmp67; +double tmp69 = tmp19*tmp21; +double tmp70 = tmp69 + tmp33; +double tmp71 = -2*tmp25*tmp70; +double tmp72 = tmp27 + tmp34 + tmp29 + tmp31; +double tmp73 = -(tmp26*tmp72); +double tmp74 = x(9+_OFF); +double tmp75 = tmp68 + tmp71 + tmp73 + tmp74; +double tmp76 = std::pow(tmp75,2); +double tmp77 = tmp19*tmp20; +double tmp78 = tmp77 + tmp32; +double tmp79 = -2*tmp23*tmp78; +double tmp80 = -(tmp19*tmp21); +double tmp81 = tmp80 + tmp33; +double tmp82 = -2*tmp26*tmp81; +double tmp83 = tmp27 + tmp34 + tmp35 + tmp30; +double tmp84 = -(tmp25*tmp83); +double tmp85 = x(10+_OFF); +double tmp86 = tmp79 + tmp82 + tmp84 + tmp85; +double tmp87 = std::pow(tmp86,2); +double tmp88 = tmp65 + tmp76 + tmp87; +double tmp89 = std::sqrt(tmp88); +double tmp90 = cp(3+_OFF); +double tmp91 = std::pow(tmp90,2); +double tmp92 = 2*tmp2*tmp37; +double tmp93 = tmp4*tmp36; +double tmp94 = -(tmp5*tmp6); +double tmp95 = tmp0*tmp6; +double tmp96 = tmp92 + tmp93 + tmp94 + tmp95; +double tmp97 = mRoll(3+_OFF); +double tmp98 = 0.0008709284096847238*tmp18*tmp47*tmp48*tmp91*tmp97*tmp54*tmp89; +double tmp99 = -(tmp2*tmp36); +double tmp100 = tmp3*tmp6; +double tmp101 = tmp98 + tmp99 + tmp100; +double tmp102 = -2*tmp3*tmp37; +double tmp103 = tmp5*tmp36; +double tmp104 = -(tmp1*tmp36); +double tmp105 = -(tmp4*tmp6); +double tmp106 = tmp102 + tmp103 + tmp104 + tmp105; +double tmp107 = -(tmp2*tmp37); +double tmp108 = -2*tmp4*tmp36; +double tmp109 = tmp1*tmp6; +double tmp110 = -(tmp0*tmp6); +double tmp111 = tmp107 + tmp108 + tmp109 + tmp110; +double tmp112 = tmp2*tmp3; +double tmp113 = -(tmp5*tmp4); +double tmp114 = tmp112 + tmp113; +double tmp115 = tmp5*tmp37; +double tmp116 = -(tmp1*tmp37); +double tmp117 = 2*tmp3*tmp36; +double tmp118 = tmp2*tmp6; +double tmp119 = tmp115 + tmp116 + tmp117 + tmp118; +double tmp120 = tmp5*tmp0; +double tmp121 = -tmp9; +double tmp122 = tmp120 + tmp121; +double tmp123 = cBar(1+_OFF); +double tmp124 = std::pow(tmp123,2); +double tmp125 = mPitch(3+_OFF); +double tmp126 = 0.0008709284096847238*tmp18*tmp47*tmp124*tmp48*tmp125*tmp54*tmp89; +double tmp127 = tmp4*tmp37; +double tmp128 = -(tmp3*tmp6); +double tmp129 = tmp126 + tmp127 + tmp128; +double tmp130 = mYaw(2+_OFF); +double tmp131 = 0.0008709284096847238*tmp18*tmp47*tmp48*tmp91*tmp130*tmp54*tmp89; +double tmp132 = -(tmp4*tmp37); +double tmp133 = tmp2*tmp36; +double tmp134 = tmp131 + tmp132 + tmp133; +double tmp135 = -(tmp5*tmp37); +double tmp136 = tmp0*tmp37; +double tmp137 = -(tmp3*tmp36); +double tmp138 = -2*tmp2*tmp6; +double tmp139 = tmp135 + tmp136 + tmp137 + tmp138; +double tmp140 = mRoll(4+_OFF); +double tmp141 = 0.0008709284096847238*tmp18*tmp47*tmp48*tmp91*tmp140*tmp54*tmp89; +double tmp142 = tmp3*tmp37; +double tmp143 = tmp1*tmp36; +double tmp144 = -(tmp0*tmp36); +double tmp145 = 2*tmp4*tmp6; +double tmp146 = tmp141 + tmp142 + tmp143 + tmp144 + tmp145; +double tmp147 = tmp5*tmp1; +double tmp148 = -tmp11; +double tmp149 = tmp147 + tmp148; J(1+_OFF,1+_OFF) = 0; J(1+_OFF,2+_OFF) = 0; J(1+_OFF,3+_OFF) = 0; @@ -110,12 +157,12 @@ J(2+_OFF,3+_OFF) = 0; J(3+_OFF,1+_OFF) = 0; J(3+_OFF,2+_OFF) = 0; J(3+_OFF,3+_OFF) = 0; -J(4+_OFF,1+_OFF) = tmp0*tmp1*tmp9*tmp81 - tmp0*tmp4*tmp9*tmp85; -J(4+_OFF,2+_OFF) = -(tmp0*tmp4*tmp9*tmp89) + tmp0*tmp1*tmp9*tmp93; -J(4+_OFF,3+_OFF) = -(tmp0*tmp4*tmp9*tmp98) + tmp0*tmp1*tmp9*tmp102; -J(5+_OFF,1+_OFF) = -(tmp78*tmp9*(2*tmp1*tmp30 - tmp2*tmp29 + tmp4*tmp29)); -J(5+_OFF,2+_OFF) = -0.0008709284096847238*tmp11*tmp31*set2(17+_OFF)*std::pow(set2(22+_OFF),2)*tmp32*tmp78*tmp9*tmp40*tmp75; -J(5+_OFF,3+_OFF) = -(tmp78*tmp9*(-(tmp2*tmp30) + tmp4*tmp30 - 2*tmp1*tmp29)); -J(6+_OFF,1+_OFF) = -(tmp2*tmp0*tmp9*tmp81) + tmp0*tmp1*tmp9*tmp85; -J(6+_OFF,2+_OFF) = tmp0*tmp1*tmp9*tmp89 - tmp2*tmp0*tmp9*tmp93; -J(6+_OFF,3+_OFF) = tmp0*tmp1*tmp9*tmp98 - tmp2*tmp0*tmp9*tmp102; +J(4+_OFF,1+_OFF) = -(tmp46*tmp16*tmp96) - tmp40*tmp16*tmp101 - tmp43*tmp16*tmp106; +J(4+_OFF,2+_OFF) = -(tmp40*tmp16*tmp111) - tmp43*tmp16*tmp119 - tmp46*tmp16*tmp129; +J(4+_OFF,3+_OFF) = -(tmp43*tmp16*tmp134) - tmp46*tmp16*tmp139 - tmp40*tmp16*tmp146; +J(5+_OFF,1+_OFF) = -(tmp122*tmp16*tmp96) - tmp46*tmp16*tmp101 - tmp114*tmp16*tmp106; +J(5+_OFF,2+_OFF) = -(tmp46*tmp16*tmp111) - tmp114*tmp16*tmp119 - tmp122*tmp16*tmp129; +J(5+_OFF,3+_OFF) = -(tmp114*tmp16*tmp134) - tmp122*tmp16*tmp139 - tmp46*tmp16*tmp146; +J(6+_OFF,1+_OFF) = -(tmp114*tmp16*tmp96) - tmp43*tmp16*tmp101 - tmp149*tmp16*tmp106; +J(6+_OFF,2+_OFF) = -(tmp43*tmp16*tmp111) - tmp149*tmp16*tmp119 - tmp114*tmp16*tmp129; +J(6+_OFF,3+_OFF) = -(tmp149*tmp16*tmp134) - tmp114*tmp16*tmp139 - tmp43*tmp16*tmp146; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrWind.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrWind.cppready index 58ec3d6..f7f6653 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrWind.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrWind.cppready @@ -11,7 +11,7 @@ double tmp9 = std::pow(tmp2,2); double tmp10 = std::pow(tmp1,2); double tmp11 = -tmp10; double tmp12 = std::pow(tmp3,2); -double tmp13 = set1(2+_OFF); +double tmp13 = airDensity(2+_OFF); double tmp14 = 1/tmp13; double tmp15 = x(10+_OFF); double tmp16 = -tmp9; @@ -39,19 +39,19 @@ double tmp37 = -2*tmp6*tmp36; double tmp38 = tmp8 + tmp16 + tmp11 + tmp12; double tmp39 = -(tmp7*tmp38); double tmp40 = tmp34 + tmp37 + tmp39 + tmp15; -double tmp41 = -2*tmp4*tmp30; -double tmp42 = tmp0*tmp2; -double tmp43 = tmp42 + tmp31; -double tmp44 = -2*tmp7*tmp43; -double tmp45 = tmp8 + tmp16 + tmp10 + tmp24; -double tmp46 = -(tmp6*tmp45); -double tmp47 = x(9+_OFF); -double tmp48 = tmp41 + tmp44 + tmp46 + tmp47; -double tmp49 = std::pow(tmp28,2); -double tmp50 = std::pow(tmp40,2); -double tmp51 = set1(3+_OFF); -double tmp52 = set2(24+_OFF); -double tmp53 = set1(1+_OFF); +double tmp41 = airDensity(3+_OFF); +double tmp42 = -2*tmp4*tmp30; +double tmp43 = tmp0*tmp2; +double tmp44 = tmp43 + tmp31; +double tmp45 = -2*tmp7*tmp44; +double tmp46 = tmp8 + tmp16 + tmp10 + tmp24; +double tmp47 = -(tmp6*tmp46); +double tmp48 = x(9+_OFF); +double tmp49 = tmp42 + tmp45 + tmp47 + tmp48; +double tmp50 = std::pow(tmp28,2); +double tmp51 = std::pow(tmp40,2); +double tmp52 = cp(2+_OFF); +double tmp53 = airDensity(1+_OFF); double tmp54 = x(3+_OFF); double tmp55 = tmp53 + tmp54; double tmp56 = -0.006500000000000001*tmp14*tmp55; @@ -60,17 +60,17 @@ double tmp58 = std::pow(tmp57,4.2561); double tmp59 = -tmp8; double tmp60 = tmp59 + tmp16 + tmp10 + tmp12; double tmp61 = 2*tmp60*tmp28; -double tmp62 = -4*tmp30*tmp48; +double tmp62 = -4*tmp30*tmp49; double tmp63 = -4*tmp33*tmp40; double tmp64 = tmp61 + tmp62 + tmp63; -double tmp65 = tmp49 + tmp50; +double tmp65 = tmp50 + tmp51; double tmp66 = 1/std::sqrt(tmp65); -double tmp67 = std::pow(tmp48,2); -double tmp68 = tmp49 + tmp67 + tmp50; +double tmp67 = std::pow(tmp49,2); +double tmp68 = tmp50 + tmp67 + tmp51; double tmp69 = 1/std::sqrt(tmp68); -double tmp70 = tmp48*tmp69; +double tmp70 = tmp49*tmp69; double tmp71 = std::asin(tmp70); -double tmp72 = set2(8+_OFF); +double tmp72 = fLat(1+_OFF); double tmp73 = -(tmp4*tmp8); double tmp74 = -(tmp4*tmp9); double tmp75 = 2*tmp7*tmp0*tmp1; @@ -88,12 +88,12 @@ double tmp86 = tmp6*tmp10; double tmp87 = -2*tmp4*tmp0*tmp3; double tmp88 = 2*tmp7*tmp1*tmp3; double tmp89 = -(tmp6*tmp12); -double tmp90 = -tmp47; +double tmp90 = -tmp48; double tmp91 = tmp82 + tmp83 + tmp84 + tmp85 + tmp86 + tmp87 + tmp88 + tmp89 + tmp90; double tmp92 = std::sqrt(tmp68); -double tmp93 = set2(9+_OFF); +double tmp93 = fLift(1+_OFF); double tmp94 = std::atan2(tmp40,tmp28); -double tmp95 = set2(10+_OFF); +double tmp95 = fLift(2+_OFF); double tmp96 = tmp94*tmp95; double tmp97 = tmp93 + tmp96; double tmp98 = tmp7*tmp8; @@ -110,14 +110,14 @@ double tmp108 = tmp61 + tmp63; double tmp109 = std::pow(tmp65,-1.5); double tmp110 = 1/tmp65; double tmp111 = 1/tmp68; -double tmp112 = set2(4+_OFF); -double tmp113 = set2(5+_OFF); +double tmp112 = fDrag(1+_OFF); +double tmp113 = fDrag(2+_OFF); double tmp114 = tmp94*tmp113; double tmp115 = std::pow(tmp94,2); -double tmp116 = set2(6+_OFF); +double tmp116 = fDrag(3+_OFF); double tmp117 = tmp115*tmp116; double tmp118 = std::pow(tmp71,2); -double tmp119 = set2(7+_OFF); +double tmp119 = fDrag(4+_OFF); double tmp120 = tmp118*tmp119; double tmp121 = tmp112 + tmp114 + tmp117 + tmp120; double tmp122 = -(tmp67*tmp111); @@ -132,15 +132,15 @@ double tmp130 = tmp127 + tmp128 + tmp129 + tmp106; double tmp131 = tmp60*tmp130*tmp110; double tmp132 = tmp126 + tmp131; double tmp133 = std::pow(tmp68,-1.5); -double tmp134 = -(tmp48*tmp64*tmp133)/2.; +double tmp134 = -(tmp49*tmp64*tmp133)/2.; double tmp135 = -2*tmp30*tmp69; double tmp136 = tmp134 + tmp135; -double tmp137 = set2(23+_OFF); -double tmp138 = set2(26+_OFF); +double tmp137 = cp(1+_OFF); +double tmp138 = cp(4+_OFF); double tmp139 = 1/tmp138; double tmp140 = -4*tmp19*tmp28; double tmp141 = tmp59 + tmp9 + tmp11 + tmp12; -double tmp142 = 2*tmp141*tmp48; +double tmp142 = 2*tmp141*tmp49; double tmp143 = -4*tmp36*tmp40; double tmp144 = tmp140 + tmp142 + tmp143; double tmp145 = -2*tmp0*tmp3; @@ -151,17 +151,17 @@ double tmp149 = tmp148 + tmp145; double tmp150 = -2*tmp36*tmp28*tmp110; double tmp151 = -2*tmp19*tmp130*tmp110; double tmp152 = tmp150 + tmp151; -double tmp153 = -(tmp48*tmp144*tmp133)/2.; +double tmp153 = -(tmp49*tmp144*tmp133)/2.; double tmp154 = tmp141*tmp69; double tmp155 = tmp153 + tmp154; double tmp156 = std::pow(tmp137,2); double tmp157 = std::pow(M_PI,-2); -double tmp158 = set2(3+_OFF); +double tmp158 = fThrust(3+_OFF); double tmp159 = 1/M_PI; -double tmp160 = set2(2+_OFF); +double tmp160 = fThrust(2+_OFF); double tmp161 = z(1+_OFF); double tmp162 = -4*tmp22*tmp28; -double tmp163 = -4*tmp43*tmp48; +double tmp163 = -4*tmp44*tmp49; double tmp164 = tmp59 + tmp9 + tmp10 + tmp24; double tmp165 = 2*tmp164*tmp40; double tmp166 = tmp162 + tmp163 + tmp165; @@ -173,11 +173,11 @@ double tmp171 = tmp168 + tmp170; double tmp172 = tmp164*tmp28*tmp110; double tmp173 = -2*tmp22*tmp130*tmp110; double tmp174 = tmp172 + tmp173; -double tmp175 = -(tmp48*tmp166*tmp133)/2.; -double tmp176 = -2*tmp43*tmp69; +double tmp175 = -(tmp49*tmp166*tmp133)/2.; +double tmp176 = -2*tmp44*tmp69; double tmp177 = tmp175 + tmp176; double tmp178 = tmp67*tmp64*tmp147; -double tmp179 = 4*tmp30*tmp48*tmp111; +double tmp179 = 4*tmp30*tmp49*tmp111; double tmp180 = tmp178 + tmp179; double tmp181 = -(tmp6*tmp8); double tmp182 = -2*tmp7*tmp0*tmp2; @@ -187,13 +187,13 @@ double tmp185 = -(tmp6*tmp10); double tmp186 = 2*tmp4*tmp0*tmp3; double tmp187 = -2*tmp7*tmp1*tmp3; double tmp188 = tmp6*tmp12; -double tmp189 = tmp181 + tmp182 + tmp183 + tmp184 + tmp185 + tmp186 + tmp187 + tmp188 + tmp47; +double tmp189 = tmp181 + tmp182 + tmp183 + tmp184 + tmp185 + tmp186 + tmp187 + tmp188 + tmp48; double tmp190 = tmp113*tmp132; double tmp191 = 2*tmp94*tmp116*tmp132; double tmp192 = 2*tmp71*tmp119*tmp125*tmp136; double tmp193 = tmp190 + tmp191 + tmp192; double tmp194 = tmp67*tmp144*tmp147; -double tmp195 = -2*tmp141*tmp48*tmp111; +double tmp195 = -2*tmp141*tmp49*tmp111; double tmp196 = tmp194 + tmp195; double tmp197 = tmp113*tmp152; double tmp198 = 2*tmp94*tmp116*tmp152; @@ -201,7 +201,7 @@ double tmp199 = 2*tmp71*tmp119*tmp125*tmp155; double tmp200 = tmp197 + tmp198 + tmp199; double tmp201 = -2*tmp0*tmp2; double tmp202 = tmp67*tmp166*tmp147; -double tmp203 = 4*tmp43*tmp48*tmp111; +double tmp203 = 4*tmp44*tmp49*tmp111; double tmp204 = tmp202 + tmp203; double tmp205 = tmp113*tmp174; double tmp206 = 2*tmp94*tmp116*tmp174; @@ -224,104 +224,144 @@ double tmp222 = 2*tmp0*tmp2; double tmp223 = -2*tmp1*tmp3; double tmp224 = tmp222 + tmp223; double tmp225 = tmp222 + tmp167; -double tmp226 = set2(28+_OFF); -double tmp227 = set2(29+_OFF); -double tmp228 = set2(25+_OFF); -double tmp229 = set2(12+_OFF); -double tmp230 = set2(13+_OFF); -double tmp231 = x(11+_OFF); -double tmp232 = set2(14+_OFF); -double tmp233 = x(13+_OFF); -double tmp234 = set2(30+_OFF); -double tmp235 = set2(27+_OFF); -double tmp236 = tmp235*tmp226*tmp227; -double tmp237 = std::pow(tmp234,2); -double tmp238 = -(tmp226*tmp237); -double tmp239 = tmp236 + tmp238; -double tmp240 = 1/tmp239; -double tmp241 = set2(21+_OFF); -double tmp242 = set2(20+_OFF); -double tmp243 = tmp71*tmp229; -double tmp244 = (tmp230*tmp228*tmp69*tmp231)/2.; -double tmp245 = (tmp232*tmp228*tmp69*tmp233)/2.; -double tmp246 = set2(11+_OFF); -double tmp247 = z(2+_OFF); -double tmp248 = tmp246*tmp247; -double tmp249 = tmp243 + tmp244 + tmp245 + tmp248; -double tmp250 = tmp71*tmp241; -double tmp251 = (tmp242*tmp228*tmp69*tmp233)/2.; -double tmp252 = set2(19+_OFF); -double tmp253 = z(4+_OFF); -double tmp254 = tmp252*tmp253; -double tmp255 = tmp250 + tmp251 + tmp254; -double tmp256 = set2(22+_OFF); -double tmp257 = set2(18+_OFF); -double tmp258 = set2(17+_OFF); -double tmp259 = x(12+_OFF); -double tmp260 = tmp235*tmp227; -double tmp261 = -tmp237; -double tmp262 = tmp260 + tmp261; -double tmp263 = set2(15+_OFF); -double tmp264 = tmp94*tmp257; -double tmp265 = (tmp258*tmp256*tmp69*tmp259)/2.; -double tmp266 = set2(16+_OFF); -double tmp267 = z(3+_OFF); -double tmp268 = tmp266*tmp267; -double tmp269 = tmp263 + tmp264 + tmp265 + tmp268; -double tmp270 = tmp229*tmp125*tmp136; -double tmp271 = -(tmp230*tmp228*tmp64*tmp133*tmp231)/4.; -double tmp272 = -(tmp232*tmp228*tmp64*tmp133*tmp233)/4.; -double tmp273 = tmp270 + tmp271 + tmp272; -double tmp274 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp228*tmp58*tmp68*tmp273; -double tmp275 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp228*tmp58*tmp64*tmp249; +double tmp226 = ibd(2+_OFF); +double tmp227 = ibd(3+_OFF); +double tmp228 = ibod(1+_OFF); +double tmp229 = ibod(2+_OFF); +double tmp230 = ibod(3+_OFF); +double tmp231 = ibd(1+_OFF); +double tmp232 = std::pow(tmp230,2); +double tmp233 = cp(3+_OFF); +double tmp234 = mRoll(2+_OFF); +double tmp235 = mRoll(3+_OFF); +double tmp236 = x(11+_OFF); +double tmp237 = mRoll(4+_OFF); +double tmp238 = x(13+_OFF); +double tmp239 = tmp231*tmp226*tmp227; +double tmp240 = std::pow(tmp228,2); +double tmp241 = -(tmp226*tmp240); +double tmp242 = std::pow(tmp229,2); +double tmp243 = -(tmp227*tmp242); +double tmp244 = 2*tmp228*tmp229*tmp230; +double tmp245 = -(tmp231*tmp232); +double tmp246 = tmp239 + tmp241 + tmp243 + tmp244 + tmp245; +double tmp247 = 1/tmp246; +double tmp248 = cBar(1+_OFF); +double tmp249 = mPitch(4+_OFF); +double tmp250 = mPitch(3+_OFF); +double tmp251 = x(12+_OFF); +double tmp252 = mYaw(3+_OFF); +double tmp253 = mYaw(2+_OFF); +double tmp254 = tmp226*tmp227; +double tmp255 = -tmp232; +double tmp256 = tmp254 + tmp255; +double tmp257 = tmp71*tmp234; +double tmp258 = (tmp233*tmp235*tmp69*tmp236)/2.; +double tmp259 = (tmp233*tmp237*tmp69*tmp238)/2.; +double tmp260 = mRoll(1+_OFF); +double tmp261 = z(2+_OFF); +double tmp262 = tmp260*tmp261; +double tmp263 = tmp257 + tmp258 + tmp259 + tmp262; +double tmp264 = -(tmp227*tmp229); +double tmp265 = tmp228*tmp230; +double tmp266 = tmp264 + tmp265; +double tmp267 = mPitch(1+_OFF); +double tmp268 = tmp94*tmp249; +double tmp269 = (tmp248*tmp250*tmp69*tmp251)/2.; +double tmp270 = mPitch(2+_OFF); +double tmp271 = z(3+_OFF); +double tmp272 = tmp270*tmp271; +double tmp273 = tmp267 + tmp268 + tmp269 + tmp272; +double tmp274 = -(tmp226*tmp228); +double tmp275 = tmp229*tmp230; double tmp276 = tmp274 + tmp275; -double tmp277 = tmp241*tmp125*tmp136; -double tmp278 = -(tmp242*tmp228*tmp64*tmp133*tmp233)/4.; -double tmp279 = tmp277 + tmp278; -double tmp280 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp228*tmp58*tmp68*tmp279; -double tmp281 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp228*tmp58*tmp64*tmp255; -double tmp282 = tmp280 + tmp281; -double tmp283 = tmp229*tmp125*tmp155; -double tmp284 = -(tmp230*tmp228*tmp144*tmp133*tmp231)/4.; -double tmp285 = -(tmp232*tmp228*tmp144*tmp133*tmp233)/4.; +double tmp277 = tmp71*tmp252; +double tmp278 = (tmp233*tmp253*tmp69*tmp238)/2.; +double tmp279 = mYaw(1+_OFF); +double tmp280 = z(4+_OFF); +double tmp281 = tmp279*tmp280; +double tmp282 = tmp277 + tmp278 + tmp281; +double tmp283 = tmp234*tmp125*tmp136; +double tmp284 = -(tmp233*tmp235*tmp64*tmp133*tmp236)/4.; +double tmp285 = -(tmp233*tmp237*tmp64*tmp133*tmp238)/4.; double tmp286 = tmp283 + tmp284 + tmp285; -double tmp287 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp228*tmp58*tmp68*tmp286; -double tmp288 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp228*tmp58*tmp144*tmp249; +double tmp287 = 0.0017418568193694477*tmp14*tmp41*tmp52*tmp233*tmp58*tmp68*tmp286; +double tmp288 = 0.0017418568193694477*tmp14*tmp41*tmp52*tmp233*tmp58*tmp64*tmp263; double tmp289 = tmp287 + tmp288; -double tmp290 = tmp241*tmp125*tmp155; -double tmp291 = -(tmp242*tmp228*tmp144*tmp133*tmp233)/4.; +double tmp290 = tmp249*tmp132; +double tmp291 = -(tmp248*tmp250*tmp64*tmp133*tmp251)/4.; double tmp292 = tmp290 + tmp291; -double tmp293 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp228*tmp58*tmp68*tmp292; -double tmp294 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp228*tmp58*tmp144*tmp255; +double tmp293 = 0.0017418568193694477*tmp14*tmp41*tmp248*tmp52*tmp58*tmp68*tmp292; +double tmp294 = 0.0017418568193694477*tmp14*tmp41*tmp248*tmp52*tmp58*tmp64*tmp273; double tmp295 = tmp293 + tmp294; -double tmp296 = tmp229*tmp125*tmp177; -double tmp297 = -(tmp230*tmp228*tmp166*tmp133*tmp231)/4.; -double tmp298 = -(tmp232*tmp228*tmp166*tmp133*tmp233)/4.; -double tmp299 = tmp296 + tmp297 + tmp298; -double tmp300 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp228*tmp58*tmp68*tmp299; -double tmp301 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp228*tmp58*tmp166*tmp249; -double tmp302 = tmp300 + tmp301; -double tmp303 = tmp241*tmp125*tmp177; -double tmp304 = -(tmp242*tmp228*tmp166*tmp133*tmp233)/4.; -double tmp305 = tmp303 + tmp304; -double tmp306 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp228*tmp58*tmp68*tmp305; -double tmp307 = 0.0017418568193694477*tmp14*tmp51*tmp52*tmp228*tmp58*tmp166*tmp255; +double tmp296 = tmp252*tmp125*tmp136; +double tmp297 = -(tmp233*tmp253*tmp64*tmp133*tmp238)/4.; +double tmp298 = tmp296 + tmp297; +double tmp299 = 0.0017418568193694477*tmp14*tmp41*tmp52*tmp233*tmp58*tmp68*tmp298; +double tmp300 = 0.0017418568193694477*tmp14*tmp41*tmp52*tmp233*tmp58*tmp64*tmp282; +double tmp301 = tmp299 + tmp300; +double tmp302 = tmp234*tmp125*tmp155; +double tmp303 = -(tmp233*tmp235*tmp144*tmp133*tmp236)/4.; +double tmp304 = -(tmp233*tmp237*tmp144*tmp133*tmp238)/4.; +double tmp305 = tmp302 + tmp303 + tmp304; +double tmp306 = 0.0017418568193694477*tmp14*tmp41*tmp52*tmp233*tmp58*tmp68*tmp305; +double tmp307 = 0.0017418568193694477*tmp14*tmp41*tmp52*tmp233*tmp58*tmp144*tmp263; double tmp308 = tmp306 + tmp307; -J(1+_OFF,1+_OFF) = -(tmp139*(0.0017418568193694477*tmp14*tmp51*tmp97*tmp52*tmp58*tmp107*tmp64*tmp66 + 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp81*tmp91*tmp64*tmp66*tmp69 - 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp81*tmp91*tmp108*tmp109*tmp92 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp219*tmp81*tmp66*tmp92 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp60*tmp91*tmp66*tmp92 - 0.0008709284096847238*tmp14*tmp51*tmp97*tmp52*tmp58*tmp107*tmp108*tmp109*tmp68 + 0.0017418568193694477*tmp14*tmp51*tmp97*tmp52*tmp58*(tmp168 + 2*tmp2*tmp3)*tmp66*tmp68 + 0.0017418568193694477*tmp14*tmp51*tmp95*tmp52*tmp58*tmp107*tmp66*tmp68*tmp132 + 0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp81*tmp66*tmp68*tmp180*tmp125 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp81*tmp64*tmp66*tmp124 - 0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp81*tmp108*tmp109*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp60*tmp66*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp72*tmp52*tmp58*tmp81*tmp91*tmp66*tmp92*tmp125*tmp136 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp81*tmp66*tmp68*tmp124*tmp193 + 0.0034837136387388954*tmp14*tmp51*tmp156*tmp58*(tmp157*tmp158*tmp64 + (tmp159*tmp160*tmp137*tmp64*tmp69*tmp161)/2.))); -J(1+_OFF,2+_OFF) = -(tmp139*(0.0017418568193694477*tmp14*tmp51*tmp97*tmp52*tmp58*tmp107*tmp144*tmp66 + 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp81*tmp91*tmp144*tmp66*tmp69 - 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp81*tmp91*tmp146*tmp109*tmp92 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp45*tmp81*tmp66*tmp92 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp149*tmp91*tmp66*tmp92 - 0.0008709284096847238*tmp14*tmp51*tmp97*tmp52*tmp58*tmp107*tmp146*tmp109*tmp68 + 0.0017418568193694477*tmp14*tmp51*tmp97*tmp52*tmp58*(tmp201 + tmp167)*tmp66*tmp68 + 0.0017418568193694477*tmp14*tmp51*tmp95*tmp52*tmp58*tmp107*tmp66*tmp68*tmp152 + 0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp81*tmp66*tmp68*tmp196*tmp125 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp81*tmp144*tmp66*tmp124 - 0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp81*tmp146*tmp109*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp149*tmp66*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp72*tmp52*tmp58*tmp81*tmp91*tmp66*tmp92*tmp125*tmp155 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp81*tmp66*tmp68*tmp124*tmp200 + 0.0034837136387388954*tmp14*tmp51*tmp156*tmp58*(tmp157*tmp158*tmp144 + (tmp159*tmp160*tmp137*tmp144*tmp69*tmp161)/2.))); -J(1+_OFF,3+_OFF) = -(tmp139*(0.0017418568193694477*tmp14*tmp51*tmp97*tmp52*tmp58*tmp107*tmp166*tmp66 + 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp81*tmp91*tmp166*tmp66*tmp69 - 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp81*tmp91*tmp169*tmp109*tmp92 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp225*tmp81*tmp66*tmp92 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp171*tmp91*tmp66*tmp92 - 0.0008709284096847238*tmp14*tmp51*tmp97*tmp52*tmp58*tmp107*tmp169*tmp109*tmp68 + 0.0017418568193694477*tmp14*tmp51*tmp97*tmp52*tmp58*tmp38*tmp66*tmp68 + 0.0017418568193694477*tmp14*tmp51*tmp95*tmp52*tmp58*tmp107*tmp66*tmp68*tmp174 + 0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp81*tmp66*tmp68*tmp204*tmp125 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp81*tmp166*tmp66*tmp124 - 0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp81*tmp169*tmp109*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp171*tmp66*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp72*tmp52*tmp58*tmp81*tmp91*tmp66*tmp92*tmp125*tmp177 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp81*tmp66*tmp68*tmp124*tmp208 + 0.0034837136387388954*tmp14*tmp51*tmp156*tmp58*(tmp157*tmp158*tmp166 + (tmp159*tmp160*tmp137*tmp166*tmp69*tmp161)/2.))); -J(2+_OFF,1+_OFF) = -(tmp139*(0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp189*tmp64*tmp69 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*(tmp148 + 2*tmp0*tmp3)*tmp92 + 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp68*tmp180*tmp125 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp64*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp72*tmp52*tmp58*tmp68*tmp136 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp189*tmp92*tmp193)); -J(2+_OFF,2+_OFF) = -(tmp139*(0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp189*tmp144*tmp69 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp141*tmp92 + 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp68*tmp196*tmp125 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp144*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp72*tmp52*tmp58*tmp68*tmp155 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp189*tmp92*tmp200)); -J(2+_OFF,3+_OFF) = -(tmp139*(0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp189*tmp166*tmp69 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*(tmp201 + tmp223)*tmp92 + 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp68*tmp204*tmp125 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp166*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp72*tmp52*tmp58*tmp68*tmp177 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp189*tmp92*tmp208)); -J(3+_OFF,1+_OFF) = -(tmp139*(0.0017418568193694477*tmp14*tmp51*tmp97*tmp52*tmp58*tmp81*tmp64*tmp66 + 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp91*tmp217*tmp64*tmp66*tmp69 - 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp91*tmp217*tmp108*tmp109*tmp92 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp221*tmp91*tmp66*tmp92 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp219*tmp217*tmp66*tmp92 - 0.0008709284096847238*tmp14*tmp51*tmp97*tmp52*tmp58*tmp81*tmp108*tmp109*tmp68 + 0.0017418568193694477*tmp14*tmp51*tmp97*tmp52*tmp58*tmp60*tmp66*tmp68 + 0.0017418568193694477*tmp14*tmp51*tmp95*tmp52*tmp58*tmp81*tmp66*tmp68*tmp132 + 0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp217*tmp66*tmp68*tmp180*tmp125 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp217*tmp64*tmp66*tmp124 - 0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp217*tmp108*tmp109*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp221*tmp66*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp72*tmp52*tmp58*tmp91*tmp217*tmp66*tmp92*tmp125*tmp136 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp217*tmp66*tmp68*tmp124*tmp193)); -J(3+_OFF,2+_OFF) = -(tmp139*(0.0017418568193694477*tmp14*tmp51*tmp97*tmp52*tmp58*tmp81*tmp144*tmp66 + 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp91*tmp217*tmp144*tmp66*tmp69 - 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp91*tmp217*tmp146*tmp109*tmp92 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp224*tmp91*tmp66*tmp92 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp45*tmp217*tmp66*tmp92 - 0.0008709284096847238*tmp14*tmp51*tmp97*tmp52*tmp58*tmp81*tmp146*tmp109*tmp68 + 0.0017418568193694477*tmp14*tmp51*tmp97*tmp52*tmp58*tmp149*tmp66*tmp68 + 0.0017418568193694477*tmp14*tmp51*tmp95*tmp52*tmp58*tmp81*tmp66*tmp68*tmp152 + 0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp217*tmp66*tmp68*tmp196*tmp125 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp217*tmp144*tmp66*tmp124 - 0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp217*tmp146*tmp109*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp224*tmp66*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp72*tmp52*tmp58*tmp91*tmp217*tmp66*tmp92*tmp125*tmp155 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp217*tmp66*tmp68*tmp124*tmp200)); -J(3+_OFF,3+_OFF) = -(tmp139*(0.0017418568193694477*tmp14*tmp51*tmp97*tmp52*tmp58*tmp81*tmp166*tmp66 + 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp91*tmp217*tmp166*tmp66*tmp69 - 0.0008709284096847238*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp91*tmp217*tmp169*tmp109*tmp92 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp164*tmp91*tmp66*tmp92 + 0.0017418568193694477*tmp71*tmp14*tmp51*tmp72*tmp52*tmp58*tmp225*tmp217*tmp66*tmp92 - 0.0008709284096847238*tmp14*tmp51*tmp97*tmp52*tmp58*tmp81*tmp169*tmp109*tmp68 + 0.0017418568193694477*tmp14*tmp51*tmp97*tmp52*tmp58*tmp171*tmp66*tmp68 + 0.0017418568193694477*tmp14*tmp51*tmp95*tmp52*tmp58*tmp81*tmp66*tmp68*tmp174 + 0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp217*tmp66*tmp68*tmp204*tmp125 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp217*tmp166*tmp66*tmp124 - 0.0008709284096847238*tmp14*tmp51*tmp121*tmp52*tmp58*tmp217*tmp169*tmp109*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp121*tmp52*tmp58*tmp164*tmp66*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp51*tmp72*tmp52*tmp58*tmp91*tmp217*tmp66*tmp92*tmp125*tmp177 + 0.0017418568193694477*tmp14*tmp51*tmp52*tmp58*tmp217*tmp66*tmp68*tmp124*tmp208)); -J(4+_OFF,1+_OFF) = -(tmp226*tmp227*tmp240*tmp276) + tmp226*tmp234*tmp240*tmp282; -J(4+_OFF,2+_OFF) = -(tmp226*tmp227*tmp240*tmp289) + tmp226*tmp234*tmp240*tmp295; -J(4+_OFF,3+_OFF) = -(tmp226*tmp227*tmp240*tmp302) + tmp226*tmp234*tmp240*tmp308; -J(5+_OFF,1+_OFF) = -(tmp262*tmp240*(0.0017418568193694477*tmp14*tmp51*tmp256*tmp52*tmp58*tmp68*(tmp257*tmp132 - (tmp258*tmp256*tmp64*tmp133*tmp259)/4.) + 0.0017418568193694477*tmp14*tmp51*tmp256*tmp52*tmp58*tmp64*tmp269)); -J(5+_OFF,2+_OFF) = -(tmp262*tmp240*(0.0017418568193694477*tmp14*tmp51*tmp256*tmp52*tmp58*tmp68*(tmp257*tmp152 - (tmp258*tmp256*tmp144*tmp133*tmp259)/4.) + 0.0017418568193694477*tmp14*tmp51*tmp256*tmp52*tmp58*tmp144*tmp269)); -J(5+_OFF,3+_OFF) = -(tmp262*tmp240*(0.0017418568193694477*tmp14*tmp51*tmp256*tmp52*tmp58*tmp68*(tmp257*tmp174 - (tmp258*tmp256*tmp166*tmp133*tmp259)/4.) + 0.0017418568193694477*tmp14*tmp51*tmp256*tmp52*tmp58*tmp166*tmp269)); -J(6+_OFF,1+_OFF) = tmp226*tmp234*tmp240*tmp276 - tmp235*tmp226*tmp240*tmp282; -J(6+_OFF,2+_OFF) = tmp226*tmp234*tmp240*tmp289 - tmp235*tmp226*tmp240*tmp295; -J(6+_OFF,3+_OFF) = tmp226*tmp234*tmp240*tmp302 - tmp235*tmp226*tmp240*tmp308; +double tmp309 = tmp231*tmp227; +double tmp310 = -tmp240; +double tmp311 = tmp309 + tmp310; +double tmp312 = tmp249*tmp152; +double tmp313 = -(tmp248*tmp250*tmp144*tmp133*tmp251)/4.; +double tmp314 = tmp312 + tmp313; +double tmp315 = 0.0017418568193694477*tmp14*tmp41*tmp248*tmp52*tmp58*tmp68*tmp314; +double tmp316 = 0.0017418568193694477*tmp14*tmp41*tmp248*tmp52*tmp58*tmp144*tmp273; +double tmp317 = tmp315 + tmp316; +double tmp318 = tmp228*tmp229; +double tmp319 = -(tmp231*tmp230); +double tmp320 = tmp318 + tmp319; +double tmp321 = tmp252*tmp125*tmp155; +double tmp322 = -(tmp233*tmp253*tmp144*tmp133*tmp238)/4.; +double tmp323 = tmp321 + tmp322; +double tmp324 = 0.0017418568193694477*tmp14*tmp41*tmp52*tmp233*tmp58*tmp68*tmp323; +double tmp325 = 0.0017418568193694477*tmp14*tmp41*tmp52*tmp233*tmp58*tmp144*tmp282; +double tmp326 = tmp324 + tmp325; +double tmp327 = tmp234*tmp125*tmp177; +double tmp328 = -(tmp233*tmp235*tmp166*tmp133*tmp236)/4.; +double tmp329 = -(tmp233*tmp237*tmp166*tmp133*tmp238)/4.; +double tmp330 = tmp327 + tmp328 + tmp329; +double tmp331 = 0.0017418568193694477*tmp14*tmp41*tmp52*tmp233*tmp58*tmp68*tmp330; +double tmp332 = 0.0017418568193694477*tmp14*tmp41*tmp52*tmp233*tmp58*tmp166*tmp263; +double tmp333 = tmp331 + tmp332; +double tmp334 = tmp249*tmp174; +double tmp335 = -(tmp248*tmp250*tmp166*tmp133*tmp251)/4.; +double tmp336 = tmp334 + tmp335; +double tmp337 = 0.0017418568193694477*tmp14*tmp41*tmp248*tmp52*tmp58*tmp68*tmp336; +double tmp338 = 0.0017418568193694477*tmp14*tmp41*tmp248*tmp52*tmp58*tmp166*tmp273; +double tmp339 = tmp337 + tmp338; +double tmp340 = tmp252*tmp125*tmp177; +double tmp341 = -(tmp233*tmp253*tmp166*tmp133*tmp238)/4.; +double tmp342 = tmp340 + tmp341; +double tmp343 = 0.0017418568193694477*tmp14*tmp41*tmp52*tmp233*tmp58*tmp68*tmp342; +double tmp344 = 0.0017418568193694477*tmp14*tmp41*tmp52*tmp233*tmp58*tmp166*tmp282; +double tmp345 = tmp343 + tmp344; +double tmp346 = tmp231*tmp226; +double tmp347 = -tmp242; +double tmp348 = tmp346 + tmp347; +J(1+_OFF,1+_OFF) = -(tmp139*(0.0017418568193694477*tmp14*tmp41*tmp52*tmp97*tmp58*tmp107*tmp64*tmp66 + 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp81*tmp91*tmp64*tmp66*tmp69 - 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp81*tmp91*tmp108*tmp109*tmp92 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp219*tmp81*tmp66*tmp92 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp60*tmp91*tmp66*tmp92 - 0.0008709284096847238*tmp14*tmp41*tmp52*tmp97*tmp58*tmp107*tmp108*tmp109*tmp68 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp97*tmp58*(tmp168 + 2*tmp2*tmp3)*tmp66*tmp68 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp95*tmp58*tmp107*tmp66*tmp68*tmp132 + 0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp81*tmp66*tmp68*tmp180*tmp125 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp81*tmp64*tmp66*tmp124 - 0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp81*tmp108*tmp109*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp60*tmp66*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp72*tmp58*tmp81*tmp91*tmp66*tmp92*tmp125*tmp136 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp58*tmp81*tmp66*tmp68*tmp124*tmp193 + 0.0034837136387388954*tmp14*tmp41*tmp156*tmp58*(tmp157*tmp158*tmp64 + (tmp159*tmp137*tmp160*tmp64*tmp69*tmp161)/2.))); +J(1+_OFF,2+_OFF) = -(tmp139*(0.0017418568193694477*tmp14*tmp41*tmp52*tmp97*tmp58*tmp107*tmp144*tmp66 + 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp81*tmp91*tmp144*tmp66*tmp69 - 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp81*tmp91*tmp146*tmp109*tmp92 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp46*tmp81*tmp66*tmp92 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp149*tmp91*tmp66*tmp92 - 0.0008709284096847238*tmp14*tmp41*tmp52*tmp97*tmp58*tmp107*tmp146*tmp109*tmp68 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp97*tmp58*(tmp201 + tmp167)*tmp66*tmp68 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp95*tmp58*tmp107*tmp66*tmp68*tmp152 + 0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp81*tmp66*tmp68*tmp196*tmp125 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp81*tmp144*tmp66*tmp124 - 0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp81*tmp146*tmp109*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp149*tmp66*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp72*tmp58*tmp81*tmp91*tmp66*tmp92*tmp125*tmp155 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp58*tmp81*tmp66*tmp68*tmp124*tmp200 + 0.0034837136387388954*tmp14*tmp41*tmp156*tmp58*(tmp157*tmp158*tmp144 + (tmp159*tmp137*tmp160*tmp144*tmp69*tmp161)/2.))); +J(1+_OFF,3+_OFF) = -(tmp139*(0.0017418568193694477*tmp14*tmp41*tmp52*tmp97*tmp58*tmp107*tmp166*tmp66 + 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp81*tmp91*tmp166*tmp66*tmp69 - 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp81*tmp91*tmp169*tmp109*tmp92 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp225*tmp81*tmp66*tmp92 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp171*tmp91*tmp66*tmp92 - 0.0008709284096847238*tmp14*tmp41*tmp52*tmp97*tmp58*tmp107*tmp169*tmp109*tmp68 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp97*tmp58*tmp38*tmp66*tmp68 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp95*tmp58*tmp107*tmp66*tmp68*tmp174 + 0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp81*tmp66*tmp68*tmp204*tmp125 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp81*tmp166*tmp66*tmp124 - 0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp81*tmp169*tmp109*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp171*tmp66*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp72*tmp58*tmp81*tmp91*tmp66*tmp92*tmp125*tmp177 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp58*tmp81*tmp66*tmp68*tmp124*tmp208 + 0.0034837136387388954*tmp14*tmp41*tmp156*tmp58*(tmp157*tmp158*tmp166 + (tmp159*tmp137*tmp160*tmp166*tmp69*tmp161)/2.))); +J(2+_OFF,1+_OFF) = -(tmp139*(0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp189*tmp64*tmp69 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*(tmp148 + 2*tmp0*tmp3)*tmp92 + 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp68*tmp180*tmp125 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp64*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp72*tmp58*tmp68*tmp136 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp58*tmp189*tmp92*tmp193)); +J(2+_OFF,2+_OFF) = -(tmp139*(0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp189*tmp144*tmp69 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp141*tmp92 + 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp68*tmp196*tmp125 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp144*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp72*tmp58*tmp68*tmp155 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp58*tmp189*tmp92*tmp200)); +J(2+_OFF,3+_OFF) = -(tmp139*(0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp189*tmp166*tmp69 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*(tmp201 + tmp223)*tmp92 + 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp68*tmp204*tmp125 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp166*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp72*tmp58*tmp68*tmp177 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp58*tmp189*tmp92*tmp208)); +J(3+_OFF,1+_OFF) = -(tmp139*(0.0017418568193694477*tmp14*tmp41*tmp52*tmp97*tmp58*tmp81*tmp64*tmp66 + 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp91*tmp217*tmp64*tmp66*tmp69 - 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp91*tmp217*tmp108*tmp109*tmp92 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp221*tmp91*tmp66*tmp92 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp219*tmp217*tmp66*tmp92 - 0.0008709284096847238*tmp14*tmp41*tmp52*tmp97*tmp58*tmp81*tmp108*tmp109*tmp68 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp97*tmp58*tmp60*tmp66*tmp68 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp95*tmp58*tmp81*tmp66*tmp68*tmp132 + 0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp217*tmp66*tmp68*tmp180*tmp125 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp217*tmp64*tmp66*tmp124 - 0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp217*tmp108*tmp109*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp221*tmp66*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp72*tmp58*tmp91*tmp217*tmp66*tmp92*tmp125*tmp136 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp58*tmp217*tmp66*tmp68*tmp124*tmp193)); +J(3+_OFF,2+_OFF) = -(tmp139*(0.0017418568193694477*tmp14*tmp41*tmp52*tmp97*tmp58*tmp81*tmp144*tmp66 + 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp91*tmp217*tmp144*tmp66*tmp69 - 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp91*tmp217*tmp146*tmp109*tmp92 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp224*tmp91*tmp66*tmp92 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp46*tmp217*tmp66*tmp92 - 0.0008709284096847238*tmp14*tmp41*tmp52*tmp97*tmp58*tmp81*tmp146*tmp109*tmp68 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp97*tmp58*tmp149*tmp66*tmp68 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp95*tmp58*tmp81*tmp66*tmp68*tmp152 + 0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp217*tmp66*tmp68*tmp196*tmp125 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp217*tmp144*tmp66*tmp124 - 0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp217*tmp146*tmp109*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp224*tmp66*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp72*tmp58*tmp91*tmp217*tmp66*tmp92*tmp125*tmp155 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp58*tmp217*tmp66*tmp68*tmp124*tmp200)); +J(3+_OFF,3+_OFF) = -(tmp139*(0.0017418568193694477*tmp14*tmp41*tmp52*tmp97*tmp58*tmp81*tmp166*tmp66 + 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp91*tmp217*tmp166*tmp66*tmp69 - 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp91*tmp217*tmp169*tmp109*tmp92 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp164*tmp91*tmp66*tmp92 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp225*tmp217*tmp66*tmp92 - 0.0008709284096847238*tmp14*tmp41*tmp52*tmp97*tmp58*tmp81*tmp169*tmp109*tmp68 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp97*tmp58*tmp171*tmp66*tmp68 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp95*tmp58*tmp81*tmp66*tmp68*tmp174 + 0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp217*tmp66*tmp68*tmp204*tmp125 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp217*tmp166*tmp66*tmp124 - 0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp217*tmp169*tmp109*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp164*tmp66*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp72*tmp58*tmp91*tmp217*tmp66*tmp92*tmp125*tmp177 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp58*tmp217*tmp66*tmp68*tmp124*tmp208)); +J(4+_OFF,1+_OFF) = -(tmp256*tmp247*tmp289) - tmp266*tmp247*tmp295 - tmp276*tmp247*tmp301; +J(4+_OFF,2+_OFF) = -(tmp256*tmp247*tmp308) - tmp266*tmp247*tmp317 - tmp276*tmp247*tmp326; +J(4+_OFF,3+_OFF) = -(tmp256*tmp247*tmp333) - tmp266*tmp247*tmp339 - tmp276*tmp247*tmp345; +J(5+_OFF,1+_OFF) = -(tmp266*tmp247*tmp289) - tmp311*tmp247*tmp295 - tmp320*tmp247*tmp301; +J(5+_OFF,2+_OFF) = -(tmp266*tmp247*tmp308) - tmp311*tmp247*tmp317 - tmp320*tmp247*tmp326; +J(5+_OFF,3+_OFF) = -(tmp266*tmp247*tmp333) - tmp311*tmp247*tmp339 - tmp320*tmp247*tmp345; +J(6+_OFF,1+_OFF) = -(tmp276*tmp247*tmp289) - tmp320*tmp247*tmp295 - tmp348*tmp247*tmp301; +J(6+_OFF,2+_OFF) = -(tmp276*tmp247*tmp308) - tmp320*tmp247*tmp317 - tmp348*tmp247*tmp326; +J(6+_OFF,3+_OFF) = -(tmp276*tmp247*tmp333) - tmp320*tmp247*tmp339 - tmp348*tmp247*tmp345; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_debug.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_debug.cppready index f1f4669..b699d1b 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_debug.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_debug.cppready @@ -46,33 +46,33 @@ double tmp44 = tmp8 + tmp32 + tmp10 + tmp20; double tmp45 = -(tmp6*tmp44); double tmp46 = x(9+_OFF); double tmp47 = tmp40 + tmp43 + tmp45 + tmp46; -double tmp48 = set1(2+_OFF); +double tmp48 = airDensity(2+_OFF); double tmp49 = 1/tmp48; double tmp50 = std::pow(tmp24,2); double tmp51 = std::pow(tmp47,2); double tmp52 = std::pow(tmp36,2); double tmp53 = tmp50 + tmp51 + tmp52; -double tmp54 = 1/std::sqrt(tmp53); -double tmp55 = tmp47*tmp54; -double tmp56 = std::asin(tmp55); -double tmp57 = set1(3+_OFF); -double tmp58 = set2(24+_OFF); -double tmp59 = set1(1+_OFF); +double tmp54 = airDensity(3+_OFF); +double tmp55 = 1/std::sqrt(tmp53); +double tmp56 = tmp47*tmp55; +double tmp57 = std::asin(tmp56); +double tmp58 = cp(2+_OFF); +double tmp59 = airDensity(1+_OFF); double tmp60 = x(3+_OFF); double tmp61 = tmp59 + tmp60; double tmp62 = -0.006500000000000001*tmp49*tmp61; double tmp63 = 1 + tmp62; double tmp64 = std::pow(tmp63,4.2561); -double tmp65 = set2(23+_OFF); +double tmp65 = cp(1+_OFF); double tmp66 = std::pow(tmp65,2); double tmp67 = z(1+_OFF); -double tmp68 = set2(25+_OFF); -double tmp69 = set2(22+_OFF); +double tmp68 = cp(3+_OFF); +double tmp69 = cBar(1+_OFF); double tmp70 = x(13+_OFF); -dbg(1+_OFF) = 0.0017418568193694477*tmp49*tmp57*(set2(4+_OFF) + tmp37*set2(5+_OFF) + std::pow(tmp37,2)*set2(6+_OFF) + std::pow(tmp56,2)*set2(7+_OFF))*tmp58*tmp64*tmp53; -dbg(2+_OFF) = 0.0017418568193694477*tmp56*tmp49*tmp57*set2(8+_OFF)*tmp58*tmp64*tmp53; -dbg(3+_OFF) = 0.0017418568193694477*tmp49*tmp57*(set2(9+_OFF) + tmp37*set2(10+_OFF))*tmp58*tmp64*tmp53; -dbg(4+_OFF) = 0.0034837136387388954*tmp49*tmp57*tmp66*tmp64*((set2(3+_OFF)*tmp53)/std::pow(M_PI,2) + (set2(2+_OFF)*tmp65*std::sqrt(tmp53)*tmp67)/M_PI + set2(1+_OFF)*tmp66*std::pow(tmp67,2)); -dbg(5+_OFF) = 0.0017418568193694477*tmp49*tmp57*tmp58*tmp68*tmp64*tmp53*(tmp56*set2(12+_OFF) + (set2(13+_OFF)*tmp68*tmp54*x(11+_OFF))/2. + (set2(14+_OFF)*tmp68*tmp54*tmp70)/2. + set2(11+_OFF)*z(2+_OFF)); -dbg(6+_OFF) = 0.0017418568193694477*tmp49*tmp57*tmp69*tmp58*tmp64*tmp53*(set2(15+_OFF) + tmp37*set2(18+_OFF) + (set2(17+_OFF)*tmp69*tmp54*x(12+_OFF))/2. + set2(16+_OFF)*z(3+_OFF)); -dbg(7+_OFF) = 0.0017418568193694477*tmp49*tmp57*tmp58*tmp68*tmp64*tmp53*(tmp56*set2(21+_OFF) + (set2(20+_OFF)*tmp68*tmp54*tmp70)/2. + set2(19+_OFF)*z(4+_OFF)); +dbg(1+_OFF) = 0.0017418568193694477*tmp49*tmp54*tmp58*(fDrag(1+_OFF) + tmp37*fDrag(2+_OFF) + std::pow(tmp37,2)*fDrag(3+_OFF) + std::pow(tmp57,2)*fDrag(4+_OFF))*tmp64*tmp53; +dbg(2+_OFF) = 0.0017418568193694477*tmp49*tmp54*tmp57*tmp58*fLat(1+_OFF)*tmp64*tmp53; +dbg(3+_OFF) = 0.0017418568193694477*tmp49*tmp54*tmp58*(fLift(1+_OFF) + tmp37*fLift(2+_OFF))*tmp64*tmp53; +dbg(4+_OFF) = 0.0034837136387388954*tmp49*tmp54*tmp66*tmp64*((fThrust(3+_OFF)*tmp53)/std::pow(M_PI,2) + (tmp65*fThrust(2+_OFF)*std::sqrt(tmp53)*tmp67)/M_PI + tmp66*fThrust(1+_OFF)*std::pow(tmp67,2)); +dbg(5+_OFF) = 0.0017418568193694477*tmp49*tmp54*tmp58*tmp68*tmp64*tmp53*(tmp57*mRoll(2+_OFF) + (tmp68*mRoll(3+_OFF)*tmp55*x(11+_OFF))/2. + (tmp68*mRoll(4+_OFF)*tmp55*tmp70)/2. + mRoll(1+_OFF)*z(2+_OFF)); +dbg(6+_OFF) = 0.0017418568193694477*tmp49*tmp54*tmp69*tmp58*tmp64*tmp53*(mPitch(1+_OFF) + tmp37*mPitch(4+_OFF) + (tmp69*mPitch(3+_OFF)*tmp55*x(12+_OFF))/2. + mPitch(2+_OFF)*z(3+_OFF)); +dbg(7+_OFF) = 0.0017418568193694477*tmp49*tmp54*tmp58*tmp68*tmp64*tmp53*(tmp57*mYaw(3+_OFF) + (tmp68*mYaw(2+_OFF)*tmp55*tmp70)/2. + mYaw(1+_OFF)*z(4+_OFF)); diff --git a/roamfree/ROAMfunctions/include/ROAMfunctions/AllVariables.h b/roamfree/ROAMfunctions/include/ROAMfunctions/AllVariables.h index 66c59f0..8e1e44a 100644 --- a/roamfree/ROAMfunctions/include/ROAMfunctions/AllVariables.h +++ b/roamfree/ROAMfunctions/include/ROAMfunctions/AllVariables.h @@ -24,6 +24,7 @@ which accompanies this distribution, and is available at #include "Eucl1DV.h" #include "Eucl2DV.h" #include "Eucl3DV.h" +#include "Eucl4DV.h" #include "MagParamsV.h" #include "Matrix3DV.h" #include "PlaneDynamicModelM.h" diff --git a/roamfree/ROAMfunctions/include/ROAMfunctions/Eucl4DV.h b/roamfree/ROAMfunctions/include/ROAMfunctions/Eucl4DV.h new file mode 100644 index 0000000..c0fb039 --- /dev/null +++ b/roamfree/ROAMfunctions/include/ROAMfunctions/Eucl4DV.h @@ -0,0 +1,39 @@ +/* + +Contributors: + Kenneth Joseph Paul (kenneth.josephpaul@epfl.ch) +*/ + +/* + * Eucl4DV.h + * + * Created on: Jul 17, 2019 + * Author: kenneth + */ + +#ifndef EUCL4DV_H_ +#define EUCL4DV_H_ + +#include "Variable.h" + +namespace ROAMfunctions { + +class Eucl4DV { +}; + +class Eucl4DVI: public Variable { +public: + virtual ~Eucl4DVI(); +}; + +template<> +struct VariableTraits { + + static const unsigned int _INTERNAL_SIZE = 4; + static const unsigned int _INCREMENT_SIZE = 4; + + typedef Eucl4DVI VariableI; +}; + +} /* namespace ROAMfunctions */ +#endif /* EUCL4DV_H_ */ diff --git a/roamfree/ROAMfunctions/include/ROAMfunctions/PlaneDynamicModelM.h b/roamfree/ROAMfunctions/include/ROAMfunctions/PlaneDynamicModelM.h index 9026e54..dbabd3c 100644 --- a/roamfree/ROAMfunctions/include/ROAMfunctions/PlaneDynamicModelM.h +++ b/roamfree/ROAMfunctions/include/ROAMfunctions/PlaneDynamicModelM.h @@ -29,7 +29,7 @@ class PlaneDynamicModelM { static const bool _usedComponents[]; static const std::string _paramsNames[]; - static const int _nParams = 4; + static const int _nParams = 14; static const unsigned int _ORDER = 2; @@ -58,10 +58,20 @@ class PlaneDynamicModelM { bool error(const Eigen::VectorXd &x, double **params, const Eigen::VectorXd& z, Eigen::MatrixBase const &const_ret) { - Eigen::Map > set1(params[0]); - Eigen::Map > set2(params[1]); - Eigen::Map > wind(params[2]); - Eigen::Map > gravity(params[3]); + Eigen::Map > airDensity(params[0]); + Eigen::Map > fThrust(params[1]); + Eigen::Map > fDrag(params[2]); + Eigen::Map > fLat(params[3]); + Eigen::Map > fLift(params[4]); + Eigen::Map > mRoll(params[5]); + Eigen::Map > mPitch(params[6]); + Eigen::Map > mYaw(params[7]); + Eigen::Map > cBar(params[8]); + Eigen::Map > cp(params[9]); + Eigen::Map > ibd(params[10]); + Eigen::Map > ibod(params[11]); + Eigen::Map > wind(params[12]); + Eigen::Map > gravity(params[13]); Eigen::MatrixBase & err = const_cast&>(const_ret); @@ -93,10 +103,20 @@ class PlaneDynamicModelM { const Eigen::VectorXd& z, int wrt, Eigen::MatrixBase const &const_ret) { - Eigen::Map > set1(params[0]); - Eigen::Map > set2(params[1]); - Eigen::Map > wind(params[2]); - Eigen::Map > gravity(params[3]); + Eigen::Map > airDensity(params[0]); + Eigen::Map > fThrust(params[1]); + Eigen::Map > fDrag(params[2]); + Eigen::Map > fLat(params[3]); + Eigen::Map > fLift(params[4]); + Eigen::Map > mRoll(params[5]); + Eigen::Map > mPitch(params[6]); + Eigen::Map > mYaw(params[7]); + Eigen::Map > cBar(params[8]); + Eigen::Map > cp(params[9]); + Eigen::Map > ibd(params[10]); + Eigen::Map > ibod(params[11]); + Eigen::Map > wind(params[12]); + Eigen::Map > gravity(params[13]); Eigen::MatrixBase & J = const_cast&>(const_ret); @@ -154,21 +174,80 @@ class PlaneDynamicModelM { break; } - case 1: // jacobian wrt set1 + case 1: // jacobian wrt AirDensity { -# include "generated/PlaneDynamicModel_JErrSet1.cppready" +# include "generated/PlaneDynamicModel_JErrAirDensity.cppready" return true; break; } - case 2: // jacobian wrt set2 + case 2: // jacobian wrt FThrust { -# include "generated/PlaneDynamicModel_JErrSet2.cppready" +# include "generated/PlaneDynamicModel_JErrFThrust.cppready" return true; break; } - - case 3: // jacobian wrt wind + case 3: // jacobian wrt FDrag + { +# include "generated/PlaneDynamicModel_JErrFDrag.cppready" + return true; + break; + } + case 4: // jacobian wrt FLat + { +# include "generated/PlaneDynamicModel_JErrFLat.cppready" + return true; + break; + } + case 5: // jacobian wrt FLift + { +# include "generated/PlaneDynamicModel_JErrFLift.cppready" + return true; + break; + } + case 6: // jacobian wrt MRoll + { +# include "generated/PlaneDynamicModel_JErrMRoll.cppready" + return true; + break; + } + case 7: // jacobian wrt MPitch + { +# include "generated/PlaneDynamicModel_JErrMPitch.cppready" + return true; + break; + } + case 8: // jacobian wrt MYaw + { +# include "generated/PlaneDynamicModel_JErrMYaw.cppready" + return true; + break; + } + case 9: // jacobian wrt CBar + { +# include "generated/PlaneDynamicModel_JErrCBar.cppready" + return true; + break; + } + case 10: // jacobian wrt Cp + { +# include "generated/PlaneDynamicModel_JErrCp.cppready" + return true; + break; + } + case 11: // jacobian wrt Ibd + { +# include "generated/PlaneDynamicModel_JErrIbd.cppready" + return true; + break; + } + case 12: // jacobian wrt Ibod + { +# include "generated/PlaneDynamicModel_JErrIbod.cppready" + return true; + break; + } + case 13: // jacobian wrt wind { # include "generated/PlaneDynamicModel_JErrWind.cppready" return true; diff --git a/roamfree/ROAMfunctions/src/Eucl4DV.cpp b/roamfree/ROAMfunctions/src/Eucl4DV.cpp new file mode 100644 index 0000000..fc44045 --- /dev/null +++ b/roamfree/ROAMfunctions/src/Eucl4DV.cpp @@ -0,0 +1,21 @@ +/* + +Contributors: + Kenneth Joseph Paul (kenneth.josephpaul@epfl.ch) +*/ + +/* + * Eucl4DV.h + * + * Created on: Jul 17, 2019 + * Author: kenneth + */ + +#include "Eucl4DV.h" + +namespace ROAMfunctions { + +Eucl4DVI::~Eucl4DVI() { +} + +} /* namespace ROAMfunctions */ diff --git a/roamfree/ROAMfunctions/src/PlaneDynamicModelM.cpp b/roamfree/ROAMfunctions/src/PlaneDynamicModelM.cpp index c079f84..af194c1 100644 --- a/roamfree/ROAMfunctions/src/PlaneDynamicModelM.cpp +++ b/roamfree/ROAMfunctions/src/PlaneDynamicModelM.cpp @@ -21,6 +21,6 @@ which accompanies this distribution, and is available at namespace ROAMfunctions { const bool PlaneDynamicModelM::_usedComponents[] = {true, true, true, true, true, true, false, false, false, false}; -const std::string PlaneDynamicModelM::_paramsNames[] = {"Set1", "Set2", "Wind", "Gravity"}; +const std::string PlaneDynamicModelM::_paramsNames[] = {"AirDensity", "FThurst", "FDrag", "FLat", "FLift", "MRoll", "MPitch", "MYaw", "CBar", "Cp", "Ibd", "Ibod", "Wind", "Gravity"}; } /* namespace ROAMfunctions */ From b860afe640a1f4ebbacb0c24f8bb7ccb0dc95e34 Mon Sep 17 00:00:00 2001 From: Kenneth Date: Mon, 12 Aug 2019 17:27:19 +0200 Subject: [PATCH 4/7] Corrected the name of a parameter for Fixed wing model Corrected the equations for angular acceleration in the fixed wing model --- .../AugmentedState_PlaneDynamicModel.nb | 305 ++++--- .../generated/PlaneDynamicModel_Err.cppready | 394 +++++---- .../PlaneDynamicModel_JErrPose.cppready | 346 ++++---- .../PlaneDynamicModel_JErrQ.cppready | 831 +++++++++--------- .../PlaneDynamicModel_JErrV.cppready | 546 ++++++------ .../PlaneDynamicModel_JErrW.cppready | 12 +- .../PlaneDynamicModel_JErrWind.cppready | 700 +++++++-------- .../ROAMfunctions/src/PlaneDynamicModelM.cpp | 2 +- 8 files changed, 1608 insertions(+), 1528 deletions(-) diff --git a/_development/Mathematica/models/AugmentedState_PlaneDynamicModel.nb b/_development/Mathematica/models/AugmentedState_PlaneDynamicModel.nb index 935db7c..23183fa 100644 --- a/_development/Mathematica/models/AugmentedState_PlaneDynamicModel.nb +++ b/_development/Mathematica/models/AugmentedState_PlaneDynamicModel.nb @@ -10,10 +10,10 @@ NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 158, 7] -NotebookDataLength[ 78811, 2101] -NotebookOptionsPosition[ 72564, 2016] -NotebookOutlinePosition[ 72921, 2032] -CellTagsIndexPosition[ 72878, 2029] +NotebookDataLength[ 80146, 2130] +NotebookOptionsPosition[ 73896, 2045] +NotebookOutlinePosition[ 74253, 2061] +CellTagsIndexPosition[ 74210, 2058] WindowFrame->Normal*) (* Beginning of Notebook Content *) @@ -22,7 +22,7 @@ Cell[BoxData[ RowBox[{"Clear", "[", "\"\\"", "]"}]], "Input", CellChangeTimes->{{3.5951624068865957`*^9, 3.595162434106801*^9}}, CellLabel-> - "In[187]:=",ExpressionUUID->"28aebd44-7a23-4603-b370-38149a649cc1"], + "In[189]:=",ExpressionUUID->"28aebd44-7a23-4603-b370-38149a649cc1"], Cell[BoxData[{ RowBox[{"Import", "[", @@ -37,7 +37,7 @@ Cell[BoxData[{ 3.6175174204357758`*^9, 3.617517424343709*^9}, {3.632487617988913*^9, 3.632487633951275*^9}}, CellLabel-> - "In[188]:=",ExpressionUUID->"d5e95da8-5675-4df2-8ff6-af7b8fb219a1"], + "In[190]:=",ExpressionUUID->"d5e95da8-5675-4df2-8ff6-af7b8fb219a1"], Cell[CellGroupData[{ @@ -79,7 +79,7 @@ Cell[BoxData[ CellChangeTimes->{{3.563607037606062*^9, 3.563607124416689*^9}, 3.563608231083735*^9}, CellLabel-> - "In[190]:=",ExpressionUUID->"78e5840d-381c-47a9-b9dd-90c3c4dacb03"], + "In[192]:=",ExpressionUUID->"78e5840d-381c-47a9-b9dd-90c3c4dacb03"], Cell[BoxData[ RowBox[{ @@ -129,7 +129,7 @@ Cell[BoxData[ 3.57113111793888*^9, 3.57113116341093*^9}, {3.571131195958424*^9, 3.571131254626845*^9}, 3.571133049520565*^9}, CellLabel-> - "In[191]:=",ExpressionUUID->"66ac8851-0848-4866-8069-42c37f27b5de"], + "In[193]:=",ExpressionUUID->"66ac8851-0848-4866-8069-42c37f27b5de"], Cell[BoxData[{ RowBox[{ @@ -161,7 +161,7 @@ Cell[BoxData[{ InitializationCell->True, CellChangeTimes->{{3.568453075302482*^9, 3.568453143924776*^9}}, CellLabel-> - "In[192]:=",ExpressionUUID->"a40aa98c-a7a2-4814-b63b-e7c90c9932a0"], + "In[194]:=",ExpressionUUID->"a40aa98c-a7a2-4814-b63b-e7c90c9932a0"], Cell[BoxData[ RowBox[{ @@ -213,7 +213,7 @@ Cell[BoxData[ CellChangeTimes->{{3.568443187261707*^9, 3.568443273520089*^9}, { 3.568458568630984*^9, 3.568458568967643*^9}}, CellLabel-> - "In[194]:=",ExpressionUUID->"ee9449fb-cd56-4179-b90c-f5e3bb0fdcdb"], + "In[196]:=",ExpressionUUID->"ee9449fb-cd56-4179-b90c-f5e3bb0fdcdb"], Cell[BoxData[ RowBox[{ @@ -241,7 +241,7 @@ Cell[BoxData[ 3.568443409373211*^9}, {3.568453008511107*^9, 3.568453014783046*^9}, { 3.60835655838758*^9, 3.608356558395439*^9}}, CellLabel-> - "In[195]:=",ExpressionUUID->"b69052f0-f728-4bd6-9bf7-bae15aa76095"], + "In[197]:=",ExpressionUUID->"b69052f0-f728-4bd6-9bf7-bae15aa76095"], Cell[BoxData[{ RowBox[{ @@ -284,7 +284,7 @@ Cell[BoxData[{ CellChangeTimes->{{3.568444740747602*^9, 3.568444776506934*^9}, { 3.568444838483142*^9, 3.568444844345901*^9}}, CellLabel-> - "In[196]:=",ExpressionUUID->"905c9ad7-8258-45b1-b64f-2d576f63cf20"], + "In[198]:=",ExpressionUUID->"905c9ad7-8258-45b1-b64f-2d576f63cf20"], Cell[BoxData[{ RowBox[{ @@ -352,7 +352,7 @@ Cell[BoxData[{ 3.568446816971497*^9, 3.568446831371454*^9}, {3.56844689667688*^9, 3.568446897039928*^9}, {3.571133081827365*^9, 3.571133085326789*^9}}, CellLabel-> - "In[198]:=",ExpressionUUID->"a7b9df83-8379-4a26-b658-cd16a2c680e3"] + "In[200]:=",ExpressionUUID->"a7b9df83-8379-4a26-b658-cd16a2c680e3"] }, Open ]], Cell["Beginning of stuff", "Title", @@ -376,7 +376,7 @@ Cell[BoxData[ CellChangeTimes->{{3.5732982634483347`*^9, 3.573298275094433*^9}, { 3.606108793708241*^9, 3.6061087941202383`*^9}}, CellLabel-> - "In[200]:=",ExpressionUUID->"89e76b07-ca4f-4879-a9de-3406cd562327"], + "In[202]:=",ExpressionUUID->"89e76b07-ca4f-4879-a9de-3406cd562327"], Cell[BoxData[{ RowBox[{ @@ -417,7 +417,7 @@ Cell[BoxData[{ 3.6324860672576303`*^9}, 3.6324863191229258`*^9, {3.632487946501395*^9, 3.6324879678038177`*^9}, {3.632488008725754*^9, 3.632488019377554*^9}}, CellLabel-> - "In[201]:=",ExpressionUUID->"0f88cdc1-a39e-4d13-b528-8472e029b05f"], + "In[203]:=",ExpressionUUID->"0f88cdc1-a39e-4d13-b528-8472e029b05f"], Cell["Parameters", "Subsubtitle", CellChangeTimes->{{3.576920320535687*^9, @@ -455,8 +455,7 @@ Cell[BoxData[{ RowBox[{"temperature", " ", "gradient"}], " ", "*)"}], ";"}], "\[IndentingNewLine]", RowBox[{ - RowBox[{ - RowBox[{"Ra", " ", "=", " ", "287.05"}], ";"}], " ", + RowBox[{"Ra", " ", "=", " ", "287.30"}], ";", " ", RowBox[{"(*", " ", RowBox[{"gas", " ", "constant", " ", "for", " ", "air"}], " ", "*)"}], ";"}], "\[IndentingNewLine]", @@ -543,11 +542,11 @@ Cell[BoxData[{ RowBox[{"mPitch", "[", "2", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CMY\[Omega]tildey", "=", - RowBox[{"mPitch", "[", "3", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{"mPitch", "[", "4", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"CMYalpha", "=", - RowBox[{"mPitch", "[", "4", "]"}]}], ";"}], + RowBox[{"mPitch", "[", "3", "]"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CMZr", "=", @@ -557,11 +556,11 @@ Cell[BoxData[{ ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CMZ\[Omega]tildez", "=", - RowBox[{"mYaw", "[", "2", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{"mYaw", "[", "3", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"CMZbeta", "=", - RowBox[{"mYaw", "[", "3", "]"}]}], ";"}], + RowBox[{"mYaw", "[", "2", "]"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ @@ -640,9 +639,10 @@ Cell[BoxData[{ 3.634303882252087*^9, 3.634303882568714*^9}, 3.634303913676345*^9, { 3.7715699472059917`*^9, 3.771569949298133*^9}, {3.772359310486154*^9, 3.772359365392565*^9}, {3.7723594227641973`*^9, 3.772359613795624*^9}, { - 3.772360215586792*^9, 3.77236021597759*^9}}, + 3.772360215586792*^9, 3.77236021597759*^9}, {3.77314250558466*^9, + 3.773142505699256*^9}, {3.774589936393152*^9, 3.774589945751444*^9}}, CellLabel-> - "In[207]:=",ExpressionUUID->"33f47236-ad3c-4a61-8f93-8222aa6cc9fa"], + "In[209]:=",ExpressionUUID->"33f47236-ad3c-4a61-8f93-8222aa6cc9fa"], Cell[BoxData[{ RowBox[{ @@ -771,8 +771,9 @@ Cell[BoxData[{ 3.772359671724037*^9}, {3.772359705820054*^9, 3.772359711259782*^9}, { 3.772359937605813*^9, 3.772360048550315*^9}, {3.7723600966964912`*^9, 3.772360359842062*^9}}, + EmphasizeSyntaxErrors->True, CellLabel-> - "In[245]:=",ExpressionUUID->"53a40cfc-f0e8-4e44-9f25-b052baa99c29"], + "In[247]:=",ExpressionUUID->"53a40cfc-f0e8-4e44-9f25-b052baa99c29"], Cell[BoxData[ RowBox[{ @@ -787,7 +788,7 @@ Cell[BoxData[ RowBox[{"wind", " ", "speed", " ", "in", " ", "world", " ", "frame"}], " ", "*)"}]}]], "Input", CellLabel-> - "In[246]:=",ExpressionUUID->"be98cbcc-62a9-4b36-a592-7c1827bbba19"], + "In[248]:=",ExpressionUUID->"be98cbcc-62a9-4b36-a592-7c1827bbba19"], Cell[BoxData[{ RowBox[{ @@ -838,7 +839,7 @@ Cell[BoxData[{ 3.6324862298118343`*^9, 3.632486253278077*^9}, {3.632488200362911*^9, 3.632488217048265*^9}}, CellLabel-> - "In[247]:=",ExpressionUUID->"3db40cdd-aae8-4aed-bbcf-7b6c917acc34"], + "In[249]:=",ExpressionUUID->"3db40cdd-aae8-4aed-bbcf-7b6c917acc34"], Cell["Equations", "Subsubtitle", CellChangeTimes->{{3.573298514193714*^9, 3.5732985158016453`*^9}, { @@ -869,7 +870,7 @@ Cell[BoxData[ RowBox[{"-", "1"}]}], "}"}]}], "}"}]}], ";"}]], "Input", CellChangeTimes->{{3.632820134921884*^9, 3.632820163656551*^9}}, CellLabel-> - "In[253]:=",ExpressionUUID->"e4cd07b0-b7a6-476f-a82d-1ad870ed93c3"], + "In[255]:=",ExpressionUUID->"e4cd07b0-b7a6-476f-a82d-1ad870ed93c3"], Cell["Air density model", "Text", CellChangeTimes->{{3.632464865348349*^9, 3.632464865838887*^9}, { @@ -907,7 +908,7 @@ Cell[BoxData[{ "^", "5.2561"}], "/", RowBox[{"(", RowBox[{"Ra", " ", "T"}], ")"}]}]}], "//", "FullSimplify"}]}], - ";"}]}], "Input", + ";"}], "\[IndentingNewLine]"}], "Input", CellChangeTimes->{{3.632462276976709*^9, 3.632462293513674*^9}, { 3.63246255070463*^9, 3.63246255752766*^9}, {3.632462666581998*^9, 3.632462767916204*^9}, 3.632462848468005*^9, {3.632462884866085*^9, @@ -916,9 +917,10 @@ Cell[BoxData[{ 3.6324736736899147`*^9}, {3.632484816779133*^9, 3.632484818831092*^9}, { 3.6324860751887093`*^9, 3.6324860763421392`*^9}, {3.6326351738117943`*^9, 3.632635175495201*^9}, {3.634305313267096*^9, 3.634305315999455*^9}, - 3.771231605060816*^9, {3.7713227938461018`*^9, 3.771322795852179*^9}}, + 3.771231605060816*^9, {3.7713227938461018`*^9, 3.771322795852179*^9}, { + 3.772946102534224*^9, 3.772946104786611*^9}, 3.773142614758792*^9}, CellLabel-> - "In[254]:=",ExpressionUUID->"9f81cfa6-a749-4450-bfb3-736066b50bce"], + "In[256]:=",ExpressionUUID->"9f81cfa6-a749-4450-bfb3-736066b50bce"], Cell["Airspeed", "Text", CellChangeTimes->{{3.6324649632440243`*^9, @@ -939,15 +941,18 @@ Cell[BoxData[{ RowBox[{ RowBox[{"AIRS", "[", RowBox[{"[", "1", "]"}], "]"}], ",", - RowBox[{"AIRS", "[", - RowBox[{"[", "3", "]"}], "]"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{"-", + RowBox[{"AIRS", "[", + RowBox[{"[", "3", "]"}], "]"}]}]}], "]"}]}], + ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"\[Beta]", "=", RowBox[{"ArcSin", "[", RowBox[{ - RowBox[{"AIRS", "[", - RowBox[{"[", "2", "]"}], "]"}], "/", + RowBox[{"-", + RowBox[{"AIRS", "[", + RowBox[{"[", "2", "]"}], "]"}]}], "/", RowBox[{"L2", "[", "AIRS", "]"}]}], "]"}]}], ";"}], " ", "\[IndentingNewLine]", RowBox[{"(*", " ", @@ -964,9 +969,10 @@ Cell[BoxData[{ 3.6324638485511303`*^9}, {3.632464012285355*^9, 3.6324640922581472`*^9}, { 3.63246427497224*^9, 3.6324645819649153`*^9}, {3.632464802514184*^9, 3.632464847852816*^9}, {3.632464958182373*^9, 3.632464975561612*^9}, { - 3.632548707477417*^9, 3.632548715250105*^9}}, + 3.632548707477417*^9, 3.632548715250105*^9}, {3.774611994153266*^9, + 3.774611997890765*^9}}, CellLabel-> - "In[256]:=",ExpressionUUID->"29b01d2f-83ef-4d5a-8a25-69d70c2e9207"], + "In[258]:=",ExpressionUUID->"29b01d2f-83ef-4d5a-8a25-69d70c2e9207"], Cell["Wind frame ", "Text", CellChangeTimes->{{3.6324649823613243`*^9, @@ -992,9 +998,10 @@ Cell[BoxData[ 3.6324649904896584`*^9}, {3.632474117326888*^9, 3.632474118720315*^9}, { 3.632474151294368*^9, 3.6324741531255283`*^9}, {3.63257138686383*^9, 3.632571433828497*^9}, {3.632571484241777*^9, 3.632571500711404*^9}, { - 3.634300370544889*^9, 3.634300375506771*^9}}, + 3.634300370544889*^9, 3.634300375506771*^9}, {3.774266318707065*^9, + 3.774266321501566*^9}, {3.774612005261743*^9, 3.774612007778376*^9}}, CellLabel-> - "In[260]:=",ExpressionUUID->"dbea6cef-0336-433e-92e3-cc59b4a69219"], + "In[262]:=",ExpressionUUID->"dbea6cef-0336-433e-92e3-cc59b4a69219"], Cell["Thrust force", "Text", CellChangeTimes->{{3.632464997924268*^9, 3.63246500193495*^9}, @@ -1049,7 +1056,7 @@ Cell[BoxData[ 3.6349808735654984`*^9, 3.634980887899046*^9}, {3.634982313791176*^9, 3.634982334481447*^9}, {3.634988395067772*^9, 3.634988403877116*^9}}, CellLabel-> - "In[261]:=",ExpressionUUID->"176642b9-ef21-428e-bda6-88b3064f0fe2"], + "In[263]:=",ExpressionUUID->"176642b9-ef21-428e-bda6-88b3064f0fe2"], Cell["Drag force", "Text", CellChangeTimes->{{3.632465883892436*^9, @@ -1072,7 +1079,7 @@ Cell[BoxData[{ 3.632466061225836*^9, 3.632466070531445*^9}, 3.632474180051531*^9, { 3.632486333812204*^9, 3.632486338262673*^9}}, CellLabel-> - "In[262]:=",ExpressionUUID->"f4931c36-9cb3-41d5-9636-f3fbcef428c9"], + "In[264]:=",ExpressionUUID->"f4931c36-9cb3-41d5-9636-f3fbcef428c9"], Cell["Lateral force", "Text", CellChangeTimes->{{3.63246580061057*^9, @@ -1085,10 +1092,12 @@ Cell[BoxData[{ RowBox[{"CFY1", " ", "\[Beta]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"FWY", "=", - RowBox[{"qbar", " ", "S", " ", "CFY"}]}], ";"}]}], "Input", - CellChangeTimes->{{3.632465807062015*^9, 3.63246584035797*^9}}, + RowBox[{ + RowBox[{"-", "qbar"}], " ", "S", " ", "CFY"}]}], ";"}]}], "Input", + CellChangeTimes->{{3.632465807062015*^9, 3.63246584035797*^9}, + 3.774612027001218*^9}, CellLabel-> - "In[264]:=",ExpressionUUID->"63203ee0-9601-47b1-9606-b67b10ce9a46"], + "In[266]:=",ExpressionUUID->"63203ee0-9601-47b1-9606-b67b10ce9a46"], Cell["Lift force", "Text", CellChangeTimes->{{3.6324653247972507`*^9, @@ -1102,12 +1111,13 @@ Cell[BoxData[{ RowBox[{"CFZalpha", " ", "\[Alpha]"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"FWZ", "=", - RowBox[{"qbar", " ", "S", " ", "CFZ"}]}], ";"}]}], "Input", + RowBox[{ + RowBox[{"-", "qbar"}], " ", "S", " ", "CFZ"}]}], ";"}]}], "Input", CellChangeTimes->{{3.6324653325318327`*^9, 3.632465404457531*^9}, { - 3.632465682669859*^9, 3.6324656933429127`*^9}, {3.632465792314137*^9, - 3.632465798108323*^9}}, + 3.632465682669859*^9, 3.6324656933429127`*^9}, {3.632465792314137*^9, + 3.632465798108323*^9}, 3.774612028899675*^9}, CellLabel-> - "In[266]:=",ExpressionUUID->"c73ee33c-6f07-4ea9-82e2-0f37fad73c8e"], + "In[268]:=",ExpressionUUID->"c73ee33c-6f07-4ea9-82e2-0f37fad73c8e"], Cell["Roll moment", "Text", CellChangeTimes->{{3.632466790216868*^9, @@ -1117,7 +1127,8 @@ Cell["Roll moment", "Text", Cell[BoxData[{ RowBox[{ RowBox[{"\[Omega]tildex", "=", " ", - RowBox[{"b", " ", + RowBox[{ + RowBox[{"-", "b"}], " ", RowBox[{ RowBox[{"WS", "[", RowBox[{"[", "1", "]"}], "]"}], "/", @@ -1138,9 +1149,10 @@ Cell[BoxData[{ RowBox[{ RowBox[{"CMX", "=", RowBox[{ - RowBox[{"CMXa", " ", "\[Delta]a"}], " ", "+", - RowBox[{"CMXbeta", " ", "\[Beta]"}], "+", - RowBox[{"CMX\[Omega]tildex", " ", "\[Omega]tildex"}], " ", "+", + RowBox[{ + RowBox[{"-", "CMXa"}], " ", "\[Delta]a"}], " ", "+", + RowBox[{"CMXbeta", " ", "\[Beta]"}], "-", + RowBox[{"CMX\[Omega]tildex", " ", "\[Omega]tildex"}], " ", "-", RowBox[{"CMX\[Omega]tildez", " ", "\[Omega]tildez"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ @@ -1150,9 +1162,10 @@ Cell[BoxData[{ 3.632467018819668*^9, 3.632467037920843*^9}, {3.632467073135228*^9, 3.632467123591279*^9}, {3.6324674621580877`*^9, 3.632467462850863*^9}, { 3.6324862875540953`*^9, 3.6324862888104773`*^9}, {3.6325487193918743`*^9, - 3.632548719873026*^9}, 3.634292400473446*^9}, + 3.632548719873026*^9}, 3.634292400473446*^9, {3.774612038472706*^9, + 3.774612054579494*^9}}, CellLabel-> - "In[268]:=",ExpressionUUID->"7be4a0a1-b2c0-4d7b-b564-9f92dabf375f"], + "In[270]:=",ExpressionUUID->"7be4a0a1-b2c0-4d7b-b564-9f92dabf375f"], Cell["Pitch moment", "Text", CellChangeTimes->{{3.632467155741108*^9, @@ -1162,7 +1175,8 @@ Cell["Pitch moment", "Text", Cell[BoxData[{ RowBox[{ RowBox[{"\[Omega]tildey", "=", - RowBox[{"cbar", " ", + RowBox[{ + RowBox[{"-", "cbar"}], " ", RowBox[{ RowBox[{"WS", "[", RowBox[{"[", "2", "]"}], "]"}], "/", @@ -1172,18 +1186,20 @@ Cell[BoxData[{ ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CMY", "=", - RowBox[{"CMY1", "+", - RowBox[{"CMYe", " ", "\[Delta]e"}], " ", "+", - RowBox[{"CMY\[Omega]tildey", " ", "\[Omega]tildey"}], "+", + RowBox[{ + RowBox[{"-", "CMY1"}], "-", + RowBox[{"CMYe", " ", "\[Delta]e"}], " ", "-", + RowBox[{"CMY\[Omega]tildey", " ", "\[Omega]tildey"}], "-", RowBox[{"CMYalpha", " ", "\[Alpha]"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"MBY", "=", RowBox[{"qbar", " ", "S", " ", "cbar", " ", "CMY"}]}], ";"}]}], "Input", CellChangeTimes->{{3.632467408804394*^9, 3.632467485452004*^9}, { 3.6324734635941877`*^9, 3.6324734804954777`*^9}, {3.632486355640251*^9, - 3.632486356968248*^9}, 3.6325487214032393`*^9}, + 3.632486356968248*^9}, 3.6325487214032393`*^9, {3.774612041318342*^9, + 3.774612074499466*^9}}, CellLabel-> - "In[272]:=",ExpressionUUID->"4ce3e11d-b2d8-42df-94f3-f44671feb140"], + "In[274]:=",ExpressionUUID->"4ce3e11d-b2d8-42df-94f3-f44671feb140"], Cell["Yaw moment", "Text", CellChangeTimes->{{3.6324733890787363`*^9, @@ -1195,16 +1211,16 @@ Cell[BoxData[{ RowBox[{"CMZ", " ", "=", " ", RowBox[{ RowBox[{"CMZr", " ", "\[Delta]r"}], " ", "+", " ", - RowBox[{"CMZ\[Omega]tildez", " ", "\[Omega]tildez"}], " ", "+", + RowBox[{"CMZ\[Omega]tildez", " ", "\[Omega]tildez"}], " ", "-", RowBox[{"CMZbeta", " ", "\[Beta]"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"MBZ", "=", RowBox[{"qbar", " ", "S", " ", "b", " ", "CMZ"}]}], ";"}]}], "Input", CellChangeTimes->{{3.6324733978818483`*^9, 3.632473492292446*^9}, 3.632473773078868*^9, 3.632486362438322*^9, {3.632734158387792*^9, - 3.632734159678158*^9}}, + 3.632734159678158*^9}, 3.774612081502236*^9}, CellLabel-> - "In[275]:=",ExpressionUUID->"1a28b43d-e9a2-4ebf-8251-f3ab2ddb7786"], + "In[277]:=",ExpressionUUID->"1a28b43d-e9a2-4ebf-8251-f3ab2ddb7786"], Cell["Error equations", "Text", CellChangeTimes->{{3.6324737754609947`*^9, @@ -1260,7 +1276,7 @@ Cell[BoxData[{ 3.6342783329840317`*^9, 3.6342783528443823`*^9}, {3.6344523148400803`*^9, 3.634452317130845*^9}}, CellLabel-> - "In[277]:=",ExpressionUUID->"fe419f0a-adf5-43af-9f08-7b8a7f19180b"], + "In[279]:=",ExpressionUUID->"fe419f0a-adf5-43af-9f08-7b8a7f19180b"], Cell[BoxData[{ RowBox[{ @@ -1279,7 +1295,7 @@ Cell[BoxData[{ 3.63427833587599*^9, 3.634278345660905*^9}, {3.634298584045291*^9, 3.634298585468253*^9}, {3.7723598046089363`*^9, 3.772359805228352*^9}}, CellLabel-> - "In[279]:=",ExpressionUUID->"ff5f7d73-add6-4e24-9e55-7b15786660c6"], + "In[281]:=",ExpressionUUID->"ff5f7d73-add6-4e24-9e55-7b15786660c6"], Cell[BoxData[{ RowBox[{ @@ -1335,7 +1351,7 @@ Cell[BoxData[{ 3.634299852392684*^9, 3.634300111654772*^9, {3.634300178359811*^9, 3.634300196975257*^9}}, CellLabel-> - "In[281]:=",ExpressionUUID->"d17df8c1-9260-4a0c-8495-b5ef6f820848"], + "In[283]:=",ExpressionUUID->"d17df8c1-9260-4a0c-8495-b5ef6f820848"], Cell[BoxData[ RowBox[{ @@ -1351,7 +1367,7 @@ Cell[BoxData[ 3.632488026778446*^9, 3.632488059172721*^9}, {3.632488578258338*^9, 3.632488606817566*^9}}, CellLabel-> - "In[284]:=",ExpressionUUID->"8c91f72d-3f47-4547-a792-5e0813bcc352"], + "In[286]:=",ExpressionUUID->"8c91f72d-3f47-4547-a792-5e0813bcc352"], Cell["Predictor", "Subsubtitle", CellChangeTimes->{{3.573298851623851*^9, 3.57329885458322*^9}, { @@ -1383,7 +1399,7 @@ Cell[BoxData[ CellChangeTimes->{{3.632636764848427*^9, 3.632636870351482*^9}, 3.633327075601856*^9, 3.634538652426509*^9}, CellLabel-> - "In[285]:=",ExpressionUUID->"dea35a84-3a0f-4600-a2f4-2ab045608d87"], + "In[287]:=",ExpressionUUID->"dea35a84-3a0f-4600-a2f4-2ab045608d87"], Cell["Output", "Subsubtitle", CellChangeTimes->{{3.573298851623851*^9, @@ -1395,7 +1411,7 @@ Cell[BoxData[ RowBox[{"SetDirectory", "[", RowBox[{"NotebookDirectory", "[", "]"}], "]"}], ";"}]], "Input", CellLabel-> - "In[287]:=",ExpressionUUID->"c2f98c75-5faf-44c8-a958-147c2a660678"], + "In[289]:=",ExpressionUUID->"c2f98c75-5faf-44c8-a958-147c2a660678"], Cell[BoxData[{ RowBox[{ @@ -1484,7 +1500,7 @@ Cell[BoxData[{ 3.632488075940673*^9, 3.632488120413509*^9}, {3.6324882328081903`*^9, 3.632488236596348*^9}, {3.632488545113055*^9, 3.632488557103654*^9}}, CellLabel-> - "In[288]:=",ExpressionUUID->"716ee195-4767-4067-92df-43ed8da3bd15"], + "In[290]:=",ExpressionUUID->"716ee195-4767-4067-92df-43ed8da3bd15"], Cell[BoxData[{ RowBox[{ @@ -1595,21 +1611,22 @@ Cell[BoxData[{ RowBox[{"D", "[", RowBox[{"ERR", ",", RowBox[{"{", "WINDW", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], - ";"}]}], "Input", + ";"}], "\[IndentingNewLine]"}], "Input", CellChangeTimes->{{3.632488242861087*^9, 3.63248826986901*^9}, { 3.632488302807823*^9, 3.632488310708211*^9}, {3.632549179684801*^9, 3.6325491830062933`*^9}, 3.632549233454729*^9, {3.772359825953252*^9, 3.772359833140972*^9}, {3.7723603795875998`*^9, 3.7723605440122347`*^9}, { - 3.772364327412218*^9, 3.772364391371952*^9}}, + 3.772364327412218*^9, 3.772364391371952*^9}, {3.774583805536461*^9, + 3.774583830109449*^9}}, CellLabel-> - "In[296]:=",ExpressionUUID->"cdb0dbd5-e787-49a0-bb76-c4468b401cbc"], + "In[298]:=",ExpressionUUID->"cdb0dbd5-e787-49a0-bb76-c4468b401cbc"], Cell[BoxData[ RowBox[{ RowBox[{"Run", "[", "\"\\"", "]"}], ";"}]], "Input", CellChangeTimes->{{3.605001578968874*^9, 3.605001586300552*^9}}, CellLabel-> - "In[309]:=",ExpressionUUID->"41b82835-d8e1-446a-bec9-5cabfad38221"], + "In[311]:=",ExpressionUUID->"41b82835-d8e1-446a-bec9-5cabfad38221"], Cell[BoxData[{ RowBox[{ @@ -1793,7 +1810,7 @@ Cell[BoxData[{ 3.6342984069072943`*^9, 3.634298419729596*^9}, {3.63429849221801*^9, 3.6342985327140083`*^9}, {3.772364411990938*^9, 3.7723645797179956`*^9}}, CellLabel-> - "In[310]:=",ExpressionUUID->"cbb713d0-b847-42c0-9c5d-8772380d8dba"], + "In[312]:=",ExpressionUUID->"cbb713d0-b847-42c0-9c5d-8772380d8dba"], Cell[BoxData[{ RowBox[{ @@ -1933,6 +1950,16 @@ dbg 0 0\>\"", "]"}], ";"}], "\[IndentingNewLine]", "Run", "[", "\"\\"", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ @@ -1941,22 +1968,22 @@ MF 1 0\>\"", "]"}], ";"}], "\[IndentingNewLine]", PlaneDynamicModel_aalphadebug.mthout AALPHA 1 0\>\"", "]"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]"}], "Input", CellChangeTimes->CompressedData[" -1:eJwdzV9IU2EcxvEpGmoDV9aiDKZYLs4qcP2bXgRvpdihQk43mYlrGhS5pIVg -MJyFbZmR6JklEUaQ29ScYAPFpJxCulIzPcQqtmNrmJyzDOfSC9fW+3svHj53 -zzdbV8NcSZRIJBQe2PmT+Wp+LqDl5tdEdUNSHLQKWyUW7NWxf3tATXtACXJx -Dw1eMk8TP68H2XmsvF5qBSe18SblC/yzEngAhhsTW8DB+VRiwURHTvIr3MvY -ID7mHbc2nAIaz8+uBR+VbspP6BfQxXueAjBkZyrBU+OfiLIdo1HQzHLEiEtz -vGhAQLu62okPg8Uxdk5AelMdkXojS7JifS450XmNL8z0C8itWyAOTXfbQIo2 -2cG9Wd5Z8OkZbg6szjFT/lUBzRyxEFMUkZsLWC+rNoBrwWVxEXv/nOY3KJdX -+NURATXWlvMgw7mUh7AlTxYpMFIjFaNrArrwQU9Me9kcBrUm+i84kltWupQg -ohJVSjkYEh37DyeLKP3GO6KbG/kITnYwU2C4a+oH2NOZFQAdO7ftVmwW0UD6 -dqKVt9hAg6/aDtrcLam0VER5J9uI+rvnR8HCL2Vu8ODZ0yvXZSKqm6GJVbl5 -UXB2X18MPDBmq2jCOnvTtGBxUWU3aDT2EP0qT4MLu2pg74A6VaDVu0VEb0+s -t4Gcov/ytwwRPYv5qsDh77cneOxQ6zEPWP/n/a+jmSFk7FsKg/8Bru9ldA== - +1:eJwdzV1Ik2EYxvEpGmoDV9qiFk2xXG0luD6cHgRPpdioGOtEU3FNgySXtBAM +xmZiW7ZIdLMkwgh0fk+ygWJSTiHd2pbpCCu22Vom77ss51LINXvu5+Did3b9 +0+U10quxDAYjCw/s+Cb9pH1GoRX9S6KwPm4LNFI7GTrstcl/B0BRm58Hurds +YrBU6yR+2AgY5rFsNdMIzsi2mnjP8c+q/z4YaoxtBkfmE4l50+0Z8QO4l7JJ +fOTrubVpptBUbnot+LB4W27MEIUu37XlgcFuaQV4duo9kbV7IgJqDW5i2CI6 +VTBMob1dbcQHgcKoYY5CCk0dkf+KFWfEeixsornKl8/xUsgqXySOOntNIF+s +6QYPpi3Mgk/Ou+fA6gwt37tGIdcJHTGBG765iF0wCJXgemCFXsLeuyj6CbLZ +5V5hmEKNtWU+UOq28I5hJY+X+GC4hklH1ilUZFcQkzr1IVCmEf8BxzNLipdj +aCQRJJSBQbrnyPF4GiXfeEO0usffgTPtUgcY6nJ8Bfs60vxgz57UfdztNBpO +3kU0+nQmUOmp7gZN1uZEMZNG2WdaiYqGSxNg/scSK5h14dzqdRaN6lxiYmVm +dgScPTQYBY9OmsqbsOb+JBlYWFDRC6pUfUSvwFZvwa4pDXdAucDfsrCDRq9P +b7SCbu7Qlc8pNHoa9VSCY19uT/uwoy05NlD96+2Pk5wgUg0uh8Dvh5WOgf1B +9Fcy4gJ/21Mb7Fi1LYdYyvF2gkWCJaJ5rEqv5AaR3/mC+B+HPofu "], CellLabel-> - "In[334]:=",ExpressionUUID->"1a2cbc4e-fbe6-4f7c-8741-b70e886cb2db"], + "In[336]:=",ExpressionUUID->"1a2cbc4e-fbe6-4f7c-8741-b70e886cb2db"], Cell[CellGroupData[{ @@ -1968,7 +1995,7 @@ Cell[BoxData[ 3.605001619532137*^9, 3.6050016309343433`*^9}, {3.626084473225601*^9, 3.626084492513814*^9}, {3.6260847134763527`*^9, 3.6260847142374268`*^9}}, CellLabel-> - "In[359]:=",ExpressionUUID->"92a89388-7fc0-4900-84db-870a39602d88"], + "In[363]:=",ExpressionUUID->"92a89388-7fc0-4900-84db-870a39602d88"], Cell[BoxData["0"], "Output", CellChangeTimes->{ @@ -1995,9 +2022,11 @@ Cell[BoxData["0"], "Output", 3.634452775895094*^9, 3.634980290608531*^9, 3.634980867087916*^9, { 3.634982332576049*^9, 3.6349823386672897`*^9}, 3.771327259597065*^9, 3.771569957428474*^9, 3.7723647052058573`*^9, 3.7724326260823793`*^9, - 3.772432982619478*^9}, + 3.772432982619478*^9, 3.772946110952771*^9, 3.773142622983836*^9, { + 3.7741789490039988`*^9, 3.774178957149096*^9}, 3.774239768380513*^9, + 3.774266326673469*^9, 3.77458390783916*^9, 3.774612092999992*^9}, CellLabel-> - "Out[359]=",ExpressionUUID->"37052ee2-e74e-4e22-9c7a-bbeada570cb9"] + "Out[363]=",ExpressionUUID->"6ec6e9b1-552e-41e6-80e6-1bcfd15cbfec"] }, Open ]], Cell[BoxData[{ @@ -2007,12 +2036,12 @@ Cell[BoxData[{ RowBox[{ RowBox[{"Run", "[", "\"\\"", "]"}], ";"}]}], "Input", CellLabel-> - "In[360]:=",ExpressionUUID->"aaff244c-3ad5-4faf-aeb3-7cdbaa9f50f5"], + "In[364]:=",ExpressionUUID->"aaff244c-3ad5-4faf-aeb3-7cdbaa9f50f5"], Cell[BoxData[" "], "Input", CellChangeTimes->{3.627992683770735*^9}, CellLabel-> - "In[362]:=",ExpressionUUID->"8714cb77-63af-49bd-8987-722049f040d7"] + "In[366]:=",ExpressionUUID->"8714cb77-63af-49bd-8987-722049f040d7"] }, CellGrouping->Manual, WindowSize->{1920, 1090}, @@ -2056,53 +2085,53 @@ Cell[11907, 362, 156, 3, 32, "Subsubtitle",ExpressionUUID->"934e8056-77ed-401a-a Cell[12066, 367, 422, 11, 31, "Input",ExpressionUUID->"89e76b07-ca4f-4879-a9de-3406cd562327"], Cell[12491, 380, 1436, 39, 147, "Input",ExpressionUUID->"0f88cdc1-a39e-4d13-b528-8472e029b05f"], Cell[13930, 421, 159, 3, 32, "Subsubtitle",ExpressionUUID->"a1d3915d-f613-4425-8a04-fe27c5187298"], -Cell[14092, 426, 8508, 218, 1136, "Input",ExpressionUUID->"33f47236-ad3c-4a61-8f93-8222aa6cc9fa"], -Cell[22603, 646, 4394, 128, 469, "Input",ExpressionUUID->"53a40cfc-f0e8-4e44-9f25-b052baa99c29"], -Cell[27000, 776, 442, 13, 31, "Input",ExpressionUUID->"be98cbcc-62a9-4b36-a592-7c1827bbba19"], -Cell[27445, 791, 1695, 49, 170, "Input",ExpressionUUID->"3db40cdd-aae8-4aed-bbcf-7b6c917acc34"], -Cell[29143, 842, 287, 5, 32, "Subsubtitle",ExpressionUUID->"3a22e419-d65c-4c9e-84c6-863e409e519a"], -Cell[29433, 849, 324, 6, 36, "Text",ExpressionUUID->"58ebbe4e-85bd-47cd-b927-8039f9c2d955"], -Cell[29760, 857, 493, 14, 31, "Input",ExpressionUUID->"e4cd07b0-b7a6-476f-a82d-1ad870ed93c3"], -Cell[30256, 873, 208, 4, 36, "Text",ExpressionUUID->"9ac0d911-0e84-4579-bcb9-2110f48ca902"], -Cell[30467, 879, 1582, 41, 55, "Input",ExpressionUUID->"9f81cfa6-a749-4450-bfb3-736066b50bce"], -Cell[32052, 922, 154, 3, 36, "Text",ExpressionUUID->"656d798c-a5c9-4cc6-a1dd-06c8dc6c6565"], -Cell[32209, 927, 1502, 41, 124, "Input",ExpressionUUID->"29b01d2f-83ef-4d5a-8a25-69d70c2e9207"], -Cell[33714, 970, 157, 3, 36, "Text",ExpressionUUID->"7aa4501a-e764-4f85-8410-73dc94387049"], -Cell[33874, 975, 894, 21, 31, "Input",ExpressionUUID->"dbea6cef-0336-433e-92e3-cc59b4a69219"], -Cell[34771, 998, 178, 3, 36, "Text",ExpressionUUID->"15e73123-e84e-4360-b55b-334ef918a821"], -Cell[34952, 1003, 1939, 48, 101, "Input",ExpressionUUID->"176642b9-ef21-428e-bda6-88b3064f0fe2"], -Cell[36894, 1053, 152, 3, 36, "Text",ExpressionUUID->"ac9144ba-14f4-4cb2-9d7c-1b84aa717d7b"], -Cell[37049, 1058, 667, 16, 55, "Input",ExpressionUUID->"f4931c36-9cb3-41d5-9636-f3fbcef428c9"], -Cell[37719, 1076, 154, 3, 36, "Text",ExpressionUUID->"57ce017d-559b-4d58-ba18-1e7631c436d9"], -Cell[37876, 1081, 361, 9, 55, "Input",ExpressionUUID->"63203ee0-9601-47b1-9606-b67b10ce9a46"], -Cell[38240, 1092, 156, 3, 36, "Text",ExpressionUUID->"4432b235-bb2b-4e9d-87f8-55bf93c648df"], -Cell[38399, 1097, 497, 12, 55, "Input",ExpressionUUID->"c73ee33c-6f07-4ea9-82e2-0f37fad73c8e"], -Cell[38899, 1111, 153, 3, 36, "Text",ExpressionUUID->"3b78e61b-a31c-43c6-949c-8ab46a558347"], -Cell[39055, 1116, 1424, 38, 101, "Input",ExpressionUUID->"7be4a0a1-b2c0-4d7b-b564-9f92dabf375f"], -Cell[40482, 1156, 154, 3, 36, "Text",ExpressionUUID->"78b600c8-17c9-43b2-8561-39fdff7b92e4"], -Cell[40639, 1161, 936, 24, 78, "Input",ExpressionUUID->"4ce3e11d-b2d8-42df-94f3-f44671feb140"], -Cell[41578, 1187, 154, 3, 36, "Text",ExpressionUUID->"c302290e-b2df-4299-8d3e-f59d1fc850b6"], -Cell[41735, 1192, 625, 14, 55, "Input",ExpressionUUID->"1a28b43d-e9a2-4ebf-8251-f3ab2ddb7786"], -Cell[42363, 1208, 159, 3, 36, "Text",ExpressionUUID->"4ba37bc9-3ca4-4415-be72-e388f0dad47a"], -Cell[42525, 1213, 2062, 49, 55, "Input",ExpressionUUID->"fe419f0a-adf5-43af-9f08-7b8a7f19180b"], -Cell[44590, 1264, 1000, 17, 78, "Input",ExpressionUUID->"ff5f7d73-add6-4e24-9e55-7b15786660c6"], -Cell[45593, 1283, 2067, 54, 78, "Input",ExpressionUUID->"d17df8c1-9260-4a0c-8495-b5ef6f820848"], -Cell[47663, 1339, 509, 14, 31, "Input",ExpressionUUID->"8c91f72d-3f47-4547-a792-5e0813bcc352"], -Cell[48175, 1355, 204, 3, 32, "Subsubtitle",ExpressionUUID->"b92b1bb0-abe4-4170-8cfc-1e9dd8bc5679"], -Cell[48382, 1360, 956, 25, 101, "Input",ExpressionUUID->"dea35a84-3a0f-4600-a2f4-2ab045608d87"], -Cell[49341, 1387, 154, 3, 32, "Subsubtitle",ExpressionUUID->"bf1afef8-2e19-4e8e-9c26-8b9e596cd10c"], -Cell[49498, 1392, 206, 5, 31, "Input",ExpressionUUID->"c2f98c75-5faf-44c8-a958-147c2a660678"], -Cell[49707, 1399, 3709, 87, 193, "Input",ExpressionUUID->"716ee195-4767-4067-92df-43ed8da3bd15"], -Cell[53419, 1488, 3725, 116, 423, "Input",ExpressionUUID->"cdb0dbd5-e787-49a0-bb76-c4468b401cbc"], -Cell[57147, 1606, 243, 5, 31, "Input",ExpressionUUID->"41b82835-d8e1-446a-bec9-5cabfad38221"], -Cell[57393, 1613, 7227, 182, 607, "Input",ExpressionUUID->"cbb713d0-b847-42c0-9c5d-8772380d8dba"], -Cell[64623, 1797, 5231, 161, 676, "Input",ExpressionUUID->"1a2cbc4e-fbe6-4f7c-8741-b70e886cb2db"], +Cell[14092, 426, 8589, 218, 1136, "Input",ExpressionUUID->"33f47236-ad3c-4a61-8f93-8222aa6cc9fa"], +Cell[22684, 646, 4424, 129, 469, "Input",ExpressionUUID->"53a40cfc-f0e8-4e44-9f25-b052baa99c29"], +Cell[27111, 777, 442, 13, 31, "Input",ExpressionUUID->"be98cbcc-62a9-4b36-a592-7c1827bbba19"], +Cell[27556, 792, 1695, 49, 170, "Input",ExpressionUUID->"3db40cdd-aae8-4aed-bbcf-7b6c917acc34"], +Cell[29254, 843, 287, 5, 32, "Subsubtitle",ExpressionUUID->"3a22e419-d65c-4c9e-84c6-863e409e519a"], +Cell[29544, 850, 324, 6, 36, "Text",ExpressionUUID->"58ebbe4e-85bd-47cd-b927-8039f9c2d955"], +Cell[29871, 858, 493, 14, 31, "Input",ExpressionUUID->"e4cd07b0-b7a6-476f-a82d-1ad870ed93c3"], +Cell[30367, 874, 208, 4, 36, "Text",ExpressionUUID->"9ac0d911-0e84-4579-bcb9-2110f48ca902"], +Cell[30578, 880, 1677, 42, 78, "Input",ExpressionUUID->"9f81cfa6-a749-4450-bfb3-736066b50bce"], +Cell[32258, 924, 154, 3, 36, "Text",ExpressionUUID->"656d798c-a5c9-4cc6-a1dd-06c8dc6c6565"], +Cell[32415, 929, 1601, 45, 124, "Input",ExpressionUUID->"29b01d2f-83ef-4d5a-8a25-69d70c2e9207"], +Cell[34019, 976, 157, 3, 36, "Text",ExpressionUUID->"7aa4501a-e764-4f85-8410-73dc94387049"], +Cell[34179, 981, 989, 22, 31, "Input",ExpressionUUID->"dbea6cef-0336-433e-92e3-cc59b4a69219"], +Cell[35171, 1005, 178, 3, 36, "Text",ExpressionUUID->"15e73123-e84e-4360-b55b-334ef918a821"], +Cell[35352, 1010, 1939, 48, 101, "Input",ExpressionUUID->"176642b9-ef21-428e-bda6-88b3064f0fe2"], +Cell[37294, 1060, 152, 3, 36, "Text",ExpressionUUID->"ac9144ba-14f4-4cb2-9d7c-1b84aa717d7b"], +Cell[37449, 1065, 667, 16, 55, "Input",ExpressionUUID->"f4931c36-9cb3-41d5-9636-f3fbcef428c9"], +Cell[38119, 1083, 154, 3, 36, "Text",ExpressionUUID->"57ce017d-559b-4d58-ba18-1e7631c436d9"], +Cell[38276, 1088, 407, 11, 55, "Input",ExpressionUUID->"63203ee0-9601-47b1-9606-b67b10ce9a46"], +Cell[38686, 1101, 156, 3, 36, "Text",ExpressionUUID->"4432b235-bb2b-4e9d-87f8-55bf93c648df"], +Cell[38845, 1106, 541, 13, 55, "Input",ExpressionUUID->"c73ee33c-6f07-4ea9-82e2-0f37fad73c8e"], +Cell[39389, 1121, 153, 3, 36, "Text",ExpressionUUID->"3b78e61b-a31c-43c6-949c-8ab46a558347"], +Cell[39545, 1126, 1515, 41, 101, "Input",ExpressionUUID->"7be4a0a1-b2c0-4d7b-b564-9f92dabf375f"], +Cell[41063, 1169, 154, 3, 36, "Text",ExpressionUUID->"78b600c8-17c9-43b2-8561-39fdff7b92e4"], +Cell[41220, 1174, 1026, 27, 78, "Input",ExpressionUUID->"4ce3e11d-b2d8-42df-94f3-f44671feb140"], +Cell[42249, 1203, 154, 3, 36, "Text",ExpressionUUID->"c302290e-b2df-4299-8d3e-f59d1fc850b6"], +Cell[42406, 1208, 647, 14, 55, "Input",ExpressionUUID->"1a28b43d-e9a2-4ebf-8251-f3ab2ddb7786"], +Cell[43056, 1224, 159, 3, 36, "Text",ExpressionUUID->"4ba37bc9-3ca4-4415-be72-e388f0dad47a"], +Cell[43218, 1229, 2062, 49, 55, "Input",ExpressionUUID->"fe419f0a-adf5-43af-9f08-7b8a7f19180b"], +Cell[45283, 1280, 1000, 17, 78, "Input",ExpressionUUID->"ff5f7d73-add6-4e24-9e55-7b15786660c6"], +Cell[46286, 1299, 2067, 54, 78, "Input",ExpressionUUID->"d17df8c1-9260-4a0c-8495-b5ef6f820848"], +Cell[48356, 1355, 509, 14, 31, "Input",ExpressionUUID->"8c91f72d-3f47-4547-a792-5e0813bcc352"], +Cell[48868, 1371, 204, 3, 32, "Subsubtitle",ExpressionUUID->"b92b1bb0-abe4-4170-8cfc-1e9dd8bc5679"], +Cell[49075, 1376, 956, 25, 101, "Input",ExpressionUUID->"dea35a84-3a0f-4600-a2f4-2ab045608d87"], +Cell[50034, 1403, 154, 3, 32, "Subsubtitle",ExpressionUUID->"bf1afef8-2e19-4e8e-9c26-8b9e596cd10c"], +Cell[50191, 1408, 206, 5, 31, "Input",ExpressionUUID->"c2f98c75-5faf-44c8-a958-147c2a660678"], +Cell[50400, 1415, 3709, 87, 193, "Input",ExpressionUUID->"716ee195-4767-4067-92df-43ed8da3bd15"], +Cell[54112, 1504, 3798, 117, 446, "Input",ExpressionUUID->"cdb0dbd5-e787-49a0-bb76-c4468b401cbc"], +Cell[57913, 1623, 243, 5, 31, "Input",ExpressionUUID->"41b82835-d8e1-446a-bec9-5cabfad38221"], +Cell[58159, 1630, 7227, 182, 607, "Input",ExpressionUUID->"cbb713d0-b847-42c0-9c5d-8772380d8dba"], +Cell[65389, 1814, 5610, 171, 722, "Input",ExpressionUUID->"1a2cbc4e-fbe6-4f7c-8741-b70e886cb2db"], Cell[CellGroupData[{ -Cell[69879, 1962, 427, 8, 31, "Input",ExpressionUUID->"92a89388-7fc0-4900-84db-870a39602d88"], -Cell[70309, 1972, 1806, 27, 35, "Output",ExpressionUUID->"37052ee2-e74e-4e22-9c7a-bbeada570cb9"] +Cell[71024, 1989, 427, 8, 31, "Input",ExpressionUUID->"92a89388-7fc0-4900-84db-870a39602d88"], +Cell[71454, 1999, 1993, 29, 35, "Output",ExpressionUUID->"6ec6e9b1-552e-41e6-80e6-1bcfd15cbfec"] }, Open ]], -Cell[72130, 2002, 275, 7, 55, "Input",ExpressionUUID->"aaff244c-3ad5-4faf-aeb3-7cdbaa9f50f5"], -Cell[72408, 2011, 152, 3, 31, "Input",ExpressionUUID->"8714cb77-63af-49bd-8987-722049f040d7"] +Cell[73462, 2031, 275, 7, 55, "Input",ExpressionUUID->"aaff244c-3ad5-4faf-aeb3-7cdbaa9f50f5"], +Cell[73740, 2040, 152, 3, 64, "Input",ExpressionUUID->"8714cb77-63af-49bd-8987-722049f040d7"] } ] *) diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_Err.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_Err.cppready index f2238db..ee15693 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_Err.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_Err.cppready @@ -16,196 +16,208 @@ double tmp14 = std::pow(tmp3,2); double tmp15 = -tmp14; double tmp16 = -(tmp2*tmp3); double tmp17 = tmp5 + tmp16; -double tmp18 = -2*tmp10*tmp17; -double tmp19 = tmp2*tmp0; -double tmp20 = tmp1*tmp3; -double tmp21 = tmp19 + tmp20; -double tmp22 = -2*tmp6*tmp21; -double tmp23 = -tmp12; -double tmp24 = tmp11 + tmp23 + tmp13 + tmp15; -double tmp25 = -(tmp4*tmp24); -double tmp26 = x(9+_OFF); -double tmp27 = tmp18 + tmp22 + tmp25 + tmp26; -double tmp28 = -tmp13; -double tmp29 = airDensity(2+_OFF); -double tmp30 = 1/tmp29; -double tmp31 = x(8+_OFF); -double tmp32 = tmp2*tmp3; -double tmp33 = tmp5 + tmp32; -double tmp34 = -2*tmp4*tmp33; -double tmp35 = -2*tmp6*tmp9; -double tmp36 = tmp11 + tmp12 + tmp28 + tmp15; -double tmp37 = -(tmp10*tmp36); -double tmp38 = tmp34 + tmp35 + tmp37 + tmp31; -double tmp39 = std::pow(tmp38,2); -double tmp40 = tmp2*tmp1; -double tmp41 = tmp40 + tmp8; -double tmp42 = -2*tmp10*tmp41; -double tmp43 = -(tmp2*tmp0); -double tmp44 = tmp43 + tmp20; -double tmp45 = -2*tmp4*tmp44; -double tmp46 = tmp11 + tmp23 + tmp28 + tmp14; -double tmp47 = -(tmp6*tmp46); -double tmp48 = x(10+_OFF); -double tmp49 = tmp42 + tmp45 + tmp47 + tmp48; -double tmp50 = std::pow(tmp49,2); -double tmp51 = std::pow(tmp27,2); -double tmp52 = tmp39 + tmp51 + tmp50; +double tmp18 = tmp2*tmp0; +double tmp19 = tmp1*tmp3; +double tmp20 = tmp18 + tmp19; +double tmp21 = -tmp12; +double tmp22 = tmp11 + tmp21 + tmp13 + tmp15; +double tmp23 = x(9+_OFF); +double tmp24 = -tmp13; +double tmp25 = airDensity(2+_OFF); +double tmp26 = 1/tmp25; +double tmp27 = x(8+_OFF); +double tmp28 = tmp2*tmp3; +double tmp29 = tmp5 + tmp28; +double tmp30 = -2*tmp4*tmp29; +double tmp31 = -2*tmp6*tmp9; +double tmp32 = tmp11 + tmp12 + tmp24 + tmp15; +double tmp33 = -(tmp10*tmp32); +double tmp34 = tmp30 + tmp31 + tmp33 + tmp27; +double tmp35 = std::pow(tmp34,2); +double tmp36 = tmp2*tmp1; +double tmp37 = tmp36 + tmp8; +double tmp38 = -(tmp2*tmp0); +double tmp39 = tmp38 + tmp19; +double tmp40 = tmp11 + tmp21 + tmp24 + tmp14; +double tmp41 = x(10+_OFF); +double tmp42 = -2*tmp10*tmp17; +double tmp43 = -2*tmp6*tmp20; +double tmp44 = -(tmp4*tmp22); +double tmp45 = tmp42 + tmp43 + tmp44 + tmp23; +double tmp46 = std::pow(tmp45,2); +double tmp47 = -2*tmp10*tmp37; +double tmp48 = -2*tmp4*tmp39; +double tmp49 = -(tmp6*tmp40); +double tmp50 = tmp47 + tmp48 + tmp49 + tmp41; +double tmp51 = std::pow(tmp50,2); +double tmp52 = tmp35 + tmp46 + tmp51; double tmp53 = airDensity(3+_OFF); double tmp54 = cp(2+_OFF); -double tmp55 = airDensity(1+_OFF); -double tmp56 = x(3+_OFF); -double tmp57 = tmp55 + tmp56; -double tmp58 = -0.006500000000000001*tmp30*tmp57; -double tmp59 = 1 + tmp58; -double tmp60 = std::pow(tmp59,4.2561); -double tmp61 = tmp39 + tmp50; -double tmp62 = 1/std::sqrt(tmp61); -double tmp63 = std::atan2(tmp49,tmp38); -double tmp64 = 1/std::sqrt(tmp52); -double tmp65 = tmp27*tmp64; -double tmp66 = std::asin(tmp65); -double tmp67 = -(tmp10*tmp11); -double tmp68 = -(tmp10*tmp12); -double tmp69 = 2*tmp6*tmp2*tmp1; -double tmp70 = -2*tmp4*tmp0*tmp1; -double tmp71 = tmp10*tmp13; -double tmp72 = -2*tmp4*tmp2*tmp3; -double tmp73 = -2*tmp6*tmp0*tmp3; -double tmp74 = tmp10*tmp14; -double tmp75 = tmp67 + tmp68 + tmp69 + tmp70 + tmp71 + tmp72 + tmp73 + tmp74 + tmp31; -double tmp76 = cp(1+_OFF); -double tmp77 = std::sqrt(tmp52); -double tmp78 = std::pow(tmp76,2); -double tmp79 = z(1+_OFF); -double tmp80 = gravity(1+_OFF); -double tmp81 = cp(4+_OFF); -double tmp82 = 1/tmp81; -double tmp83 = fDrag(1+_OFF); -double tmp84 = fDrag(2+_OFF); -double tmp85 = tmp63*tmp84; -double tmp86 = std::pow(tmp63,2); -double tmp87 = fDrag(3+_OFF); -double tmp88 = tmp86*tmp87; -double tmp89 = std::pow(tmp66,2); -double tmp90 = fDrag(4+_OFF); -double tmp91 = tmp89*tmp90; -double tmp92 = tmp83 + tmp85 + tmp88 + tmp91; -double tmp93 = fLat(1+_OFF); -double tmp94 = 1/tmp52; -double tmp95 = -(tmp51*tmp94); -double tmp96 = 1 + tmp95; -double tmp97 = std::sqrt(tmp96); -double tmp98 = tmp4*tmp11; -double tmp99 = 2*tmp6*tmp2*tmp0; -double tmp100 = -(tmp4*tmp12); -double tmp101 = 2*tmp10*tmp0*tmp1; -double tmp102 = tmp4*tmp13; -double tmp103 = -2*tmp10*tmp2*tmp3; -double tmp104 = 2*tmp6*tmp1*tmp3; -double tmp105 = -(tmp4*tmp14); -double tmp106 = -tmp26; -double tmp107 = tmp98 + tmp99 + tmp100 + tmp101 + tmp102 + tmp103 + tmp104 + tmp105 + tmp106; -double tmp108 = fLift(1+_OFF); -double tmp109 = fLift(2+_OFF); -double tmp110 = tmp63*tmp109; -double tmp111 = tmp108 + tmp110; -double tmp112 = -(tmp6*tmp11); -double tmp113 = 2*tmp4*tmp2*tmp0; -double tmp114 = tmp6*tmp12; -double tmp115 = -2*tmp10*tmp2*tmp1; -double tmp116 = tmp6*tmp13; -double tmp117 = -2*tmp10*tmp0*tmp3; -double tmp118 = -2*tmp4*tmp1*tmp3; -double tmp119 = -(tmp6*tmp14); -double tmp120 = tmp112 + tmp113 + tmp114 + tmp115 + tmp116 + tmp117 + tmp118 + tmp119 + tmp48; -double tmp121 = ibd(2+_OFF); -double tmp122 = ibd(3+_OFF); -double tmp123 = ibod(1+_OFF); -double tmp124 = ibod(2+_OFF); -double tmp125 = ibod(3+_OFF); -double tmp126 = ibd(1+_OFF); -double tmp127 = std::pow(tmp125,2); -double tmp128 = x(12+_OFF); -double tmp129 = x(11+_OFF); -double tmp130 = x(13+_OFF); -double tmp131 = cp(3+_OFF); -double tmp132 = tmp126*tmp121*tmp122; -double tmp133 = std::pow(tmp123,2); -double tmp134 = -(tmp121*tmp133); -double tmp135 = std::pow(tmp124,2); -double tmp136 = -(tmp122*tmp135); -double tmp137 = 2*tmp123*tmp124*tmp125; -double tmp138 = -(tmp126*tmp127); -double tmp139 = tmp132 + tmp134 + tmp136 + tmp137 + tmp138; -double tmp140 = 1/tmp139; -double tmp141 = std::pow(tmp130,2); -double tmp142 = cBar(1+_OFF); -double tmp143 = std::pow(tmp129,2); -double tmp144 = std::pow(tmp128,2); -double tmp145 = -(tmp122*tmp124); -double tmp146 = tmp123*tmp125; -double tmp147 = tmp145 + tmp146; -double tmp148 = -(tmp123*tmp129*tmp128); -double tmp149 = -(tmp125*tmp144); -double tmp150 = tmp124*tmp129*tmp130; -double tmp151 = tmp121*tmp128*tmp130; -double tmp152 = -(tmp122*tmp128*tmp130); -double tmp153 = tmp125*tmp141; -double tmp154 = mRoll(2+_OFF); -double tmp155 = tmp66*tmp154; -double tmp156 = mRoll(3+_OFF); -double tmp157 = (tmp131*tmp156*tmp64*tmp129)/2.; -double tmp158 = mRoll(4+_OFF); -double tmp159 = (tmp131*tmp158*tmp64*tmp130)/2.; -double tmp160 = mRoll(1+_OFF); -double tmp161 = z(2+_OFF); -double tmp162 = tmp160*tmp161; -double tmp163 = tmp155 + tmp157 + tmp159 + tmp162; -double tmp164 = 0.0017418568193694477*tmp30*tmp53*tmp54*tmp131*tmp60*tmp52*tmp163; -double tmp165 = tmp148 + tmp149 + tmp150 + tmp151 + tmp152 + tmp153 + tmp164; -double tmp166 = tmp123*tmp143; -double tmp167 = tmp125*tmp129*tmp128; -double tmp168 = -(tmp126*tmp129*tmp130); -double tmp169 = tmp122*tmp129*tmp130; -double tmp170 = -(tmp124*tmp128*tmp130); -double tmp171 = -(tmp123*tmp141); -double tmp172 = mPitch(1+_OFF); -double tmp173 = mPitch(4+_OFF); -double tmp174 = tmp63*tmp173; -double tmp175 = mPitch(3+_OFF); -double tmp176 = (tmp142*tmp175*tmp64*tmp128)/2.; -double tmp177 = mPitch(2+_OFF); -double tmp178 = z(3+_OFF); -double tmp179 = tmp177*tmp178; -double tmp180 = tmp172 + tmp174 + tmp176 + tmp179; -double tmp181 = 0.0017418568193694477*tmp30*tmp53*tmp142*tmp54*tmp60*tmp52*tmp180; -double tmp182 = tmp166 + tmp167 + tmp168 + tmp169 + tmp170 + tmp171 + tmp181; -double tmp183 = -(tmp124*tmp143); -double tmp184 = tmp126*tmp129*tmp128; -double tmp185 = -(tmp121*tmp129*tmp128); -double tmp186 = tmp124*tmp144; -double tmp187 = -(tmp125*tmp129*tmp130); -double tmp188 = tmp123*tmp128*tmp130; -double tmp189 = mYaw(3+_OFF); -double tmp190 = tmp66*tmp189; -double tmp191 = mYaw(2+_OFF); -double tmp192 = (tmp131*tmp191*tmp64*tmp130)/2.; -double tmp193 = mYaw(1+_OFF); -double tmp194 = z(4+_OFF); -double tmp195 = tmp193*tmp194; -double tmp196 = tmp190 + tmp192 + tmp195; -double tmp197 = 0.0017418568193694477*tmp30*tmp53*tmp54*tmp131*tmp60*tmp52*tmp196; -double tmp198 = tmp183 + tmp184 + tmp185 + tmp186 + tmp187 + tmp188 + tmp197; -double tmp199 = -(tmp121*tmp123); -double tmp200 = tmp124*tmp125; -double tmp201 = tmp199 + tmp200; -double tmp202 = tmp123*tmp124; -double tmp203 = -(tmp126*tmp125); -double tmp204 = tmp202 + tmp203; -err(1+_OFF) = 2*tmp80*tmp9 + x(14+_OFF) - tmp82*(0.0017418568193694477*tmp30*tmp53*tmp66*tmp54*tmp93*tmp60*tmp75*tmp107*tmp62*tmp77 + 0.0017418568193694477*tmp30*tmp53*tmp54*tmp111*tmp60*(tmp6*tmp11 - 2*tmp4*tmp2*tmp0 - tmp6*tmp12 + 2*tmp10*tmp2*tmp1 - tmp6*tmp13 + 2*tmp10*tmp0*tmp3 + 2*tmp4*tmp1*tmp3 + tmp6*tmp14 - tmp48)*tmp62*tmp52 + 0.0017418568193694477*tmp30*tmp53*tmp54*tmp92*tmp60*tmp75*tmp62*tmp52*tmp97 + 0.0034837136387388954*tmp30*tmp53*tmp78*tmp60*((fThrust(3+_OFF)*tmp52)/std::pow(M_PI,2) + (tmp76*fThrust(2+_OFF)*tmp77*tmp79)/M_PI + tmp78*fThrust(1+_OFF)*std::pow(tmp79,2))); -err(2+_OFF) = 2*tmp80*tmp21 - tmp82*(0. + 0.0017418568193694477*tmp30*tmp53*tmp54*tmp92*tmp60*(-(tmp4*tmp11) - 2*tmp6*tmp2*tmp0 + tmp4*tmp12 - 2*tmp10*tmp0*tmp1 - tmp4*tmp13 + 2*tmp10*tmp2*tmp3 - 2*tmp6*tmp1*tmp3 + tmp4*tmp14 + tmp26)*tmp77 + 0.0017418568193694477*tmp30*tmp53*tmp66*tmp54*tmp93*tmp60*tmp52*tmp97) + x(15+_OFF); -err(3+_OFF) = tmp80*tmp46 - tmp82*(0.0017418568193694477*tmp30*tmp53*tmp66*tmp54*tmp93*tmp60*tmp107*tmp120*tmp62*tmp77 + 0.0017418568193694477*tmp30*tmp53*tmp54*tmp111*tmp60*tmp75*tmp62*tmp52 + 0.0017418568193694477*tmp30*tmp53*tmp54*tmp92*tmp60*tmp120*tmp62*tmp52*tmp97) + x(16+_OFF); -err(4+_OFF) = x(17+_OFF) - (tmp121*tmp122 - tmp127)*tmp140*tmp165 - tmp147*tmp140*tmp182 - tmp201*tmp140*tmp198; -err(5+_OFF) = x(18+_OFF) - tmp147*tmp140*tmp165 - (tmp126*tmp122 - tmp133)*tmp140*tmp182 - tmp204*tmp140*tmp198; -err(6+_OFF) = x(19+_OFF) - tmp201*tmp140*tmp165 - tmp204*tmp140*tmp182 - (tmp126*tmp121 - tmp135)*tmp140*tmp198; +double tmp55 = 2*tmp10*tmp37; +double tmp56 = 2*tmp4*tmp39; +double tmp57 = tmp6*tmp40; +double tmp58 = -tmp41; +double tmp59 = tmp55 + tmp56 + tmp57 + tmp58; +double tmp60 = airDensity(1+_OFF); +double tmp61 = x(3+_OFF); +double tmp62 = tmp60 + tmp61; +double tmp63 = -0.006500000000000001*tmp26*tmp62; +double tmp64 = 1 + tmp63; +double tmp65 = std::pow(tmp64,4.2561); +double tmp66 = std::pow(tmp59,2); +double tmp67 = tmp35 + tmp66; +double tmp68 = 1/std::sqrt(tmp67); +double tmp69 = std::atan2(tmp59,tmp34); +double tmp70 = 2*tmp10*tmp17; +double tmp71 = 2*tmp6*tmp20; +double tmp72 = tmp4*tmp22; +double tmp73 = -tmp23; +double tmp74 = tmp70 + tmp71 + tmp72 + tmp73; +double tmp75 = 1/std::sqrt(tmp52); +double tmp76 = tmp74*tmp75; +double tmp77 = std::asin(tmp76); +double tmp78 = -(tmp10*tmp11); +double tmp79 = -(tmp10*tmp12); +double tmp80 = 2*tmp6*tmp2*tmp1; +double tmp81 = -2*tmp4*tmp0*tmp1; +double tmp82 = tmp10*tmp13; +double tmp83 = -2*tmp4*tmp2*tmp3; +double tmp84 = -2*tmp6*tmp0*tmp3; +double tmp85 = tmp10*tmp14; +double tmp86 = tmp78 + tmp79 + tmp80 + tmp81 + tmp82 + tmp83 + tmp84 + tmp85 + tmp27; +double tmp87 = cp(1+_OFF); +double tmp88 = std::sqrt(tmp52); +double tmp89 = std::pow(tmp87,2); +double tmp90 = z(1+_OFF); +double tmp91 = gravity(1+_OFF); +double tmp92 = cp(4+_OFF); +double tmp93 = 1/tmp92; +double tmp94 = fDrag(1+_OFF); +double tmp95 = fDrag(2+_OFF); +double tmp96 = tmp69*tmp95; +double tmp97 = std::pow(tmp69,2); +double tmp98 = fDrag(3+_OFF); +double tmp99 = tmp97*tmp98; +double tmp100 = std::pow(tmp77,2); +double tmp101 = fDrag(4+_OFF); +double tmp102 = tmp100*tmp101; +double tmp103 = tmp94 + tmp96 + tmp99 + tmp102; +double tmp104 = fLat(1+_OFF); +double tmp105 = std::pow(tmp74,2); +double tmp106 = 1/tmp52; +double tmp107 = -(tmp105*tmp106); +double tmp108 = 1 + tmp107; +double tmp109 = std::sqrt(tmp108); +double tmp110 = -(tmp4*tmp11); +double tmp111 = -2*tmp6*tmp2*tmp0; +double tmp112 = tmp4*tmp12; +double tmp113 = -2*tmp10*tmp0*tmp1; +double tmp114 = -(tmp4*tmp13); +double tmp115 = 2*tmp10*tmp2*tmp3; +double tmp116 = -2*tmp6*tmp1*tmp3; +double tmp117 = tmp4*tmp14; +double tmp118 = tmp110 + tmp111 + tmp112 + tmp113 + tmp114 + tmp115 + tmp116 + tmp117 + tmp23; +double tmp119 = fLift(1+_OFF); +double tmp120 = fLift(2+_OFF); +double tmp121 = tmp69*tmp120; +double tmp122 = tmp119 + tmp121; +double tmp123 = tmp6*tmp11; +double tmp124 = -2*tmp4*tmp2*tmp0; +double tmp125 = -(tmp6*tmp12); +double tmp126 = 2*tmp10*tmp2*tmp1; +double tmp127 = -(tmp6*tmp13); +double tmp128 = 2*tmp10*tmp0*tmp3; +double tmp129 = 2*tmp4*tmp1*tmp3; +double tmp130 = tmp6*tmp14; +double tmp131 = tmp123 + tmp124 + tmp125 + tmp126 + tmp127 + tmp128 + tmp129 + tmp130 + tmp58; +double tmp132 = ibd(2+_OFF); +double tmp133 = ibd(3+_OFF); +double tmp134 = ibod(1+_OFF); +double tmp135 = ibod(2+_OFF); +double tmp136 = ibod(3+_OFF); +double tmp137 = ibd(1+_OFF); +double tmp138 = std::pow(tmp136,2); +double tmp139 = x(12+_OFF); +double tmp140 = x(11+_OFF); +double tmp141 = x(13+_OFF); +double tmp142 = cp(3+_OFF); +double tmp143 = tmp137*tmp132*tmp133; +double tmp144 = std::pow(tmp134,2); +double tmp145 = -(tmp132*tmp144); +double tmp146 = std::pow(tmp135,2); +double tmp147 = -(tmp133*tmp146); +double tmp148 = 2*tmp134*tmp135*tmp136; +double tmp149 = -(tmp137*tmp138); +double tmp150 = tmp143 + tmp145 + tmp147 + tmp148 + tmp149; +double tmp151 = 1/tmp150; +double tmp152 = std::pow(tmp141,2); +double tmp153 = cBar(1+_OFF); +double tmp154 = std::pow(tmp140,2); +double tmp155 = std::pow(tmp139,2); +double tmp156 = -(tmp133*tmp135); +double tmp157 = tmp134*tmp136; +double tmp158 = tmp156 + tmp157; +double tmp159 = -(tmp134*tmp140*tmp139); +double tmp160 = -(tmp136*tmp155); +double tmp161 = tmp135*tmp140*tmp141; +double tmp162 = tmp132*tmp139*tmp141; +double tmp163 = -(tmp133*tmp139*tmp141); +double tmp164 = tmp136*tmp152; +double tmp165 = mRoll(2+_OFF); +double tmp166 = tmp77*tmp165; +double tmp167 = mRoll(3+_OFF); +double tmp168 = (tmp142*tmp167*tmp75*tmp140)/2.; +double tmp169 = mRoll(4+_OFF); +double tmp170 = -(tmp142*tmp169*tmp75*tmp141)/2.; +double tmp171 = mRoll(1+_OFF); +double tmp172 = z(2+_OFF); +double tmp173 = -(tmp171*tmp172); +double tmp174 = tmp166 + tmp168 + tmp170 + tmp173; +double tmp175 = 0.001740341106856944*tmp26*tmp53*tmp54*tmp142*tmp65*tmp52*tmp174; +double tmp176 = tmp159 + tmp160 + tmp161 + tmp162 + tmp163 + tmp164 + tmp175; +double tmp177 = tmp134*tmp154; +double tmp178 = tmp136*tmp140*tmp139; +double tmp179 = -(tmp137*tmp140*tmp141); +double tmp180 = tmp133*tmp140*tmp141; +double tmp181 = -(tmp135*tmp139*tmp141); +double tmp182 = -(tmp134*tmp152); +double tmp183 = mPitch(1+_OFF); +double tmp184 = -tmp183; +double tmp185 = mPitch(3+_OFF); +double tmp186 = -(tmp69*tmp185); +double tmp187 = mPitch(4+_OFF); +double tmp188 = (tmp153*tmp187*tmp75*tmp139)/2.; +double tmp189 = mPitch(2+_OFF); +double tmp190 = z(3+_OFF); +double tmp191 = -(tmp189*tmp190); +double tmp192 = tmp184 + tmp186 + tmp188 + tmp191; +double tmp193 = 0.001740341106856944*tmp26*tmp53*tmp153*tmp54*tmp65*tmp52*tmp192; +double tmp194 = tmp177 + tmp178 + tmp179 + tmp180 + tmp181 + tmp182 + tmp193; +double tmp195 = -(tmp135*tmp154); +double tmp196 = tmp137*tmp140*tmp139; +double tmp197 = -(tmp132*tmp140*tmp139); +double tmp198 = tmp135*tmp155; +double tmp199 = -(tmp136*tmp140*tmp141); +double tmp200 = tmp134*tmp139*tmp141; +double tmp201 = mYaw(2+_OFF); +double tmp202 = -(tmp77*tmp201); +double tmp203 = mYaw(3+_OFF); +double tmp204 = (tmp142*tmp203*tmp75*tmp141)/2.; +double tmp205 = mYaw(1+_OFF); +double tmp206 = z(4+_OFF); +double tmp207 = tmp205*tmp206; +double tmp208 = tmp202 + tmp204 + tmp207; +double tmp209 = 0.001740341106856944*tmp26*tmp53*tmp54*tmp142*tmp65*tmp52*tmp208; +double tmp210 = tmp195 + tmp196 + tmp197 + tmp198 + tmp199 + tmp200 + tmp209; +double tmp211 = -(tmp132*tmp134); +double tmp212 = tmp135*tmp136; +double tmp213 = tmp211 + tmp212; +double tmp214 = tmp134*tmp135; +double tmp215 = -(tmp137*tmp136); +double tmp216 = tmp214 + tmp215; +err(1+_OFF) = 2*tmp91*tmp9 + x(14+_OFF) - tmp93*(-0.001740341106856944*tmp26*tmp53*tmp77*tmp54*tmp104*tmp65*tmp86*tmp118*tmp68*tmp88 - 0.001740341106856944*tmp26*tmp53*tmp54*tmp122*tmp65*tmp68*(-(tmp6*tmp11) + 2*tmp4*tmp2*tmp0 + tmp6*tmp12 - 2*tmp10*tmp2*tmp1 + tmp6*tmp13 - 2*tmp10*tmp0*tmp3 - 2*tmp4*tmp1*tmp3 - tmp6*tmp14 + tmp41)*tmp52 + 0.001740341106856944*tmp26*tmp53*tmp54*tmp103*tmp65*tmp86*tmp68*tmp52*tmp109 + 0.003480682213713888*tmp26*tmp53*tmp89*tmp65*((fThrust(3+_OFF)*tmp52)/std::pow(M_PI,2) + (tmp87*fThrust(2+_OFF)*tmp88*tmp90)/M_PI + tmp89*fThrust(1+_OFF)*std::pow(tmp90,2))); +err(2+_OFF) = 2*tmp91*tmp20 - tmp93*(0. + 0.001740341106856944*tmp26*tmp53*tmp54*tmp103*tmp65*(tmp4*tmp11 + 2*tmp6*tmp2*tmp0 - tmp4*tmp12 + 2*tmp10*tmp0*tmp1 + tmp4*tmp13 - 2*tmp10*tmp2*tmp3 + 2*tmp6*tmp1*tmp3 - tmp4*tmp14 + tmp73)*tmp88 - 0.001740341106856944*tmp26*tmp53*tmp77*tmp54*tmp104*tmp65*tmp52*tmp109) + x(15+_OFF); +err(3+_OFF) = tmp91*tmp40 - tmp93*(-0.001740341106856944*tmp26*tmp53*tmp77*tmp54*tmp104*tmp65*tmp118*tmp68*tmp131*tmp88 - 0.001740341106856944*tmp26*tmp53*tmp54*tmp122*tmp65*tmp86*tmp68*tmp52 + 0.001740341106856944*tmp26*tmp53*tmp54*tmp103*tmp65*tmp68*tmp131*tmp52*tmp109) + x(16+_OFF); +err(4+_OFF) = x(17+_OFF) - (tmp132*tmp133 - tmp138)*tmp151*tmp176 - tmp158*tmp151*tmp194 - tmp213*tmp151*tmp210; +err(5+_OFF) = x(18+_OFF) - tmp158*tmp151*tmp176 - (tmp137*tmp133 - tmp144)*tmp151*tmp194 - tmp216*tmp151*tmp210; +err(6+_OFF) = x(19+_OFF) - tmp213*tmp151*tmp176 - tmp216*tmp151*tmp194 - (tmp137*tmp132 - tmp146)*tmp151*tmp210; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrPose.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrPose.cppready index 6ec00f4..148ce00 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrPose.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrPose.cppready @@ -13,184 +13,196 @@ double tmp11 = std::pow(tmp3,2); double tmp12 = -tmp11; double tmp13 = -(tmp0*tmp3); double tmp14 = tmp5 + tmp13; -double tmp15 = -2*tmp7*tmp14; -double tmp16 = tmp0*tmp1; -double tmp17 = tmp2*tmp3; -double tmp18 = tmp16 + tmp17; -double tmp19 = -2*tmp6*tmp18; -double tmp20 = -tmp9; -double tmp21 = tmp8 + tmp20 + tmp10 + tmp12; -double tmp22 = -(tmp4*tmp21); -double tmp23 = x(9+_OFF); -double tmp24 = tmp15 + tmp19 + tmp22 + tmp23; -double tmp25 = tmp1*tmp3; -double tmp26 = -tmp10; -double tmp27 = airDensity(2+_OFF); -double tmp28 = x(8+_OFF); -double tmp29 = tmp0*tmp3; -double tmp30 = tmp5 + tmp29; -double tmp31 = -2*tmp4*tmp30; -double tmp32 = -(tmp0*tmp2); -double tmp33 = tmp32 + tmp25; -double tmp34 = -2*tmp6*tmp33; -double tmp35 = tmp8 + tmp9 + tmp26 + tmp12; -double tmp36 = -(tmp7*tmp35); -double tmp37 = tmp31 + tmp34 + tmp36 + tmp28; -double tmp38 = std::pow(tmp37,2); -double tmp39 = tmp0*tmp2; -double tmp40 = tmp39 + tmp25; -double tmp41 = -2*tmp7*tmp40; -double tmp42 = -(tmp0*tmp1); -double tmp43 = tmp42 + tmp17; -double tmp44 = -2*tmp4*tmp43; -double tmp45 = tmp8 + tmp20 + tmp26 + tmp11; -double tmp46 = -(tmp6*tmp45); -double tmp47 = x(10+_OFF); -double tmp48 = tmp41 + tmp44 + tmp46 + tmp47; -double tmp49 = std::pow(tmp48,2); -double tmp50 = std::pow(tmp24,2); -double tmp51 = tmp38 + tmp50 + tmp49; -double tmp52 = std::pow(tmp27,-2); +double tmp15 = tmp0*tmp1; +double tmp16 = tmp2*tmp3; +double tmp17 = tmp15 + tmp16; +double tmp18 = -tmp9; +double tmp19 = tmp8 + tmp18 + tmp10 + tmp12; +double tmp20 = x(9+_OFF); +double tmp21 = tmp1*tmp3; +double tmp22 = -tmp10; +double tmp23 = airDensity(2+_OFF); +double tmp24 = x(8+_OFF); +double tmp25 = tmp0*tmp3; +double tmp26 = tmp5 + tmp25; +double tmp27 = -2*tmp4*tmp26; +double tmp28 = -(tmp0*tmp2); +double tmp29 = tmp28 + tmp21; +double tmp30 = -2*tmp6*tmp29; +double tmp31 = tmp8 + tmp9 + tmp22 + tmp12; +double tmp32 = -(tmp7*tmp31); +double tmp33 = tmp27 + tmp30 + tmp32 + tmp24; +double tmp34 = std::pow(tmp33,2); +double tmp35 = tmp0*tmp2; +double tmp36 = tmp35 + tmp21; +double tmp37 = -(tmp0*tmp1); +double tmp38 = tmp37 + tmp16; +double tmp39 = tmp8 + tmp18 + tmp22 + tmp11; +double tmp40 = x(10+_OFF); +double tmp41 = -2*tmp7*tmp14; +double tmp42 = -2*tmp6*tmp17; +double tmp43 = -(tmp4*tmp19); +double tmp44 = tmp41 + tmp42 + tmp43 + tmp20; +double tmp45 = std::pow(tmp44,2); +double tmp46 = -2*tmp7*tmp36; +double tmp47 = -2*tmp4*tmp38; +double tmp48 = -(tmp6*tmp39); +double tmp49 = tmp46 + tmp47 + tmp48 + tmp40; +double tmp50 = std::pow(tmp49,2); +double tmp51 = tmp34 + tmp45 + tmp50; +double tmp52 = std::pow(tmp23,-2); double tmp53 = airDensity(3+_OFF); double tmp54 = cp(2+_OFF); -double tmp55 = 1/tmp27; -double tmp56 = airDensity(1+_OFF); -double tmp57 = x(3+_OFF); -double tmp58 = tmp56 + tmp57; -double tmp59 = -0.006500000000000001*tmp55*tmp58; -double tmp60 = 1 + tmp59; -double tmp61 = std::pow(tmp60,3.2561); -double tmp62 = tmp38 + tmp49; -double tmp63 = 1/std::sqrt(tmp62); -double tmp64 = std::atan2(tmp48,tmp37); -double tmp65 = 1/std::sqrt(tmp51); -double tmp66 = tmp24*tmp65; -double tmp67 = std::asin(tmp66); -double tmp68 = -(tmp7*tmp8); -double tmp69 = -(tmp7*tmp9); -double tmp70 = 2*tmp6*tmp0*tmp2; -double tmp71 = -2*tmp4*tmp1*tmp2; -double tmp72 = tmp7*tmp10; -double tmp73 = -2*tmp4*tmp0*tmp3; -double tmp74 = -2*tmp6*tmp1*tmp3; -double tmp75 = tmp7*tmp11; -double tmp76 = tmp68 + tmp69 + tmp70 + tmp71 + tmp72 + tmp73 + tmp74 + tmp75 + tmp28; -double tmp77 = cp(1+_OFF); -double tmp78 = std::sqrt(tmp51); -double tmp79 = std::pow(tmp77,2); -double tmp80 = z(1+_OFF); -double tmp81 = cp(4+_OFF); -double tmp82 = 1/tmp81; -double tmp83 = fDrag(1+_OFF); -double tmp84 = fDrag(2+_OFF); -double tmp85 = tmp64*tmp84; -double tmp86 = std::pow(tmp64,2); -double tmp87 = fDrag(3+_OFF); -double tmp88 = tmp86*tmp87; -double tmp89 = std::pow(tmp67,2); -double tmp90 = fDrag(4+_OFF); -double tmp91 = tmp89*tmp90; -double tmp92 = tmp83 + tmp85 + tmp88 + tmp91; -double tmp93 = fLat(1+_OFF); -double tmp94 = 1/tmp51; -double tmp95 = -(tmp50*tmp94); -double tmp96 = 1 + tmp95; -double tmp97 = std::sqrt(tmp96); -double tmp98 = tmp4*tmp8; -double tmp99 = 2*tmp6*tmp0*tmp1; -double tmp100 = -(tmp4*tmp9); -double tmp101 = 2*tmp7*tmp1*tmp2; -double tmp102 = tmp4*tmp10; -double tmp103 = -2*tmp7*tmp0*tmp3; -double tmp104 = 2*tmp6*tmp2*tmp3; -double tmp105 = -(tmp4*tmp11); -double tmp106 = -tmp23; -double tmp107 = tmp98 + tmp99 + tmp100 + tmp101 + tmp102 + tmp103 + tmp104 + tmp105 + tmp106; -double tmp108 = fLift(1+_OFF); -double tmp109 = fLift(2+_OFF); -double tmp110 = tmp64*tmp109; -double tmp111 = tmp108 + tmp110; -double tmp112 = -(tmp6*tmp8); -double tmp113 = 2*tmp4*tmp0*tmp1; -double tmp114 = tmp6*tmp9; -double tmp115 = -2*tmp7*tmp0*tmp2; -double tmp116 = tmp6*tmp10; -double tmp117 = -2*tmp7*tmp1*tmp3; -double tmp118 = -2*tmp4*tmp2*tmp3; -double tmp119 = -(tmp6*tmp11); -double tmp120 = tmp112 + tmp113 + tmp114 + tmp115 + tmp116 + tmp117 + tmp118 + tmp119 + tmp47; -double tmp121 = ibd(2+_OFF); -double tmp122 = ibd(3+_OFF); -double tmp123 = ibod(1+_OFF); -double tmp124 = ibod(2+_OFF); -double tmp125 = ibod(3+_OFF); -double tmp126 = ibd(1+_OFF); -double tmp127 = std::pow(tmp125,2); -double tmp128 = cp(3+_OFF); -double tmp129 = tmp126*tmp121*tmp122; -double tmp130 = std::pow(tmp123,2); -double tmp131 = -(tmp121*tmp130); -double tmp132 = std::pow(tmp124,2); -double tmp133 = -(tmp122*tmp132); -double tmp134 = 2*tmp123*tmp124*tmp125; -double tmp135 = -(tmp126*tmp127); -double tmp136 = tmp129 + tmp131 + tmp133 + tmp134 + tmp135; -double tmp137 = 1/tmp136; -double tmp138 = cBar(1+_OFF); -double tmp139 = x(13+_OFF); -double tmp140 = -(tmp122*tmp124); -double tmp141 = tmp123*tmp125; -double tmp142 = tmp140 + tmp141; -double tmp143 = mRoll(2+_OFF); -double tmp144 = tmp67*tmp143; -double tmp145 = mRoll(3+_OFF); -double tmp146 = x(11+_OFF); -double tmp147 = (tmp128*tmp145*tmp65*tmp146)/2.; -double tmp148 = mRoll(4+_OFF); -double tmp149 = (tmp128*tmp148*tmp65*tmp139)/2.; -double tmp150 = mRoll(1+_OFF); -double tmp151 = z(2+_OFF); -double tmp152 = tmp150*tmp151; -double tmp153 = tmp144 + tmp147 + tmp149 + tmp152; -double tmp154 = mPitch(1+_OFF); -double tmp155 = mPitch(4+_OFF); -double tmp156 = tmp64*tmp155; -double tmp157 = mPitch(3+_OFF); -double tmp158 = x(12+_OFF); -double tmp159 = (tmp138*tmp157*tmp65*tmp158)/2.; -double tmp160 = mPitch(2+_OFF); -double tmp161 = z(3+_OFF); -double tmp162 = tmp160*tmp161; -double tmp163 = tmp154 + tmp156 + tmp159 + tmp162; -double tmp164 = mYaw(3+_OFF); -double tmp165 = tmp67*tmp164; -double tmp166 = mYaw(2+_OFF); -double tmp167 = (tmp128*tmp166*tmp65*tmp139)/2.; -double tmp168 = mYaw(1+_OFF); -double tmp169 = z(4+_OFF); -double tmp170 = tmp168*tmp169; -double tmp171 = tmp165 + tmp167 + tmp170; -double tmp172 = -(tmp121*tmp123); -double tmp173 = tmp124*tmp125; -double tmp174 = tmp172 + tmp173; -double tmp175 = tmp123*tmp124; -double tmp176 = -(tmp126*tmp125); -double tmp177 = tmp175 + tmp176; +double tmp55 = 2*tmp7*tmp36; +double tmp56 = 2*tmp4*tmp38; +double tmp57 = tmp6*tmp39; +double tmp58 = -tmp40; +double tmp59 = tmp55 + tmp56 + tmp57 + tmp58; +double tmp60 = 1/tmp23; +double tmp61 = airDensity(1+_OFF); +double tmp62 = x(3+_OFF); +double tmp63 = tmp61 + tmp62; +double tmp64 = -0.006500000000000001*tmp60*tmp63; +double tmp65 = 1 + tmp64; +double tmp66 = std::pow(tmp65,3.2561); +double tmp67 = std::pow(tmp59,2); +double tmp68 = tmp34 + tmp67; +double tmp69 = 1/std::sqrt(tmp68); +double tmp70 = std::atan2(tmp59,tmp33); +double tmp71 = 2*tmp7*tmp14; +double tmp72 = 2*tmp6*tmp17; +double tmp73 = tmp4*tmp19; +double tmp74 = -tmp20; +double tmp75 = tmp71 + tmp72 + tmp73 + tmp74; +double tmp76 = 1/std::sqrt(tmp51); +double tmp77 = tmp75*tmp76; +double tmp78 = std::asin(tmp77); +double tmp79 = -(tmp7*tmp8); +double tmp80 = -(tmp7*tmp9); +double tmp81 = 2*tmp6*tmp0*tmp2; +double tmp82 = -2*tmp4*tmp1*tmp2; +double tmp83 = tmp7*tmp10; +double tmp84 = -2*tmp4*tmp0*tmp3; +double tmp85 = -2*tmp6*tmp1*tmp3; +double tmp86 = tmp7*tmp11; +double tmp87 = tmp79 + tmp80 + tmp81 + tmp82 + tmp83 + tmp84 + tmp85 + tmp86 + tmp24; +double tmp88 = cp(1+_OFF); +double tmp89 = std::sqrt(tmp51); +double tmp90 = std::pow(tmp88,2); +double tmp91 = z(1+_OFF); +double tmp92 = cp(4+_OFF); +double tmp93 = 1/tmp92; +double tmp94 = fDrag(1+_OFF); +double tmp95 = fDrag(2+_OFF); +double tmp96 = tmp70*tmp95; +double tmp97 = std::pow(tmp70,2); +double tmp98 = fDrag(3+_OFF); +double tmp99 = tmp97*tmp98; +double tmp100 = std::pow(tmp78,2); +double tmp101 = fDrag(4+_OFF); +double tmp102 = tmp100*tmp101; +double tmp103 = tmp94 + tmp96 + tmp99 + tmp102; +double tmp104 = fLat(1+_OFF); +double tmp105 = std::pow(tmp75,2); +double tmp106 = 1/tmp51; +double tmp107 = -(tmp105*tmp106); +double tmp108 = 1 + tmp107; +double tmp109 = std::sqrt(tmp108); +double tmp110 = -(tmp4*tmp8); +double tmp111 = -2*tmp6*tmp0*tmp1; +double tmp112 = tmp4*tmp9; +double tmp113 = -2*tmp7*tmp1*tmp2; +double tmp114 = -(tmp4*tmp10); +double tmp115 = 2*tmp7*tmp0*tmp3; +double tmp116 = -2*tmp6*tmp2*tmp3; +double tmp117 = tmp4*tmp11; +double tmp118 = tmp110 + tmp111 + tmp112 + tmp113 + tmp114 + tmp115 + tmp116 + tmp117 + tmp20; +double tmp119 = fLift(1+_OFF); +double tmp120 = fLift(2+_OFF); +double tmp121 = tmp70*tmp120; +double tmp122 = tmp119 + tmp121; +double tmp123 = tmp6*tmp8; +double tmp124 = -2*tmp4*tmp0*tmp1; +double tmp125 = -(tmp6*tmp9); +double tmp126 = 2*tmp7*tmp0*tmp2; +double tmp127 = -(tmp6*tmp10); +double tmp128 = 2*tmp7*tmp1*tmp3; +double tmp129 = 2*tmp4*tmp2*tmp3; +double tmp130 = tmp6*tmp11; +double tmp131 = tmp123 + tmp124 + tmp125 + tmp126 + tmp127 + tmp128 + tmp129 + tmp130 + tmp58; +double tmp132 = ibd(2+_OFF); +double tmp133 = ibd(3+_OFF); +double tmp134 = ibod(1+_OFF); +double tmp135 = ibod(2+_OFF); +double tmp136 = ibod(3+_OFF); +double tmp137 = ibd(1+_OFF); +double tmp138 = std::pow(tmp136,2); +double tmp139 = cp(3+_OFF); +double tmp140 = tmp137*tmp132*tmp133; +double tmp141 = std::pow(tmp134,2); +double tmp142 = -(tmp132*tmp141); +double tmp143 = std::pow(tmp135,2); +double tmp144 = -(tmp133*tmp143); +double tmp145 = 2*tmp134*tmp135*tmp136; +double tmp146 = -(tmp137*tmp138); +double tmp147 = tmp140 + tmp142 + tmp144 + tmp145 + tmp146; +double tmp148 = 1/tmp147; +double tmp149 = cBar(1+_OFF); +double tmp150 = x(13+_OFF); +double tmp151 = -(tmp133*tmp135); +double tmp152 = tmp134*tmp136; +double tmp153 = tmp151 + tmp152; +double tmp154 = mRoll(2+_OFF); +double tmp155 = tmp78*tmp154; +double tmp156 = mRoll(3+_OFF); +double tmp157 = x(11+_OFF); +double tmp158 = (tmp139*tmp156*tmp76*tmp157)/2.; +double tmp159 = mRoll(4+_OFF); +double tmp160 = -(tmp139*tmp159*tmp76*tmp150)/2.; +double tmp161 = mRoll(1+_OFF); +double tmp162 = z(2+_OFF); +double tmp163 = -(tmp161*tmp162); +double tmp164 = tmp155 + tmp158 + tmp160 + tmp163; +double tmp165 = mPitch(1+_OFF); +double tmp166 = -tmp165; +double tmp167 = mPitch(3+_OFF); +double tmp168 = -(tmp70*tmp167); +double tmp169 = mPitch(4+_OFF); +double tmp170 = x(12+_OFF); +double tmp171 = (tmp149*tmp169*tmp76*tmp170)/2.; +double tmp172 = mPitch(2+_OFF); +double tmp173 = z(3+_OFF); +double tmp174 = -(tmp172*tmp173); +double tmp175 = tmp166 + tmp168 + tmp171 + tmp174; +double tmp176 = mYaw(2+_OFF); +double tmp177 = -(tmp78*tmp176); +double tmp178 = mYaw(3+_OFF); +double tmp179 = (tmp139*tmp178*tmp76*tmp150)/2.; +double tmp180 = mYaw(1+_OFF); +double tmp181 = z(4+_OFF); +double tmp182 = tmp180*tmp181; +double tmp183 = tmp177 + tmp179 + tmp182; +double tmp184 = -(tmp132*tmp134); +double tmp185 = tmp135*tmp136; +double tmp186 = tmp184 + tmp185; +double tmp187 = tmp134*tmp135; +double tmp188 = -(tmp137*tmp136); +double tmp189 = tmp187 + tmp188; J(1+_OFF,1+_OFF) = 0; J(1+_OFF,2+_OFF) = 0; -J(1+_OFF,3+_OFF) = -(tmp82*(-0.000048187859257968994*tmp52*tmp53*tmp67*tmp54*tmp93*tmp61*tmp76*tmp107*tmp63*tmp78 - 0.000048187859257968994*tmp52*tmp53*tmp54*tmp111*tmp61*(tmp6*tmp8 - 2*tmp4*tmp0*tmp1 - tmp6*tmp9 + 2*tmp7*tmp0*tmp2 - tmp6*tmp10 + 2*tmp7*tmp1*tmp3 + 2*tmp4*tmp2*tmp3 + tmp6*tmp11 - tmp47)*tmp63*tmp51 - 0.000048187859257968994*tmp52*tmp53*tmp54*tmp92*tmp61*tmp76*tmp63*tmp51*tmp97 - 0.00009637571851593799*tmp52*tmp53*tmp79*tmp61*((fThrust(3+_OFF)*tmp51)/std::pow(M_PI,2) + (tmp77*fThrust(2+_OFF)*tmp78*tmp80)/M_PI + tmp79*fThrust(1+_OFF)*std::pow(tmp80,2)))); +J(1+_OFF,3+_OFF) = -(tmp93*(0.00004814592760180996*tmp52*tmp53*tmp78*tmp54*tmp104*tmp66*tmp87*tmp118*tmp69*tmp89 + 0.00004814592760180996*tmp52*tmp53*tmp54*tmp122*tmp66*tmp69*(-(tmp6*tmp8) + 2*tmp4*tmp0*tmp1 + tmp6*tmp9 - 2*tmp7*tmp0*tmp2 + tmp6*tmp10 - 2*tmp7*tmp1*tmp3 - 2*tmp4*tmp2*tmp3 - tmp6*tmp11 + tmp40)*tmp51 - 0.00004814592760180996*tmp52*tmp53*tmp54*tmp103*tmp66*tmp87*tmp69*tmp51*tmp109 - 0.00009629185520361992*tmp52*tmp53*tmp90*tmp66*((fThrust(3+_OFF)*tmp51)/std::pow(M_PI,2) + (tmp88*fThrust(2+_OFF)*tmp89*tmp91)/M_PI + tmp90*fThrust(1+_OFF)*std::pow(tmp91,2)))); J(2+_OFF,1+_OFF) = 0; J(2+_OFF,2+_OFF) = 0; -J(2+_OFF,3+_OFF) = -(tmp82*(-0.000048187859257968994*tmp52*tmp53*tmp54*tmp92*tmp61*(-(tmp4*tmp8) - 2*tmp6*tmp0*tmp1 + tmp4*tmp9 - 2*tmp7*tmp1*tmp2 - tmp4*tmp10 + 2*tmp7*tmp0*tmp3 - 2*tmp6*tmp2*tmp3 + tmp4*tmp11 + tmp23)*tmp78 - 0.000048187859257968994*tmp52*tmp53*tmp67*tmp54*tmp93*tmp61*tmp51*tmp97)); +J(2+_OFF,3+_OFF) = -(tmp93*(-0.00004814592760180996*tmp52*tmp53*tmp54*tmp103*tmp66*(tmp4*tmp8 + 2*tmp6*tmp0*tmp1 - tmp4*tmp9 + 2*tmp7*tmp1*tmp2 + tmp4*tmp10 - 2*tmp7*tmp0*tmp3 + 2*tmp6*tmp2*tmp3 - tmp4*tmp11 + tmp74)*tmp89 + 0.00004814592760180996*tmp52*tmp53*tmp78*tmp54*tmp104*tmp66*tmp51*tmp109)); J(3+_OFF,1+_OFF) = 0; J(3+_OFF,2+_OFF) = 0; -J(3+_OFF,3+_OFF) = -(tmp82*(-0.000048187859257968994*tmp52*tmp53*tmp67*tmp54*tmp93*tmp61*tmp107*tmp120*tmp63*tmp78 - 0.000048187859257968994*tmp52*tmp53*tmp54*tmp111*tmp61*tmp76*tmp63*tmp51 - 0.000048187859257968994*tmp52*tmp53*tmp54*tmp92*tmp61*tmp120*tmp63*tmp51*tmp97)); +J(3+_OFF,3+_OFF) = -(tmp93*(0.00004814592760180996*tmp52*tmp53*tmp78*tmp54*tmp104*tmp66*tmp118*tmp69*tmp131*tmp89 + 0.00004814592760180996*tmp52*tmp53*tmp54*tmp122*tmp66*tmp87*tmp69*tmp51 - 0.00004814592760180996*tmp52*tmp53*tmp54*tmp103*tmp66*tmp69*tmp131*tmp51*tmp109)); J(4+_OFF,1+_OFF) = 0; J(4+_OFF,2+_OFF) = 0; -J(4+_OFF,3+_OFF) = 0.000048187859257968994*tmp52*tmp53*tmp54*tmp128*(tmp121*tmp122 - tmp127)*tmp137*tmp61*tmp51*tmp153 + 0.000048187859257968994*tmp52*tmp53*tmp138*tmp54*tmp142*tmp137*tmp61*tmp51*tmp163 + 0.000048187859257968994*tmp52*tmp53*tmp54*tmp128*tmp174*tmp137*tmp61*tmp51*tmp171; +J(4+_OFF,3+_OFF) = 0.00004814592760180996*tmp52*tmp53*tmp54*tmp139*(tmp132*tmp133 - tmp138)*tmp148*tmp66*tmp51*tmp164 + 0.00004814592760180996*tmp52*tmp53*tmp149*tmp54*tmp153*tmp148*tmp66*tmp51*tmp175 + 0.00004814592760180996*tmp52*tmp53*tmp54*tmp139*tmp186*tmp148*tmp66*tmp51*tmp183; J(5+_OFF,1+_OFF) = 0; J(5+_OFF,2+_OFF) = 0; -J(5+_OFF,3+_OFF) = 0.000048187859257968994*tmp52*tmp53*tmp54*tmp128*tmp142*tmp137*tmp61*tmp51*tmp153 + 0.000048187859257968994*tmp52*tmp53*tmp138*tmp54*(tmp126*tmp122 - tmp130)*tmp137*tmp61*tmp51*tmp163 + 0.000048187859257968994*tmp52*tmp53*tmp54*tmp128*tmp177*tmp137*tmp61*tmp51*tmp171; +J(5+_OFF,3+_OFF) = 0.00004814592760180996*tmp52*tmp53*tmp54*tmp139*tmp153*tmp148*tmp66*tmp51*tmp164 + 0.00004814592760180996*tmp52*tmp53*tmp149*tmp54*(tmp137*tmp133 - tmp141)*tmp148*tmp66*tmp51*tmp175 + 0.00004814592760180996*tmp52*tmp53*tmp54*tmp139*tmp189*tmp148*tmp66*tmp51*tmp183; J(6+_OFF,1+_OFF) = 0; J(6+_OFF,2+_OFF) = 0; -J(6+_OFF,3+_OFF) = 0.000048187859257968994*tmp52*tmp53*tmp54*tmp128*tmp174*tmp137*tmp61*tmp51*tmp153 + 0.000048187859257968994*tmp52*tmp53*tmp138*tmp54*tmp177*tmp137*tmp61*tmp51*tmp163 + 0.000048187859257968994*tmp52*tmp53*tmp54*tmp128*(tmp126*tmp121 - tmp132)*tmp137*tmp61*tmp51*tmp171; +J(6+_OFF,3+_OFF) = 0.00004814592760180996*tmp52*tmp53*tmp54*tmp139*tmp186*tmp148*tmp66*tmp51*tmp164 + 0.00004814592760180996*tmp52*tmp53*tmp149*tmp54*tmp189*tmp148*tmp66*tmp51*tmp175 + 0.00004814592760180996*tmp52*tmp53*tmp54*tmp139*(tmp137*tmp132 - tmp143)*tmp148*tmp66*tmp51*tmp183; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrQ.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrQ.cppready index 5ac3db0..2afe4bb 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrQ.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrQ.cppready @@ -13,421 +13,432 @@ double tmp11 = -tmp10; double tmp12 = std::pow(tmp3,2); double tmp13 = airDensity(2+_OFF); double tmp14 = 1/tmp13; -double tmp15 = x(10+_OFF); -double tmp16 = tmp2*tmp0; -double tmp17 = tmp1*tmp3; -double tmp18 = tmp16 + tmp17; -double tmp19 = -2*tmp6*tmp18; -double tmp20 = -(tmp1*tmp0); -double tmp21 = tmp20 + tmp5; -double tmp22 = -2*tmp7*tmp21; -double tmp23 = -tmp12; -double tmp24 = tmp8 + tmp9 + tmp11 + tmp23; -double tmp25 = -(tmp4*tmp24); -double tmp26 = x(8+_OFF); -double tmp27 = tmp19 + tmp22 + tmp25 + tmp26; -double tmp28 = tmp0*tmp3; -double tmp29 = -tmp9; -double tmp30 = tmp1*tmp0; -double tmp31 = tmp30 + tmp5; -double tmp32 = -2*tmp4*tmp31; -double tmp33 = -(tmp1*tmp2); -double tmp34 = tmp33 + tmp28; -double tmp35 = -2*tmp6*tmp34; -double tmp36 = tmp8 + tmp29 + tmp11 + tmp12; -double tmp37 = -(tmp7*tmp36); -double tmp38 = tmp32 + tmp35 + tmp37 + tmp15; -double tmp39 = airDensity(3+_OFF); -double tmp40 = -(tmp1*tmp3); -double tmp41 = tmp16 + tmp40; -double tmp42 = -2*tmp4*tmp41; +double tmp15 = tmp2*tmp0; +double tmp16 = tmp1*tmp3; +double tmp17 = tmp15 + tmp16; +double tmp18 = -2*tmp6*tmp17; +double tmp19 = -(tmp1*tmp0); +double tmp20 = tmp19 + tmp5; +double tmp21 = -2*tmp7*tmp20; +double tmp22 = -tmp12; +double tmp23 = tmp8 + tmp9 + tmp11 + tmp22; +double tmp24 = -(tmp4*tmp23); +double tmp25 = x(8+_OFF); +double tmp26 = tmp18 + tmp21 + tmp24 + tmp25; +double tmp27 = tmp1*tmp0; +double tmp28 = tmp27 + tmp5; +double tmp29 = 2*tmp4*tmp28; +double tmp30 = -(tmp1*tmp2); +double tmp31 = tmp0*tmp3; +double tmp32 = tmp30 + tmp31; +double tmp33 = 2*tmp6*tmp32; +double tmp34 = -tmp9; +double tmp35 = tmp8 + tmp34 + tmp11 + tmp12; +double tmp36 = tmp7*tmp35; +double tmp37 = x(10+_OFF); +double tmp38 = -tmp37; +double tmp39 = tmp29 + tmp33 + tmp36 + tmp38; +double tmp40 = airDensity(3+_OFF); +double tmp41 = -(tmp1*tmp3); +double tmp42 = tmp15 + tmp41; double tmp43 = tmp1*tmp2; -double tmp44 = tmp43 + tmp28; -double tmp45 = -2*tmp7*tmp44; -double tmp46 = tmp8 + tmp29 + tmp10 + tmp23; -double tmp47 = -(tmp6*tmp46); -double tmp48 = x(9+_OFF); -double tmp49 = tmp42 + tmp45 + tmp47 + tmp48; -double tmp50 = std::pow(tmp27,2); -double tmp51 = std::pow(tmp38,2); -double tmp52 = cp(2+_OFF); -double tmp53 = airDensity(1+_OFF); -double tmp54 = x(3+_OFF); -double tmp55 = tmp53 + tmp54; -double tmp56 = -0.006500000000000001*tmp14*tmp55; -double tmp57 = 1 + tmp56; -double tmp58 = std::pow(tmp57,4.2561); -double tmp59 = -2*tmp4*tmp1; -double tmp60 = 2*tmp7*tmp0; -double tmp61 = -2*tmp6*tmp3; -double tmp62 = tmp59 + tmp60 + tmp61; -double tmp63 = 2*tmp62*tmp27; -double tmp64 = -2*tmp6*tmp1; -double tmp65 = -2*tmp7*tmp2; -double tmp66 = 2*tmp4*tmp3; -double tmp67 = tmp64 + tmp65 + tmp66; -double tmp68 = 2*tmp67*tmp49; -double tmp69 = -2*tmp7*tmp1; -double tmp70 = 2*tmp6*tmp2; -double tmp71 = -2*tmp4*tmp0; -double tmp72 = tmp69 + tmp70 + tmp71; -double tmp73 = 2*tmp72*tmp38; -double tmp74 = tmp63 + tmp68 + tmp73; -double tmp75 = tmp50 + tmp51; -double tmp76 = 1/std::sqrt(tmp75); -double tmp77 = std::pow(tmp49,2); -double tmp78 = tmp50 + tmp77 + tmp51; -double tmp79 = 1/std::sqrt(tmp78); -double tmp80 = tmp49*tmp79; -double tmp81 = std::asin(tmp80); -double tmp82 = fLat(1+_OFF); -double tmp83 = -(tmp4*tmp8); -double tmp84 = -(tmp4*tmp9); -double tmp85 = 2*tmp7*tmp1*tmp0; -double tmp86 = -2*tmp6*tmp2*tmp0; -double tmp87 = tmp4*tmp10; -double tmp88 = -2*tmp6*tmp1*tmp3; -double tmp89 = -2*tmp7*tmp2*tmp3; -double tmp90 = tmp4*tmp12; -double tmp91 = tmp83 + tmp84 + tmp85 + tmp86 + tmp87 + tmp88 + tmp89 + tmp90 + tmp26; -double tmp92 = tmp6*tmp8; -double tmp93 = 2*tmp7*tmp1*tmp2; -double tmp94 = -(tmp6*tmp9); -double tmp95 = 2*tmp4*tmp2*tmp0; -double tmp96 = tmp6*tmp10; -double tmp97 = -2*tmp4*tmp1*tmp3; -double tmp98 = 2*tmp7*tmp0*tmp3; -double tmp99 = -(tmp6*tmp12); -double tmp100 = -tmp48; -double tmp101 = tmp92 + tmp93 + tmp94 + tmp95 + tmp96 + tmp97 + tmp98 + tmp99 + tmp100; -double tmp102 = std::sqrt(tmp78); -double tmp103 = fLift(1+_OFF); -double tmp104 = std::atan2(tmp38,tmp27); -double tmp105 = fLift(2+_OFF); -double tmp106 = tmp104*tmp105; -double tmp107 = tmp103 + tmp106; -double tmp108 = tmp7*tmp8; -double tmp109 = -2*tmp6*tmp1*tmp2; -double tmp110 = -(tmp7*tmp9); -double tmp111 = 2*tmp4*tmp1*tmp0; -double tmp112 = -(tmp7*tmp10); -double tmp113 = 2*tmp4*tmp2*tmp3; -double tmp114 = 2*tmp6*tmp0*tmp3; -double tmp115 = tmp7*tmp12; -double tmp116 = -tmp15; -double tmp117 = tmp108 + tmp109 + tmp110 + tmp111 + tmp112 + tmp113 + tmp114 + tmp115 + tmp116; -double tmp118 = tmp63 + tmp73; -double tmp119 = std::pow(tmp75,-1.5); -double tmp120 = 1/tmp75; -double tmp121 = 1/tmp78; -double tmp122 = fDrag(1+_OFF); -double tmp123 = fDrag(2+_OFF); -double tmp124 = tmp104*tmp123; -double tmp125 = std::pow(tmp104,2); -double tmp126 = fDrag(3+_OFF); -double tmp127 = tmp125*tmp126; -double tmp128 = std::pow(tmp81,2); -double tmp129 = fDrag(4+_OFF); -double tmp130 = tmp128*tmp129; -double tmp131 = tmp122 + tmp124 + tmp127 + tmp130; -double tmp132 = -(tmp77*tmp121); -double tmp133 = 1 + tmp132; -double tmp134 = std::sqrt(tmp133); -double tmp135 = 1/std::sqrt(tmp133); -double tmp136 = tmp72*tmp27*tmp120; -double tmp137 = 2*tmp4*tmp31; -double tmp138 = 2*tmp6*tmp34; -double tmp139 = tmp7*tmp36; -double tmp140 = tmp137 + tmp138 + tmp139 + tmp116; -double tmp141 = tmp62*tmp140*tmp120; -double tmp142 = tmp136 + tmp141; -double tmp143 = std::pow(tmp78,-1.5); -double tmp144 = -(tmp49*tmp74*tmp143)/2.; -double tmp145 = tmp67*tmp79; -double tmp146 = tmp144 + tmp145; -double tmp147 = cp(1+_OFF); -double tmp148 = gravity(1+_OFF); -double tmp149 = cp(4+_OFF); -double tmp150 = 1/tmp149; +double tmp44 = tmp43 + tmp31; +double tmp45 = tmp8 + tmp34 + tmp10 + tmp22; +double tmp46 = x(9+_OFF); +double tmp47 = std::pow(tmp26,2); +double tmp48 = -2*tmp4*tmp42; +double tmp49 = -2*tmp7*tmp44; +double tmp50 = -(tmp6*tmp45); +double tmp51 = tmp48 + tmp49 + tmp50 + tmp46; +double tmp52 = -2*tmp4*tmp28; +double tmp53 = -2*tmp6*tmp32; +double tmp54 = -(tmp7*tmp35); +double tmp55 = tmp52 + tmp53 + tmp54 + tmp37; +double tmp56 = cp(2+_OFF); +double tmp57 = airDensity(1+_OFF); +double tmp58 = x(3+_OFF); +double tmp59 = tmp57 + tmp58; +double tmp60 = -0.006500000000000001*tmp14*tmp59; +double tmp61 = 1 + tmp60; +double tmp62 = std::pow(tmp61,4.2561); +double tmp63 = std::pow(tmp39,2); +double tmp64 = tmp47 + tmp63; +double tmp65 = 1/std::sqrt(tmp64); +double tmp66 = -2*tmp4*tmp1; +double tmp67 = 2*tmp7*tmp0; +double tmp68 = -2*tmp6*tmp3; +double tmp69 = tmp66 + tmp67 + tmp68; +double tmp70 = 2*tmp69*tmp26; +double tmp71 = -2*tmp6*tmp1; +double tmp72 = -2*tmp7*tmp2; +double tmp73 = 2*tmp4*tmp3; +double tmp74 = tmp71 + tmp72 + tmp73; +double tmp75 = 2*tmp74*tmp51; +double tmp76 = -2*tmp7*tmp1; +double tmp77 = 2*tmp6*tmp2; +double tmp78 = -2*tmp4*tmp0; +double tmp79 = tmp76 + tmp77 + tmp78; +double tmp80 = 2*tmp79*tmp55; +double tmp81 = tmp70 + tmp75 + tmp80; +double tmp82 = std::pow(tmp51,2); +double tmp83 = std::pow(tmp55,2); +double tmp84 = tmp47 + tmp82 + tmp83; +double tmp85 = 1/std::sqrt(tmp84); +double tmp86 = 2*tmp4*tmp42; +double tmp87 = 2*tmp7*tmp44; +double tmp88 = tmp6*tmp45; +double tmp89 = -tmp46; +double tmp90 = tmp86 + tmp87 + tmp88 + tmp89; +double tmp91 = tmp90*tmp85; +double tmp92 = std::asin(tmp91); +double tmp93 = fLat(1+_OFF); +double tmp94 = -(tmp4*tmp8); +double tmp95 = -(tmp4*tmp9); +double tmp96 = 2*tmp7*tmp1*tmp0; +double tmp97 = -2*tmp6*tmp2*tmp0; +double tmp98 = tmp4*tmp10; +double tmp99 = -2*tmp6*tmp1*tmp3; +double tmp100 = -2*tmp7*tmp2*tmp3; +double tmp101 = tmp4*tmp12; +double tmp102 = tmp94 + tmp95 + tmp96 + tmp97 + tmp98 + tmp99 + tmp100 + tmp101 + tmp25; +double tmp103 = -(tmp6*tmp8); +double tmp104 = -2*tmp7*tmp1*tmp2; +double tmp105 = tmp6*tmp9; +double tmp106 = -2*tmp4*tmp2*tmp0; +double tmp107 = -(tmp6*tmp10); +double tmp108 = 2*tmp4*tmp1*tmp3; +double tmp109 = -2*tmp7*tmp0*tmp3; +double tmp110 = tmp6*tmp12; +double tmp111 = tmp103 + tmp104 + tmp105 + tmp106 + tmp107 + tmp108 + tmp109 + tmp110 + tmp46; +double tmp112 = std::sqrt(tmp84); +double tmp113 = fLift(1+_OFF); +double tmp114 = std::atan2(tmp39,tmp26); +double tmp115 = fLift(2+_OFF); +double tmp116 = tmp114*tmp115; +double tmp117 = tmp113 + tmp116; +double tmp118 = 2*tmp7*tmp1; +double tmp119 = -2*tmp6*tmp2; +double tmp120 = 2*tmp4*tmp0; +double tmp121 = tmp118 + tmp119 + tmp120; +double tmp122 = 2*tmp121*tmp39; +double tmp123 = tmp70 + tmp122; +double tmp124 = std::pow(tmp64,-1.5); +double tmp125 = -(tmp7*tmp8); +double tmp126 = 2*tmp6*tmp1*tmp2; +double tmp127 = tmp7*tmp9; +double tmp128 = -2*tmp4*tmp1*tmp0; +double tmp129 = tmp7*tmp10; +double tmp130 = -2*tmp4*tmp2*tmp3; +double tmp131 = -2*tmp6*tmp0*tmp3; +double tmp132 = -(tmp7*tmp12); +double tmp133 = tmp125 + tmp126 + tmp127 + tmp128 + tmp129 + tmp130 + tmp131 + tmp132 + tmp37; +double tmp134 = 1/tmp64; +double tmp135 = std::pow(tmp90,2); +double tmp136 = 1/tmp84; +double tmp137 = fDrag(1+_OFF); +double tmp138 = fDrag(2+_OFF); +double tmp139 = tmp114*tmp138; +double tmp140 = std::pow(tmp114,2); +double tmp141 = fDrag(3+_OFF); +double tmp142 = tmp140*tmp141; +double tmp143 = std::pow(tmp92,2); +double tmp144 = fDrag(4+_OFF); +double tmp145 = tmp143*tmp144; +double tmp146 = tmp137 + tmp139 + tmp142 + tmp145; +double tmp147 = -(tmp135*tmp136); +double tmp148 = 1 + tmp147; +double tmp149 = std::sqrt(tmp148); +double tmp150 = 1/std::sqrt(tmp148); double tmp151 = 2*tmp6*tmp1; double tmp152 = 2*tmp7*tmp2; double tmp153 = -2*tmp4*tmp3; double tmp154 = tmp151 + tmp152 + tmp153; -double tmp155 = -2*tmp4*tmp2; -double tmp156 = -2*tmp6*tmp0; -double tmp157 = -2*tmp7*tmp3; -double tmp158 = tmp155 + tmp156 + tmp157; -double tmp159 = 2*tmp158*tmp27; -double tmp160 = 2*tmp72*tmp49; -double tmp161 = 2*tmp154*tmp38; -double tmp162 = tmp159 + tmp160 + tmp161; -double tmp163 = 2*tmp7*tmp1; -double tmp164 = -2*tmp6*tmp2; -double tmp165 = 2*tmp4*tmp0; -double tmp166 = tmp163 + tmp164 + tmp165; -double tmp167 = tmp159 + tmp161; -double tmp168 = std::pow(tmp78,-2); -double tmp169 = tmp154*tmp27*tmp120; -double tmp170 = tmp158*tmp140*tmp120; -double tmp171 = tmp169 + tmp170; -double tmp172 = -(tmp49*tmp162*tmp143)/2.; -double tmp173 = tmp72*tmp79; -double tmp174 = tmp172 + tmp173; -double tmp175 = std::pow(tmp147,2); -double tmp176 = std::pow(M_PI,-2); -double tmp177 = fThrust(3+_OFF); -double tmp178 = 1/M_PI; -double tmp179 = fThrust(2+_OFF); -double tmp180 = z(1+_OFF); -double tmp181 = 2*tmp166*tmp27; -double tmp182 = 2*tmp158*tmp49; -double tmp183 = 2*tmp62*tmp38; -double tmp184 = tmp181 + tmp182 + tmp183; -double tmp185 = tmp181 + tmp183; -double tmp186 = tmp62*tmp27*tmp120; -double tmp187 = tmp166*tmp140*tmp120; -double tmp188 = tmp186 + tmp187; -double tmp189 = -(tmp49*tmp184*tmp143)/2.; -double tmp190 = tmp158*tmp79; -double tmp191 = tmp189 + tmp190; -double tmp192 = 2*tmp4*tmp1; -double tmp193 = -2*tmp7*tmp0; -double tmp194 = 2*tmp6*tmp3; -double tmp195 = tmp192 + tmp193 + tmp194; -double tmp196 = 2*tmp67*tmp27; -double tmp197 = 2*tmp195*tmp49; -double tmp198 = 2*tmp158*tmp38; -double tmp199 = tmp196 + tmp197 + tmp198; -double tmp200 = tmp196 + tmp198; -double tmp201 = 2*tmp4*tmp2; -double tmp202 = 2*tmp6*tmp0; -double tmp203 = 2*tmp7*tmp3; -double tmp204 = tmp201 + tmp202 + tmp203; -double tmp205 = tmp158*tmp27*tmp120; -double tmp206 = tmp67*tmp140*tmp120; -double tmp207 = tmp205 + tmp206; -double tmp208 = -(tmp49*tmp199*tmp143)/2.; -double tmp209 = tmp195*tmp79; -double tmp210 = tmp208 + tmp209; -double tmp211 = 2*tmp148*tmp2; -double tmp212 = tmp77*tmp74*tmp168; -double tmp213 = -2*tmp67*tmp49*tmp121; -double tmp214 = tmp212 + tmp213; -double tmp215 = -(tmp6*tmp8); -double tmp216 = -2*tmp7*tmp1*tmp2; -double tmp217 = tmp6*tmp9; -double tmp218 = -2*tmp4*tmp2*tmp0; -double tmp219 = -(tmp6*tmp10); -double tmp220 = 2*tmp4*tmp1*tmp3; -double tmp221 = -2*tmp7*tmp0*tmp3; -double tmp222 = tmp6*tmp12; -double tmp223 = tmp215 + tmp216 + tmp217 + tmp218 + tmp219 + tmp220 + tmp221 + tmp222 + tmp48; -double tmp224 = tmp123*tmp142; -double tmp225 = 2*tmp104*tmp126*tmp142; -double tmp226 = 2*tmp81*tmp129*tmp135*tmp146; -double tmp227 = tmp224 + tmp225 + tmp226; -double tmp228 = tmp77*tmp162*tmp168; -double tmp229 = -2*tmp72*tmp49*tmp121; -double tmp230 = tmp228 + tmp229; -double tmp231 = tmp123*tmp171; -double tmp232 = 2*tmp104*tmp126*tmp171; -double tmp233 = 2*tmp81*tmp129*tmp135*tmp174; -double tmp234 = tmp231 + tmp232 + tmp233; -double tmp235 = 2*tmp148*tmp3; -double tmp236 = tmp77*tmp184*tmp168; -double tmp237 = -2*tmp158*tmp49*tmp121; -double tmp238 = tmp236 + tmp237; -double tmp239 = tmp123*tmp188; -double tmp240 = 2*tmp104*tmp126*tmp188; -double tmp241 = 2*tmp81*tmp129*tmp135*tmp191; -double tmp242 = tmp239 + tmp240 + tmp241; -double tmp243 = tmp77*tmp199*tmp168; -double tmp244 = -2*tmp195*tmp49*tmp121; -double tmp245 = tmp243 + tmp244; -double tmp246 = tmp123*tmp207; -double tmp247 = 2*tmp104*tmp126*tmp207; -double tmp248 = 2*tmp81*tmp129*tmp135*tmp210; -double tmp249 = tmp246 + tmp247 + tmp248; -double tmp250 = 2*tmp148*tmp1; -double tmp251 = -(tmp7*tmp8); -double tmp252 = 2*tmp6*tmp1*tmp2; -double tmp253 = tmp7*tmp9; -double tmp254 = -2*tmp4*tmp1*tmp0; -double tmp255 = tmp7*tmp10; -double tmp256 = -2*tmp4*tmp2*tmp3; -double tmp257 = -2*tmp6*tmp0*tmp3; -double tmp258 = -(tmp7*tmp12); -double tmp259 = tmp251 + tmp252 + tmp253 + tmp254 + tmp255 + tmp256 + tmp257 + tmp258 + tmp15; -double tmp260 = -2*tmp148*tmp0; -double tmp261 = 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp62*tmp101*tmp76*tmp102; -double tmp262 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp166*tmp76*tmp78; -double tmp263 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp62*tmp76*tmp78*tmp134; -double tmp264 = 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp158*tmp101*tmp76*tmp102; -double tmp265 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp67*tmp76*tmp78; -double tmp266 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp158*tmp76*tmp78*tmp134; -double tmp267 = ibd(2+_OFF); -double tmp268 = ibd(3+_OFF); -double tmp269 = ibod(1+_OFF); -double tmp270 = ibod(2+_OFF); -double tmp271 = ibod(3+_OFF); -double tmp272 = ibd(1+_OFF); -double tmp273 = std::pow(tmp271,2); -double tmp274 = cp(3+_OFF); -double tmp275 = mRoll(2+_OFF); -double tmp276 = mRoll(3+_OFF); -double tmp277 = x(11+_OFF); -double tmp278 = mRoll(4+_OFF); -double tmp279 = x(13+_OFF); -double tmp280 = tmp272*tmp267*tmp268; -double tmp281 = std::pow(tmp269,2); -double tmp282 = -(tmp267*tmp281); -double tmp283 = std::pow(tmp270,2); -double tmp284 = -(tmp268*tmp283); -double tmp285 = 2*tmp269*tmp270*tmp271; -double tmp286 = -(tmp272*tmp273); -double tmp287 = tmp280 + tmp282 + tmp284 + tmp285 + tmp286; -double tmp288 = 1/tmp287; -double tmp289 = cBar(1+_OFF); -double tmp290 = mPitch(4+_OFF); -double tmp291 = mPitch(3+_OFF); -double tmp292 = x(12+_OFF); -double tmp293 = mYaw(3+_OFF); -double tmp294 = mYaw(2+_OFF); -double tmp295 = tmp267*tmp268; -double tmp296 = -tmp273; -double tmp297 = tmp295 + tmp296; -double tmp298 = tmp81*tmp275; -double tmp299 = (tmp274*tmp276*tmp79*tmp277)/2.; -double tmp300 = (tmp274*tmp278*tmp79*tmp279)/2.; -double tmp301 = mRoll(1+_OFF); -double tmp302 = z(2+_OFF); -double tmp303 = tmp301*tmp302; -double tmp304 = tmp298 + tmp299 + tmp300 + tmp303; -double tmp305 = -(tmp268*tmp270); -double tmp306 = tmp269*tmp271; +double tmp155 = tmp121*tmp26*tmp134; +double tmp156 = tmp69*tmp134*tmp55; +double tmp157 = tmp155 + tmp156; +double tmp158 = std::pow(tmp84,-1.5); +double tmp159 = -(tmp90*tmp81*tmp158)/2.; +double tmp160 = tmp154*tmp85; +double tmp161 = tmp159 + tmp160; +double tmp162 = cp(1+_OFF); +double tmp163 = gravity(1+_OFF); +double tmp164 = cp(4+_OFF); +double tmp165 = 1/tmp164; +double tmp166 = -2*tmp4*tmp2; +double tmp167 = -2*tmp6*tmp0; +double tmp168 = -2*tmp7*tmp3; +double tmp169 = tmp166 + tmp167 + tmp168; +double tmp170 = 2*tmp169*tmp26; +double tmp171 = 2*tmp79*tmp51; +double tmp172 = 2*tmp154*tmp55; +double tmp173 = tmp170 + tmp171 + tmp172; +double tmp174 = 2*tmp74*tmp39; +double tmp175 = tmp170 + tmp174; +double tmp176 = std::pow(tmp84,-2); +double tmp177 = tmp74*tmp26*tmp134; +double tmp178 = tmp169*tmp134*tmp55; +double tmp179 = tmp177 + tmp178; +double tmp180 = -(tmp90*tmp173*tmp158)/2.; +double tmp181 = tmp121*tmp85; +double tmp182 = tmp180 + tmp181; +double tmp183 = std::pow(tmp162,2); +double tmp184 = std::pow(M_PI,-2); +double tmp185 = fThrust(3+_OFF); +double tmp186 = 1/M_PI; +double tmp187 = fThrust(2+_OFF); +double tmp188 = z(1+_OFF); +double tmp189 = 2*tmp121*tmp26; +double tmp190 = 2*tmp169*tmp51; +double tmp191 = 2*tmp69*tmp55; +double tmp192 = tmp189 + tmp190 + tmp191; +double tmp193 = 2*tmp4*tmp1; +double tmp194 = -2*tmp7*tmp0; +double tmp195 = 2*tmp6*tmp3; +double tmp196 = tmp193 + tmp194 + tmp195; +double tmp197 = 2*tmp196*tmp39; +double tmp198 = tmp189 + tmp197; +double tmp199 = 2*tmp4*tmp2; +double tmp200 = 2*tmp6*tmp0; +double tmp201 = 2*tmp7*tmp3; +double tmp202 = tmp199 + tmp200 + tmp201; +double tmp203 = tmp196*tmp26*tmp134; +double tmp204 = tmp121*tmp134*tmp55; +double tmp205 = tmp203 + tmp204; +double tmp206 = -(tmp90*tmp192*tmp158)/2.; +double tmp207 = tmp202*tmp85; +double tmp208 = tmp206 + tmp207; +double tmp209 = 2*tmp74*tmp26; +double tmp210 = 2*tmp196*tmp51; +double tmp211 = 2*tmp169*tmp55; +double tmp212 = tmp209 + tmp210 + tmp211; +double tmp213 = 2*tmp202*tmp39; +double tmp214 = tmp209 + tmp213; +double tmp215 = tmp202*tmp26*tmp134; +double tmp216 = tmp74*tmp134*tmp55; +double tmp217 = tmp215 + tmp216; +double tmp218 = -(tmp90*tmp212*tmp158)/2.; +double tmp219 = tmp69*tmp85; +double tmp220 = tmp218 + tmp219; +double tmp221 = 2*tmp163*tmp2; +double tmp222 = tmp135*tmp81*tmp176; +double tmp223 = -2*tmp154*tmp90*tmp136; +double tmp224 = tmp222 + tmp223; +double tmp225 = tmp6*tmp8; +double tmp226 = 2*tmp7*tmp1*tmp2; +double tmp227 = -(tmp6*tmp9); +double tmp228 = 2*tmp4*tmp2*tmp0; +double tmp229 = tmp6*tmp10; +double tmp230 = -2*tmp4*tmp1*tmp3; +double tmp231 = 2*tmp7*tmp0*tmp3; +double tmp232 = -(tmp6*tmp12); +double tmp233 = tmp225 + tmp226 + tmp227 + tmp228 + tmp229 + tmp230 + tmp231 + tmp232 + tmp89; +double tmp234 = tmp138*tmp157; +double tmp235 = 2*tmp114*tmp141*tmp157; +double tmp236 = 2*tmp92*tmp144*tmp150*tmp161; +double tmp237 = tmp234 + tmp235 + tmp236; +double tmp238 = tmp135*tmp173*tmp176; +double tmp239 = -2*tmp121*tmp90*tmp136; +double tmp240 = tmp238 + tmp239; +double tmp241 = tmp138*tmp179; +double tmp242 = 2*tmp114*tmp141*tmp179; +double tmp243 = 2*tmp92*tmp144*tmp150*tmp182; +double tmp244 = tmp241 + tmp242 + tmp243; +double tmp245 = 2*tmp163*tmp3; +double tmp246 = tmp135*tmp192*tmp176; +double tmp247 = -2*tmp202*tmp90*tmp136; +double tmp248 = tmp246 + tmp247; +double tmp249 = tmp138*tmp205; +double tmp250 = 2*tmp114*tmp141*tmp205; +double tmp251 = 2*tmp92*tmp144*tmp150*tmp208; +double tmp252 = tmp249 + tmp250 + tmp251; +double tmp253 = tmp135*tmp212*tmp176; +double tmp254 = -2*tmp69*tmp90*tmp136; +double tmp255 = tmp253 + tmp254; +double tmp256 = tmp138*tmp217; +double tmp257 = 2*tmp114*tmp141*tmp217; +double tmp258 = 2*tmp92*tmp144*tmp150*tmp220; +double tmp259 = tmp256 + tmp257 + tmp258; +double tmp260 = 2*tmp163*tmp1; +double tmp261 = -0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp121*tmp111*tmp65*tmp112; +double tmp262 = tmp7*tmp8; +double tmp263 = -2*tmp6*tmp1*tmp2; +double tmp264 = -(tmp7*tmp9); +double tmp265 = 2*tmp4*tmp1*tmp0; +double tmp266 = -(tmp7*tmp10); +double tmp267 = 2*tmp4*tmp2*tmp3; +double tmp268 = 2*tmp6*tmp0*tmp3; +double tmp269 = tmp7*tmp12; +double tmp270 = tmp262 + tmp263 + tmp264 + tmp265 + tmp266 + tmp267 + tmp268 + tmp269 + tmp38; +double tmp271 = -0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp69*tmp65*tmp84; +double tmp272 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp121*tmp65*tmp84*tmp149; +double tmp273 = -0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp74*tmp111*tmp65*tmp112; +double tmp274 = -0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp169*tmp65*tmp84; +double tmp275 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp74*tmp65*tmp84*tmp149; +double tmp276 = -2*tmp163*tmp0; +double tmp277 = ibd(2+_OFF); +double tmp278 = ibd(3+_OFF); +double tmp279 = ibod(1+_OFF); +double tmp280 = ibod(2+_OFF); +double tmp281 = ibod(3+_OFF); +double tmp282 = ibd(1+_OFF); +double tmp283 = std::pow(tmp281,2); +double tmp284 = cp(3+_OFF); +double tmp285 = mRoll(2+_OFF); +double tmp286 = mRoll(3+_OFF); +double tmp287 = x(11+_OFF); +double tmp288 = mRoll(4+_OFF); +double tmp289 = x(13+_OFF); +double tmp290 = tmp282*tmp277*tmp278; +double tmp291 = std::pow(tmp279,2); +double tmp292 = -(tmp277*tmp291); +double tmp293 = std::pow(tmp280,2); +double tmp294 = -(tmp278*tmp293); +double tmp295 = 2*tmp279*tmp280*tmp281; +double tmp296 = -(tmp282*tmp283); +double tmp297 = tmp290 + tmp292 + tmp294 + tmp295 + tmp296; +double tmp298 = 1/tmp297; +double tmp299 = cBar(1+_OFF); +double tmp300 = mPitch(3+_OFF); +double tmp301 = mPitch(4+_OFF); +double tmp302 = x(12+_OFF); +double tmp303 = mYaw(2+_OFF); +double tmp304 = mYaw(3+_OFF); +double tmp305 = tmp277*tmp278; +double tmp306 = -tmp283; double tmp307 = tmp305 + tmp306; -double tmp308 = mPitch(1+_OFF); -double tmp309 = tmp104*tmp290; -double tmp310 = (tmp289*tmp291*tmp79*tmp292)/2.; -double tmp311 = mPitch(2+_OFF); -double tmp312 = z(3+_OFF); -double tmp313 = tmp311*tmp312; +double tmp308 = tmp92*tmp285; +double tmp309 = (tmp284*tmp286*tmp85*tmp287)/2.; +double tmp310 = -(tmp284*tmp288*tmp85*tmp289)/2.; +double tmp311 = mRoll(1+_OFF); +double tmp312 = z(2+_OFF); +double tmp313 = -(tmp311*tmp312); double tmp314 = tmp308 + tmp309 + tmp310 + tmp313; -double tmp315 = -(tmp267*tmp269); -double tmp316 = tmp270*tmp271; +double tmp315 = -(tmp278*tmp280); +double tmp316 = tmp279*tmp281; double tmp317 = tmp315 + tmp316; -double tmp318 = tmp81*tmp293; -double tmp319 = (tmp274*tmp294*tmp79*tmp279)/2.; -double tmp320 = mYaw(1+_OFF); -double tmp321 = z(4+_OFF); -double tmp322 = tmp320*tmp321; -double tmp323 = tmp318 + tmp319 + tmp322; -double tmp324 = tmp275*tmp135*tmp146; -double tmp325 = -(tmp274*tmp276*tmp74*tmp143*tmp277)/4.; -double tmp326 = -(tmp274*tmp278*tmp74*tmp143*tmp279)/4.; -double tmp327 = tmp324 + tmp325 + tmp326; -double tmp328 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp78*tmp327; -double tmp329 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp74*tmp304; -double tmp330 = tmp328 + tmp329; -double tmp331 = tmp290*tmp142; -double tmp332 = -(tmp289*tmp291*tmp74*tmp143*tmp292)/4.; -double tmp333 = tmp331 + tmp332; -double tmp334 = 0.0017418568193694477*tmp14*tmp39*tmp289*tmp52*tmp58*tmp78*tmp333; -double tmp335 = 0.0017418568193694477*tmp14*tmp39*tmp289*tmp52*tmp58*tmp74*tmp314; -double tmp336 = tmp334 + tmp335; -double tmp337 = tmp293*tmp135*tmp146; -double tmp338 = -(tmp274*tmp294*tmp74*tmp143*tmp279)/4.; -double tmp339 = tmp337 + tmp338; -double tmp340 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp78*tmp339; -double tmp341 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp74*tmp323; -double tmp342 = tmp340 + tmp341; -double tmp343 = tmp275*tmp135*tmp174; -double tmp344 = -(tmp274*tmp276*tmp162*tmp143*tmp277)/4.; -double tmp345 = -(tmp274*tmp278*tmp162*tmp143*tmp279)/4.; -double tmp346 = tmp343 + tmp344 + tmp345; -double tmp347 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp78*tmp346; -double tmp348 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp162*tmp304; -double tmp349 = tmp347 + tmp348; -double tmp350 = tmp272*tmp268; -double tmp351 = -tmp281; -double tmp352 = tmp350 + tmp351; -double tmp353 = tmp290*tmp171; -double tmp354 = -(tmp289*tmp291*tmp162*tmp143*tmp292)/4.; -double tmp355 = tmp353 + tmp354; -double tmp356 = 0.0017418568193694477*tmp14*tmp39*tmp289*tmp52*tmp58*tmp78*tmp355; -double tmp357 = 0.0017418568193694477*tmp14*tmp39*tmp289*tmp52*tmp58*tmp162*tmp314; -double tmp358 = tmp356 + tmp357; -double tmp359 = tmp269*tmp270; -double tmp360 = -(tmp272*tmp271); -double tmp361 = tmp359 + tmp360; -double tmp362 = tmp293*tmp135*tmp174; -double tmp363 = -(tmp274*tmp294*tmp162*tmp143*tmp279)/4.; -double tmp364 = tmp362 + tmp363; -double tmp365 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp78*tmp364; -double tmp366 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp162*tmp323; -double tmp367 = tmp365 + tmp366; -double tmp368 = tmp275*tmp135*tmp191; -double tmp369 = -(tmp274*tmp276*tmp184*tmp143*tmp277)/4.; -double tmp370 = -(tmp274*tmp278*tmp184*tmp143*tmp279)/4.; -double tmp371 = tmp368 + tmp369 + tmp370; -double tmp372 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp78*tmp371; -double tmp373 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp184*tmp304; -double tmp374 = tmp372 + tmp373; -double tmp375 = tmp290*tmp188; -double tmp376 = -(tmp289*tmp291*tmp184*tmp143*tmp292)/4.; -double tmp377 = tmp375 + tmp376; -double tmp378 = 0.0017418568193694477*tmp14*tmp39*tmp289*tmp52*tmp58*tmp78*tmp377; -double tmp379 = 0.0017418568193694477*tmp14*tmp39*tmp289*tmp52*tmp58*tmp184*tmp314; -double tmp380 = tmp378 + tmp379; -double tmp381 = tmp293*tmp135*tmp191; -double tmp382 = -(tmp274*tmp294*tmp184*tmp143*tmp279)/4.; -double tmp383 = tmp381 + tmp382; -double tmp384 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp78*tmp383; -double tmp385 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp184*tmp323; -double tmp386 = tmp384 + tmp385; -double tmp387 = tmp275*tmp135*tmp210; -double tmp388 = -(tmp274*tmp276*tmp199*tmp143*tmp277)/4.; -double tmp389 = -(tmp274*tmp278*tmp199*tmp143*tmp279)/4.; -double tmp390 = tmp387 + tmp388 + tmp389; -double tmp391 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp78*tmp390; -double tmp392 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp199*tmp304; -double tmp393 = tmp391 + tmp392; -double tmp394 = tmp290*tmp207; -double tmp395 = -(tmp289*tmp291*tmp199*tmp143*tmp292)/4.; -double tmp396 = tmp394 + tmp395; -double tmp397 = 0.0017418568193694477*tmp14*tmp39*tmp289*tmp52*tmp58*tmp78*tmp396; -double tmp398 = 0.0017418568193694477*tmp14*tmp39*tmp289*tmp52*tmp58*tmp199*tmp314; -double tmp399 = tmp397 + tmp398; -double tmp400 = tmp293*tmp135*tmp210; -double tmp401 = -(tmp274*tmp294*tmp199*tmp143*tmp279)/4.; -double tmp402 = tmp400 + tmp401; -double tmp403 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp78*tmp402; -double tmp404 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp274*tmp58*tmp199*tmp323; -double tmp405 = tmp403 + tmp404; -double tmp406 = tmp272*tmp267; -double tmp407 = -tmp283; -double tmp408 = tmp406 + tmp407; -J(1+_OFF,1+_OFF) = tmp260 - tmp150*(0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp117*tmp74*tmp76 + 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp91*tmp101*tmp74*tmp76*tmp79 - 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp91*tmp101*tmp118*tmp119*tmp102 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp154*tmp91*tmp76*tmp102 + tmp261 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp107*tmp58*tmp117*tmp118*tmp119*tmp78 + tmp262 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp105*tmp58*tmp117*tmp76*tmp78*tmp142 + 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp91*tmp76*tmp78*tmp214*tmp135 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp91*tmp74*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp91*tmp118*tmp119*tmp78*tmp134 + tmp263 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp82*tmp58*tmp91*tmp101*tmp76*tmp102*tmp135*tmp146 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp91*tmp76*tmp78*tmp134*tmp227 + 0.0034837136387388954*tmp14*tmp39*tmp175*tmp58*(tmp176*tmp177*tmp74 + (tmp178*tmp147*tmp179*tmp74*tmp79*tmp180)/2.)); -J(1+_OFF,2+_OFF) = tmp235 - tmp150*(0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp117*tmp162*tmp76 + 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp91*tmp101*tmp162*tmp76*tmp79 - 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp91*tmp101*tmp167*tmp119*tmp102 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp166*tmp91*tmp76*tmp102 + tmp264 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp107*tmp58*tmp117*tmp167*tmp119*tmp78 + tmp265 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp105*tmp58*tmp117*tmp76*tmp78*tmp171 + 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp91*tmp76*tmp78*tmp230*tmp135 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp91*tmp162*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp91*tmp167*tmp119*tmp78*tmp134 + tmp266 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp82*tmp58*tmp91*tmp101*tmp76*tmp102*tmp135*tmp174 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp91*tmp76*tmp78*tmp134*tmp234 + 0.0034837136387388954*tmp14*tmp39*tmp175*tmp58*(tmp176*tmp177*tmp162 + (tmp178*tmp147*tmp179*tmp162*tmp79*tmp180)/2.)); -J(1+_OFF,3+_OFF) = -2*tmp148*tmp1 - tmp150*(0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp117*tmp184*tmp76 + 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp91*tmp101*tmp184*tmp76*tmp79 - 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp91*tmp101*tmp185*tmp119*tmp102 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp204*tmp91*tmp76*tmp102 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp166*tmp101*tmp76*tmp102 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp107*tmp58*tmp117*tmp185*tmp119*tmp78 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp195*tmp76*tmp78 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp105*tmp58*tmp117*tmp76*tmp78*tmp188 + 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp91*tmp76*tmp78*tmp238*tmp135 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp91*tmp184*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp91*tmp185*tmp119*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp166*tmp76*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp82*tmp58*tmp91*tmp101*tmp76*tmp102*tmp135*tmp191 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp91*tmp76*tmp78*tmp134*tmp242 + 0.0034837136387388954*tmp14*tmp39*tmp175*tmp58*(tmp176*tmp177*tmp184 + (tmp178*tmp147*tmp179*tmp184*tmp79*tmp180)/2.)); -J(1+_OFF,4+_OFF) = tmp211 - tmp150*(0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp117*tmp199*tmp76 + 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp91*tmp101*tmp199*tmp76*tmp79 - 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp91*tmp101*tmp200*tmp119*tmp102 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp62*tmp91*tmp76*tmp102 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp67*tmp101*tmp76*tmp102 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp107*tmp58*tmp117*tmp200*tmp119*tmp78 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp204*tmp76*tmp78 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp105*tmp58*tmp117*tmp76*tmp78*tmp207 + 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp91*tmp76*tmp78*tmp245*tmp135 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp91*tmp199*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp91*tmp200*tmp119*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp67*tmp76*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp82*tmp58*tmp91*tmp101*tmp76*tmp102*tmp135*tmp210 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp91*tmp76*tmp78*tmp134*tmp249 + 0.0034837136387388954*tmp14*tmp39*tmp175*tmp58*(tmp176*tmp177*tmp199 + (tmp178*tmp147*tmp179*tmp199*tmp79*tmp180)/2.)); -J(2+_OFF,1+_OFF) = tmp211 - tmp150*(0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp223*tmp74*tmp79 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp67*tmp102 + 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp78*tmp214*tmp135 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp74*tmp134 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp82*tmp58*tmp78*tmp146 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp223*tmp102*tmp227); -J(2+_OFF,2+_OFF) = tmp250 - tmp150*(0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp223*tmp162*tmp79 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp72*tmp102 + 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp78*tmp230*tmp135 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp162*tmp134 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp82*tmp58*tmp78*tmp174 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp223*tmp102*tmp234); -J(2+_OFF,3+_OFF) = tmp235 - tmp150*(0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp223*tmp184*tmp79 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp158*tmp102 + 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp78*tmp238*tmp135 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp184*tmp134 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp82*tmp58*tmp78*tmp191 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp223*tmp102*tmp242); -J(2+_OFF,4+_OFF) = 2*tmp148*tmp0 - tmp150*(0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp223*tmp199*tmp79 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp195*tmp102 + 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp78*tmp245*tmp135 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp199*tmp134 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp82*tmp58*tmp78*tmp210 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp223*tmp102*tmp249); -J(3+_OFF,1+_OFF) = tmp250 - tmp150*(0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp91*tmp74*tmp76 + 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp101*tmp259*tmp74*tmp76*tmp79 - 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp101*tmp259*tmp118*tmp119*tmp102 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp72*tmp101*tmp76*tmp102 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp154*tmp259*tmp76*tmp102 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp107*tmp58*tmp91*tmp118*tmp119*tmp78 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp62*tmp76*tmp78 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp105*tmp58*tmp91*tmp76*tmp78*tmp142 + 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp259*tmp76*tmp78*tmp214*tmp135 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp259*tmp74*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp259*tmp118*tmp119*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp72*tmp76*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp82*tmp58*tmp101*tmp259*tmp76*tmp102*tmp135*tmp146 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp259*tmp76*tmp78*tmp134*tmp227); -J(3+_OFF,2+_OFF) = -2*tmp148*tmp2 - tmp150*(0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp91*tmp162*tmp76 + 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp101*tmp259*tmp162*tmp76*tmp79 - 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp101*tmp259*tmp167*tmp119*tmp102 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp154*tmp101*tmp76*tmp102 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp166*tmp259*tmp76*tmp102 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp107*tmp58*tmp91*tmp167*tmp119*tmp78 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp158*tmp76*tmp78 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp105*tmp58*tmp91*tmp76*tmp78*tmp171 + 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp259*tmp76*tmp78*tmp230*tmp135 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp259*tmp162*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp259*tmp167*tmp119*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp154*tmp76*tmp78*tmp134 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp82*tmp58*tmp101*tmp259*tmp76*tmp102*tmp135*tmp174 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp259*tmp76*tmp78*tmp134*tmp234); -J(3+_OFF,3+_OFF) = tmp260 - tmp150*(0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp91*tmp184*tmp76 + 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp101*tmp259*tmp184*tmp76*tmp79 - 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp101*tmp259*tmp185*tmp119*tmp102 + tmp261 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp204*tmp259*tmp76*tmp102 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp107*tmp58*tmp91*tmp185*tmp119*tmp78 + tmp262 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp105*tmp58*tmp91*tmp76*tmp78*tmp188 + 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp259*tmp76*tmp78*tmp238*tmp135 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp259*tmp184*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp259*tmp185*tmp119*tmp78*tmp134 + tmp263 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp82*tmp58*tmp101*tmp259*tmp76*tmp102*tmp135*tmp191 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp259*tmp76*tmp78*tmp134*tmp242); -J(3+_OFF,4+_OFF) = tmp235 - tmp150*(0.0017418568193694477*tmp14*tmp39*tmp52*tmp107*tmp58*tmp91*tmp199*tmp76 + 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp101*tmp259*tmp199*tmp76*tmp79 - 0.0008709284096847238*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp101*tmp259*tmp200*tmp119*tmp102 + tmp264 + 0.0017418568193694477*tmp14*tmp39*tmp81*tmp52*tmp82*tmp58*tmp62*tmp259*tmp76*tmp102 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp107*tmp58*tmp91*tmp200*tmp119*tmp78 + tmp265 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp105*tmp58*tmp91*tmp76*tmp78*tmp207 + 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp259*tmp76*tmp78*tmp245*tmp135 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp131*tmp58*tmp259*tmp199*tmp76*tmp134 - 0.0008709284096847238*tmp14*tmp39*tmp52*tmp131*tmp58*tmp259*tmp200*tmp119*tmp78*tmp134 + tmp266 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp82*tmp58*tmp101*tmp259*tmp76*tmp102*tmp135*tmp210 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp259*tmp76*tmp78*tmp134*tmp249); -J(4+_OFF,1+_OFF) = -(tmp297*tmp288*tmp330) - tmp307*tmp288*tmp336 - tmp317*tmp288*tmp342; -J(4+_OFF,2+_OFF) = -(tmp297*tmp288*tmp349) - tmp307*tmp288*tmp358 - tmp317*tmp288*tmp367; -J(4+_OFF,3+_OFF) = -(tmp297*tmp288*tmp374) - tmp307*tmp288*tmp380 - tmp317*tmp288*tmp386; -J(4+_OFF,4+_OFF) = -(tmp297*tmp288*tmp393) - tmp307*tmp288*tmp399 - tmp317*tmp288*tmp405; -J(5+_OFF,1+_OFF) = -(tmp307*tmp288*tmp330) - tmp352*tmp288*tmp336 - tmp361*tmp288*tmp342; -J(5+_OFF,2+_OFF) = -(tmp307*tmp288*tmp349) - tmp352*tmp288*tmp358 - tmp361*tmp288*tmp367; -J(5+_OFF,3+_OFF) = -(tmp307*tmp288*tmp374) - tmp352*tmp288*tmp380 - tmp361*tmp288*tmp386; -J(5+_OFF,4+_OFF) = -(tmp307*tmp288*tmp393) - tmp352*tmp288*tmp399 - tmp361*tmp288*tmp405; -J(6+_OFF,1+_OFF) = -(tmp317*tmp288*tmp330) - tmp361*tmp288*tmp336 - tmp408*tmp288*tmp342; -J(6+_OFF,2+_OFF) = -(tmp317*tmp288*tmp349) - tmp361*tmp288*tmp358 - tmp408*tmp288*tmp367; -J(6+_OFF,3+_OFF) = -(tmp317*tmp288*tmp374) - tmp361*tmp288*tmp380 - tmp408*tmp288*tmp386; -J(6+_OFF,4+_OFF) = -(tmp317*tmp288*tmp393) - tmp361*tmp288*tmp399 - tmp408*tmp288*tmp405; +double tmp318 = mPitch(1+_OFF); +double tmp319 = -tmp318; +double tmp320 = -(tmp114*tmp300); +double tmp321 = (tmp299*tmp301*tmp85*tmp302)/2.; +double tmp322 = mPitch(2+_OFF); +double tmp323 = z(3+_OFF); +double tmp324 = -(tmp322*tmp323); +double tmp325 = tmp319 + tmp320 + tmp321 + tmp324; +double tmp326 = -(tmp277*tmp279); +double tmp327 = tmp280*tmp281; +double tmp328 = tmp326 + tmp327; +double tmp329 = -(tmp92*tmp303); +double tmp330 = (tmp284*tmp304*tmp85*tmp289)/2.; +double tmp331 = mYaw(1+_OFF); +double tmp332 = z(4+_OFF); +double tmp333 = tmp331*tmp332; +double tmp334 = tmp329 + tmp330 + tmp333; +double tmp335 = tmp285*tmp150*tmp161; +double tmp336 = -(tmp284*tmp286*tmp81*tmp158*tmp287)/4.; +double tmp337 = (tmp284*tmp288*tmp81*tmp158*tmp289)/4.; +double tmp338 = tmp335 + tmp336 + tmp337; +double tmp339 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp84*tmp338; +double tmp340 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp81*tmp314; +double tmp341 = tmp339 + tmp340; +double tmp342 = -(tmp300*tmp157); +double tmp343 = -(tmp299*tmp301*tmp81*tmp158*tmp302)/4.; +double tmp344 = tmp342 + tmp343; +double tmp345 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp84*tmp344; +double tmp346 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp81*tmp325; +double tmp347 = tmp345 + tmp346; +double tmp348 = -(tmp303*tmp150*tmp161); +double tmp349 = -(tmp284*tmp304*tmp81*tmp158*tmp289)/4.; +double tmp350 = tmp348 + tmp349; +double tmp351 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp84*tmp350; +double tmp352 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp81*tmp334; +double tmp353 = tmp351 + tmp352; +double tmp354 = tmp285*tmp150*tmp182; +double tmp355 = -(tmp284*tmp286*tmp173*tmp158*tmp287)/4.; +double tmp356 = (tmp284*tmp288*tmp173*tmp158*tmp289)/4.; +double tmp357 = tmp354 + tmp355 + tmp356; +double tmp358 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp84*tmp357; +double tmp359 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp173*tmp314; +double tmp360 = tmp358 + tmp359; +double tmp361 = tmp282*tmp278; +double tmp362 = -tmp291; +double tmp363 = tmp361 + tmp362; +double tmp364 = -(tmp300*tmp179); +double tmp365 = -(tmp299*tmp301*tmp173*tmp158*tmp302)/4.; +double tmp366 = tmp364 + tmp365; +double tmp367 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp84*tmp366; +double tmp368 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp173*tmp325; +double tmp369 = tmp367 + tmp368; +double tmp370 = tmp279*tmp280; +double tmp371 = -(tmp282*tmp281); +double tmp372 = tmp370 + tmp371; +double tmp373 = -(tmp303*tmp150*tmp182); +double tmp374 = -(tmp284*tmp304*tmp173*tmp158*tmp289)/4.; +double tmp375 = tmp373 + tmp374; +double tmp376 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp84*tmp375; +double tmp377 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp173*tmp334; +double tmp378 = tmp376 + tmp377; +double tmp379 = tmp285*tmp150*tmp208; +double tmp380 = -(tmp284*tmp286*tmp192*tmp158*tmp287)/4.; +double tmp381 = (tmp284*tmp288*tmp192*tmp158*tmp289)/4.; +double tmp382 = tmp379 + tmp380 + tmp381; +double tmp383 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp84*tmp382; +double tmp384 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp192*tmp314; +double tmp385 = tmp383 + tmp384; +double tmp386 = -(tmp300*tmp205); +double tmp387 = -(tmp299*tmp301*tmp192*tmp158*tmp302)/4.; +double tmp388 = tmp386 + tmp387; +double tmp389 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp84*tmp388; +double tmp390 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp192*tmp325; +double tmp391 = tmp389 + tmp390; +double tmp392 = -(tmp303*tmp150*tmp208); +double tmp393 = -(tmp284*tmp304*tmp192*tmp158*tmp289)/4.; +double tmp394 = tmp392 + tmp393; +double tmp395 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp84*tmp394; +double tmp396 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp192*tmp334; +double tmp397 = tmp395 + tmp396; +double tmp398 = tmp285*tmp150*tmp220; +double tmp399 = -(tmp284*tmp286*tmp212*tmp158*tmp287)/4.; +double tmp400 = (tmp284*tmp288*tmp212*tmp158*tmp289)/4.; +double tmp401 = tmp398 + tmp399 + tmp400; +double tmp402 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp84*tmp401; +double tmp403 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp212*tmp314; +double tmp404 = tmp402 + tmp403; +double tmp405 = -(tmp300*tmp217); +double tmp406 = -(tmp299*tmp301*tmp212*tmp158*tmp302)/4.; +double tmp407 = tmp405 + tmp406; +double tmp408 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp84*tmp407; +double tmp409 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp212*tmp325; +double tmp410 = tmp408 + tmp409; +double tmp411 = -(tmp303*tmp150*tmp220); +double tmp412 = -(tmp284*tmp304*tmp212*tmp158*tmp289)/4.; +double tmp413 = tmp411 + tmp412; +double tmp414 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp84*tmp413; +double tmp415 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp212*tmp334; +double tmp416 = tmp414 + tmp415; +double tmp417 = tmp282*tmp277; +double tmp418 = -tmp293; +double tmp419 = tmp417 + tmp418; +J(1+_OFF,1+_OFF) = tmp276 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp65*tmp133*tmp81 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp65*tmp81*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp123*tmp124*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp74*tmp102*tmp65*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp69*tmp111*tmp65*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp79*tmp65*tmp84 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp123*tmp124*tmp133*tmp84 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp65*tmp133*tmp157*tmp84 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp102*tmp65*tmp84*tmp224*tmp150 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp102*tmp65*tmp81*tmp149 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp102*tmp123*tmp124*tmp84*tmp149 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp69*tmp65*tmp84*tmp149 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp102*tmp111*tmp65*tmp112*tmp150*tmp161 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp102*tmp65*tmp84*tmp149*tmp237 + 0.003480682213713888*tmp14*tmp40*tmp183*tmp62*(tmp184*tmp185*tmp81 + (tmp186*tmp162*tmp187*tmp81*tmp85*tmp188)/2.)); +J(1+_OFF,2+_OFF) = tmp245 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp65*tmp133*tmp173 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp65*tmp173*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp175*tmp124*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp79*tmp102*tmp65*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp169*tmp111*tmp65*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp154*tmp65*tmp84 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp175*tmp124*tmp133*tmp84 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp65*tmp133*tmp179*tmp84 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp102*tmp65*tmp84*tmp240*tmp150 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp102*tmp65*tmp173*tmp149 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp102*tmp175*tmp124*tmp84*tmp149 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp169*tmp65*tmp84*tmp149 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp102*tmp111*tmp65*tmp112*tmp150*tmp182 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp102*tmp65*tmp84*tmp149*tmp244 + 0.003480682213713888*tmp14*tmp40*tmp183*tmp62*(tmp184*tmp185*tmp173 + (tmp186*tmp162*tmp187*tmp173*tmp85*tmp188)/2.)); +J(1+_OFF,3+_OFF) = -2*tmp163*tmp1 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp65*tmp133*tmp192 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp65*tmp192*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp198*tmp124*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp169*tmp102*tmp65*tmp112 + tmp261 + tmp271 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp198*tmp124*tmp133*tmp84 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp65*tmp133*tmp205*tmp84 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp102*tmp65*tmp84*tmp248*tmp150 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp102*tmp65*tmp192*tmp149 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp102*tmp198*tmp124*tmp84*tmp149 + tmp272 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp102*tmp111*tmp65*tmp112*tmp150*tmp208 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp102*tmp65*tmp84*tmp149*tmp252 + 0.003480682213713888*tmp14*tmp40*tmp183*tmp62*(tmp184*tmp185*tmp192 + (tmp186*tmp162*tmp187*tmp192*tmp85*tmp188)/2.)); +J(1+_OFF,4+_OFF) = tmp221 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp65*tmp133*tmp212 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp65*tmp212*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp214*tmp124*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp196*tmp102*tmp65*tmp112 + tmp273 + tmp274 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp214*tmp124*tmp133*tmp84 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp65*tmp133*tmp217*tmp84 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp102*tmp65*tmp84*tmp255*tmp150 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp102*tmp65*tmp212*tmp149 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp102*tmp214*tmp124*tmp84*tmp149 + tmp275 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp102*tmp111*tmp65*tmp112*tmp150*tmp220 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp102*tmp65*tmp84*tmp149*tmp259 + 0.003480682213713888*tmp14*tmp40*tmp183*tmp62*(tmp184*tmp185*tmp212 + (tmp186*tmp162*tmp187*tmp212*tmp85*tmp188)/2.)); +J(2+_OFF,1+_OFF) = tmp221 - tmp165*(0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp233*tmp81*tmp85 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp154*tmp112 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp84*tmp224*tmp150 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp81*tmp149 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp84*tmp161 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp233*tmp112*tmp237); +J(2+_OFF,2+_OFF) = tmp260 - tmp165*(0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp233*tmp173*tmp85 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp121*tmp112 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp84*tmp240*tmp150 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp173*tmp149 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp84*tmp182 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp233*tmp112*tmp244); +J(2+_OFF,3+_OFF) = tmp245 - tmp165*(0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp233*tmp192*tmp85 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp202*tmp112 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp84*tmp248*tmp150 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp192*tmp149 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp84*tmp208 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp233*tmp112*tmp252); +J(2+_OFF,4+_OFF) = 2*tmp163*tmp0 - tmp165*(0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp233*tmp212*tmp85 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp69*tmp112 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp84*tmp255*tmp150 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp212*tmp149 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp84*tmp220 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp233*tmp112*tmp259); +J(3+_OFF,1+_OFF) = tmp260 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp65*tmp81 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp65*tmp270*tmp81*tmp85 + tmp261 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp123*tmp124*tmp270*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp74*tmp65*tmp270*tmp112 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp123*tmp124*tmp84 + tmp271 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp102*tmp65*tmp157*tmp84 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp65*tmp270*tmp84*tmp224*tmp150 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp65*tmp270*tmp81*tmp149 + tmp272 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp123*tmp124*tmp270*tmp84*tmp149 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp111*tmp65*tmp270*tmp112*tmp150*tmp161 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp65*tmp270*tmp84*tmp149*tmp237); +J(3+_OFF,2+_OFF) = -2*tmp163*tmp2 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp65*tmp173 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp65*tmp270*tmp173*tmp85 + tmp273 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp175*tmp124*tmp270*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp79*tmp65*tmp270*tmp112 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp175*tmp124*tmp84 + tmp274 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp102*tmp65*tmp179*tmp84 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp65*tmp270*tmp84*tmp240*tmp150 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp65*tmp270*tmp173*tmp149 + tmp275 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp175*tmp124*tmp270*tmp84*tmp149 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp111*tmp65*tmp270*tmp112*tmp150*tmp182 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp65*tmp270*tmp84*tmp149*tmp244); +J(3+_OFF,3+_OFF) = tmp276 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp65*tmp192 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp65*tmp270*tmp192*tmp85 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp196*tmp111*tmp65*tmp112 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp198*tmp124*tmp270*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp169*tmp65*tmp270*tmp112 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp198*tmp124*tmp84 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp121*tmp65*tmp84 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp102*tmp65*tmp205*tmp84 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp65*tmp270*tmp84*tmp248*tmp150 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp65*tmp270*tmp192*tmp149 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp196*tmp65*tmp84*tmp149 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp198*tmp124*tmp270*tmp84*tmp149 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp111*tmp65*tmp270*tmp112*tmp150*tmp208 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp65*tmp270*tmp84*tmp149*tmp252); +J(3+_OFF,4+_OFF) = tmp245 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp65*tmp212 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp65*tmp270*tmp212*tmp85 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp202*tmp111*tmp65*tmp112 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp214*tmp124*tmp270*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp196*tmp65*tmp270*tmp112 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp214*tmp124*tmp84 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp74*tmp65*tmp84 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp102*tmp65*tmp217*tmp84 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp65*tmp270*tmp84*tmp255*tmp150 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp65*tmp270*tmp212*tmp149 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp202*tmp65*tmp84*tmp149 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp214*tmp124*tmp270*tmp84*tmp149 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp111*tmp65*tmp270*tmp112*tmp150*tmp220 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp65*tmp270*tmp84*tmp149*tmp259); +J(4+_OFF,1+_OFF) = -(tmp307*tmp298*tmp341) - tmp317*tmp298*tmp347 - tmp328*tmp298*tmp353; +J(4+_OFF,2+_OFF) = -(tmp307*tmp298*tmp360) - tmp317*tmp298*tmp369 - tmp328*tmp298*tmp378; +J(4+_OFF,3+_OFF) = -(tmp307*tmp298*tmp385) - tmp317*tmp298*tmp391 - tmp328*tmp298*tmp397; +J(4+_OFF,4+_OFF) = -(tmp307*tmp298*tmp404) - tmp317*tmp298*tmp410 - tmp328*tmp298*tmp416; +J(5+_OFF,1+_OFF) = -(tmp317*tmp298*tmp341) - tmp363*tmp298*tmp347 - tmp372*tmp298*tmp353; +J(5+_OFF,2+_OFF) = -(tmp317*tmp298*tmp360) - tmp363*tmp298*tmp369 - tmp372*tmp298*tmp378; +J(5+_OFF,3+_OFF) = -(tmp317*tmp298*tmp385) - tmp363*tmp298*tmp391 - tmp372*tmp298*tmp397; +J(5+_OFF,4+_OFF) = -(tmp317*tmp298*tmp404) - tmp363*tmp298*tmp410 - tmp372*tmp298*tmp416; +J(6+_OFF,1+_OFF) = -(tmp328*tmp298*tmp341) - tmp372*tmp298*tmp347 - tmp419*tmp298*tmp353; +J(6+_OFF,2+_OFF) = -(tmp328*tmp298*tmp360) - tmp372*tmp298*tmp369 - tmp419*tmp298*tmp378; +J(6+_OFF,3+_OFF) = -(tmp328*tmp298*tmp385) - tmp372*tmp298*tmp391 - tmp419*tmp298*tmp397; +J(6+_OFF,4+_OFF) = -(tmp328*tmp298*tmp404) - tmp372*tmp298*tmp410 - tmp419*tmp298*tmp416; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrV.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrV.cppready index 3b53c6f..7af3c45 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrV.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrV.cppready @@ -25,283 +25,289 @@ double tmp23 = tmp8 + tmp9 + tmp11 + tmp22; double tmp24 = -(tmp4*tmp23); double tmp25 = x(8+_OFF); double tmp26 = tmp18 + tmp21 + tmp24 + tmp25; -double tmp27 = x(10+_OFF); -double tmp28 = tmp0*tmp1; -double tmp29 = tmp28 + tmp5; -double tmp30 = -2*tmp4*tmp29; -double tmp31 = -(tmp0*tmp2); -double tmp32 = tmp1*tmp3; -double tmp33 = tmp31 + tmp32; -double tmp34 = -2*tmp6*tmp33; -double tmp35 = -tmp9; -double tmp36 = tmp8 + tmp35 + tmp11 + tmp12; -double tmp37 = -(tmp7*tmp36); -double tmp38 = tmp30 + tmp34 + tmp37 + tmp27; -double tmp39 = airDensity(3+_OFF); -double tmp40 = std::pow(tmp26,2); -double tmp41 = -(tmp0*tmp3); -double tmp42 = tmp15 + tmp41; -double tmp43 = -2*tmp4*tmp42; +double tmp27 = tmp0*tmp1; +double tmp28 = tmp27 + tmp5; +double tmp29 = 2*tmp4*tmp28; +double tmp30 = -(tmp0*tmp2); +double tmp31 = tmp1*tmp3; +double tmp32 = tmp30 + tmp31; +double tmp33 = 2*tmp6*tmp32; +double tmp34 = -tmp9; +double tmp35 = tmp8 + tmp34 + tmp11 + tmp12; +double tmp36 = tmp7*tmp35; +double tmp37 = x(10+_OFF); +double tmp38 = -tmp37; +double tmp39 = tmp29 + tmp33 + tmp36 + tmp38; +double tmp40 = airDensity(3+_OFF); +double tmp41 = std::pow(tmp26,2); +double tmp42 = -(tmp0*tmp3); +double tmp43 = tmp15 + tmp42; double tmp44 = tmp0*tmp2; -double tmp45 = tmp44 + tmp32; -double tmp46 = -2*tmp7*tmp45; -double tmp47 = tmp8 + tmp35 + tmp10 + tmp22; -double tmp48 = -(tmp6*tmp47); -double tmp49 = x(9+_OFF); -double tmp50 = tmp43 + tmp46 + tmp48 + tmp49; -double tmp51 = std::pow(tmp38,2); -double tmp52 = cp(2+_OFF); -double tmp53 = airDensity(1+_OFF); -double tmp54 = x(3+_OFF); -double tmp55 = tmp53 + tmp54; -double tmp56 = -0.006500000000000001*tmp14*tmp55; -double tmp57 = 1 + tmp56; -double tmp58 = std::pow(tmp57,4.2561); -double tmp59 = tmp40 + tmp51; -double tmp60 = 1/std::sqrt(tmp59); -double tmp61 = std::pow(tmp50,2); -double tmp62 = tmp40 + tmp61 + tmp51; -double tmp63 = 1/std::sqrt(tmp62); -double tmp64 = tmp50*tmp63; -double tmp65 = std::asin(tmp64); -double tmp66 = fLat(1+_OFF); -double tmp67 = -(tmp4*tmp8); -double tmp68 = -(tmp4*tmp9); -double tmp69 = 2*tmp7*tmp0*tmp1; -double tmp70 = -2*tmp6*tmp2*tmp1; -double tmp71 = tmp4*tmp10; -double tmp72 = -2*tmp6*tmp0*tmp3; -double tmp73 = -2*tmp7*tmp2*tmp3; -double tmp74 = tmp4*tmp12; -double tmp75 = tmp67 + tmp68 + tmp69 + tmp70 + tmp71 + tmp72 + tmp73 + tmp74 + tmp25; -double tmp76 = tmp6*tmp8; -double tmp77 = 2*tmp7*tmp0*tmp2; -double tmp78 = -(tmp6*tmp9); -double tmp79 = 2*tmp4*tmp2*tmp1; -double tmp80 = tmp6*tmp10; -double tmp81 = -2*tmp4*tmp0*tmp3; -double tmp82 = 2*tmp7*tmp1*tmp3; -double tmp83 = -(tmp6*tmp12); -double tmp84 = -tmp49; -double tmp85 = tmp76 + tmp77 + tmp78 + tmp79 + tmp80 + tmp81 + tmp82 + tmp83 + tmp84; -double tmp86 = std::sqrt(tmp62); -double tmp87 = fLift(1+_OFF); -double tmp88 = std::atan2(tmp38,tmp26); -double tmp89 = fLift(2+_OFF); -double tmp90 = tmp88*tmp89; -double tmp91 = tmp87 + tmp90; -double tmp92 = tmp7*tmp8; -double tmp93 = -2*tmp6*tmp0*tmp2; -double tmp94 = -(tmp7*tmp9); -double tmp95 = 2*tmp4*tmp0*tmp1; -double tmp96 = -(tmp7*tmp10); -double tmp97 = 2*tmp4*tmp2*tmp3; -double tmp98 = 2*tmp6*tmp1*tmp3; -double tmp99 = tmp7*tmp12; -double tmp100 = -tmp27; -double tmp101 = tmp92 + tmp93 + tmp94 + tmp95 + tmp96 + tmp97 + tmp98 + tmp99 + tmp100; -double tmp102 = std::pow(tmp59,-1.5); -double tmp103 = 1/tmp62; -double tmp104 = -(tmp61*tmp103); -double tmp105 = 1 + tmp104; -double tmp106 = 1/std::sqrt(tmp105); -double tmp107 = fDrag(1+_OFF); -double tmp108 = fDrag(2+_OFF); -double tmp109 = tmp88*tmp108; -double tmp110 = std::pow(tmp88,2); -double tmp111 = fDrag(3+_OFF); -double tmp112 = tmp110*tmp111; -double tmp113 = std::pow(tmp65,2); -double tmp114 = fDrag(4+_OFF); -double tmp115 = tmp113*tmp114; -double tmp116 = tmp107 + tmp109 + tmp112 + tmp115; -double tmp117 = std::sqrt(tmp105); -double tmp118 = 2*tmp4*tmp29; -double tmp119 = 2*tmp6*tmp33; -double tmp120 = tmp7*tmp36; -double tmp121 = tmp118 + tmp119 + tmp120 + tmp100; -double tmp122 = 1/tmp59; -double tmp123 = cp(1+_OFF); -double tmp124 = cp(4+_OFF); -double tmp125 = 1/tmp124; -double tmp126 = std::pow(tmp62,-1.5); -double tmp127 = -(tmp61*tmp126); -double tmp128 = tmp127 + tmp63; -double tmp129 = std::pow(tmp123,2); -double tmp130 = std::pow(M_PI,-2); -double tmp131 = fThrust(3+_OFF); -double tmp132 = 1/M_PI; -double tmp133 = fThrust(2+_OFF); -double tmp134 = z(1+_OFF); -double tmp135 = -(tmp6*tmp8); -double tmp136 = -2*tmp7*tmp0*tmp2; -double tmp137 = tmp6*tmp9; -double tmp138 = -2*tmp4*tmp2*tmp1; -double tmp139 = -(tmp6*tmp10); -double tmp140 = 2*tmp4*tmp0*tmp3; -double tmp141 = -2*tmp7*tmp1*tmp3; -double tmp142 = tmp6*tmp12; -double tmp143 = tmp135 + tmp136 + tmp137 + tmp138 + tmp139 + tmp140 + tmp141 + tmp142 + tmp49; -double tmp144 = tmp108*tmp121*tmp122; -double tmp145 = 2*tmp88*tmp111*tmp121*tmp122; -double tmp146 = -2*tmp65*tmp114*tmp26*tmp50*tmp126*tmp106; -double tmp147 = tmp144 + tmp145 + tmp146; -double tmp148 = std::pow(tmp50,3); -double tmp149 = std::pow(tmp62,-2); -double tmp150 = 2*tmp148*tmp149; -double tmp151 = -2*tmp50*tmp103; -double tmp152 = tmp150 + tmp151; -double tmp153 = tmp108*tmp26*tmp122; -double tmp154 = 2*tmp88*tmp111*tmp26*tmp122; -double tmp155 = -2*tmp65*tmp114*tmp50*tmp38*tmp126*tmp106; -double tmp156 = tmp153 + tmp154 + tmp155; -double tmp157 = -(tmp7*tmp8); -double tmp158 = 2*tmp6*tmp0*tmp2; -double tmp159 = tmp7*tmp9; -double tmp160 = -2*tmp4*tmp0*tmp1; -double tmp161 = tmp7*tmp10; -double tmp162 = -2*tmp4*tmp2*tmp3; -double tmp163 = -2*tmp6*tmp1*tmp3; -double tmp164 = -(tmp7*tmp12); -double tmp165 = tmp157 + tmp158 + tmp159 + tmp160 + tmp161 + tmp162 + tmp163 + tmp164 + tmp27; -double tmp166 = 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp85*tmp60*tmp86; -double tmp167 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp60*tmp62*tmp117; -double tmp168 = ibd(2+_OFF); -double tmp169 = ibd(3+_OFF); -double tmp170 = ibod(1+_OFF); -double tmp171 = ibod(2+_OFF); -double tmp172 = ibod(3+_OFF); -double tmp173 = ibd(1+_OFF); -double tmp174 = std::pow(tmp172,2); -double tmp175 = cp(3+_OFF); -double tmp176 = mRoll(2+_OFF); -double tmp177 = mRoll(3+_OFF); -double tmp178 = x(11+_OFF); -double tmp179 = mRoll(4+_OFF); -double tmp180 = x(13+_OFF); -double tmp181 = tmp173*tmp168*tmp169; -double tmp182 = std::pow(tmp170,2); -double tmp183 = -(tmp168*tmp182); -double tmp184 = std::pow(tmp171,2); -double tmp185 = -(tmp169*tmp184); -double tmp186 = 2*tmp170*tmp171*tmp172; -double tmp187 = -(tmp173*tmp174); -double tmp188 = tmp181 + tmp183 + tmp185 + tmp186 + tmp187; -double tmp189 = 1/tmp188; -double tmp190 = cBar(1+_OFF); -double tmp191 = mPitch(4+_OFF); -double tmp192 = mPitch(3+_OFF); -double tmp193 = x(12+_OFF); -double tmp194 = mYaw(3+_OFF); -double tmp195 = mYaw(2+_OFF); -double tmp196 = tmp168*tmp169; -double tmp197 = -tmp174; -double tmp198 = tmp196 + tmp197; -double tmp199 = tmp65*tmp176; -double tmp200 = (tmp175*tmp177*tmp63*tmp178)/2.; -double tmp201 = (tmp175*tmp179*tmp63*tmp180)/2.; -double tmp202 = mRoll(1+_OFF); -double tmp203 = z(2+_OFF); -double tmp204 = tmp202*tmp203; -double tmp205 = tmp199 + tmp200 + tmp201 + tmp204; -double tmp206 = -(tmp169*tmp171); -double tmp207 = tmp170*tmp172; -double tmp208 = tmp206 + tmp207; -double tmp209 = mPitch(1+_OFF); -double tmp210 = tmp88*tmp191; -double tmp211 = (tmp190*tmp192*tmp63*tmp193)/2.; -double tmp212 = mPitch(2+_OFF); -double tmp213 = z(3+_OFF); -double tmp214 = tmp212*tmp213; -double tmp215 = tmp209 + tmp210 + tmp211 + tmp214; -double tmp216 = -(tmp168*tmp170); -double tmp217 = tmp171*tmp172; -double tmp218 = tmp216 + tmp217; -double tmp219 = tmp65*tmp194; -double tmp220 = (tmp175*tmp195*tmp63*tmp180)/2.; -double tmp221 = mYaw(1+_OFF); -double tmp222 = z(4+_OFF); -double tmp223 = tmp221*tmp222; -double tmp224 = tmp219 + tmp220 + tmp223; -double tmp225 = -(tmp176*tmp26*tmp50*tmp126*tmp106); -double tmp226 = -(tmp175*tmp177*tmp26*tmp126*tmp178)/2.; -double tmp227 = -(tmp175*tmp179*tmp26*tmp126*tmp180)/2.; -double tmp228 = tmp225 + tmp226 + tmp227; -double tmp229 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp175*tmp58*tmp62*tmp228; -double tmp230 = 0.0034837136387388954*tmp14*tmp39*tmp52*tmp175*tmp58*tmp26*tmp205; -double tmp231 = tmp229 + tmp230; -double tmp232 = tmp191*tmp121*tmp122; -double tmp233 = -(tmp190*tmp192*tmp26*tmp126*tmp193)/2.; -double tmp234 = tmp232 + tmp233; -double tmp235 = 0.0017418568193694477*tmp14*tmp39*tmp190*tmp52*tmp58*tmp62*tmp234; -double tmp236 = 0.0034837136387388954*tmp14*tmp39*tmp190*tmp52*tmp58*tmp26*tmp215; +double tmp45 = tmp44 + tmp31; +double tmp46 = tmp8 + tmp34 + tmp10 + tmp22; +double tmp47 = x(9+_OFF); +double tmp48 = cp(2+_OFF); +double tmp49 = airDensity(1+_OFF); +double tmp50 = x(3+_OFF); +double tmp51 = tmp49 + tmp50; +double tmp52 = -0.006500000000000001*tmp14*tmp51; +double tmp53 = 1 + tmp52; +double tmp54 = std::pow(tmp53,4.2561); +double tmp55 = std::pow(tmp39,2); +double tmp56 = tmp41 + tmp55; +double tmp57 = 1/std::sqrt(tmp56); +double tmp58 = -2*tmp4*tmp43; +double tmp59 = -2*tmp7*tmp45; +double tmp60 = -(tmp6*tmp46); +double tmp61 = tmp58 + tmp59 + tmp60 + tmp47; +double tmp62 = std::pow(tmp61,2); +double tmp63 = -2*tmp4*tmp28; +double tmp64 = -2*tmp6*tmp32; +double tmp65 = -(tmp7*tmp35); +double tmp66 = tmp63 + tmp64 + tmp65 + tmp37; +double tmp67 = std::pow(tmp66,2); +double tmp68 = tmp41 + tmp62 + tmp67; +double tmp69 = 1/std::sqrt(tmp68); +double tmp70 = 2*tmp4*tmp43; +double tmp71 = 2*tmp7*tmp45; +double tmp72 = tmp6*tmp46; +double tmp73 = -tmp47; +double tmp74 = tmp70 + tmp71 + tmp72 + tmp73; +double tmp75 = tmp74*tmp69; +double tmp76 = std::asin(tmp75); +double tmp77 = fLat(1+_OFF); +double tmp78 = -(tmp4*tmp8); +double tmp79 = -(tmp4*tmp9); +double tmp80 = 2*tmp7*tmp0*tmp1; +double tmp81 = -2*tmp6*tmp2*tmp1; +double tmp82 = tmp4*tmp10; +double tmp83 = -2*tmp6*tmp0*tmp3; +double tmp84 = -2*tmp7*tmp2*tmp3; +double tmp85 = tmp4*tmp12; +double tmp86 = tmp78 + tmp79 + tmp80 + tmp81 + tmp82 + tmp83 + tmp84 + tmp85 + tmp25; +double tmp87 = -(tmp6*tmp8); +double tmp88 = -2*tmp7*tmp0*tmp2; +double tmp89 = tmp6*tmp9; +double tmp90 = -2*tmp4*tmp2*tmp1; +double tmp91 = -(tmp6*tmp10); +double tmp92 = 2*tmp4*tmp0*tmp3; +double tmp93 = -2*tmp7*tmp1*tmp3; +double tmp94 = tmp6*tmp12; +double tmp95 = tmp87 + tmp88 + tmp89 + tmp90 + tmp91 + tmp92 + tmp93 + tmp94 + tmp47; +double tmp96 = std::sqrt(tmp68); +double tmp97 = fLift(1+_OFF); +double tmp98 = std::atan2(tmp39,tmp26); +double tmp99 = fLift(2+_OFF); +double tmp100 = tmp98*tmp99; +double tmp101 = tmp97 + tmp100; +double tmp102 = std::pow(tmp56,-1.5); +double tmp103 = -(tmp7*tmp8); +double tmp104 = 2*tmp6*tmp0*tmp2; +double tmp105 = tmp7*tmp9; +double tmp106 = -2*tmp4*tmp0*tmp1; +double tmp107 = tmp7*tmp10; +double tmp108 = -2*tmp4*tmp2*tmp3; +double tmp109 = -2*tmp6*tmp1*tmp3; +double tmp110 = -(tmp7*tmp12); +double tmp111 = tmp103 + tmp104 + tmp105 + tmp106 + tmp107 + tmp108 + tmp109 + tmp110 + tmp37; +double tmp112 = std::pow(tmp74,2); +double tmp113 = 1/tmp68; +double tmp114 = -(tmp112*tmp113); +double tmp115 = 1 + tmp114; +double tmp116 = 1/std::sqrt(tmp115); +double tmp117 = fDrag(1+_OFF); +double tmp118 = fDrag(2+_OFF); +double tmp119 = tmp98*tmp118; +double tmp120 = std::pow(tmp98,2); +double tmp121 = fDrag(3+_OFF); +double tmp122 = tmp120*tmp121; +double tmp123 = std::pow(tmp76,2); +double tmp124 = fDrag(4+_OFF); +double tmp125 = tmp123*tmp124; +double tmp126 = tmp117 + tmp119 + tmp122 + tmp125; +double tmp127 = std::sqrt(tmp115); +double tmp128 = 1/tmp56; +double tmp129 = cp(1+_OFF); +double tmp130 = cp(4+_OFF); +double tmp131 = 1/tmp130; +double tmp132 = std::pow(tmp68,-1.5); +double tmp133 = -(tmp74*tmp61*tmp132); +double tmp134 = -tmp69; +double tmp135 = tmp133 + tmp134; +double tmp136 = std::pow(tmp129,2); +double tmp137 = std::pow(M_PI,-2); +double tmp138 = fThrust(3+_OFF); +double tmp139 = 1/M_PI; +double tmp140 = fThrust(2+_OFF); +double tmp141 = z(1+_OFF); +double tmp142 = tmp6*tmp8; +double tmp143 = 2*tmp7*tmp0*tmp2; +double tmp144 = -(tmp6*tmp9); +double tmp145 = 2*tmp4*tmp2*tmp1; +double tmp146 = tmp6*tmp10; +double tmp147 = -2*tmp4*tmp0*tmp3; +double tmp148 = 2*tmp7*tmp1*tmp3; +double tmp149 = -(tmp6*tmp12); +double tmp150 = tmp142 + tmp143 + tmp144 + tmp145 + tmp146 + tmp147 + tmp148 + tmp149 + tmp73; +double tmp151 = tmp118*tmp128*tmp66; +double tmp152 = 2*tmp98*tmp121*tmp128*tmp66; +double tmp153 = -2*tmp76*tmp124*tmp26*tmp74*tmp132*tmp116; +double tmp154 = tmp151 + tmp152 + tmp153; +double tmp155 = std::pow(tmp68,-2); +double tmp156 = 2*tmp112*tmp61*tmp155; +double tmp157 = 2*tmp74*tmp113; +double tmp158 = tmp156 + tmp157; +double tmp159 = -(tmp118*tmp26*tmp128); +double tmp160 = -2*tmp98*tmp121*tmp26*tmp128; +double tmp161 = -2*tmp76*tmp124*tmp74*tmp66*tmp132*tmp116; +double tmp162 = tmp159 + tmp160 + tmp161; +double tmp163 = tmp7*tmp8; +double tmp164 = -2*tmp6*tmp0*tmp2; +double tmp165 = -(tmp7*tmp9); +double tmp166 = 2*tmp4*tmp0*tmp1; +double tmp167 = -(tmp7*tmp10); +double tmp168 = 2*tmp4*tmp2*tmp3; +double tmp169 = 2*tmp6*tmp1*tmp3; +double tmp170 = tmp7*tmp12; +double tmp171 = tmp163 + tmp164 + tmp165 + tmp166 + tmp167 + tmp168 + tmp169 + tmp170 + tmp38; +double tmp172 = -0.001740341106856944*tmp14*tmp40*tmp48*tmp101*tmp54*tmp57*tmp68; +double tmp173 = ibd(2+_OFF); +double tmp174 = ibd(3+_OFF); +double tmp175 = ibod(1+_OFF); +double tmp176 = ibod(2+_OFF); +double tmp177 = ibod(3+_OFF); +double tmp178 = ibd(1+_OFF); +double tmp179 = std::pow(tmp177,2); +double tmp180 = cp(3+_OFF); +double tmp181 = mRoll(2+_OFF); +double tmp182 = mRoll(3+_OFF); +double tmp183 = x(11+_OFF); +double tmp184 = mRoll(4+_OFF); +double tmp185 = x(13+_OFF); +double tmp186 = tmp178*tmp173*tmp174; +double tmp187 = std::pow(tmp175,2); +double tmp188 = -(tmp173*tmp187); +double tmp189 = std::pow(tmp176,2); +double tmp190 = -(tmp174*tmp189); +double tmp191 = 2*tmp175*tmp176*tmp177; +double tmp192 = -(tmp178*tmp179); +double tmp193 = tmp186 + tmp188 + tmp190 + tmp191 + tmp192; +double tmp194 = 1/tmp193; +double tmp195 = cBar(1+_OFF); +double tmp196 = mPitch(3+_OFF); +double tmp197 = mPitch(4+_OFF); +double tmp198 = x(12+_OFF); +double tmp199 = mYaw(2+_OFF); +double tmp200 = mYaw(3+_OFF); +double tmp201 = tmp173*tmp174; +double tmp202 = -tmp179; +double tmp203 = tmp201 + tmp202; +double tmp204 = tmp76*tmp181; +double tmp205 = (tmp180*tmp182*tmp69*tmp183)/2.; +double tmp206 = -(tmp180*tmp184*tmp69*tmp185)/2.; +double tmp207 = mRoll(1+_OFF); +double tmp208 = z(2+_OFF); +double tmp209 = -(tmp207*tmp208); +double tmp210 = tmp204 + tmp205 + tmp206 + tmp209; +double tmp211 = -(tmp174*tmp176); +double tmp212 = tmp175*tmp177; +double tmp213 = tmp211 + tmp212; +double tmp214 = mPitch(1+_OFF); +double tmp215 = -tmp214; +double tmp216 = -(tmp98*tmp196); +double tmp217 = (tmp195*tmp197*tmp69*tmp198)/2.; +double tmp218 = mPitch(2+_OFF); +double tmp219 = z(3+_OFF); +double tmp220 = -(tmp218*tmp219); +double tmp221 = tmp215 + tmp216 + tmp217 + tmp220; +double tmp222 = -(tmp173*tmp175); +double tmp223 = tmp176*tmp177; +double tmp224 = tmp222 + tmp223; +double tmp225 = -(tmp76*tmp199); +double tmp226 = (tmp180*tmp200*tmp69*tmp185)/2.; +double tmp227 = mYaw(1+_OFF); +double tmp228 = z(4+_OFF); +double tmp229 = tmp227*tmp228; +double tmp230 = tmp225 + tmp226 + tmp229; +double tmp231 = -(tmp181*tmp26*tmp74*tmp132*tmp116); +double tmp232 = -(tmp180*tmp182*tmp26*tmp132*tmp183)/2.; +double tmp233 = (tmp180*tmp184*tmp26*tmp132*tmp185)/2.; +double tmp234 = tmp231 + tmp232 + tmp233; +double tmp235 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp180*tmp54*tmp68*tmp234; +double tmp236 = 0.003480682213713888*tmp14*tmp40*tmp48*tmp180*tmp54*tmp26*tmp210; double tmp237 = tmp235 + tmp236; -double tmp238 = -(tmp194*tmp26*tmp50*tmp126*tmp106); -double tmp239 = -(tmp175*tmp195*tmp26*tmp126*tmp180)/2.; +double tmp238 = -(tmp196*tmp128*tmp66); +double tmp239 = -(tmp195*tmp197*tmp26*tmp132*tmp198)/2.; double tmp240 = tmp238 + tmp239; -double tmp241 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp175*tmp58*tmp62*tmp240; -double tmp242 = 0.0034837136387388954*tmp14*tmp39*tmp52*tmp175*tmp58*tmp26*tmp224; +double tmp241 = 0.001740341106856944*tmp14*tmp40*tmp195*tmp48*tmp54*tmp68*tmp240; +double tmp242 = 0.003480682213713888*tmp14*tmp40*tmp195*tmp48*tmp54*tmp26*tmp221; double tmp243 = tmp241 + tmp242; -double tmp244 = tmp176*tmp106*tmp128; -double tmp245 = -(tmp175*tmp177*tmp50*tmp126*tmp178)/2.; -double tmp246 = -(tmp175*tmp179*tmp50*tmp126*tmp180)/2.; -double tmp247 = tmp244 + tmp245 + tmp246; -double tmp248 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp175*tmp58*tmp62*tmp247; -double tmp249 = 0.0034837136387388954*tmp14*tmp39*tmp52*tmp175*tmp58*tmp50*tmp205; -double tmp250 = tmp248 + tmp249; -double tmp251 = tmp173*tmp169; -double tmp252 = -tmp182; -double tmp253 = tmp251 + tmp252; -double tmp254 = std::pow(tmp190,2); -double tmp255 = -0.0008709284096847238*tmp14*tmp39*tmp254*tmp52*tmp192*tmp58*tmp50*tmp63*tmp193; -double tmp256 = 0.0034837136387388954*tmp14*tmp39*tmp190*tmp52*tmp58*tmp50*tmp215; -double tmp257 = tmp255 + tmp256; -double tmp258 = tmp170*tmp171; -double tmp259 = -(tmp173*tmp172); -double tmp260 = tmp258 + tmp259; -double tmp261 = tmp194*tmp106*tmp128; -double tmp262 = -(tmp175*tmp195*tmp50*tmp126*tmp180)/2.; +double tmp244 = tmp199*tmp26*tmp74*tmp132*tmp116; +double tmp245 = -(tmp180*tmp200*tmp26*tmp132*tmp185)/2.; +double tmp246 = tmp244 + tmp245; +double tmp247 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp180*tmp54*tmp68*tmp246; +double tmp248 = 0.003480682213713888*tmp14*tmp40*tmp48*tmp180*tmp54*tmp26*tmp230; +double tmp249 = tmp247 + tmp248; +double tmp250 = tmp181*tmp116*tmp135; +double tmp251 = -(tmp180*tmp182*tmp61*tmp132*tmp183)/2.; +double tmp252 = (tmp180*tmp184*tmp61*tmp132*tmp185)/2.; +double tmp253 = tmp250 + tmp251 + tmp252; +double tmp254 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp180*tmp54*tmp68*tmp253; +double tmp255 = 0.003480682213713888*tmp14*tmp40*tmp48*tmp180*tmp54*tmp61*tmp210; +double tmp256 = tmp254 + tmp255; +double tmp257 = tmp178*tmp174; +double tmp258 = -tmp187; +double tmp259 = tmp257 + tmp258; +double tmp260 = std::pow(tmp195,2); +double tmp261 = -0.000870170553428472*tmp14*tmp40*tmp260*tmp48*tmp197*tmp54*tmp61*tmp69*tmp198; +double tmp262 = 0.003480682213713888*tmp14*tmp40*tmp195*tmp48*tmp54*tmp61*tmp221; double tmp263 = tmp261 + tmp262; -double tmp264 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp175*tmp58*tmp62*tmp263; -double tmp265 = 0.0034837136387388954*tmp14*tmp39*tmp52*tmp175*tmp58*tmp50*tmp224; +double tmp264 = tmp175*tmp176; +double tmp265 = -(tmp178*tmp177); double tmp266 = tmp264 + tmp265; -double tmp267 = -(tmp176*tmp50*tmp38*tmp126*tmp106); -double tmp268 = -(tmp175*tmp177*tmp38*tmp126*tmp178)/2.; -double tmp269 = -(tmp175*tmp179*tmp38*tmp126*tmp180)/2.; -double tmp270 = tmp267 + tmp268 + tmp269; -double tmp271 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp175*tmp58*tmp62*tmp270; -double tmp272 = 0.0034837136387388954*tmp14*tmp39*tmp52*tmp175*tmp58*tmp38*tmp205; -double tmp273 = tmp271 + tmp272; -double tmp274 = tmp191*tmp26*tmp122; -double tmp275 = -(tmp190*tmp192*tmp38*tmp126*tmp193)/2.; -double tmp276 = tmp274 + tmp275; -double tmp277 = 0.0017418568193694477*tmp14*tmp39*tmp190*tmp52*tmp58*tmp62*tmp276; -double tmp278 = 0.0034837136387388954*tmp14*tmp39*tmp190*tmp52*tmp58*tmp38*tmp215; +double tmp267 = -(tmp199*tmp116*tmp135); +double tmp268 = -(tmp180*tmp200*tmp61*tmp132*tmp185)/2.; +double tmp269 = tmp267 + tmp268; +double tmp270 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp180*tmp54*tmp68*tmp269; +double tmp271 = 0.003480682213713888*tmp14*tmp40*tmp48*tmp180*tmp54*tmp61*tmp230; +double tmp272 = tmp270 + tmp271; +double tmp273 = -(tmp181*tmp74*tmp66*tmp132*tmp116); +double tmp274 = -(tmp180*tmp182*tmp66*tmp132*tmp183)/2.; +double tmp275 = (tmp180*tmp184*tmp66*tmp132*tmp185)/2.; +double tmp276 = tmp273 + tmp274 + tmp275; +double tmp277 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp180*tmp54*tmp68*tmp276; +double tmp278 = 0.003480682213713888*tmp14*tmp40*tmp48*tmp180*tmp54*tmp66*tmp210; double tmp279 = tmp277 + tmp278; -double tmp280 = -(tmp194*tmp50*tmp38*tmp126*tmp106); -double tmp281 = -(tmp175*tmp195*tmp38*tmp126*tmp180)/2.; +double tmp280 = tmp196*tmp26*tmp128; +double tmp281 = -(tmp195*tmp197*tmp66*tmp132*tmp198)/2.; double tmp282 = tmp280 + tmp281; -double tmp283 = 0.0017418568193694477*tmp14*tmp39*tmp52*tmp175*tmp58*tmp62*tmp282; -double tmp284 = 0.0034837136387388954*tmp14*tmp39*tmp52*tmp175*tmp58*tmp38*tmp224; +double tmp283 = 0.001740341106856944*tmp14*tmp40*tmp195*tmp48*tmp54*tmp68*tmp282; +double tmp284 = 0.003480682213713888*tmp14*tmp40*tmp195*tmp48*tmp54*tmp66*tmp221; double tmp285 = tmp283 + tmp284; -double tmp286 = tmp173*tmp168; -double tmp287 = -tmp184; +double tmp286 = tmp199*tmp74*tmp66*tmp132*tmp116; +double tmp287 = -(tmp180*tmp200*tmp66*tmp132*tmp185)/2.; double tmp288 = tmp286 + tmp287; -J(1+_OFF,1+_OFF) = -(tmp125*(0.0034837136387388954*tmp14*tmp39*tmp52*tmp91*tmp58*tmp26*tmp101*tmp60 + 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp75*tmp26*tmp85*tmp60*tmp63 - 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp75*tmp26*tmp85*tmp102*tmp86 + tmp166 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp91*tmp58*tmp26*tmp101*tmp102*tmp62 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp89*tmp58*tmp101*tmp121*tmp102*tmp62 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp66*tmp58*tmp75*tmp26*tmp85*tmp50*tmp60*tmp103*tmp106 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp75*tmp26*tmp61*tmp60*tmp103*tmp106 + 0.0034837136387388954*tmp14*tmp39*tmp52*tmp116*tmp58*tmp75*tmp26*tmp60*tmp117 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp75*tmp26*tmp102*tmp62*tmp117 + tmp167 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp75*tmp60*tmp62*tmp117*tmp147 + 0.0034837136387388954*tmp14*tmp39*tmp129*tmp58*(2*tmp130*tmp131*tmp26 + tmp132*tmp123*tmp133*tmp26*tmp63*tmp134))); -J(1+_OFF,2+_OFF) = -(tmp125*(0.0034837136387388954*tmp14*tmp39*tmp52*tmp91*tmp58*tmp50*tmp101*tmp60 + 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp75*tmp85*tmp50*tmp60*tmp63 - 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp75*tmp60*tmp86 + 0.0008709284096847238*tmp14*tmp39*tmp52*tmp116*tmp58*tmp75*tmp60*tmp62*tmp152*tmp106 + 0.0034837136387388954*tmp14*tmp39*tmp52*tmp116*tmp58*tmp75*tmp50*tmp60*tmp117 + 0.0034837136387388954*tmp14*tmp39*tmp65*tmp52*tmp114*tmp58*tmp75*tmp60*tmp62*tmp128 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp66*tmp58*tmp75*tmp85*tmp60*tmp86*tmp106*tmp128 + 0.0034837136387388954*tmp14*tmp39*tmp129*tmp58*(2*tmp130*tmp131*tmp50 + tmp132*tmp123*tmp133*tmp50*tmp63*tmp134))); -J(1+_OFF,3+_OFF) = -(tmp125*(0.0034837136387388954*tmp14*tmp39*tmp52*tmp91*tmp58*tmp101*tmp38*tmp60 + 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp75*tmp85*tmp38*tmp60*tmp63 - 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp75*tmp85*tmp38*tmp102*tmp86 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp89*tmp58*tmp26*tmp101*tmp102*tmp62 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp91*tmp58*tmp101*tmp38*tmp102*tmp62 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp91*tmp58*tmp60*tmp62 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp66*tmp58*tmp75*tmp85*tmp50*tmp38*tmp60*tmp103*tmp106 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp75*tmp61*tmp38*tmp60*tmp103*tmp106 + 0.0034837136387388954*tmp14*tmp39*tmp52*tmp116*tmp58*tmp75*tmp38*tmp60*tmp117 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp75*tmp38*tmp102*tmp62*tmp117 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp75*tmp60*tmp62*tmp117*tmp156 + 0.0034837136387388954*tmp14*tmp39*tmp129*tmp58*(2*tmp130*tmp131*tmp38 + tmp132*tmp123*tmp133*tmp38*tmp63*tmp134))); -J(2+_OFF,1+_OFF) = -(tmp125*(0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp26*tmp143*tmp63 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp66*tmp58*tmp26*tmp50*tmp63 + 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp26*tmp61*tmp103*tmp106 + 0.0034837136387388954*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp26*tmp117 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp143*tmp86*tmp147)); -J(2+_OFF,2+_OFF) = -(tmp125*(0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp143*tmp50*tmp63 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp86 + 0.0008709284096847238*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp62*tmp152*tmp106 + 0.0034837136387388954*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp50*tmp117 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp66*tmp58*tmp62*tmp128 + 0.0034837136387388954*tmp14*tmp39*tmp65*tmp52*tmp114*tmp58*tmp143*tmp86*tmp106*tmp128)); -J(2+_OFF,3+_OFF) = -(tmp125*(0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp143*tmp38*tmp63 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp66*tmp58*tmp50*tmp38*tmp63 + 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp61*tmp38*tmp103*tmp106 + 0.0034837136387388954*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp38*tmp117 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp143*tmp86*tmp156)); -J(3+_OFF,1+_OFF) = -(tmp125*(0.0034837136387388954*tmp14*tmp39*tmp52*tmp91*tmp58*tmp75*tmp26*tmp60 + 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp26*tmp85*tmp165*tmp60*tmp63 - 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp26*tmp85*tmp165*tmp102*tmp86 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp91*tmp58*tmp75*tmp26*tmp102*tmp62 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp89*tmp58*tmp75*tmp121*tmp102*tmp62 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp91*tmp58*tmp60*tmp62 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp66*tmp58*tmp26*tmp85*tmp50*tmp165*tmp60*tmp103*tmp106 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp26*tmp61*tmp165*tmp60*tmp103*tmp106 + 0.0034837136387388954*tmp14*tmp39*tmp52*tmp116*tmp58*tmp26*tmp165*tmp60*tmp117 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp26*tmp165*tmp102*tmp62*tmp117 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp165*tmp60*tmp62*tmp117*tmp147)); -J(3+_OFF,2+_OFF) = -(tmp125*(0.0034837136387388954*tmp14*tmp39*tmp52*tmp91*tmp58*tmp75*tmp50*tmp60 + 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp85*tmp50*tmp165*tmp60*tmp63 - 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp165*tmp60*tmp86 + 0.0008709284096847238*tmp14*tmp39*tmp52*tmp116*tmp58*tmp165*tmp60*tmp62*tmp152*tmp106 + 0.0034837136387388954*tmp14*tmp39*tmp52*tmp116*tmp58*tmp50*tmp165*tmp60*tmp117 + 0.0034837136387388954*tmp14*tmp39*tmp65*tmp52*tmp114*tmp58*tmp165*tmp60*tmp62*tmp128 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp66*tmp58*tmp85*tmp165*tmp60*tmp86*tmp106*tmp128)); -J(3+_OFF,3+_OFF) = -(tmp125*(0.0034837136387388954*tmp14*tmp39*tmp52*tmp91*tmp58*tmp75*tmp38*tmp60 + 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp85*tmp165*tmp38*tmp60*tmp63 - 0.0017418568193694477*tmp14*tmp39*tmp65*tmp52*tmp66*tmp58*tmp85*tmp165*tmp38*tmp102*tmp86 + tmp166 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp89*tmp58*tmp75*tmp26*tmp102*tmp62 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp91*tmp58*tmp75*tmp38*tmp102*tmp62 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp66*tmp58*tmp85*tmp50*tmp165*tmp38*tmp60*tmp103*tmp106 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp61*tmp165*tmp38*tmp60*tmp103*tmp106 + 0.0034837136387388954*tmp14*tmp39*tmp52*tmp116*tmp58*tmp165*tmp38*tmp60*tmp117 - 0.0017418568193694477*tmp14*tmp39*tmp52*tmp116*tmp58*tmp165*tmp38*tmp102*tmp62*tmp117 + tmp167 + 0.0017418568193694477*tmp14*tmp39*tmp52*tmp58*tmp165*tmp60*tmp62*tmp117*tmp156)); -J(4+_OFF,1+_OFF) = -(tmp198*tmp189*tmp231) - tmp208*tmp189*tmp237 - tmp218*tmp189*tmp243; -J(4+_OFF,2+_OFF) = -(tmp198*tmp189*tmp250) - tmp208*tmp189*tmp257 - tmp218*tmp189*tmp266; -J(4+_OFF,3+_OFF) = -(tmp198*tmp189*tmp273) - tmp208*tmp189*tmp279 - tmp218*tmp189*tmp285; -J(5+_OFF,1+_OFF) = -(tmp208*tmp189*tmp231) - tmp253*tmp189*tmp237 - tmp260*tmp189*tmp243; -J(5+_OFF,2+_OFF) = -(tmp208*tmp189*tmp250) - tmp253*tmp189*tmp257 - tmp260*tmp189*tmp266; -J(5+_OFF,3+_OFF) = -(tmp208*tmp189*tmp273) - tmp253*tmp189*tmp279 - tmp260*tmp189*tmp285; -J(6+_OFF,1+_OFF) = -(tmp218*tmp189*tmp231) - tmp260*tmp189*tmp237 - tmp288*tmp189*tmp243; -J(6+_OFF,2+_OFF) = -(tmp218*tmp189*tmp250) - tmp260*tmp189*tmp257 - tmp288*tmp189*tmp266; -J(6+_OFF,3+_OFF) = -(tmp218*tmp189*tmp273) - tmp260*tmp189*tmp279 - tmp288*tmp189*tmp285; +double tmp289 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp180*tmp54*tmp68*tmp288; +double tmp290 = 0.003480682213713888*tmp14*tmp40*tmp48*tmp180*tmp54*tmp66*tmp230; +double tmp291 = tmp289 + tmp290; +double tmp292 = tmp178*tmp173; +double tmp293 = -tmp189; +double tmp294 = tmp292 + tmp293; +J(1+_OFF,1+_OFF) = -(tmp131*(-0.003480682213713888*tmp14*tmp40*tmp48*tmp101*tmp54*tmp26*tmp57*tmp111 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp86*tmp26*tmp95*tmp57*tmp69 + 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp86*tmp26*tmp95*tmp102*tmp96 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp95*tmp57*tmp96 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp101*tmp54*tmp26*tmp102*tmp111*tmp68 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp99*tmp54*tmp102*tmp111*tmp66*tmp68 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp26*tmp112*tmp57*tmp113*tmp116 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp86*tmp26*tmp74*tmp95*tmp57*tmp113*tmp116 + 0.003480682213713888*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp26*tmp57*tmp127 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp26*tmp102*tmp68*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp57*tmp68*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp54*tmp86*tmp57*tmp68*tmp127*tmp154 + 0.003480682213713888*tmp14*tmp40*tmp136*tmp54*(2*tmp137*tmp138*tmp26 + tmp139*tmp129*tmp140*tmp26*tmp69*tmp141))); +J(1+_OFF,2+_OFF) = -(tmp131*(-0.003480682213713888*tmp14*tmp40*tmp48*tmp101*tmp54*tmp61*tmp57*tmp111 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp86*tmp95*tmp61*tmp57*tmp69 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp86*tmp57*tmp96 + 0.000870170553428472*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp57*tmp68*tmp158*tmp116 + 0.003480682213713888*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp61*tmp57*tmp127 + 0.003480682213713888*tmp14*tmp40*tmp76*tmp48*tmp124*tmp54*tmp86*tmp57*tmp68*tmp135 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp86*tmp95*tmp57*tmp96*tmp116*tmp135 + 0.003480682213713888*tmp14*tmp40*tmp136*tmp54*(2*tmp137*tmp138*tmp61 + tmp139*tmp129*tmp140*tmp61*tmp69*tmp141))); +J(1+_OFF,3+_OFF) = -(tmp131*(-0.003480682213713888*tmp14*tmp40*tmp48*tmp101*tmp54*tmp57*tmp111*tmp66 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp86*tmp95*tmp57*tmp66*tmp69 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp86*tmp95*tmp102*tmp39*tmp96 + tmp172 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp99*tmp54*tmp26*tmp102*tmp111*tmp68 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp101*tmp54*tmp102*tmp39*tmp111*tmp68 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp112*tmp57*tmp66*tmp113*tmp116 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp86*tmp74*tmp95*tmp57*tmp66*tmp113*tmp116 + 0.003480682213713888*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp57*tmp66*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp102*tmp39*tmp68*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp54*tmp86*tmp57*tmp68*tmp127*tmp162 + 0.003480682213713888*tmp14*tmp40*tmp136*tmp54*(2*tmp137*tmp138*tmp66 + tmp139*tmp129*tmp140*tmp66*tmp69*tmp141))); +J(2+_OFF,1+_OFF) = -(tmp131*(0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp26*tmp150*tmp69 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp26*tmp74*tmp69 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp26*tmp112*tmp113*tmp116 - 0.003480682213713888*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp26*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp54*tmp150*tmp96*tmp154)); +J(2+_OFF,2+_OFF) = -(tmp131*(0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp150*tmp61*tmp69 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp96 - 0.000870170553428472*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp68*tmp158*tmp116 - 0.003480682213713888*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp61*tmp127 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp68*tmp135 + 0.003480682213713888*tmp14*tmp40*tmp76*tmp48*tmp124*tmp54*tmp150*tmp96*tmp116*tmp135)); +J(2+_OFF,3+_OFF) = -(tmp131*(0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp150*tmp66*tmp69 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp74*tmp66*tmp69 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp112*tmp66*tmp113*tmp116 - 0.003480682213713888*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp66*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp54*tmp150*tmp96*tmp162)); +J(3+_OFF,1+_OFF) = -(tmp131*(-0.003480682213713888*tmp14*tmp40*tmp48*tmp101*tmp54*tmp86*tmp26*tmp57 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp26*tmp95*tmp57*tmp171*tmp69 + 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp26*tmp95*tmp102*tmp171*tmp96 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp101*tmp54*tmp86*tmp26*tmp102*tmp68 + tmp172 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp99*tmp54*tmp86*tmp102*tmp66*tmp68 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp26*tmp112*tmp57*tmp171*tmp113*tmp116 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp26*tmp74*tmp95*tmp57*tmp171*tmp113*tmp116 + 0.003480682213713888*tmp14*tmp40*tmp48*tmp126*tmp54*tmp26*tmp57*tmp171*tmp127 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp26*tmp102*tmp171*tmp68*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp54*tmp57*tmp171*tmp68*tmp127*tmp154)); +J(3+_OFF,2+_OFF) = -(tmp131*(-0.003480682213713888*tmp14*tmp40*tmp48*tmp101*tmp54*tmp86*tmp61*tmp57 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp95*tmp61*tmp57*tmp171*tmp69 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp57*tmp171*tmp96 + 0.000870170553428472*tmp14*tmp40*tmp48*tmp126*tmp54*tmp57*tmp171*tmp68*tmp158*tmp116 + 0.003480682213713888*tmp14*tmp40*tmp48*tmp126*tmp54*tmp61*tmp57*tmp171*tmp127 + 0.003480682213713888*tmp14*tmp40*tmp76*tmp48*tmp124*tmp54*tmp57*tmp171*tmp68*tmp135 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp95*tmp57*tmp171*tmp96*tmp116*tmp135)); +J(3+_OFF,3+_OFF) = -(tmp131*(-0.003480682213713888*tmp14*tmp40*tmp48*tmp101*tmp54*tmp86*tmp57*tmp66 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp95*tmp57*tmp171*tmp66*tmp69 + 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp95*tmp57*tmp96 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp95*tmp102*tmp171*tmp39*tmp96 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp99*tmp54*tmp86*tmp26*tmp102*tmp68 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp101*tmp54*tmp86*tmp102*tmp39*tmp68 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp112*tmp57*tmp171*tmp66*tmp113*tmp116 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp74*tmp95*tmp57*tmp171*tmp66*tmp113*tmp116 + 0.003480682213713888*tmp14*tmp40*tmp48*tmp126*tmp54*tmp57*tmp171*tmp66*tmp127 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp57*tmp68*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp102*tmp171*tmp39*tmp68*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp54*tmp57*tmp171*tmp68*tmp127*tmp162)); +J(4+_OFF,1+_OFF) = -(tmp203*tmp194*tmp237) - tmp213*tmp194*tmp243 - tmp224*tmp194*tmp249; +J(4+_OFF,2+_OFF) = -(tmp203*tmp194*tmp256) - tmp213*tmp194*tmp263 - tmp224*tmp194*tmp272; +J(4+_OFF,3+_OFF) = -(tmp203*tmp194*tmp279) - tmp213*tmp194*tmp285 - tmp224*tmp194*tmp291; +J(5+_OFF,1+_OFF) = -(tmp213*tmp194*tmp237) - tmp259*tmp194*tmp243 - tmp266*tmp194*tmp249; +J(5+_OFF,2+_OFF) = -(tmp213*tmp194*tmp256) - tmp259*tmp194*tmp263 - tmp266*tmp194*tmp272; +J(5+_OFF,3+_OFF) = -(tmp213*tmp194*tmp279) - tmp259*tmp194*tmp285 - tmp266*tmp194*tmp291; +J(6+_OFF,1+_OFF) = -(tmp224*tmp194*tmp237) - tmp266*tmp194*tmp243 - tmp294*tmp194*tmp249; +J(6+_OFF,2+_OFF) = -(tmp224*tmp194*tmp256) - tmp266*tmp194*tmp263 - tmp294*tmp194*tmp272; +J(6+_OFF,3+_OFF) = -(tmp224*tmp194*tmp279) - tmp266*tmp194*tmp285 - tmp294*tmp194*tmp291; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrW.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrW.cppready index 7c1b482..2c4919d 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrW.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrW.cppready @@ -96,7 +96,7 @@ double tmp94 = -(tmp5*tmp6); double tmp95 = tmp0*tmp6; double tmp96 = tmp92 + tmp93 + tmp94 + tmp95; double tmp97 = mRoll(3+_OFF); -double tmp98 = 0.0008709284096847238*tmp18*tmp47*tmp48*tmp91*tmp97*tmp54*tmp89; +double tmp98 = 0.000870170553428472*tmp18*tmp47*tmp48*tmp91*tmp97*tmp54*tmp89; double tmp99 = -(tmp2*tmp36); double tmp100 = tmp3*tmp6; double tmp101 = tmp98 + tmp99 + tmp100; @@ -123,13 +123,13 @@ double tmp121 = -tmp9; double tmp122 = tmp120 + tmp121; double tmp123 = cBar(1+_OFF); double tmp124 = std::pow(tmp123,2); -double tmp125 = mPitch(3+_OFF); -double tmp126 = 0.0008709284096847238*tmp18*tmp47*tmp124*tmp48*tmp125*tmp54*tmp89; +double tmp125 = mPitch(4+_OFF); +double tmp126 = 0.000870170553428472*tmp18*tmp47*tmp124*tmp48*tmp125*tmp54*tmp89; double tmp127 = tmp4*tmp37; double tmp128 = -(tmp3*tmp6); double tmp129 = tmp126 + tmp127 + tmp128; -double tmp130 = mYaw(2+_OFF); -double tmp131 = 0.0008709284096847238*tmp18*tmp47*tmp48*tmp91*tmp130*tmp54*tmp89; +double tmp130 = mYaw(3+_OFF); +double tmp131 = 0.000870170553428472*tmp18*tmp47*tmp48*tmp91*tmp130*tmp54*tmp89; double tmp132 = -(tmp4*tmp37); double tmp133 = tmp2*tmp36; double tmp134 = tmp131 + tmp132 + tmp133; @@ -139,7 +139,7 @@ double tmp137 = -(tmp3*tmp36); double tmp138 = -2*tmp2*tmp6; double tmp139 = tmp135 + tmp136 + tmp137 + tmp138; double tmp140 = mRoll(4+_OFF); -double tmp141 = 0.0008709284096847238*tmp18*tmp47*tmp48*tmp91*tmp140*tmp54*tmp89; +double tmp141 = -0.000870170553428472*tmp18*tmp47*tmp48*tmp91*tmp140*tmp54*tmp89; double tmp142 = tmp3*tmp37; double tmp143 = tmp1*tmp36; double tmp144 = -(tmp0*tmp36); diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrWind.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrWind.cppready index f7f6653..a77a60f 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrWind.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrWind.cppready @@ -13,355 +13,365 @@ double tmp11 = -tmp10; double tmp12 = std::pow(tmp3,2); double tmp13 = airDensity(2+_OFF); double tmp14 = 1/tmp13; -double tmp15 = x(10+_OFF); -double tmp16 = -tmp9; -double tmp17 = tmp2*tmp1; -double tmp18 = tmp0*tmp3; -double tmp19 = tmp17 + tmp18; -double tmp20 = -2*tmp6*tmp19; -double tmp21 = -(tmp0*tmp1); -double tmp22 = tmp21 + tmp5; -double tmp23 = -2*tmp7*tmp22; -double tmp24 = -tmp12; -double tmp25 = tmp8 + tmp9 + tmp11 + tmp24; -double tmp26 = -(tmp4*tmp25); -double tmp27 = x(8+_OFF); -double tmp28 = tmp20 + tmp23 + tmp26 + tmp27; -double tmp29 = -(tmp0*tmp3); -double tmp30 = tmp17 + tmp29; +double tmp15 = tmp2*tmp1; +double tmp16 = tmp0*tmp3; +double tmp17 = tmp15 + tmp16; +double tmp18 = -2*tmp6*tmp17; +double tmp19 = -(tmp0*tmp1); +double tmp20 = tmp19 + tmp5; +double tmp21 = -2*tmp7*tmp20; +double tmp22 = -tmp12; +double tmp23 = tmp8 + tmp9 + tmp11 + tmp22; +double tmp24 = -(tmp4*tmp23); +double tmp25 = x(8+_OFF); +double tmp26 = tmp18 + tmp21 + tmp24 + tmp25; +double tmp27 = tmp0*tmp1; +double tmp28 = tmp27 + tmp5; +double tmp29 = 2*tmp4*tmp28; +double tmp30 = -(tmp0*tmp2); double tmp31 = tmp1*tmp3; -double tmp32 = tmp0*tmp1; -double tmp33 = tmp32 + tmp5; -double tmp34 = -2*tmp4*tmp33; -double tmp35 = -(tmp0*tmp2); -double tmp36 = tmp35 + tmp31; -double tmp37 = -2*tmp6*tmp36; -double tmp38 = tmp8 + tmp16 + tmp11 + tmp12; -double tmp39 = -(tmp7*tmp38); -double tmp40 = tmp34 + tmp37 + tmp39 + tmp15; -double tmp41 = airDensity(3+_OFF); -double tmp42 = -2*tmp4*tmp30; +double tmp32 = tmp30 + tmp31; +double tmp33 = 2*tmp6*tmp32; +double tmp34 = -tmp9; +double tmp35 = tmp8 + tmp34 + tmp11 + tmp12; +double tmp36 = tmp7*tmp35; +double tmp37 = x(10+_OFF); +double tmp38 = -tmp37; +double tmp39 = tmp29 + tmp33 + tmp36 + tmp38; +double tmp40 = -(tmp0*tmp3); +double tmp41 = tmp15 + tmp40; +double tmp42 = airDensity(3+_OFF); double tmp43 = tmp0*tmp2; double tmp44 = tmp43 + tmp31; -double tmp45 = -2*tmp7*tmp44; -double tmp46 = tmp8 + tmp16 + tmp10 + tmp24; -double tmp47 = -(tmp6*tmp46); -double tmp48 = x(9+_OFF); -double tmp49 = tmp42 + tmp45 + tmp47 + tmp48; -double tmp50 = std::pow(tmp28,2); -double tmp51 = std::pow(tmp40,2); -double tmp52 = cp(2+_OFF); -double tmp53 = airDensity(1+_OFF); -double tmp54 = x(3+_OFF); -double tmp55 = tmp53 + tmp54; -double tmp56 = -0.006500000000000001*tmp14*tmp55; -double tmp57 = 1 + tmp56; -double tmp58 = std::pow(tmp57,4.2561); -double tmp59 = -tmp8; -double tmp60 = tmp59 + tmp16 + tmp10 + tmp12; -double tmp61 = 2*tmp60*tmp28; -double tmp62 = -4*tmp30*tmp49; -double tmp63 = -4*tmp33*tmp40; -double tmp64 = tmp61 + tmp62 + tmp63; -double tmp65 = tmp50 + tmp51; -double tmp66 = 1/std::sqrt(tmp65); -double tmp67 = std::pow(tmp49,2); -double tmp68 = tmp50 + tmp67 + tmp51; -double tmp69 = 1/std::sqrt(tmp68); -double tmp70 = tmp49*tmp69; -double tmp71 = std::asin(tmp70); -double tmp72 = fLat(1+_OFF); -double tmp73 = -(tmp4*tmp8); -double tmp74 = -(tmp4*tmp9); -double tmp75 = 2*tmp7*tmp0*tmp1; -double tmp76 = -2*tmp6*tmp2*tmp1; -double tmp77 = tmp4*tmp10; -double tmp78 = -2*tmp6*tmp0*tmp3; -double tmp79 = -2*tmp7*tmp2*tmp3; -double tmp80 = tmp4*tmp12; -double tmp81 = tmp73 + tmp74 + tmp75 + tmp76 + tmp77 + tmp78 + tmp79 + tmp80 + tmp27; -double tmp82 = tmp6*tmp8; -double tmp83 = 2*tmp7*tmp0*tmp2; -double tmp84 = -(tmp6*tmp9); -double tmp85 = 2*tmp4*tmp2*tmp1; -double tmp86 = tmp6*tmp10; -double tmp87 = -2*tmp4*tmp0*tmp3; -double tmp88 = 2*tmp7*tmp1*tmp3; -double tmp89 = -(tmp6*tmp12); -double tmp90 = -tmp48; -double tmp91 = tmp82 + tmp83 + tmp84 + tmp85 + tmp86 + tmp87 + tmp88 + tmp89 + tmp90; -double tmp92 = std::sqrt(tmp68); -double tmp93 = fLift(1+_OFF); -double tmp94 = std::atan2(tmp40,tmp28); -double tmp95 = fLift(2+_OFF); -double tmp96 = tmp94*tmp95; -double tmp97 = tmp93 + tmp96; -double tmp98 = tmp7*tmp8; -double tmp99 = -2*tmp6*tmp0*tmp2; -double tmp100 = -(tmp7*tmp9); -double tmp101 = 2*tmp4*tmp0*tmp1; -double tmp102 = -(tmp7*tmp10); -double tmp103 = 2*tmp4*tmp2*tmp3; -double tmp104 = 2*tmp6*tmp1*tmp3; -double tmp105 = tmp7*tmp12; -double tmp106 = -tmp15; -double tmp107 = tmp98 + tmp99 + tmp100 + tmp101 + tmp102 + tmp103 + tmp104 + tmp105 + tmp106; -double tmp108 = tmp61 + tmp63; -double tmp109 = std::pow(tmp65,-1.5); -double tmp110 = 1/tmp65; -double tmp111 = 1/tmp68; -double tmp112 = fDrag(1+_OFF); -double tmp113 = fDrag(2+_OFF); -double tmp114 = tmp94*tmp113; -double tmp115 = std::pow(tmp94,2); -double tmp116 = fDrag(3+_OFF); -double tmp117 = tmp115*tmp116; -double tmp118 = std::pow(tmp71,2); -double tmp119 = fDrag(4+_OFF); -double tmp120 = tmp118*tmp119; -double tmp121 = tmp112 + tmp114 + tmp117 + tmp120; -double tmp122 = -(tmp67*tmp111); -double tmp123 = 1 + tmp122; -double tmp124 = std::sqrt(tmp123); -double tmp125 = 1/std::sqrt(tmp123); -double tmp126 = -2*tmp33*tmp28*tmp110; -double tmp127 = 2*tmp4*tmp33; -double tmp128 = 2*tmp6*tmp36; -double tmp129 = tmp7*tmp38; -double tmp130 = tmp127 + tmp128 + tmp129 + tmp106; -double tmp131 = tmp60*tmp130*tmp110; -double tmp132 = tmp126 + tmp131; -double tmp133 = std::pow(tmp68,-1.5); -double tmp134 = -(tmp49*tmp64*tmp133)/2.; -double tmp135 = -2*tmp30*tmp69; -double tmp136 = tmp134 + tmp135; -double tmp137 = cp(1+_OFF); -double tmp138 = cp(4+_OFF); -double tmp139 = 1/tmp138; -double tmp140 = -4*tmp19*tmp28; -double tmp141 = tmp59 + tmp9 + tmp11 + tmp12; -double tmp142 = 2*tmp141*tmp49; -double tmp143 = -4*tmp36*tmp40; -double tmp144 = tmp140 + tmp142 + tmp143; -double tmp145 = -2*tmp0*tmp3; -double tmp146 = tmp140 + tmp143; -double tmp147 = std::pow(tmp68,-2); -double tmp148 = -2*tmp2*tmp1; -double tmp149 = tmp148 + tmp145; -double tmp150 = -2*tmp36*tmp28*tmp110; -double tmp151 = -2*tmp19*tmp130*tmp110; -double tmp152 = tmp150 + tmp151; -double tmp153 = -(tmp49*tmp144*tmp133)/2.; -double tmp154 = tmp141*tmp69; -double tmp155 = tmp153 + tmp154; -double tmp156 = std::pow(tmp137,2); -double tmp157 = std::pow(M_PI,-2); -double tmp158 = fThrust(3+_OFF); -double tmp159 = 1/M_PI; -double tmp160 = fThrust(2+_OFF); -double tmp161 = z(1+_OFF); -double tmp162 = -4*tmp22*tmp28; -double tmp163 = -4*tmp44*tmp49; -double tmp164 = tmp59 + tmp9 + tmp10 + tmp24; -double tmp165 = 2*tmp164*tmp40; -double tmp166 = tmp162 + tmp163 + tmp165; -double tmp167 = 2*tmp1*tmp3; -double tmp168 = 2*tmp0*tmp1; -double tmp169 = tmp162 + tmp165; -double tmp170 = -2*tmp2*tmp3; -double tmp171 = tmp168 + tmp170; -double tmp172 = tmp164*tmp28*tmp110; -double tmp173 = -2*tmp22*tmp130*tmp110; -double tmp174 = tmp172 + tmp173; -double tmp175 = -(tmp49*tmp166*tmp133)/2.; -double tmp176 = -2*tmp44*tmp69; -double tmp177 = tmp175 + tmp176; -double tmp178 = tmp67*tmp64*tmp147; -double tmp179 = 4*tmp30*tmp49*tmp111; -double tmp180 = tmp178 + tmp179; -double tmp181 = -(tmp6*tmp8); -double tmp182 = -2*tmp7*tmp0*tmp2; -double tmp183 = tmp6*tmp9; -double tmp184 = -2*tmp4*tmp2*tmp1; -double tmp185 = -(tmp6*tmp10); -double tmp186 = 2*tmp4*tmp0*tmp3; -double tmp187 = -2*tmp7*tmp1*tmp3; -double tmp188 = tmp6*tmp12; -double tmp189 = tmp181 + tmp182 + tmp183 + tmp184 + tmp185 + tmp186 + tmp187 + tmp188 + tmp48; -double tmp190 = tmp113*tmp132; -double tmp191 = 2*tmp94*tmp116*tmp132; -double tmp192 = 2*tmp71*tmp119*tmp125*tmp136; -double tmp193 = tmp190 + tmp191 + tmp192; -double tmp194 = tmp67*tmp144*tmp147; -double tmp195 = -2*tmp141*tmp49*tmp111; -double tmp196 = tmp194 + tmp195; -double tmp197 = tmp113*tmp152; -double tmp198 = 2*tmp94*tmp116*tmp152; -double tmp199 = 2*tmp71*tmp119*tmp125*tmp155; -double tmp200 = tmp197 + tmp198 + tmp199; -double tmp201 = -2*tmp0*tmp2; -double tmp202 = tmp67*tmp166*tmp147; -double tmp203 = 4*tmp44*tmp49*tmp111; -double tmp204 = tmp202 + tmp203; -double tmp205 = tmp113*tmp174; -double tmp206 = 2*tmp94*tmp116*tmp174; -double tmp207 = 2*tmp71*tmp119*tmp125*tmp177; -double tmp208 = tmp205 + tmp206 + tmp207; -double tmp209 = -(tmp7*tmp8); -double tmp210 = 2*tmp6*tmp0*tmp2; -double tmp211 = tmp7*tmp9; -double tmp212 = -2*tmp4*tmp0*tmp1; -double tmp213 = tmp7*tmp10; -double tmp214 = -2*tmp4*tmp2*tmp3; -double tmp215 = -2*tmp6*tmp1*tmp3; -double tmp216 = -(tmp7*tmp12); -double tmp217 = tmp209 + tmp210 + tmp211 + tmp212 + tmp213 + tmp214 + tmp215 + tmp216 + tmp15; -double tmp218 = 2*tmp2*tmp1; -double tmp219 = tmp218 + tmp145; -double tmp220 = -2*tmp0*tmp1; -double tmp221 = tmp220 + tmp170; -double tmp222 = 2*tmp0*tmp2; -double tmp223 = -2*tmp1*tmp3; -double tmp224 = tmp222 + tmp223; -double tmp225 = tmp222 + tmp167; -double tmp226 = ibd(2+_OFF); -double tmp227 = ibd(3+_OFF); -double tmp228 = ibod(1+_OFF); -double tmp229 = ibod(2+_OFF); -double tmp230 = ibod(3+_OFF); -double tmp231 = ibd(1+_OFF); -double tmp232 = std::pow(tmp230,2); -double tmp233 = cp(3+_OFF); -double tmp234 = mRoll(2+_OFF); -double tmp235 = mRoll(3+_OFF); -double tmp236 = x(11+_OFF); -double tmp237 = mRoll(4+_OFF); -double tmp238 = x(13+_OFF); -double tmp239 = tmp231*tmp226*tmp227; -double tmp240 = std::pow(tmp228,2); -double tmp241 = -(tmp226*tmp240); -double tmp242 = std::pow(tmp229,2); -double tmp243 = -(tmp227*tmp242); -double tmp244 = 2*tmp228*tmp229*tmp230; -double tmp245 = -(tmp231*tmp232); -double tmp246 = tmp239 + tmp241 + tmp243 + tmp244 + tmp245; -double tmp247 = 1/tmp246; -double tmp248 = cBar(1+_OFF); -double tmp249 = mPitch(4+_OFF); -double tmp250 = mPitch(3+_OFF); -double tmp251 = x(12+_OFF); -double tmp252 = mYaw(3+_OFF); -double tmp253 = mYaw(2+_OFF); -double tmp254 = tmp226*tmp227; -double tmp255 = -tmp232; -double tmp256 = tmp254 + tmp255; -double tmp257 = tmp71*tmp234; -double tmp258 = (tmp233*tmp235*tmp69*tmp236)/2.; -double tmp259 = (tmp233*tmp237*tmp69*tmp238)/2.; -double tmp260 = mRoll(1+_OFF); -double tmp261 = z(2+_OFF); -double tmp262 = tmp260*tmp261; -double tmp263 = tmp257 + tmp258 + tmp259 + tmp262; -double tmp264 = -(tmp227*tmp229); -double tmp265 = tmp228*tmp230; -double tmp266 = tmp264 + tmp265; -double tmp267 = mPitch(1+_OFF); -double tmp268 = tmp94*tmp249; -double tmp269 = (tmp248*tmp250*tmp69*tmp251)/2.; -double tmp270 = mPitch(2+_OFF); -double tmp271 = z(3+_OFF); -double tmp272 = tmp270*tmp271; -double tmp273 = tmp267 + tmp268 + tmp269 + tmp272; -double tmp274 = -(tmp226*tmp228); -double tmp275 = tmp229*tmp230; -double tmp276 = tmp274 + tmp275; -double tmp277 = tmp71*tmp252; -double tmp278 = (tmp233*tmp253*tmp69*tmp238)/2.; -double tmp279 = mYaw(1+_OFF); -double tmp280 = z(4+_OFF); -double tmp281 = tmp279*tmp280; -double tmp282 = tmp277 + tmp278 + tmp281; -double tmp283 = tmp234*tmp125*tmp136; -double tmp284 = -(tmp233*tmp235*tmp64*tmp133*tmp236)/4.; -double tmp285 = -(tmp233*tmp237*tmp64*tmp133*tmp238)/4.; -double tmp286 = tmp283 + tmp284 + tmp285; -double tmp287 = 0.0017418568193694477*tmp14*tmp41*tmp52*tmp233*tmp58*tmp68*tmp286; -double tmp288 = 0.0017418568193694477*tmp14*tmp41*tmp52*tmp233*tmp58*tmp64*tmp263; -double tmp289 = tmp287 + tmp288; -double tmp290 = tmp249*tmp132; -double tmp291 = -(tmp248*tmp250*tmp64*tmp133*tmp251)/4.; -double tmp292 = tmp290 + tmp291; -double tmp293 = 0.0017418568193694477*tmp14*tmp41*tmp248*tmp52*tmp58*tmp68*tmp292; -double tmp294 = 0.0017418568193694477*tmp14*tmp41*tmp248*tmp52*tmp58*tmp64*tmp273; -double tmp295 = tmp293 + tmp294; -double tmp296 = tmp252*tmp125*tmp136; -double tmp297 = -(tmp233*tmp253*tmp64*tmp133*tmp238)/4.; -double tmp298 = tmp296 + tmp297; -double tmp299 = 0.0017418568193694477*tmp14*tmp41*tmp52*tmp233*tmp58*tmp68*tmp298; -double tmp300 = 0.0017418568193694477*tmp14*tmp41*tmp52*tmp233*tmp58*tmp64*tmp282; -double tmp301 = tmp299 + tmp300; -double tmp302 = tmp234*tmp125*tmp155; -double tmp303 = -(tmp233*tmp235*tmp144*tmp133*tmp236)/4.; -double tmp304 = -(tmp233*tmp237*tmp144*tmp133*tmp238)/4.; -double tmp305 = tmp302 + tmp303 + tmp304; -double tmp306 = 0.0017418568193694477*tmp14*tmp41*tmp52*tmp233*tmp58*tmp68*tmp305; -double tmp307 = 0.0017418568193694477*tmp14*tmp41*tmp52*tmp233*tmp58*tmp144*tmp263; +double tmp45 = tmp8 + tmp34 + tmp10 + tmp22; +double tmp46 = x(9+_OFF); +double tmp47 = std::pow(tmp26,2); +double tmp48 = -2*tmp4*tmp41; +double tmp49 = -2*tmp7*tmp44; +double tmp50 = -(tmp6*tmp45); +double tmp51 = tmp48 + tmp49 + tmp50 + tmp46; +double tmp52 = -2*tmp4*tmp28; +double tmp53 = -2*tmp6*tmp32; +double tmp54 = -(tmp7*tmp35); +double tmp55 = tmp52 + tmp53 + tmp54 + tmp37; +double tmp56 = cp(2+_OFF); +double tmp57 = airDensity(1+_OFF); +double tmp58 = x(3+_OFF); +double tmp59 = tmp57 + tmp58; +double tmp60 = -0.006500000000000001*tmp14*tmp59; +double tmp61 = 1 + tmp60; +double tmp62 = std::pow(tmp61,4.2561); +double tmp63 = std::pow(tmp39,2); +double tmp64 = tmp47 + tmp63; +double tmp65 = 1/std::sqrt(tmp64); +double tmp66 = -tmp8; +double tmp67 = tmp66 + tmp34 + tmp10 + tmp12; +double tmp68 = 2*tmp67*tmp26; +double tmp69 = -4*tmp41*tmp51; +double tmp70 = -4*tmp28*tmp55; +double tmp71 = tmp68 + tmp69 + tmp70; +double tmp72 = std::pow(tmp51,2); +double tmp73 = std::pow(tmp55,2); +double tmp74 = tmp47 + tmp72 + tmp73; +double tmp75 = 1/std::sqrt(tmp74); +double tmp76 = 2*tmp4*tmp41; +double tmp77 = 2*tmp7*tmp44; +double tmp78 = tmp6*tmp45; +double tmp79 = -tmp46; +double tmp80 = tmp76 + tmp77 + tmp78 + tmp79; +double tmp81 = tmp80*tmp75; +double tmp82 = std::asin(tmp81); +double tmp83 = fLat(1+_OFF); +double tmp84 = -(tmp4*tmp8); +double tmp85 = -(tmp4*tmp9); +double tmp86 = 2*tmp7*tmp0*tmp1; +double tmp87 = -2*tmp6*tmp2*tmp1; +double tmp88 = tmp4*tmp10; +double tmp89 = -2*tmp6*tmp0*tmp3; +double tmp90 = -2*tmp7*tmp2*tmp3; +double tmp91 = tmp4*tmp12; +double tmp92 = tmp84 + tmp85 + tmp86 + tmp87 + tmp88 + tmp89 + tmp90 + tmp91 + tmp25; +double tmp93 = -(tmp6*tmp8); +double tmp94 = -2*tmp7*tmp0*tmp2; +double tmp95 = tmp6*tmp9; +double tmp96 = -2*tmp4*tmp2*tmp1; +double tmp97 = -(tmp6*tmp10); +double tmp98 = 2*tmp4*tmp0*tmp3; +double tmp99 = -2*tmp7*tmp1*tmp3; +double tmp100 = tmp6*tmp12; +double tmp101 = tmp93 + tmp94 + tmp95 + tmp96 + tmp97 + tmp98 + tmp99 + tmp100 + tmp46; +double tmp102 = std::sqrt(tmp74); +double tmp103 = fLift(1+_OFF); +double tmp104 = std::atan2(tmp39,tmp26); +double tmp105 = fLift(2+_OFF); +double tmp106 = tmp104*tmp105; +double tmp107 = tmp103 + tmp106; +double tmp108 = 4*tmp28*tmp39; +double tmp109 = tmp68 + tmp108; +double tmp110 = std::pow(tmp64,-1.5); +double tmp111 = -(tmp7*tmp8); +double tmp112 = 2*tmp6*tmp0*tmp2; +double tmp113 = tmp7*tmp9; +double tmp114 = -2*tmp4*tmp0*tmp1; +double tmp115 = tmp7*tmp10; +double tmp116 = -2*tmp4*tmp2*tmp3; +double tmp117 = -2*tmp6*tmp1*tmp3; +double tmp118 = -(tmp7*tmp12); +double tmp119 = tmp111 + tmp112 + tmp113 + tmp114 + tmp115 + tmp116 + tmp117 + tmp118 + tmp37; +double tmp120 = 1/tmp64; +double tmp121 = std::pow(tmp80,2); +double tmp122 = 1/tmp74; +double tmp123 = fDrag(1+_OFF); +double tmp124 = fDrag(2+_OFF); +double tmp125 = tmp104*tmp124; +double tmp126 = std::pow(tmp104,2); +double tmp127 = fDrag(3+_OFF); +double tmp128 = tmp126*tmp127; +double tmp129 = std::pow(tmp82,2); +double tmp130 = fDrag(4+_OFF); +double tmp131 = tmp129*tmp130; +double tmp132 = tmp123 + tmp125 + tmp128 + tmp131; +double tmp133 = -(tmp121*tmp122); +double tmp134 = 1 + tmp133; +double tmp135 = std::sqrt(tmp134); +double tmp136 = 1/std::sqrt(tmp134); +double tmp137 = 2*tmp28*tmp26*tmp120; +double tmp138 = tmp67*tmp120*tmp55; +double tmp139 = tmp137 + tmp138; +double tmp140 = std::pow(tmp74,-1.5); +double tmp141 = -(tmp80*tmp71*tmp140)/2.; +double tmp142 = 2*tmp41*tmp75; +double tmp143 = tmp141 + tmp142; +double tmp144 = cp(1+_OFF); +double tmp145 = cp(4+_OFF); +double tmp146 = 1/tmp145; +double tmp147 = -4*tmp17*tmp26; +double tmp148 = tmp66 + tmp9 + tmp11 + tmp12; +double tmp149 = 2*tmp148*tmp51; +double tmp150 = -4*tmp32*tmp55; +double tmp151 = tmp147 + tmp149 + tmp150; +double tmp152 = -2*tmp2*tmp1; +double tmp153 = 4*tmp32*tmp39; +double tmp154 = tmp147 + tmp153; +double tmp155 = std::pow(tmp74,-2); +double tmp156 = -2*tmp0*tmp3; +double tmp157 = tmp152 + tmp156; +double tmp158 = 2*tmp32*tmp26*tmp120; +double tmp159 = -2*tmp17*tmp120*tmp55; +double tmp160 = tmp158 + tmp159; +double tmp161 = -(tmp80*tmp151*tmp140)/2.; +double tmp162 = tmp45*tmp75; +double tmp163 = tmp161 + tmp162; +double tmp164 = std::pow(tmp144,2); +double tmp165 = std::pow(M_PI,-2); +double tmp166 = fThrust(3+_OFF); +double tmp167 = 1/M_PI; +double tmp168 = fThrust(2+_OFF); +double tmp169 = z(1+_OFF); +double tmp170 = -4*tmp20*tmp26; +double tmp171 = -4*tmp44*tmp51; +double tmp172 = tmp66 + tmp9 + tmp10 + tmp22; +double tmp173 = 2*tmp172*tmp55; +double tmp174 = tmp170 + tmp171 + tmp173; +double tmp175 = -2*tmp1*tmp3; +double tmp176 = -2*tmp2*tmp3; +double tmp177 = 2*tmp35*tmp39; +double tmp178 = tmp170 + tmp177; +double tmp179 = 2*tmp0*tmp1; +double tmp180 = tmp179 + tmp176; +double tmp181 = tmp35*tmp26*tmp120; +double tmp182 = -2*tmp20*tmp120*tmp55; +double tmp183 = tmp181 + tmp182; +double tmp184 = -(tmp80*tmp174*tmp140)/2.; +double tmp185 = 2*tmp44*tmp75; +double tmp186 = tmp184 + tmp185; +double tmp187 = tmp121*tmp71*tmp155; +double tmp188 = -4*tmp41*tmp80*tmp122; +double tmp189 = tmp187 + tmp188; +double tmp190 = tmp6*tmp8; +double tmp191 = 2*tmp7*tmp0*tmp2; +double tmp192 = -(tmp6*tmp9); +double tmp193 = 2*tmp4*tmp2*tmp1; +double tmp194 = tmp6*tmp10; +double tmp195 = -2*tmp4*tmp0*tmp3; +double tmp196 = 2*tmp7*tmp1*tmp3; +double tmp197 = -(tmp6*tmp12); +double tmp198 = tmp190 + tmp191 + tmp192 + tmp193 + tmp194 + tmp195 + tmp196 + tmp197 + tmp79; +double tmp199 = tmp124*tmp139; +double tmp200 = 2*tmp104*tmp127*tmp139; +double tmp201 = 2*tmp82*tmp130*tmp136*tmp143; +double tmp202 = tmp199 + tmp200 + tmp201; +double tmp203 = tmp121*tmp151*tmp155; +double tmp204 = -2*tmp45*tmp80*tmp122; +double tmp205 = tmp203 + tmp204; +double tmp206 = tmp124*tmp160; +double tmp207 = 2*tmp104*tmp127*tmp160; +double tmp208 = 2*tmp82*tmp130*tmp136*tmp163; +double tmp209 = tmp206 + tmp207 + tmp208; +double tmp210 = 2*tmp0*tmp2; +double tmp211 = tmp121*tmp174*tmp155; +double tmp212 = -4*tmp44*tmp80*tmp122; +double tmp213 = tmp211 + tmp212; +double tmp214 = tmp124*tmp183; +double tmp215 = 2*tmp104*tmp127*tmp183; +double tmp216 = 2*tmp82*tmp130*tmp136*tmp186; +double tmp217 = tmp214 + tmp215 + tmp216; +double tmp218 = tmp7*tmp8; +double tmp219 = -2*tmp6*tmp0*tmp2; +double tmp220 = -(tmp7*tmp9); +double tmp221 = 2*tmp4*tmp0*tmp1; +double tmp222 = -(tmp7*tmp10); +double tmp223 = 2*tmp4*tmp2*tmp3; +double tmp224 = 2*tmp6*tmp1*tmp3; +double tmp225 = tmp7*tmp12; +double tmp226 = tmp218 + tmp219 + tmp220 + tmp221 + tmp222 + tmp223 + tmp224 + tmp225 + tmp38; +double tmp227 = 2*tmp0*tmp3; +double tmp228 = tmp152 + tmp227; +double tmp229 = 2*tmp2*tmp3; +double tmp230 = tmp179 + tmp229; +double tmp231 = -2*tmp0*tmp2; +double tmp232 = 2*tmp1*tmp3; +double tmp233 = tmp231 + tmp232; +double tmp234 = tmp231 + tmp175; +double tmp235 = ibd(2+_OFF); +double tmp236 = ibd(3+_OFF); +double tmp237 = ibod(1+_OFF); +double tmp238 = ibod(2+_OFF); +double tmp239 = ibod(3+_OFF); +double tmp240 = ibd(1+_OFF); +double tmp241 = std::pow(tmp239,2); +double tmp242 = cp(3+_OFF); +double tmp243 = mRoll(2+_OFF); +double tmp244 = mRoll(3+_OFF); +double tmp245 = x(11+_OFF); +double tmp246 = mRoll(4+_OFF); +double tmp247 = x(13+_OFF); +double tmp248 = tmp240*tmp235*tmp236; +double tmp249 = std::pow(tmp237,2); +double tmp250 = -(tmp235*tmp249); +double tmp251 = std::pow(tmp238,2); +double tmp252 = -(tmp236*tmp251); +double tmp253 = 2*tmp237*tmp238*tmp239; +double tmp254 = -(tmp240*tmp241); +double tmp255 = tmp248 + tmp250 + tmp252 + tmp253 + tmp254; +double tmp256 = 1/tmp255; +double tmp257 = cBar(1+_OFF); +double tmp258 = mPitch(3+_OFF); +double tmp259 = mPitch(4+_OFF); +double tmp260 = x(12+_OFF); +double tmp261 = mYaw(2+_OFF); +double tmp262 = mYaw(3+_OFF); +double tmp263 = tmp235*tmp236; +double tmp264 = -tmp241; +double tmp265 = tmp263 + tmp264; +double tmp266 = tmp82*tmp243; +double tmp267 = (tmp242*tmp244*tmp75*tmp245)/2.; +double tmp268 = -(tmp242*tmp246*tmp75*tmp247)/2.; +double tmp269 = mRoll(1+_OFF); +double tmp270 = z(2+_OFF); +double tmp271 = -(tmp269*tmp270); +double tmp272 = tmp266 + tmp267 + tmp268 + tmp271; +double tmp273 = -(tmp236*tmp238); +double tmp274 = tmp237*tmp239; +double tmp275 = tmp273 + tmp274; +double tmp276 = mPitch(1+_OFF); +double tmp277 = -tmp276; +double tmp278 = -(tmp104*tmp258); +double tmp279 = (tmp257*tmp259*tmp75*tmp260)/2.; +double tmp280 = mPitch(2+_OFF); +double tmp281 = z(3+_OFF); +double tmp282 = -(tmp280*tmp281); +double tmp283 = tmp277 + tmp278 + tmp279 + tmp282; +double tmp284 = -(tmp235*tmp237); +double tmp285 = tmp238*tmp239; +double tmp286 = tmp284 + tmp285; +double tmp287 = -(tmp82*tmp261); +double tmp288 = (tmp242*tmp262*tmp75*tmp247)/2.; +double tmp289 = mYaw(1+_OFF); +double tmp290 = z(4+_OFF); +double tmp291 = tmp289*tmp290; +double tmp292 = tmp287 + tmp288 + tmp291; +double tmp293 = tmp243*tmp136*tmp143; +double tmp294 = -(tmp242*tmp244*tmp71*tmp140*tmp245)/4.; +double tmp295 = (tmp242*tmp246*tmp71*tmp140*tmp247)/4.; +double tmp296 = tmp293 + tmp294 + tmp295; +double tmp297 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp74*tmp296; +double tmp298 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp71*tmp272; +double tmp299 = tmp297 + tmp298; +double tmp300 = -(tmp258*tmp139); +double tmp301 = -(tmp257*tmp259*tmp71*tmp140*tmp260)/4.; +double tmp302 = tmp300 + tmp301; +double tmp303 = 0.001740341106856944*tmp14*tmp42*tmp257*tmp56*tmp62*tmp74*tmp302; +double tmp304 = 0.001740341106856944*tmp14*tmp42*tmp257*tmp56*tmp62*tmp71*tmp283; +double tmp305 = tmp303 + tmp304; +double tmp306 = -(tmp261*tmp136*tmp143); +double tmp307 = -(tmp242*tmp262*tmp71*tmp140*tmp247)/4.; double tmp308 = tmp306 + tmp307; -double tmp309 = tmp231*tmp227; -double tmp310 = -tmp240; +double tmp309 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp74*tmp308; +double tmp310 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp71*tmp292; double tmp311 = tmp309 + tmp310; -double tmp312 = tmp249*tmp152; -double tmp313 = -(tmp248*tmp250*tmp144*tmp133*tmp251)/4.; -double tmp314 = tmp312 + tmp313; -double tmp315 = 0.0017418568193694477*tmp14*tmp41*tmp248*tmp52*tmp58*tmp68*tmp314; -double tmp316 = 0.0017418568193694477*tmp14*tmp41*tmp248*tmp52*tmp58*tmp144*tmp273; -double tmp317 = tmp315 + tmp316; -double tmp318 = tmp228*tmp229; -double tmp319 = -(tmp231*tmp230); -double tmp320 = tmp318 + tmp319; -double tmp321 = tmp252*tmp125*tmp155; -double tmp322 = -(tmp233*tmp253*tmp144*tmp133*tmp238)/4.; -double tmp323 = tmp321 + tmp322; -double tmp324 = 0.0017418568193694477*tmp14*tmp41*tmp52*tmp233*tmp58*tmp68*tmp323; -double tmp325 = 0.0017418568193694477*tmp14*tmp41*tmp52*tmp233*tmp58*tmp144*tmp282; -double tmp326 = tmp324 + tmp325; -double tmp327 = tmp234*tmp125*tmp177; -double tmp328 = -(tmp233*tmp235*tmp166*tmp133*tmp236)/4.; -double tmp329 = -(tmp233*tmp237*tmp166*tmp133*tmp238)/4.; -double tmp330 = tmp327 + tmp328 + tmp329; -double tmp331 = 0.0017418568193694477*tmp14*tmp41*tmp52*tmp233*tmp58*tmp68*tmp330; -double tmp332 = 0.0017418568193694477*tmp14*tmp41*tmp52*tmp233*tmp58*tmp166*tmp263; +double tmp312 = tmp243*tmp136*tmp163; +double tmp313 = -(tmp242*tmp244*tmp151*tmp140*tmp245)/4.; +double tmp314 = (tmp242*tmp246*tmp151*tmp140*tmp247)/4.; +double tmp315 = tmp312 + tmp313 + tmp314; +double tmp316 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp74*tmp315; +double tmp317 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp151*tmp272; +double tmp318 = tmp316 + tmp317; +double tmp319 = tmp240*tmp236; +double tmp320 = -tmp249; +double tmp321 = tmp319 + tmp320; +double tmp322 = -(tmp258*tmp160); +double tmp323 = -(tmp257*tmp259*tmp151*tmp140*tmp260)/4.; +double tmp324 = tmp322 + tmp323; +double tmp325 = 0.001740341106856944*tmp14*tmp42*tmp257*tmp56*tmp62*tmp74*tmp324; +double tmp326 = 0.001740341106856944*tmp14*tmp42*tmp257*tmp56*tmp62*tmp151*tmp283; +double tmp327 = tmp325 + tmp326; +double tmp328 = tmp237*tmp238; +double tmp329 = -(tmp240*tmp239); +double tmp330 = tmp328 + tmp329; +double tmp331 = -(tmp261*tmp136*tmp163); +double tmp332 = -(tmp242*tmp262*tmp151*tmp140*tmp247)/4.; double tmp333 = tmp331 + tmp332; -double tmp334 = tmp249*tmp174; -double tmp335 = -(tmp248*tmp250*tmp166*tmp133*tmp251)/4.; +double tmp334 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp74*tmp333; +double tmp335 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp151*tmp292; double tmp336 = tmp334 + tmp335; -double tmp337 = 0.0017418568193694477*tmp14*tmp41*tmp248*tmp52*tmp58*tmp68*tmp336; -double tmp338 = 0.0017418568193694477*tmp14*tmp41*tmp248*tmp52*tmp58*tmp166*tmp273; -double tmp339 = tmp337 + tmp338; -double tmp340 = tmp252*tmp125*tmp177; -double tmp341 = -(tmp233*tmp253*tmp166*tmp133*tmp238)/4.; -double tmp342 = tmp340 + tmp341; -double tmp343 = 0.0017418568193694477*tmp14*tmp41*tmp52*tmp233*tmp58*tmp68*tmp342; -double tmp344 = 0.0017418568193694477*tmp14*tmp41*tmp52*tmp233*tmp58*tmp166*tmp282; -double tmp345 = tmp343 + tmp344; -double tmp346 = tmp231*tmp226; -double tmp347 = -tmp242; -double tmp348 = tmp346 + tmp347; -J(1+_OFF,1+_OFF) = -(tmp139*(0.0017418568193694477*tmp14*tmp41*tmp52*tmp97*tmp58*tmp107*tmp64*tmp66 + 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp81*tmp91*tmp64*tmp66*tmp69 - 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp81*tmp91*tmp108*tmp109*tmp92 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp219*tmp81*tmp66*tmp92 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp60*tmp91*tmp66*tmp92 - 0.0008709284096847238*tmp14*tmp41*tmp52*tmp97*tmp58*tmp107*tmp108*tmp109*tmp68 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp97*tmp58*(tmp168 + 2*tmp2*tmp3)*tmp66*tmp68 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp95*tmp58*tmp107*tmp66*tmp68*tmp132 + 0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp81*tmp66*tmp68*tmp180*tmp125 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp81*tmp64*tmp66*tmp124 - 0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp81*tmp108*tmp109*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp60*tmp66*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp72*tmp58*tmp81*tmp91*tmp66*tmp92*tmp125*tmp136 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp58*tmp81*tmp66*tmp68*tmp124*tmp193 + 0.0034837136387388954*tmp14*tmp41*tmp156*tmp58*(tmp157*tmp158*tmp64 + (tmp159*tmp137*tmp160*tmp64*tmp69*tmp161)/2.))); -J(1+_OFF,2+_OFF) = -(tmp139*(0.0017418568193694477*tmp14*tmp41*tmp52*tmp97*tmp58*tmp107*tmp144*tmp66 + 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp81*tmp91*tmp144*tmp66*tmp69 - 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp81*tmp91*tmp146*tmp109*tmp92 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp46*tmp81*tmp66*tmp92 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp149*tmp91*tmp66*tmp92 - 0.0008709284096847238*tmp14*tmp41*tmp52*tmp97*tmp58*tmp107*tmp146*tmp109*tmp68 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp97*tmp58*(tmp201 + tmp167)*tmp66*tmp68 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp95*tmp58*tmp107*tmp66*tmp68*tmp152 + 0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp81*tmp66*tmp68*tmp196*tmp125 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp81*tmp144*tmp66*tmp124 - 0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp81*tmp146*tmp109*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp149*tmp66*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp72*tmp58*tmp81*tmp91*tmp66*tmp92*tmp125*tmp155 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp58*tmp81*tmp66*tmp68*tmp124*tmp200 + 0.0034837136387388954*tmp14*tmp41*tmp156*tmp58*(tmp157*tmp158*tmp144 + (tmp159*tmp137*tmp160*tmp144*tmp69*tmp161)/2.))); -J(1+_OFF,3+_OFF) = -(tmp139*(0.0017418568193694477*tmp14*tmp41*tmp52*tmp97*tmp58*tmp107*tmp166*tmp66 + 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp81*tmp91*tmp166*tmp66*tmp69 - 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp81*tmp91*tmp169*tmp109*tmp92 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp225*tmp81*tmp66*tmp92 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp171*tmp91*tmp66*tmp92 - 0.0008709284096847238*tmp14*tmp41*tmp52*tmp97*tmp58*tmp107*tmp169*tmp109*tmp68 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp97*tmp58*tmp38*tmp66*tmp68 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp95*tmp58*tmp107*tmp66*tmp68*tmp174 + 0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp81*tmp66*tmp68*tmp204*tmp125 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp81*tmp166*tmp66*tmp124 - 0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp81*tmp169*tmp109*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp171*tmp66*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp72*tmp58*tmp81*tmp91*tmp66*tmp92*tmp125*tmp177 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp58*tmp81*tmp66*tmp68*tmp124*tmp208 + 0.0034837136387388954*tmp14*tmp41*tmp156*tmp58*(tmp157*tmp158*tmp166 + (tmp159*tmp137*tmp160*tmp166*tmp69*tmp161)/2.))); -J(2+_OFF,1+_OFF) = -(tmp139*(0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp189*tmp64*tmp69 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*(tmp148 + 2*tmp0*tmp3)*tmp92 + 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp68*tmp180*tmp125 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp64*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp72*tmp58*tmp68*tmp136 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp58*tmp189*tmp92*tmp193)); -J(2+_OFF,2+_OFF) = -(tmp139*(0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp189*tmp144*tmp69 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp141*tmp92 + 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp68*tmp196*tmp125 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp144*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp72*tmp58*tmp68*tmp155 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp58*tmp189*tmp92*tmp200)); -J(2+_OFF,3+_OFF) = -(tmp139*(0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp189*tmp166*tmp69 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*(tmp201 + tmp223)*tmp92 + 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp68*tmp204*tmp125 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp166*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp72*tmp58*tmp68*tmp177 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp58*tmp189*tmp92*tmp208)); -J(3+_OFF,1+_OFF) = -(tmp139*(0.0017418568193694477*tmp14*tmp41*tmp52*tmp97*tmp58*tmp81*tmp64*tmp66 + 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp91*tmp217*tmp64*tmp66*tmp69 - 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp91*tmp217*tmp108*tmp109*tmp92 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp221*tmp91*tmp66*tmp92 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp219*tmp217*tmp66*tmp92 - 0.0008709284096847238*tmp14*tmp41*tmp52*tmp97*tmp58*tmp81*tmp108*tmp109*tmp68 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp97*tmp58*tmp60*tmp66*tmp68 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp95*tmp58*tmp81*tmp66*tmp68*tmp132 + 0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp217*tmp66*tmp68*tmp180*tmp125 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp217*tmp64*tmp66*tmp124 - 0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp217*tmp108*tmp109*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp221*tmp66*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp72*tmp58*tmp91*tmp217*tmp66*tmp92*tmp125*tmp136 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp58*tmp217*tmp66*tmp68*tmp124*tmp193)); -J(3+_OFF,2+_OFF) = -(tmp139*(0.0017418568193694477*tmp14*tmp41*tmp52*tmp97*tmp58*tmp81*tmp144*tmp66 + 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp91*tmp217*tmp144*tmp66*tmp69 - 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp91*tmp217*tmp146*tmp109*tmp92 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp224*tmp91*tmp66*tmp92 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp46*tmp217*tmp66*tmp92 - 0.0008709284096847238*tmp14*tmp41*tmp52*tmp97*tmp58*tmp81*tmp146*tmp109*tmp68 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp97*tmp58*tmp149*tmp66*tmp68 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp95*tmp58*tmp81*tmp66*tmp68*tmp152 + 0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp217*tmp66*tmp68*tmp196*tmp125 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp217*tmp144*tmp66*tmp124 - 0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp217*tmp146*tmp109*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp224*tmp66*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp72*tmp58*tmp91*tmp217*tmp66*tmp92*tmp125*tmp155 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp58*tmp217*tmp66*tmp68*tmp124*tmp200)); -J(3+_OFF,3+_OFF) = -(tmp139*(0.0017418568193694477*tmp14*tmp41*tmp52*tmp97*tmp58*tmp81*tmp166*tmp66 + 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp91*tmp217*tmp166*tmp66*tmp69 - 0.0008709284096847238*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp91*tmp217*tmp169*tmp109*tmp92 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp164*tmp91*tmp66*tmp92 + 0.0017418568193694477*tmp14*tmp41*tmp71*tmp52*tmp72*tmp58*tmp225*tmp217*tmp66*tmp92 - 0.0008709284096847238*tmp14*tmp41*tmp52*tmp97*tmp58*tmp81*tmp169*tmp109*tmp68 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp97*tmp58*tmp171*tmp66*tmp68 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp95*tmp58*tmp81*tmp66*tmp68*tmp174 + 0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp217*tmp66*tmp68*tmp204*tmp125 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp217*tmp166*tmp66*tmp124 - 0.0008709284096847238*tmp14*tmp41*tmp52*tmp121*tmp58*tmp217*tmp169*tmp109*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp121*tmp58*tmp164*tmp66*tmp68*tmp124 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp72*tmp58*tmp91*tmp217*tmp66*tmp92*tmp125*tmp177 + 0.0017418568193694477*tmp14*tmp41*tmp52*tmp58*tmp217*tmp66*tmp68*tmp124*tmp208)); -J(4+_OFF,1+_OFF) = -(tmp256*tmp247*tmp289) - tmp266*tmp247*tmp295 - tmp276*tmp247*tmp301; -J(4+_OFF,2+_OFF) = -(tmp256*tmp247*tmp308) - tmp266*tmp247*tmp317 - tmp276*tmp247*tmp326; -J(4+_OFF,3+_OFF) = -(tmp256*tmp247*tmp333) - tmp266*tmp247*tmp339 - tmp276*tmp247*tmp345; -J(5+_OFF,1+_OFF) = -(tmp266*tmp247*tmp289) - tmp311*tmp247*tmp295 - tmp320*tmp247*tmp301; -J(5+_OFF,2+_OFF) = -(tmp266*tmp247*tmp308) - tmp311*tmp247*tmp317 - tmp320*tmp247*tmp326; -J(5+_OFF,3+_OFF) = -(tmp266*tmp247*tmp333) - tmp311*tmp247*tmp339 - tmp320*tmp247*tmp345; -J(6+_OFF,1+_OFF) = -(tmp276*tmp247*tmp289) - tmp320*tmp247*tmp295 - tmp348*tmp247*tmp301; -J(6+_OFF,2+_OFF) = -(tmp276*tmp247*tmp308) - tmp320*tmp247*tmp317 - tmp348*tmp247*tmp326; -J(6+_OFF,3+_OFF) = -(tmp276*tmp247*tmp333) - tmp320*tmp247*tmp339 - tmp348*tmp247*tmp345; +double tmp337 = tmp243*tmp136*tmp186; +double tmp338 = -(tmp242*tmp244*tmp174*tmp140*tmp245)/4.; +double tmp339 = (tmp242*tmp246*tmp174*tmp140*tmp247)/4.; +double tmp340 = tmp337 + tmp338 + tmp339; +double tmp341 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp74*tmp340; +double tmp342 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp174*tmp272; +double tmp343 = tmp341 + tmp342; +double tmp344 = -(tmp258*tmp183); +double tmp345 = -(tmp257*tmp259*tmp174*tmp140*tmp260)/4.; +double tmp346 = tmp344 + tmp345; +double tmp347 = 0.001740341106856944*tmp14*tmp42*tmp257*tmp56*tmp62*tmp74*tmp346; +double tmp348 = 0.001740341106856944*tmp14*tmp42*tmp257*tmp56*tmp62*tmp174*tmp283; +double tmp349 = tmp347 + tmp348; +double tmp350 = -(tmp261*tmp136*tmp186); +double tmp351 = -(tmp242*tmp262*tmp174*tmp140*tmp247)/4.; +double tmp352 = tmp350 + tmp351; +double tmp353 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp74*tmp352; +double tmp354 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp174*tmp292; +double tmp355 = tmp353 + tmp354; +double tmp356 = tmp240*tmp235; +double tmp357 = -tmp251; +double tmp358 = tmp356 + tmp357; +J(1+_OFF,1+_OFF) = -(tmp146*(-0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp65*tmp119*tmp71 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp92*tmp101*tmp65*tmp71*tmp75 + 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp92*tmp101*tmp109*tmp110*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp228*tmp92*tmp65*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp67*tmp101*tmp65*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*(-2*tmp0*tmp1 + tmp176)*tmp65*tmp74 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp107*tmp62*tmp109*tmp110*tmp119*tmp74 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp105*tmp62*tmp65*tmp119*tmp139*tmp74 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp65*tmp74*tmp189*tmp136 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp65*tmp71*tmp135 - 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp109*tmp110*tmp74*tmp135 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp67*tmp65*tmp74*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp92*tmp101*tmp65*tmp102*tmp136*tmp143 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp92*tmp65*tmp74*tmp135*tmp202 + 0.003480682213713888*tmp14*tmp42*tmp164*tmp62*(tmp165*tmp166*tmp71 + (tmp167*tmp144*tmp168*tmp71*tmp75*tmp169)/2.))); +J(1+_OFF,2+_OFF) = -(tmp146*(-0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp65*tmp119*tmp151 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp92*tmp101*tmp65*tmp151*tmp75 + 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp92*tmp101*tmp154*tmp110*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp148*tmp92*tmp65*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp157*tmp101*tmp65*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*(tmp210 + tmp175)*tmp65*tmp74 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp107*tmp62*tmp154*tmp110*tmp119*tmp74 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp105*tmp62*tmp65*tmp119*tmp160*tmp74 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp65*tmp74*tmp205*tmp136 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp65*tmp151*tmp135 - 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp154*tmp110*tmp74*tmp135 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp157*tmp65*tmp74*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp92*tmp101*tmp65*tmp102*tmp136*tmp163 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp92*tmp65*tmp74*tmp135*tmp209 + 0.003480682213713888*tmp14*tmp42*tmp164*tmp62*(tmp165*tmp166*tmp151 + (tmp167*tmp144*tmp168*tmp151*tmp75*tmp169)/2.))); +J(1+_OFF,3+_OFF) = -(tmp146*(-0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp65*tmp119*tmp174 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp92*tmp101*tmp65*tmp174*tmp75 + 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp92*tmp101*tmp178*tmp110*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp234*tmp92*tmp65*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp180*tmp101*tmp65*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp172*tmp65*tmp74 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp107*tmp62*tmp178*tmp110*tmp119*tmp74 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp105*tmp62*tmp65*tmp119*tmp183*tmp74 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp65*tmp74*tmp213*tmp136 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp65*tmp174*tmp135 - 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp178*tmp110*tmp74*tmp135 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp180*tmp65*tmp74*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp92*tmp101*tmp65*tmp102*tmp136*tmp186 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp92*tmp65*tmp74*tmp135*tmp217 + 0.003480682213713888*tmp14*tmp42*tmp164*tmp62*(tmp165*tmp166*tmp174 + (tmp167*tmp144*tmp168*tmp174*tmp75*tmp169)/2.))); +J(2+_OFF,1+_OFF) = -(tmp146*(0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp198*tmp71*tmp75 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*(2*tmp2*tmp1 + tmp156)*tmp102 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp74*tmp189*tmp136 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp71*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp74*tmp143 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp198*tmp102*tmp202)); +J(2+_OFF,2+_OFF) = -(tmp146*(0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp198*tmp151*tmp75 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp45*tmp102 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp74*tmp205*tmp136 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp151*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp74*tmp163 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp198*tmp102*tmp209)); +J(2+_OFF,3+_OFF) = -(tmp146*(0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp198*tmp174*tmp75 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*(tmp210 + tmp232)*tmp102 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp74*tmp213*tmp136 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp174*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp74*tmp186 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp198*tmp102*tmp217)); +J(3+_OFF,1+_OFF) = -(tmp146*(-0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp92*tmp65*tmp71 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp101*tmp65*tmp226*tmp71*tmp75 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp230*tmp101*tmp65*tmp102 + 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp101*tmp109*tmp110*tmp226*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp228*tmp65*tmp226*tmp102 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp107*tmp62*tmp92*tmp109*tmp110*tmp74 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp67*tmp65*tmp74 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp105*tmp62*tmp92*tmp65*tmp139*tmp74 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp65*tmp226*tmp74*tmp189*tmp136 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp65*tmp226*tmp71*tmp135 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp230*tmp65*tmp74*tmp135 - 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp109*tmp110*tmp226*tmp74*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp101*tmp65*tmp226*tmp102*tmp136*tmp143 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp65*tmp226*tmp74*tmp135*tmp202)); +J(3+_OFF,2+_OFF) = -(tmp146*(-0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp92*tmp65*tmp151 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp101*tmp65*tmp226*tmp151*tmp75 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp233*tmp101*tmp65*tmp102 + 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp101*tmp154*tmp110*tmp226*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp148*tmp65*tmp226*tmp102 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp107*tmp62*tmp92*tmp154*tmp110*tmp74 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp157*tmp65*tmp74 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp105*tmp62*tmp92*tmp65*tmp160*tmp74 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp65*tmp226*tmp74*tmp205*tmp136 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp65*tmp226*tmp151*tmp135 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp233*tmp65*tmp74*tmp135 - 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp154*tmp110*tmp226*tmp74*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp101*tmp65*tmp226*tmp102*tmp136*tmp163 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp65*tmp226*tmp74*tmp135*tmp209)); +J(3+_OFF,3+_OFF) = -(tmp146*(-0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp92*tmp65*tmp174 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp101*tmp65*tmp226*tmp174*tmp75 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp35*tmp101*tmp65*tmp102 + 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp101*tmp178*tmp110*tmp226*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp234*tmp65*tmp226*tmp102 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp107*tmp62*tmp92*tmp178*tmp110*tmp74 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp180*tmp65*tmp74 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp105*tmp62*tmp92*tmp65*tmp183*tmp74 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp65*tmp226*tmp74*tmp213*tmp136 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp65*tmp226*tmp174*tmp135 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp35*tmp65*tmp74*tmp135 - 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp178*tmp110*tmp226*tmp74*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp101*tmp65*tmp226*tmp102*tmp136*tmp186 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp65*tmp226*tmp74*tmp135*tmp217)); +J(4+_OFF,1+_OFF) = -(tmp265*tmp256*tmp299) - tmp275*tmp256*tmp305 - tmp286*tmp256*tmp311; +J(4+_OFF,2+_OFF) = -(tmp265*tmp256*tmp318) - tmp275*tmp256*tmp327 - tmp286*tmp256*tmp336; +J(4+_OFF,3+_OFF) = -(tmp265*tmp256*tmp343) - tmp275*tmp256*tmp349 - tmp286*tmp256*tmp355; +J(5+_OFF,1+_OFF) = -(tmp275*tmp256*tmp299) - tmp321*tmp256*tmp305 - tmp330*tmp256*tmp311; +J(5+_OFF,2+_OFF) = -(tmp275*tmp256*tmp318) - tmp321*tmp256*tmp327 - tmp330*tmp256*tmp336; +J(5+_OFF,3+_OFF) = -(tmp275*tmp256*tmp343) - tmp321*tmp256*tmp349 - tmp330*tmp256*tmp355; +J(6+_OFF,1+_OFF) = -(tmp286*tmp256*tmp299) - tmp330*tmp256*tmp305 - tmp358*tmp256*tmp311; +J(6+_OFF,2+_OFF) = -(tmp286*tmp256*tmp318) - tmp330*tmp256*tmp327 - tmp358*tmp256*tmp336; +J(6+_OFF,3+_OFF) = -(tmp286*tmp256*tmp343) - tmp330*tmp256*tmp349 - tmp358*tmp256*tmp355; diff --git a/roamfree/ROAMfunctions/src/PlaneDynamicModelM.cpp b/roamfree/ROAMfunctions/src/PlaneDynamicModelM.cpp index af194c1..bdc25d2 100644 --- a/roamfree/ROAMfunctions/src/PlaneDynamicModelM.cpp +++ b/roamfree/ROAMfunctions/src/PlaneDynamicModelM.cpp @@ -21,6 +21,6 @@ which accompanies this distribution, and is available at namespace ROAMfunctions { const bool PlaneDynamicModelM::_usedComponents[] = {true, true, true, true, true, true, false, false, false, false}; -const std::string PlaneDynamicModelM::_paramsNames[] = {"AirDensity", "FThurst", "FDrag", "FLat", "FLift", "MRoll", "MPitch", "MYaw", "CBar", "Cp", "Ibd", "Ibod", "Wind", "Gravity"}; +const std::string PlaneDynamicModelM::_paramsNames[] = {"AirDensity", "FThrust", "FDrag", "FLat", "FLift", "MRoll", "MPitch", "MYaw", "CBar", "Cp", "Ibd", "Ibod", "Wind", "Gravity"}; } /* namespace ROAMfunctions */ From a6a9db9eaa066b08b2f06ca6be9cd00552badb74 Mon Sep 17 00:00:00 2001 From: Kenneth Date: Mon, 19 Aug 2019 09:54:17 +0200 Subject: [PATCH 5/7] Corrected the Fixed Wing model for the Accelearation --- .../AugmentedState_PlaneDynamicModel.nb | 120 ++--- .../generated/PlaneDynamicModel_Err.cppready | 156 +++---- .../PlaneDynamicModel_JErrPose.cppready | 164 +++---- .../PlaneDynamicModel_JErrQ.cppready | 348 +++++++------- .../PlaneDynamicModel_JErrV.cppready | 427 +++++++++--------- .../PlaneDynamicModel_JErrWind.cppready | 226 ++++----- .../PlaneDynamicModel_debug.cppready | 96 ++-- 7 files changed, 774 insertions(+), 763 deletions(-) diff --git a/_development/Mathematica/models/AugmentedState_PlaneDynamicModel.nb b/_development/Mathematica/models/AugmentedState_PlaneDynamicModel.nb index 23183fa..2ef57fb 100644 --- a/_development/Mathematica/models/AugmentedState_PlaneDynamicModel.nb +++ b/_development/Mathematica/models/AugmentedState_PlaneDynamicModel.nb @@ -10,10 +10,10 @@ NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 158, 7] -NotebookDataLength[ 80146, 2130] -NotebookOptionsPosition[ 73896, 2045] -NotebookOutlinePosition[ 74253, 2061] -CellTagsIndexPosition[ 74210, 2058] +NotebookDataLength[ 80224, 2130] +NotebookOptionsPosition[ 73973, 2045] +NotebookOutlinePosition[ 74330, 2061] +CellTagsIndexPosition[ 74287, 2058] WindowFrame->Normal*) (* Beginning of Notebook Content *) @@ -771,7 +771,6 @@ Cell[BoxData[{ 3.772359671724037*^9}, {3.772359705820054*^9, 3.772359711259782*^9}, { 3.772359937605813*^9, 3.772360048550315*^9}, {3.7723600966964912`*^9, 3.772360359842062*^9}}, - EmphasizeSyntaxErrors->True, CellLabel-> "In[247]:=",ExpressionUUID->"53a40cfc-f0e8-4e44-9f25-b052baa99c29"], @@ -984,14 +983,14 @@ Cell[BoxData[ RowBox[{"RWINDS", "=", RowBox[{ RowBox[{"RotationMatrix", "[", - RowBox[{ - RowBox[{"-", "\[Beta]"}], ",", + RowBox[{"\[Alpha]", ",", RowBox[{"{", - RowBox[{"0", ",", "0", ",", "1"}], "}"}]}], "]"}], ".", + RowBox[{"0", ",", "1", ",", "0"}], "}"}]}], "]"}], ".", RowBox[{"RotationMatrix", "[", - RowBox[{"\[Alpha]", ",", + RowBox[{ + RowBox[{"-", "\[Beta]"}], ",", RowBox[{"{", - RowBox[{"0", ",", "1", ",", "0"}], "}"}]}], "]"}]}]}], ";"}]], "Input",\ + RowBox[{"0", ",", "0", ",", "1"}], "}"}]}], "]"}]}]}], ";"}]], "Input",\ CellChangeTimes->{{3.6324646247401857`*^9, 3.632464632600142*^9}, { 3.632464680101325*^9, 3.632464784467514*^9}, {3.6324649794605837`*^9, @@ -999,7 +998,8 @@ Cell[BoxData[ 3.632474151294368*^9, 3.6324741531255283`*^9}, {3.63257138686383*^9, 3.632571433828497*^9}, {3.632571484241777*^9, 3.632571500711404*^9}, { 3.634300370544889*^9, 3.634300375506771*^9}, {3.774266318707065*^9, - 3.774266321501566*^9}, {3.774612005261743*^9, 3.774612007778376*^9}}, + 3.774266321501566*^9}, {3.774612005261743*^9, 3.774612007778376*^9}, { + 3.774691121917021*^9, 3.7746911255822783`*^9}}, CellLabel-> "In[262]:=",ExpressionUUID->"dbea6cef-0336-433e-92e3-cc59b4a69219"], @@ -1243,8 +1243,7 @@ Cell[BoxData[{ RowBox[{ RowBox[{"{", RowBox[{"FT", ",", "0", ",", "0"}], "}"}], "+", - RowBox[{ - RowBox[{"Transpose", "[", "RWINDS", "]"}], ".", + RowBox[{"RWINDS", ".", RowBox[{"{", RowBox[{"FWX", ",", "FWY", ",", "FWZ"}], "}"}]}]}], ")"}]}]}]}], RowBox[{"(*", @@ -1274,7 +1273,7 @@ Cell[BoxData[{ 3.633668520364181*^9, 3.6336685404354343`*^9}, {3.6336692322822113`*^9, 3.633669235904211*^9}, {3.6342782924356194`*^9, 3.634278296987405*^9}, { 3.6342783329840317`*^9, 3.6342783528443823`*^9}, {3.6344523148400803`*^9, - 3.634452317130845*^9}}, + 3.634452317130845*^9}, {3.7746911481775713`*^9, 3.774691149760127*^9}}, CellLabel-> "In[279]:=",ExpressionUUID->"fe419f0a-adf5-43af-9f08-7b8a7f19180b"], @@ -2024,9 +2023,10 @@ Cell[BoxData["0"], "Output", 3.771569957428474*^9, 3.7723647052058573`*^9, 3.7724326260823793`*^9, 3.772432982619478*^9, 3.772946110952771*^9, 3.773142622983836*^9, { 3.7741789490039988`*^9, 3.774178957149096*^9}, 3.774239768380513*^9, - 3.774266326673469*^9, 3.77458390783916*^9, 3.774612092999992*^9}, + 3.774266326673469*^9, 3.77458390783916*^9, 3.774612092999992*^9, + 3.774691158272262*^9, 3.7746926287703743`*^9}, CellLabel-> - "Out[363]=",ExpressionUUID->"6ec6e9b1-552e-41e6-80e6-1bcfd15cbfec"] + "Out[363]=",ExpressionUUID->"fb8f6fc6-af3b-4e4a-8c6b-0bed6c4cc71c"] }, Open ]], Cell[BoxData[{ @@ -2086,52 +2086,52 @@ Cell[12066, 367, 422, 11, 31, "Input",ExpressionUUID->"89e76b07-ca4f-4879-a9de-3 Cell[12491, 380, 1436, 39, 147, "Input",ExpressionUUID->"0f88cdc1-a39e-4d13-b528-8472e029b05f"], Cell[13930, 421, 159, 3, 32, "Subsubtitle",ExpressionUUID->"a1d3915d-f613-4425-8a04-fe27c5187298"], Cell[14092, 426, 8589, 218, 1136, "Input",ExpressionUUID->"33f47236-ad3c-4a61-8f93-8222aa6cc9fa"], -Cell[22684, 646, 4424, 129, 469, "Input",ExpressionUUID->"53a40cfc-f0e8-4e44-9f25-b052baa99c29"], -Cell[27111, 777, 442, 13, 31, "Input",ExpressionUUID->"be98cbcc-62a9-4b36-a592-7c1827bbba19"], -Cell[27556, 792, 1695, 49, 170, "Input",ExpressionUUID->"3db40cdd-aae8-4aed-bbcf-7b6c917acc34"], -Cell[29254, 843, 287, 5, 32, "Subsubtitle",ExpressionUUID->"3a22e419-d65c-4c9e-84c6-863e409e519a"], -Cell[29544, 850, 324, 6, 36, "Text",ExpressionUUID->"58ebbe4e-85bd-47cd-b927-8039f9c2d955"], -Cell[29871, 858, 493, 14, 31, "Input",ExpressionUUID->"e4cd07b0-b7a6-476f-a82d-1ad870ed93c3"], -Cell[30367, 874, 208, 4, 36, "Text",ExpressionUUID->"9ac0d911-0e84-4579-bcb9-2110f48ca902"], -Cell[30578, 880, 1677, 42, 78, "Input",ExpressionUUID->"9f81cfa6-a749-4450-bfb3-736066b50bce"], -Cell[32258, 924, 154, 3, 36, "Text",ExpressionUUID->"656d798c-a5c9-4cc6-a1dd-06c8dc6c6565"], -Cell[32415, 929, 1601, 45, 124, "Input",ExpressionUUID->"29b01d2f-83ef-4d5a-8a25-69d70c2e9207"], -Cell[34019, 976, 157, 3, 36, "Text",ExpressionUUID->"7aa4501a-e764-4f85-8410-73dc94387049"], -Cell[34179, 981, 989, 22, 31, "Input",ExpressionUUID->"dbea6cef-0336-433e-92e3-cc59b4a69219"], -Cell[35171, 1005, 178, 3, 36, "Text",ExpressionUUID->"15e73123-e84e-4360-b55b-334ef918a821"], -Cell[35352, 1010, 1939, 48, 101, "Input",ExpressionUUID->"176642b9-ef21-428e-bda6-88b3064f0fe2"], -Cell[37294, 1060, 152, 3, 36, "Text",ExpressionUUID->"ac9144ba-14f4-4cb2-9d7c-1b84aa717d7b"], -Cell[37449, 1065, 667, 16, 55, "Input",ExpressionUUID->"f4931c36-9cb3-41d5-9636-f3fbcef428c9"], -Cell[38119, 1083, 154, 3, 36, "Text",ExpressionUUID->"57ce017d-559b-4d58-ba18-1e7631c436d9"], -Cell[38276, 1088, 407, 11, 55, "Input",ExpressionUUID->"63203ee0-9601-47b1-9606-b67b10ce9a46"], -Cell[38686, 1101, 156, 3, 36, "Text",ExpressionUUID->"4432b235-bb2b-4e9d-87f8-55bf93c648df"], -Cell[38845, 1106, 541, 13, 55, "Input",ExpressionUUID->"c73ee33c-6f07-4ea9-82e2-0f37fad73c8e"], -Cell[39389, 1121, 153, 3, 36, "Text",ExpressionUUID->"3b78e61b-a31c-43c6-949c-8ab46a558347"], -Cell[39545, 1126, 1515, 41, 101, "Input",ExpressionUUID->"7be4a0a1-b2c0-4d7b-b564-9f92dabf375f"], -Cell[41063, 1169, 154, 3, 36, "Text",ExpressionUUID->"78b600c8-17c9-43b2-8561-39fdff7b92e4"], -Cell[41220, 1174, 1026, 27, 78, "Input",ExpressionUUID->"4ce3e11d-b2d8-42df-94f3-f44671feb140"], -Cell[42249, 1203, 154, 3, 36, "Text",ExpressionUUID->"c302290e-b2df-4299-8d3e-f59d1fc850b6"], -Cell[42406, 1208, 647, 14, 55, "Input",ExpressionUUID->"1a28b43d-e9a2-4ebf-8251-f3ab2ddb7786"], -Cell[43056, 1224, 159, 3, 36, "Text",ExpressionUUID->"4ba37bc9-3ca4-4415-be72-e388f0dad47a"], -Cell[43218, 1229, 2062, 49, 55, "Input",ExpressionUUID->"fe419f0a-adf5-43af-9f08-7b8a7f19180b"], -Cell[45283, 1280, 1000, 17, 78, "Input",ExpressionUUID->"ff5f7d73-add6-4e24-9e55-7b15786660c6"], -Cell[46286, 1299, 2067, 54, 78, "Input",ExpressionUUID->"d17df8c1-9260-4a0c-8495-b5ef6f820848"], -Cell[48356, 1355, 509, 14, 31, "Input",ExpressionUUID->"8c91f72d-3f47-4547-a792-5e0813bcc352"], -Cell[48868, 1371, 204, 3, 32, "Subsubtitle",ExpressionUUID->"b92b1bb0-abe4-4170-8cfc-1e9dd8bc5679"], -Cell[49075, 1376, 956, 25, 101, "Input",ExpressionUUID->"dea35a84-3a0f-4600-a2f4-2ab045608d87"], -Cell[50034, 1403, 154, 3, 32, "Subsubtitle",ExpressionUUID->"bf1afef8-2e19-4e8e-9c26-8b9e596cd10c"], -Cell[50191, 1408, 206, 5, 31, "Input",ExpressionUUID->"c2f98c75-5faf-44c8-a958-147c2a660678"], -Cell[50400, 1415, 3709, 87, 193, "Input",ExpressionUUID->"716ee195-4767-4067-92df-43ed8da3bd15"], -Cell[54112, 1504, 3798, 117, 446, "Input",ExpressionUUID->"cdb0dbd5-e787-49a0-bb76-c4468b401cbc"], -Cell[57913, 1623, 243, 5, 31, "Input",ExpressionUUID->"41b82835-d8e1-446a-bec9-5cabfad38221"], -Cell[58159, 1630, 7227, 182, 607, "Input",ExpressionUUID->"cbb713d0-b847-42c0-9c5d-8772380d8dba"], -Cell[65389, 1814, 5610, 171, 722, "Input",ExpressionUUID->"1a2cbc4e-fbe6-4f7c-8741-b70e886cb2db"], +Cell[22684, 646, 4394, 128, 469, "Input",ExpressionUUID->"53a40cfc-f0e8-4e44-9f25-b052baa99c29"], +Cell[27081, 776, 442, 13, 31, "Input",ExpressionUUID->"be98cbcc-62a9-4b36-a592-7c1827bbba19"], +Cell[27526, 791, 1695, 49, 170, "Input",ExpressionUUID->"3db40cdd-aae8-4aed-bbcf-7b6c917acc34"], +Cell[29224, 842, 287, 5, 32, "Subsubtitle",ExpressionUUID->"3a22e419-d65c-4c9e-84c6-863e409e519a"], +Cell[29514, 849, 324, 6, 36, "Text",ExpressionUUID->"58ebbe4e-85bd-47cd-b927-8039f9c2d955"], +Cell[29841, 857, 493, 14, 31, "Input",ExpressionUUID->"e4cd07b0-b7a6-476f-a82d-1ad870ed93c3"], +Cell[30337, 873, 208, 4, 36, "Text",ExpressionUUID->"9ac0d911-0e84-4579-bcb9-2110f48ca902"], +Cell[30548, 879, 1677, 42, 78, "Input",ExpressionUUID->"9f81cfa6-a749-4450-bfb3-736066b50bce"], +Cell[32228, 923, 154, 3, 36, "Text",ExpressionUUID->"656d798c-a5c9-4cc6-a1dd-06c8dc6c6565"], +Cell[32385, 928, 1601, 45, 124, "Input",ExpressionUUID->"29b01d2f-83ef-4d5a-8a25-69d70c2e9207"], +Cell[33989, 975, 157, 3, 36, "Text",ExpressionUUID->"7aa4501a-e764-4f85-8410-73dc94387049"], +Cell[34149, 980, 1040, 23, 31, "Input",ExpressionUUID->"dbea6cef-0336-433e-92e3-cc59b4a69219"], +Cell[35192, 1005, 178, 3, 36, "Text",ExpressionUUID->"15e73123-e84e-4360-b55b-334ef918a821"], +Cell[35373, 1010, 1939, 48, 101, "Input",ExpressionUUID->"176642b9-ef21-428e-bda6-88b3064f0fe2"], +Cell[37315, 1060, 152, 3, 36, "Text",ExpressionUUID->"ac9144ba-14f4-4cb2-9d7c-1b84aa717d7b"], +Cell[37470, 1065, 667, 16, 55, "Input",ExpressionUUID->"f4931c36-9cb3-41d5-9636-f3fbcef428c9"], +Cell[38140, 1083, 154, 3, 36, "Text",ExpressionUUID->"57ce017d-559b-4d58-ba18-1e7631c436d9"], +Cell[38297, 1088, 407, 11, 55, "Input",ExpressionUUID->"63203ee0-9601-47b1-9606-b67b10ce9a46"], +Cell[38707, 1101, 156, 3, 36, "Text",ExpressionUUID->"4432b235-bb2b-4e9d-87f8-55bf93c648df"], +Cell[38866, 1106, 541, 13, 55, "Input",ExpressionUUID->"c73ee33c-6f07-4ea9-82e2-0f37fad73c8e"], +Cell[39410, 1121, 153, 3, 36, "Text",ExpressionUUID->"3b78e61b-a31c-43c6-949c-8ab46a558347"], +Cell[39566, 1126, 1515, 41, 101, "Input",ExpressionUUID->"7be4a0a1-b2c0-4d7b-b564-9f92dabf375f"], +Cell[41084, 1169, 154, 3, 36, "Text",ExpressionUUID->"78b600c8-17c9-43b2-8561-39fdff7b92e4"], +Cell[41241, 1174, 1026, 27, 78, "Input",ExpressionUUID->"4ce3e11d-b2d8-42df-94f3-f44671feb140"], +Cell[42270, 1203, 154, 3, 36, "Text",ExpressionUUID->"c302290e-b2df-4299-8d3e-f59d1fc850b6"], +Cell[42427, 1208, 647, 14, 55, "Input",ExpressionUUID->"1a28b43d-e9a2-4ebf-8251-f3ab2ddb7786"], +Cell[43077, 1224, 159, 3, 36, "Text",ExpressionUUID->"4ba37bc9-3ca4-4415-be72-e388f0dad47a"], +Cell[43239, 1229, 2068, 48, 55, "Input",ExpressionUUID->"fe419f0a-adf5-43af-9f08-7b8a7f19180b"], +Cell[45310, 1279, 1000, 17, 78, "Input",ExpressionUUID->"ff5f7d73-add6-4e24-9e55-7b15786660c6"], +Cell[46313, 1298, 2067, 54, 78, "Input",ExpressionUUID->"d17df8c1-9260-4a0c-8495-b5ef6f820848"], +Cell[48383, 1354, 509, 14, 31, "Input",ExpressionUUID->"8c91f72d-3f47-4547-a792-5e0813bcc352"], +Cell[48895, 1370, 204, 3, 32, "Subsubtitle",ExpressionUUID->"b92b1bb0-abe4-4170-8cfc-1e9dd8bc5679"], +Cell[49102, 1375, 956, 25, 101, "Input",ExpressionUUID->"dea35a84-3a0f-4600-a2f4-2ab045608d87"], +Cell[50061, 1402, 154, 3, 32, "Subsubtitle",ExpressionUUID->"bf1afef8-2e19-4e8e-9c26-8b9e596cd10c"], +Cell[50218, 1407, 206, 5, 31, "Input",ExpressionUUID->"c2f98c75-5faf-44c8-a958-147c2a660678"], +Cell[50427, 1414, 3709, 87, 193, "Input",ExpressionUUID->"716ee195-4767-4067-92df-43ed8da3bd15"], +Cell[54139, 1503, 3798, 117, 446, "Input",ExpressionUUID->"cdb0dbd5-e787-49a0-bb76-c4468b401cbc"], +Cell[57940, 1622, 243, 5, 31, "Input",ExpressionUUID->"41b82835-d8e1-446a-bec9-5cabfad38221"], +Cell[58186, 1629, 7227, 182, 607, "Input",ExpressionUUID->"cbb713d0-b847-42c0-9c5d-8772380d8dba"], +Cell[65416, 1813, 5610, 171, 722, "Input",ExpressionUUID->"1a2cbc4e-fbe6-4f7c-8741-b70e886cb2db"], Cell[CellGroupData[{ -Cell[71024, 1989, 427, 8, 31, "Input",ExpressionUUID->"92a89388-7fc0-4900-84db-870a39602d88"], -Cell[71454, 1999, 1993, 29, 35, "Output",ExpressionUUID->"6ec6e9b1-552e-41e6-80e6-1bcfd15cbfec"] +Cell[71051, 1988, 427, 8, 31, "Input",ExpressionUUID->"92a89388-7fc0-4900-84db-870a39602d88"], +Cell[71481, 1998, 2043, 30, 35, "Output",ExpressionUUID->"fb8f6fc6-af3b-4e4a-8c6b-0bed6c4cc71c"] }, Open ]], -Cell[73462, 2031, 275, 7, 55, "Input",ExpressionUUID->"aaff244c-3ad5-4faf-aeb3-7cdbaa9f50f5"], -Cell[73740, 2040, 152, 3, 64, "Input",ExpressionUUID->"8714cb77-63af-49bd-8987-722049f040d7"] +Cell[73539, 2031, 275, 7, 55, "Input",ExpressionUUID->"aaff244c-3ad5-4faf-aeb3-7cdbaa9f50f5"], +Cell[73817, 2040, 152, 3, 64, "Input",ExpressionUUID->"8714cb77-63af-49bd-8987-722049f040d7"] } ] *) diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_Err.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_Err.cppready index ee15693..c1b0c99 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_Err.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_Err.cppready @@ -26,54 +26,54 @@ double tmp24 = -tmp13; double tmp25 = airDensity(2+_OFF); double tmp26 = 1/tmp25; double tmp27 = x(8+_OFF); -double tmp28 = tmp2*tmp3; -double tmp29 = tmp5 + tmp28; -double tmp30 = -2*tmp4*tmp29; -double tmp31 = -2*tmp6*tmp9; -double tmp32 = tmp11 + tmp12 + tmp24 + tmp15; -double tmp33 = -(tmp10*tmp32); -double tmp34 = tmp30 + tmp31 + tmp33 + tmp27; -double tmp35 = std::pow(tmp34,2); -double tmp36 = tmp2*tmp1; -double tmp37 = tmp36 + tmp8; -double tmp38 = -(tmp2*tmp0); -double tmp39 = tmp38 + tmp19; -double tmp40 = tmp11 + tmp21 + tmp24 + tmp14; -double tmp41 = x(10+_OFF); -double tmp42 = -2*tmp10*tmp17; -double tmp43 = -2*tmp6*tmp20; -double tmp44 = -(tmp4*tmp22); -double tmp45 = tmp42 + tmp43 + tmp44 + tmp23; -double tmp46 = std::pow(tmp45,2); -double tmp47 = -2*tmp10*tmp37; -double tmp48 = -2*tmp4*tmp39; -double tmp49 = -(tmp6*tmp40); -double tmp50 = tmp47 + tmp48 + tmp49 + tmp41; -double tmp51 = std::pow(tmp50,2); -double tmp52 = tmp35 + tmp46 + tmp51; -double tmp53 = airDensity(3+_OFF); -double tmp54 = cp(2+_OFF); -double tmp55 = 2*tmp10*tmp37; -double tmp56 = 2*tmp4*tmp39; -double tmp57 = tmp6*tmp40; -double tmp58 = -tmp41; -double tmp59 = tmp55 + tmp56 + tmp57 + tmp58; -double tmp60 = airDensity(1+_OFF); -double tmp61 = x(3+_OFF); -double tmp62 = tmp60 + tmp61; -double tmp63 = -0.006500000000000001*tmp26*tmp62; -double tmp64 = 1 + tmp63; -double tmp65 = std::pow(tmp64,4.2561); -double tmp66 = std::pow(tmp59,2); -double tmp67 = tmp35 + tmp66; -double tmp68 = 1/std::sqrt(tmp67); -double tmp69 = std::atan2(tmp59,tmp34); -double tmp70 = 2*tmp10*tmp17; -double tmp71 = 2*tmp6*tmp20; -double tmp72 = tmp4*tmp22; -double tmp73 = -tmp23; -double tmp74 = tmp70 + tmp71 + tmp72 + tmp73; -double tmp75 = 1/std::sqrt(tmp52); +double tmp28 = -tmp23; +double tmp29 = tmp2*tmp3; +double tmp30 = tmp5 + tmp29; +double tmp31 = -2*tmp4*tmp30; +double tmp32 = -2*tmp6*tmp9; +double tmp33 = tmp11 + tmp12 + tmp24 + tmp15; +double tmp34 = -(tmp10*tmp33); +double tmp35 = tmp31 + tmp32 + tmp34 + tmp27; +double tmp36 = std::pow(tmp35,2); +double tmp37 = tmp2*tmp1; +double tmp38 = tmp37 + tmp8; +double tmp39 = -(tmp2*tmp0); +double tmp40 = tmp39 + tmp19; +double tmp41 = tmp11 + tmp21 + tmp24 + tmp14; +double tmp42 = x(10+_OFF); +double tmp43 = -2*tmp10*tmp17; +double tmp44 = -2*tmp6*tmp20; +double tmp45 = -(tmp4*tmp22); +double tmp46 = tmp43 + tmp44 + tmp45 + tmp23; +double tmp47 = std::pow(tmp46,2); +double tmp48 = -2*tmp10*tmp38; +double tmp49 = -2*tmp4*tmp40; +double tmp50 = -(tmp6*tmp41); +double tmp51 = tmp48 + tmp49 + tmp50 + tmp42; +double tmp52 = std::pow(tmp51,2); +double tmp53 = tmp36 + tmp47 + tmp52; +double tmp54 = airDensity(3+_OFF); +double tmp55 = cp(2+_OFF); +double tmp56 = 2*tmp10*tmp38; +double tmp57 = 2*tmp4*tmp40; +double tmp58 = tmp6*tmp41; +double tmp59 = -tmp42; +double tmp60 = tmp56 + tmp57 + tmp58 + tmp59; +double tmp61 = airDensity(1+_OFF); +double tmp62 = x(3+_OFF); +double tmp63 = tmp61 + tmp62; +double tmp64 = -0.006500000000000001*tmp26*tmp63; +double tmp65 = 1 + tmp64; +double tmp66 = std::pow(tmp65,4.2561); +double tmp67 = std::pow(tmp60,2); +double tmp68 = tmp36 + tmp67; +double tmp69 = 1/std::sqrt(tmp68); +double tmp70 = std::atan2(tmp60,tmp35); +double tmp71 = 2*tmp10*tmp17; +double tmp72 = 2*tmp6*tmp20; +double tmp73 = tmp4*tmp22; +double tmp74 = tmp71 + tmp72 + tmp73 + tmp28; +double tmp75 = 1/std::sqrt(tmp53); double tmp76 = tmp74*tmp75; double tmp77 = std::asin(tmp76); double tmp78 = -(tmp10*tmp11); @@ -86,7 +86,7 @@ double tmp84 = -2*tmp6*tmp0*tmp3; double tmp85 = tmp10*tmp14; double tmp86 = tmp78 + tmp79 + tmp80 + tmp81 + tmp82 + tmp83 + tmp84 + tmp85 + tmp27; double tmp87 = cp(1+_OFF); -double tmp88 = std::sqrt(tmp52); +double tmp88 = std::sqrt(tmp53); double tmp89 = std::pow(tmp87,2); double tmp90 = z(1+_OFF); double tmp91 = gravity(1+_OFF); @@ -94,8 +94,8 @@ double tmp92 = cp(4+_OFF); double tmp93 = 1/tmp92; double tmp94 = fDrag(1+_OFF); double tmp95 = fDrag(2+_OFF); -double tmp96 = tmp69*tmp95; -double tmp97 = std::pow(tmp69,2); +double tmp96 = tmp70*tmp95; +double tmp97 = std::pow(tmp70,2); double tmp98 = fDrag(3+_OFF); double tmp99 = tmp97*tmp98; double tmp100 = std::pow(tmp77,2); @@ -104,32 +104,32 @@ double tmp102 = tmp100*tmp101; double tmp103 = tmp94 + tmp96 + tmp99 + tmp102; double tmp104 = fLat(1+_OFF); double tmp105 = std::pow(tmp74,2); -double tmp106 = 1/tmp52; +double tmp106 = 1/tmp53; double tmp107 = -(tmp105*tmp106); double tmp108 = 1 + tmp107; double tmp109 = std::sqrt(tmp108); -double tmp110 = -(tmp4*tmp11); -double tmp111 = -2*tmp6*tmp2*tmp0; -double tmp112 = tmp4*tmp12; -double tmp113 = -2*tmp10*tmp0*tmp1; -double tmp114 = -(tmp4*tmp13); -double tmp115 = 2*tmp10*tmp2*tmp3; -double tmp116 = -2*tmp6*tmp1*tmp3; -double tmp117 = tmp4*tmp14; -double tmp118 = tmp110 + tmp111 + tmp112 + tmp113 + tmp114 + tmp115 + tmp116 + tmp117 + tmp23; +double tmp110 = tmp4*tmp11; +double tmp111 = 2*tmp6*tmp2*tmp0; +double tmp112 = -(tmp4*tmp12); +double tmp113 = 2*tmp10*tmp0*tmp1; +double tmp114 = tmp4*tmp13; +double tmp115 = -2*tmp10*tmp2*tmp3; +double tmp116 = 2*tmp6*tmp1*tmp3; +double tmp117 = -(tmp4*tmp14); +double tmp118 = tmp110 + tmp111 + tmp112 + tmp113 + tmp114 + tmp115 + tmp116 + tmp117 + tmp28; double tmp119 = fLift(1+_OFF); double tmp120 = fLift(2+_OFF); -double tmp121 = tmp69*tmp120; +double tmp121 = tmp70*tmp120; double tmp122 = tmp119 + tmp121; -double tmp123 = tmp6*tmp11; -double tmp124 = -2*tmp4*tmp2*tmp0; -double tmp125 = -(tmp6*tmp12); -double tmp126 = 2*tmp10*tmp2*tmp1; -double tmp127 = -(tmp6*tmp13); -double tmp128 = 2*tmp10*tmp0*tmp3; -double tmp129 = 2*tmp4*tmp1*tmp3; -double tmp130 = tmp6*tmp14; -double tmp131 = tmp123 + tmp124 + tmp125 + tmp126 + tmp127 + tmp128 + tmp129 + tmp130 + tmp58; +double tmp123 = -(tmp6*tmp11); +double tmp124 = 2*tmp4*tmp2*tmp0; +double tmp125 = tmp6*tmp12; +double tmp126 = -2*tmp10*tmp2*tmp1; +double tmp127 = tmp6*tmp13; +double tmp128 = -2*tmp10*tmp0*tmp3; +double tmp129 = -2*tmp4*tmp1*tmp3; +double tmp130 = -(tmp6*tmp14); +double tmp131 = tmp123 + tmp124 + tmp125 + tmp126 + tmp127 + tmp128 + tmp129 + tmp130 + tmp42; double tmp132 = ibd(2+_OFF); double tmp133 = ibd(3+_OFF); double tmp134 = ibod(1+_OFF); @@ -173,7 +173,7 @@ double tmp171 = mRoll(1+_OFF); double tmp172 = z(2+_OFF); double tmp173 = -(tmp171*tmp172); double tmp174 = tmp166 + tmp168 + tmp170 + tmp173; -double tmp175 = 0.001740341106856944*tmp26*tmp53*tmp54*tmp142*tmp65*tmp52*tmp174; +double tmp175 = 0.001740341106856944*tmp26*tmp54*tmp55*tmp142*tmp66*tmp53*tmp174; double tmp176 = tmp159 + tmp160 + tmp161 + tmp162 + tmp163 + tmp164 + tmp175; double tmp177 = tmp134*tmp154; double tmp178 = tmp136*tmp140*tmp139; @@ -184,14 +184,14 @@ double tmp182 = -(tmp134*tmp152); double tmp183 = mPitch(1+_OFF); double tmp184 = -tmp183; double tmp185 = mPitch(3+_OFF); -double tmp186 = -(tmp69*tmp185); +double tmp186 = -(tmp70*tmp185); double tmp187 = mPitch(4+_OFF); double tmp188 = (tmp153*tmp187*tmp75*tmp139)/2.; double tmp189 = mPitch(2+_OFF); double tmp190 = z(3+_OFF); double tmp191 = -(tmp189*tmp190); double tmp192 = tmp184 + tmp186 + tmp188 + tmp191; -double tmp193 = 0.001740341106856944*tmp26*tmp53*tmp153*tmp54*tmp65*tmp52*tmp192; +double tmp193 = 0.001740341106856944*tmp26*tmp54*tmp153*tmp55*tmp66*tmp53*tmp192; double tmp194 = tmp177 + tmp178 + tmp179 + tmp180 + tmp181 + tmp182 + tmp193; double tmp195 = -(tmp135*tmp154); double tmp196 = tmp137*tmp140*tmp139; @@ -207,7 +207,7 @@ double tmp205 = mYaw(1+_OFF); double tmp206 = z(4+_OFF); double tmp207 = tmp205*tmp206; double tmp208 = tmp202 + tmp204 + tmp207; -double tmp209 = 0.001740341106856944*tmp26*tmp53*tmp54*tmp142*tmp65*tmp52*tmp208; +double tmp209 = 0.001740341106856944*tmp26*tmp54*tmp55*tmp142*tmp66*tmp53*tmp208; double tmp210 = tmp195 + tmp196 + tmp197 + tmp198 + tmp199 + tmp200 + tmp209; double tmp211 = -(tmp132*tmp134); double tmp212 = tmp135*tmp136; @@ -215,9 +215,9 @@ double tmp213 = tmp211 + tmp212; double tmp214 = tmp134*tmp135; double tmp215 = -(tmp137*tmp136); double tmp216 = tmp214 + tmp215; -err(1+_OFF) = 2*tmp91*tmp9 + x(14+_OFF) - tmp93*(-0.001740341106856944*tmp26*tmp53*tmp77*tmp54*tmp104*tmp65*tmp86*tmp118*tmp68*tmp88 - 0.001740341106856944*tmp26*tmp53*tmp54*tmp122*tmp65*tmp68*(-(tmp6*tmp11) + 2*tmp4*tmp2*tmp0 + tmp6*tmp12 - 2*tmp10*tmp2*tmp1 + tmp6*tmp13 - 2*tmp10*tmp0*tmp3 - 2*tmp4*tmp1*tmp3 - tmp6*tmp14 + tmp41)*tmp52 + 0.001740341106856944*tmp26*tmp53*tmp54*tmp103*tmp65*tmp86*tmp68*tmp52*tmp109 + 0.003480682213713888*tmp26*tmp53*tmp89*tmp65*((fThrust(3+_OFF)*tmp52)/std::pow(M_PI,2) + (tmp87*fThrust(2+_OFF)*tmp88*tmp90)/M_PI + tmp89*fThrust(1+_OFF)*std::pow(tmp90,2))); -err(2+_OFF) = 2*tmp91*tmp20 - tmp93*(0. + 0.001740341106856944*tmp26*tmp53*tmp54*tmp103*tmp65*(tmp4*tmp11 + 2*tmp6*tmp2*tmp0 - tmp4*tmp12 + 2*tmp10*tmp0*tmp1 + tmp4*tmp13 - 2*tmp10*tmp2*tmp3 + 2*tmp6*tmp1*tmp3 - tmp4*tmp14 + tmp73)*tmp88 - 0.001740341106856944*tmp26*tmp53*tmp77*tmp54*tmp104*tmp65*tmp52*tmp109) + x(15+_OFF); -err(3+_OFF) = tmp91*tmp40 - tmp93*(-0.001740341106856944*tmp26*tmp53*tmp77*tmp54*tmp104*tmp65*tmp118*tmp68*tmp131*tmp88 - 0.001740341106856944*tmp26*tmp53*tmp54*tmp122*tmp65*tmp86*tmp68*tmp52 + 0.001740341106856944*tmp26*tmp53*tmp54*tmp103*tmp65*tmp68*tmp131*tmp52*tmp109) + x(16+_OFF); +err(1+_OFF) = 2*tmp91*tmp9 + x(14+_OFF) - tmp93*(-0.001740341106856944*tmp26*tmp54*tmp77*tmp55*tmp104*tmp66*tmp86*tmp118*tmp69*tmp88 - 0.001740341106856944*tmp26*tmp54*tmp55*tmp122*tmp66*tmp69*(tmp6*tmp11 - 2*tmp4*tmp2*tmp0 - tmp6*tmp12 + 2*tmp10*tmp2*tmp1 - tmp6*tmp13 + 2*tmp10*tmp0*tmp3 + 2*tmp4*tmp1*tmp3 + tmp6*tmp14 + tmp59)*tmp53 + 0.001740341106856944*tmp26*tmp54*tmp55*tmp103*tmp66*tmp86*tmp69*tmp53*tmp109 + 0.003480682213713888*tmp26*tmp54*tmp89*tmp66*((fThrust(3+_OFF)*tmp53)/std::pow(M_PI,2) + (tmp87*fThrust(2+_OFF)*tmp88*tmp90)/M_PI + tmp89*fThrust(1+_OFF)*std::pow(tmp90,2))); +err(2+_OFF) = 2*tmp91*tmp20 - tmp93*(0. + 0.001740341106856944*tmp26*tmp54*tmp55*tmp103*tmp66*(-(tmp4*tmp11) - 2*tmp6*tmp2*tmp0 + tmp4*tmp12 - 2*tmp10*tmp0*tmp1 - tmp4*tmp13 + 2*tmp10*tmp2*tmp3 - 2*tmp6*tmp1*tmp3 + tmp4*tmp14 + tmp23)*tmp88 - 0.001740341106856944*tmp26*tmp54*tmp77*tmp55*tmp104*tmp66*tmp53*tmp109) + x(15+_OFF); +err(3+_OFF) = tmp91*tmp41 - tmp93*(-0.001740341106856944*tmp26*tmp54*tmp77*tmp55*tmp104*tmp66*tmp118*tmp69*tmp131*tmp88 - 0.001740341106856944*tmp26*tmp54*tmp55*tmp122*tmp66*tmp86*tmp69*tmp53 + 0.001740341106856944*tmp26*tmp54*tmp55*tmp103*tmp66*tmp69*tmp131*tmp53*tmp109) + x(16+_OFF); err(4+_OFF) = x(17+_OFF) - (tmp132*tmp133 - tmp138)*tmp151*tmp176 - tmp158*tmp151*tmp194 - tmp213*tmp151*tmp210; err(5+_OFF) = x(18+_OFF) - tmp158*tmp151*tmp176 - (tmp137*tmp133 - tmp144)*tmp151*tmp194 - tmp216*tmp151*tmp210; err(6+_OFF) = x(19+_OFF) - tmp213*tmp151*tmp176 - tmp216*tmp151*tmp194 - (tmp137*tmp132 - tmp146)*tmp151*tmp210; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrPose.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrPose.cppready index 148ce00..dca8ab5 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrPose.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrPose.cppready @@ -23,58 +23,58 @@ double tmp21 = tmp1*tmp3; double tmp22 = -tmp10; double tmp23 = airDensity(2+_OFF); double tmp24 = x(8+_OFF); -double tmp25 = tmp0*tmp3; -double tmp26 = tmp5 + tmp25; -double tmp27 = -2*tmp4*tmp26; -double tmp28 = -(tmp0*tmp2); -double tmp29 = tmp28 + tmp21; -double tmp30 = -2*tmp6*tmp29; -double tmp31 = tmp8 + tmp9 + tmp22 + tmp12; -double tmp32 = -(tmp7*tmp31); -double tmp33 = tmp27 + tmp30 + tmp32 + tmp24; -double tmp34 = std::pow(tmp33,2); -double tmp35 = tmp0*tmp2; -double tmp36 = tmp35 + tmp21; -double tmp37 = -(tmp0*tmp1); -double tmp38 = tmp37 + tmp16; -double tmp39 = tmp8 + tmp18 + tmp22 + tmp11; -double tmp40 = x(10+_OFF); -double tmp41 = -2*tmp7*tmp14; -double tmp42 = -2*tmp6*tmp17; -double tmp43 = -(tmp4*tmp19); -double tmp44 = tmp41 + tmp42 + tmp43 + tmp20; -double tmp45 = std::pow(tmp44,2); -double tmp46 = -2*tmp7*tmp36; -double tmp47 = -2*tmp4*tmp38; -double tmp48 = -(tmp6*tmp39); -double tmp49 = tmp46 + tmp47 + tmp48 + tmp40; -double tmp50 = std::pow(tmp49,2); -double tmp51 = tmp34 + tmp45 + tmp50; -double tmp52 = std::pow(tmp23,-2); -double tmp53 = airDensity(3+_OFF); -double tmp54 = cp(2+_OFF); -double tmp55 = 2*tmp7*tmp36; -double tmp56 = 2*tmp4*tmp38; -double tmp57 = tmp6*tmp39; -double tmp58 = -tmp40; -double tmp59 = tmp55 + tmp56 + tmp57 + tmp58; -double tmp60 = 1/tmp23; -double tmp61 = airDensity(1+_OFF); -double tmp62 = x(3+_OFF); -double tmp63 = tmp61 + tmp62; -double tmp64 = -0.006500000000000001*tmp60*tmp63; -double tmp65 = 1 + tmp64; -double tmp66 = std::pow(tmp65,3.2561); -double tmp67 = std::pow(tmp59,2); -double tmp68 = tmp34 + tmp67; -double tmp69 = 1/std::sqrt(tmp68); -double tmp70 = std::atan2(tmp59,tmp33); -double tmp71 = 2*tmp7*tmp14; -double tmp72 = 2*tmp6*tmp17; -double tmp73 = tmp4*tmp19; -double tmp74 = -tmp20; -double tmp75 = tmp71 + tmp72 + tmp73 + tmp74; -double tmp76 = 1/std::sqrt(tmp51); +double tmp25 = -tmp20; +double tmp26 = tmp0*tmp3; +double tmp27 = tmp5 + tmp26; +double tmp28 = -2*tmp4*tmp27; +double tmp29 = -(tmp0*tmp2); +double tmp30 = tmp29 + tmp21; +double tmp31 = -2*tmp6*tmp30; +double tmp32 = tmp8 + tmp9 + tmp22 + tmp12; +double tmp33 = -(tmp7*tmp32); +double tmp34 = tmp28 + tmp31 + tmp33 + tmp24; +double tmp35 = std::pow(tmp34,2); +double tmp36 = tmp0*tmp2; +double tmp37 = tmp36 + tmp21; +double tmp38 = -(tmp0*tmp1); +double tmp39 = tmp38 + tmp16; +double tmp40 = tmp8 + tmp18 + tmp22 + tmp11; +double tmp41 = x(10+_OFF); +double tmp42 = -2*tmp7*tmp14; +double tmp43 = -2*tmp6*tmp17; +double tmp44 = -(tmp4*tmp19); +double tmp45 = tmp42 + tmp43 + tmp44 + tmp20; +double tmp46 = std::pow(tmp45,2); +double tmp47 = -2*tmp7*tmp37; +double tmp48 = -2*tmp4*tmp39; +double tmp49 = -(tmp6*tmp40); +double tmp50 = tmp47 + tmp48 + tmp49 + tmp41; +double tmp51 = std::pow(tmp50,2); +double tmp52 = tmp35 + tmp46 + tmp51; +double tmp53 = std::pow(tmp23,-2); +double tmp54 = airDensity(3+_OFF); +double tmp55 = cp(2+_OFF); +double tmp56 = 2*tmp7*tmp37; +double tmp57 = 2*tmp4*tmp39; +double tmp58 = tmp6*tmp40; +double tmp59 = -tmp41; +double tmp60 = tmp56 + tmp57 + tmp58 + tmp59; +double tmp61 = 1/tmp23; +double tmp62 = airDensity(1+_OFF); +double tmp63 = x(3+_OFF); +double tmp64 = tmp62 + tmp63; +double tmp65 = -0.006500000000000001*tmp61*tmp64; +double tmp66 = 1 + tmp65; +double tmp67 = std::pow(tmp66,3.2561); +double tmp68 = std::pow(tmp60,2); +double tmp69 = tmp35 + tmp68; +double tmp70 = 1/std::sqrt(tmp69); +double tmp71 = std::atan2(tmp60,tmp34); +double tmp72 = 2*tmp7*tmp14; +double tmp73 = 2*tmp6*tmp17; +double tmp74 = tmp4*tmp19; +double tmp75 = tmp72 + tmp73 + tmp74 + tmp25; +double tmp76 = 1/std::sqrt(tmp52); double tmp77 = tmp75*tmp76; double tmp78 = std::asin(tmp77); double tmp79 = -(tmp7*tmp8); @@ -87,15 +87,15 @@ double tmp85 = -2*tmp6*tmp1*tmp3; double tmp86 = tmp7*tmp11; double tmp87 = tmp79 + tmp80 + tmp81 + tmp82 + tmp83 + tmp84 + tmp85 + tmp86 + tmp24; double tmp88 = cp(1+_OFF); -double tmp89 = std::sqrt(tmp51); +double tmp89 = std::sqrt(tmp52); double tmp90 = std::pow(tmp88,2); double tmp91 = z(1+_OFF); double tmp92 = cp(4+_OFF); double tmp93 = 1/tmp92; double tmp94 = fDrag(1+_OFF); double tmp95 = fDrag(2+_OFF); -double tmp96 = tmp70*tmp95; -double tmp97 = std::pow(tmp70,2); +double tmp96 = tmp71*tmp95; +double tmp97 = std::pow(tmp71,2); double tmp98 = fDrag(3+_OFF); double tmp99 = tmp97*tmp98; double tmp100 = std::pow(tmp78,2); @@ -104,32 +104,32 @@ double tmp102 = tmp100*tmp101; double tmp103 = tmp94 + tmp96 + tmp99 + tmp102; double tmp104 = fLat(1+_OFF); double tmp105 = std::pow(tmp75,2); -double tmp106 = 1/tmp51; +double tmp106 = 1/tmp52; double tmp107 = -(tmp105*tmp106); double tmp108 = 1 + tmp107; double tmp109 = std::sqrt(tmp108); -double tmp110 = -(tmp4*tmp8); -double tmp111 = -2*tmp6*tmp0*tmp1; -double tmp112 = tmp4*tmp9; -double tmp113 = -2*tmp7*tmp1*tmp2; -double tmp114 = -(tmp4*tmp10); -double tmp115 = 2*tmp7*tmp0*tmp3; -double tmp116 = -2*tmp6*tmp2*tmp3; -double tmp117 = tmp4*tmp11; -double tmp118 = tmp110 + tmp111 + tmp112 + tmp113 + tmp114 + tmp115 + tmp116 + tmp117 + tmp20; +double tmp110 = tmp4*tmp8; +double tmp111 = 2*tmp6*tmp0*tmp1; +double tmp112 = -(tmp4*tmp9); +double tmp113 = 2*tmp7*tmp1*tmp2; +double tmp114 = tmp4*tmp10; +double tmp115 = -2*tmp7*tmp0*tmp3; +double tmp116 = 2*tmp6*tmp2*tmp3; +double tmp117 = -(tmp4*tmp11); +double tmp118 = tmp110 + tmp111 + tmp112 + tmp113 + tmp114 + tmp115 + tmp116 + tmp117 + tmp25; double tmp119 = fLift(1+_OFF); double tmp120 = fLift(2+_OFF); -double tmp121 = tmp70*tmp120; +double tmp121 = tmp71*tmp120; double tmp122 = tmp119 + tmp121; -double tmp123 = tmp6*tmp8; -double tmp124 = -2*tmp4*tmp0*tmp1; -double tmp125 = -(tmp6*tmp9); -double tmp126 = 2*tmp7*tmp0*tmp2; -double tmp127 = -(tmp6*tmp10); -double tmp128 = 2*tmp7*tmp1*tmp3; -double tmp129 = 2*tmp4*tmp2*tmp3; -double tmp130 = tmp6*tmp11; -double tmp131 = tmp123 + tmp124 + tmp125 + tmp126 + tmp127 + tmp128 + tmp129 + tmp130 + tmp58; +double tmp123 = -(tmp6*tmp8); +double tmp124 = 2*tmp4*tmp0*tmp1; +double tmp125 = tmp6*tmp9; +double tmp126 = -2*tmp7*tmp0*tmp2; +double tmp127 = tmp6*tmp10; +double tmp128 = -2*tmp7*tmp1*tmp3; +double tmp129 = -2*tmp4*tmp2*tmp3; +double tmp130 = -(tmp6*tmp11); +double tmp131 = tmp123 + tmp124 + tmp125 + tmp126 + tmp127 + tmp128 + tmp129 + tmp130 + tmp41; double tmp132 = ibd(2+_OFF); double tmp133 = ibd(3+_OFF); double tmp134 = ibod(1+_OFF); @@ -166,7 +166,7 @@ double tmp164 = tmp155 + tmp158 + tmp160 + tmp163; double tmp165 = mPitch(1+_OFF); double tmp166 = -tmp165; double tmp167 = mPitch(3+_OFF); -double tmp168 = -(tmp70*tmp167); +double tmp168 = -(tmp71*tmp167); double tmp169 = mPitch(4+_OFF); double tmp170 = x(12+_OFF); double tmp171 = (tmp149*tmp169*tmp76*tmp170)/2.; @@ -190,19 +190,19 @@ double tmp188 = -(tmp137*tmp136); double tmp189 = tmp187 + tmp188; J(1+_OFF,1+_OFF) = 0; J(1+_OFF,2+_OFF) = 0; -J(1+_OFF,3+_OFF) = -(tmp93*(0.00004814592760180996*tmp52*tmp53*tmp78*tmp54*tmp104*tmp66*tmp87*tmp118*tmp69*tmp89 + 0.00004814592760180996*tmp52*tmp53*tmp54*tmp122*tmp66*tmp69*(-(tmp6*tmp8) + 2*tmp4*tmp0*tmp1 + tmp6*tmp9 - 2*tmp7*tmp0*tmp2 + tmp6*tmp10 - 2*tmp7*tmp1*tmp3 - 2*tmp4*tmp2*tmp3 - tmp6*tmp11 + tmp40)*tmp51 - 0.00004814592760180996*tmp52*tmp53*tmp54*tmp103*tmp66*tmp87*tmp69*tmp51*tmp109 - 0.00009629185520361992*tmp52*tmp53*tmp90*tmp66*((fThrust(3+_OFF)*tmp51)/std::pow(M_PI,2) + (tmp88*fThrust(2+_OFF)*tmp89*tmp91)/M_PI + tmp90*fThrust(1+_OFF)*std::pow(tmp91,2)))); +J(1+_OFF,3+_OFF) = -(tmp93*(0.00004814592760180996*tmp53*tmp54*tmp78*tmp55*tmp104*tmp67*tmp87*tmp118*tmp70*tmp89 + 0.00004814592760180996*tmp53*tmp54*tmp55*tmp122*tmp67*tmp70*(tmp6*tmp8 - 2*tmp4*tmp0*tmp1 - tmp6*tmp9 + 2*tmp7*tmp0*tmp2 - tmp6*tmp10 + 2*tmp7*tmp1*tmp3 + 2*tmp4*tmp2*tmp3 + tmp6*tmp11 + tmp59)*tmp52 - 0.00004814592760180996*tmp53*tmp54*tmp55*tmp103*tmp67*tmp87*tmp70*tmp52*tmp109 - 0.00009629185520361992*tmp53*tmp54*tmp90*tmp67*((fThrust(3+_OFF)*tmp52)/std::pow(M_PI,2) + (tmp88*fThrust(2+_OFF)*tmp89*tmp91)/M_PI + tmp90*fThrust(1+_OFF)*std::pow(tmp91,2)))); J(2+_OFF,1+_OFF) = 0; J(2+_OFF,2+_OFF) = 0; -J(2+_OFF,3+_OFF) = -(tmp93*(-0.00004814592760180996*tmp52*tmp53*tmp54*tmp103*tmp66*(tmp4*tmp8 + 2*tmp6*tmp0*tmp1 - tmp4*tmp9 + 2*tmp7*tmp1*tmp2 + tmp4*tmp10 - 2*tmp7*tmp0*tmp3 + 2*tmp6*tmp2*tmp3 - tmp4*tmp11 + tmp74)*tmp89 + 0.00004814592760180996*tmp52*tmp53*tmp78*tmp54*tmp104*tmp66*tmp51*tmp109)); +J(2+_OFF,3+_OFF) = -(tmp93*(-0.00004814592760180996*tmp53*tmp54*tmp55*tmp103*tmp67*(-(tmp4*tmp8) - 2*tmp6*tmp0*tmp1 + tmp4*tmp9 - 2*tmp7*tmp1*tmp2 - tmp4*tmp10 + 2*tmp7*tmp0*tmp3 - 2*tmp6*tmp2*tmp3 + tmp4*tmp11 + tmp20)*tmp89 + 0.00004814592760180996*tmp53*tmp54*tmp78*tmp55*tmp104*tmp67*tmp52*tmp109)); J(3+_OFF,1+_OFF) = 0; J(3+_OFF,2+_OFF) = 0; -J(3+_OFF,3+_OFF) = -(tmp93*(0.00004814592760180996*tmp52*tmp53*tmp78*tmp54*tmp104*tmp66*tmp118*tmp69*tmp131*tmp89 + 0.00004814592760180996*tmp52*tmp53*tmp54*tmp122*tmp66*tmp87*tmp69*tmp51 - 0.00004814592760180996*tmp52*tmp53*tmp54*tmp103*tmp66*tmp69*tmp131*tmp51*tmp109)); +J(3+_OFF,3+_OFF) = -(tmp93*(0.00004814592760180996*tmp53*tmp54*tmp78*tmp55*tmp104*tmp67*tmp118*tmp70*tmp131*tmp89 + 0.00004814592760180996*tmp53*tmp54*tmp55*tmp122*tmp67*tmp87*tmp70*tmp52 - 0.00004814592760180996*tmp53*tmp54*tmp55*tmp103*tmp67*tmp70*tmp131*tmp52*tmp109)); J(4+_OFF,1+_OFF) = 0; J(4+_OFF,2+_OFF) = 0; -J(4+_OFF,3+_OFF) = 0.00004814592760180996*tmp52*tmp53*tmp54*tmp139*(tmp132*tmp133 - tmp138)*tmp148*tmp66*tmp51*tmp164 + 0.00004814592760180996*tmp52*tmp53*tmp149*tmp54*tmp153*tmp148*tmp66*tmp51*tmp175 + 0.00004814592760180996*tmp52*tmp53*tmp54*tmp139*tmp186*tmp148*tmp66*tmp51*tmp183; +J(4+_OFF,3+_OFF) = 0.00004814592760180996*tmp53*tmp54*tmp55*tmp139*(tmp132*tmp133 - tmp138)*tmp148*tmp67*tmp52*tmp164 + 0.00004814592760180996*tmp53*tmp54*tmp149*tmp55*tmp153*tmp148*tmp67*tmp52*tmp175 + 0.00004814592760180996*tmp53*tmp54*tmp55*tmp139*tmp186*tmp148*tmp67*tmp52*tmp183; J(5+_OFF,1+_OFF) = 0; J(5+_OFF,2+_OFF) = 0; -J(5+_OFF,3+_OFF) = 0.00004814592760180996*tmp52*tmp53*tmp54*tmp139*tmp153*tmp148*tmp66*tmp51*tmp164 + 0.00004814592760180996*tmp52*tmp53*tmp149*tmp54*(tmp137*tmp133 - tmp141)*tmp148*tmp66*tmp51*tmp175 + 0.00004814592760180996*tmp52*tmp53*tmp54*tmp139*tmp189*tmp148*tmp66*tmp51*tmp183; +J(5+_OFF,3+_OFF) = 0.00004814592760180996*tmp53*tmp54*tmp55*tmp139*tmp153*tmp148*tmp67*tmp52*tmp164 + 0.00004814592760180996*tmp53*tmp54*tmp149*tmp55*(tmp137*tmp133 - tmp141)*tmp148*tmp67*tmp52*tmp175 + 0.00004814592760180996*tmp53*tmp54*tmp55*tmp139*tmp189*tmp148*tmp67*tmp52*tmp183; J(6+_OFF,1+_OFF) = 0; J(6+_OFF,2+_OFF) = 0; -J(6+_OFF,3+_OFF) = 0.00004814592760180996*tmp52*tmp53*tmp54*tmp139*tmp186*tmp148*tmp66*tmp51*tmp164 + 0.00004814592760180996*tmp52*tmp53*tmp149*tmp54*tmp189*tmp148*tmp66*tmp51*tmp175 + 0.00004814592760180996*tmp52*tmp53*tmp54*tmp139*(tmp137*tmp132 - tmp143)*tmp148*tmp66*tmp51*tmp183; +J(6+_OFF,3+_OFF) = 0.00004814592760180996*tmp53*tmp54*tmp55*tmp139*tmp186*tmp148*tmp67*tmp52*tmp164 + 0.00004814592760180996*tmp53*tmp54*tmp149*tmp55*tmp189*tmp148*tmp67*tmp52*tmp175 + 0.00004814592760180996*tmp53*tmp54*tmp55*tmp139*(tmp137*tmp132 - tmp143)*tmp148*tmp67*tmp52*tmp183; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrQ.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrQ.cppready index 2afe4bb..49158ae 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrQ.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrQ.cppready @@ -61,35 +61,35 @@ double tmp59 = tmp57 + tmp58; double tmp60 = -0.006500000000000001*tmp14*tmp59; double tmp61 = 1 + tmp60; double tmp62 = std::pow(tmp61,4.2561); -double tmp63 = std::pow(tmp39,2); -double tmp64 = tmp47 + tmp63; -double tmp65 = 1/std::sqrt(tmp64); -double tmp66 = -2*tmp4*tmp1; -double tmp67 = 2*tmp7*tmp0; -double tmp68 = -2*tmp6*tmp3; -double tmp69 = tmp66 + tmp67 + tmp68; -double tmp70 = 2*tmp69*tmp26; -double tmp71 = -2*tmp6*tmp1; -double tmp72 = -2*tmp7*tmp2; -double tmp73 = 2*tmp4*tmp3; -double tmp74 = tmp71 + tmp72 + tmp73; -double tmp75 = 2*tmp74*tmp51; -double tmp76 = -2*tmp7*tmp1; -double tmp77 = 2*tmp6*tmp2; -double tmp78 = -2*tmp4*tmp0; -double tmp79 = tmp76 + tmp77 + tmp78; -double tmp80 = 2*tmp79*tmp55; -double tmp81 = tmp70 + tmp75 + tmp80; -double tmp82 = std::pow(tmp51,2); -double tmp83 = std::pow(tmp55,2); -double tmp84 = tmp47 + tmp82 + tmp83; -double tmp85 = 1/std::sqrt(tmp84); -double tmp86 = 2*tmp4*tmp42; -double tmp87 = 2*tmp7*tmp44; -double tmp88 = tmp6*tmp45; -double tmp89 = -tmp46; -double tmp90 = tmp86 + tmp87 + tmp88 + tmp89; -double tmp91 = tmp90*tmp85; +double tmp63 = -tmp46; +double tmp64 = std::pow(tmp39,2); +double tmp65 = tmp47 + tmp64; +double tmp66 = 1/std::sqrt(tmp65); +double tmp67 = -2*tmp4*tmp1; +double tmp68 = 2*tmp7*tmp0; +double tmp69 = -2*tmp6*tmp3; +double tmp70 = tmp67 + tmp68 + tmp69; +double tmp71 = 2*tmp70*tmp26; +double tmp72 = -2*tmp6*tmp1; +double tmp73 = -2*tmp7*tmp2; +double tmp74 = 2*tmp4*tmp3; +double tmp75 = tmp72 + tmp73 + tmp74; +double tmp76 = 2*tmp75*tmp51; +double tmp77 = -2*tmp7*tmp1; +double tmp78 = 2*tmp6*tmp2; +double tmp79 = -2*tmp4*tmp0; +double tmp80 = tmp77 + tmp78 + tmp79; +double tmp81 = 2*tmp80*tmp55; +double tmp82 = tmp71 + tmp76 + tmp81; +double tmp83 = std::pow(tmp51,2); +double tmp84 = std::pow(tmp55,2); +double tmp85 = tmp47 + tmp83 + tmp84; +double tmp86 = 1/std::sqrt(tmp85); +double tmp87 = 2*tmp4*tmp42; +double tmp88 = 2*tmp7*tmp44; +double tmp89 = tmp6*tmp45; +double tmp90 = tmp87 + tmp88 + tmp89 + tmp63; +double tmp91 = tmp90*tmp86; double tmp92 = std::asin(tmp91); double tmp93 = fLat(1+_OFF); double tmp94 = -(tmp4*tmp8); @@ -101,16 +101,16 @@ double tmp99 = -2*tmp6*tmp1*tmp3; double tmp100 = -2*tmp7*tmp2*tmp3; double tmp101 = tmp4*tmp12; double tmp102 = tmp94 + tmp95 + tmp96 + tmp97 + tmp98 + tmp99 + tmp100 + tmp101 + tmp25; -double tmp103 = -(tmp6*tmp8); -double tmp104 = -2*tmp7*tmp1*tmp2; -double tmp105 = tmp6*tmp9; -double tmp106 = -2*tmp4*tmp2*tmp0; -double tmp107 = -(tmp6*tmp10); -double tmp108 = 2*tmp4*tmp1*tmp3; -double tmp109 = -2*tmp7*tmp0*tmp3; -double tmp110 = tmp6*tmp12; -double tmp111 = tmp103 + tmp104 + tmp105 + tmp106 + tmp107 + tmp108 + tmp109 + tmp110 + tmp46; -double tmp112 = std::sqrt(tmp84); +double tmp103 = tmp6*tmp8; +double tmp104 = 2*tmp7*tmp1*tmp2; +double tmp105 = -(tmp6*tmp9); +double tmp106 = 2*tmp4*tmp2*tmp0; +double tmp107 = tmp6*tmp10; +double tmp108 = -2*tmp4*tmp1*tmp3; +double tmp109 = 2*tmp7*tmp0*tmp3; +double tmp110 = -(tmp6*tmp12); +double tmp111 = tmp103 + tmp104 + tmp105 + tmp106 + tmp107 + tmp108 + tmp109 + tmp110 + tmp63; +double tmp112 = std::sqrt(tmp85); double tmp113 = fLift(1+_OFF); double tmp114 = std::atan2(tmp39,tmp26); double tmp115 = fLift(2+_OFF); @@ -121,44 +121,44 @@ double tmp119 = -2*tmp6*tmp2; double tmp120 = 2*tmp4*tmp0; double tmp121 = tmp118 + tmp119 + tmp120; double tmp122 = 2*tmp121*tmp39; -double tmp123 = tmp70 + tmp122; -double tmp124 = std::pow(tmp64,-1.5); -double tmp125 = -(tmp7*tmp8); -double tmp126 = 2*tmp6*tmp1*tmp2; -double tmp127 = tmp7*tmp9; -double tmp128 = -2*tmp4*tmp1*tmp0; -double tmp129 = tmp7*tmp10; -double tmp130 = -2*tmp4*tmp2*tmp3; -double tmp131 = -2*tmp6*tmp0*tmp3; -double tmp132 = -(tmp7*tmp12); -double tmp133 = tmp125 + tmp126 + tmp127 + tmp128 + tmp129 + tmp130 + tmp131 + tmp132 + tmp37; -double tmp134 = 1/tmp64; -double tmp135 = std::pow(tmp90,2); -double tmp136 = 1/tmp84; -double tmp137 = fDrag(1+_OFF); -double tmp138 = fDrag(2+_OFF); -double tmp139 = tmp114*tmp138; -double tmp140 = std::pow(tmp114,2); -double tmp141 = fDrag(3+_OFF); -double tmp142 = tmp140*tmp141; -double tmp143 = std::pow(tmp92,2); -double tmp144 = fDrag(4+_OFF); -double tmp145 = tmp143*tmp144; -double tmp146 = tmp137 + tmp139 + tmp142 + tmp145; -double tmp147 = -(tmp135*tmp136); -double tmp148 = 1 + tmp147; -double tmp149 = std::sqrt(tmp148); -double tmp150 = 1/std::sqrt(tmp148); -double tmp151 = 2*tmp6*tmp1; -double tmp152 = 2*tmp7*tmp2; -double tmp153 = -2*tmp4*tmp3; -double tmp154 = tmp151 + tmp152 + tmp153; +double tmp123 = tmp71 + tmp122; +double tmp124 = std::pow(tmp65,-1.5); +double tmp125 = tmp7*tmp8; +double tmp126 = -2*tmp6*tmp1*tmp2; +double tmp127 = -(tmp7*tmp9); +double tmp128 = 2*tmp4*tmp1*tmp0; +double tmp129 = -(tmp7*tmp10); +double tmp130 = 2*tmp4*tmp2*tmp3; +double tmp131 = 2*tmp6*tmp0*tmp3; +double tmp132 = tmp7*tmp12; +double tmp133 = tmp125 + tmp126 + tmp127 + tmp128 + tmp129 + tmp130 + tmp131 + tmp132 + tmp38; +double tmp134 = 1/tmp65; +double tmp135 = 2*tmp6*tmp1; +double tmp136 = 2*tmp7*tmp2; +double tmp137 = -2*tmp4*tmp3; +double tmp138 = tmp135 + tmp136 + tmp137; +double tmp139 = std::pow(tmp90,2); +double tmp140 = 1/tmp85; +double tmp141 = fDrag(1+_OFF); +double tmp142 = fDrag(2+_OFF); +double tmp143 = tmp114*tmp142; +double tmp144 = std::pow(tmp114,2); +double tmp145 = fDrag(3+_OFF); +double tmp146 = tmp144*tmp145; +double tmp147 = std::pow(tmp92,2); +double tmp148 = fDrag(4+_OFF); +double tmp149 = tmp147*tmp148; +double tmp150 = tmp141 + tmp143 + tmp146 + tmp149; +double tmp151 = -(tmp139*tmp140); +double tmp152 = 1 + tmp151; +double tmp153 = std::sqrt(tmp152); +double tmp154 = 1/std::sqrt(tmp152); double tmp155 = tmp121*tmp26*tmp134; -double tmp156 = tmp69*tmp134*tmp55; +double tmp156 = tmp70*tmp134*tmp55; double tmp157 = tmp155 + tmp156; -double tmp158 = std::pow(tmp84,-1.5); -double tmp159 = -(tmp90*tmp81*tmp158)/2.; -double tmp160 = tmp154*tmp85; +double tmp158 = std::pow(tmp85,-1.5); +double tmp159 = -(tmp90*tmp82*tmp158)/2.; +double tmp160 = tmp138*tmp86; double tmp161 = tmp159 + tmp160; double tmp162 = cp(1+_OFF); double tmp163 = gravity(1+_OFF); @@ -169,17 +169,17 @@ double tmp167 = -2*tmp6*tmp0; double tmp168 = -2*tmp7*tmp3; double tmp169 = tmp166 + tmp167 + tmp168; double tmp170 = 2*tmp169*tmp26; -double tmp171 = 2*tmp79*tmp51; -double tmp172 = 2*tmp154*tmp55; +double tmp171 = 2*tmp80*tmp51; +double tmp172 = 2*tmp138*tmp55; double tmp173 = tmp170 + tmp171 + tmp172; -double tmp174 = 2*tmp74*tmp39; +double tmp174 = 2*tmp75*tmp39; double tmp175 = tmp170 + tmp174; -double tmp176 = std::pow(tmp84,-2); -double tmp177 = tmp74*tmp26*tmp134; +double tmp176 = std::pow(tmp85,-2); +double tmp177 = tmp75*tmp26*tmp134; double tmp178 = tmp169*tmp134*tmp55; double tmp179 = tmp177 + tmp178; double tmp180 = -(tmp90*tmp173*tmp158)/2.; -double tmp181 = tmp121*tmp85; +double tmp181 = tmp121*tmp86; double tmp182 = tmp180 + tmp181; double tmp183 = std::pow(tmp162,2); double tmp184 = std::pow(M_PI,-2); @@ -189,7 +189,7 @@ double tmp187 = fThrust(2+_OFF); double tmp188 = z(1+_OFF); double tmp189 = 2*tmp121*tmp26; double tmp190 = 2*tmp169*tmp51; -double tmp191 = 2*tmp69*tmp55; +double tmp191 = 2*tmp70*tmp55; double tmp192 = tmp189 + tmp190 + tmp191; double tmp193 = 2*tmp4*tmp1; double tmp194 = -2*tmp7*tmp0; @@ -205,76 +205,76 @@ double tmp203 = tmp196*tmp26*tmp134; double tmp204 = tmp121*tmp134*tmp55; double tmp205 = tmp203 + tmp204; double tmp206 = -(tmp90*tmp192*tmp158)/2.; -double tmp207 = tmp202*tmp85; +double tmp207 = tmp202*tmp86; double tmp208 = tmp206 + tmp207; -double tmp209 = 2*tmp74*tmp26; +double tmp209 = 2*tmp75*tmp26; double tmp210 = 2*tmp196*tmp51; double tmp211 = 2*tmp169*tmp55; double tmp212 = tmp209 + tmp210 + tmp211; double tmp213 = 2*tmp202*tmp39; double tmp214 = tmp209 + tmp213; double tmp215 = tmp202*tmp26*tmp134; -double tmp216 = tmp74*tmp134*tmp55; +double tmp216 = tmp75*tmp134*tmp55; double tmp217 = tmp215 + tmp216; double tmp218 = -(tmp90*tmp212*tmp158)/2.; -double tmp219 = tmp69*tmp85; +double tmp219 = tmp70*tmp86; double tmp220 = tmp218 + tmp219; double tmp221 = 2*tmp163*tmp2; -double tmp222 = tmp135*tmp81*tmp176; -double tmp223 = -2*tmp154*tmp90*tmp136; +double tmp222 = tmp139*tmp82*tmp176; +double tmp223 = -2*tmp138*tmp90*tmp140; double tmp224 = tmp222 + tmp223; -double tmp225 = tmp6*tmp8; -double tmp226 = 2*tmp7*tmp1*tmp2; -double tmp227 = -(tmp6*tmp9); -double tmp228 = 2*tmp4*tmp2*tmp0; -double tmp229 = tmp6*tmp10; -double tmp230 = -2*tmp4*tmp1*tmp3; -double tmp231 = 2*tmp7*tmp0*tmp3; -double tmp232 = -(tmp6*tmp12); -double tmp233 = tmp225 + tmp226 + tmp227 + tmp228 + tmp229 + tmp230 + tmp231 + tmp232 + tmp89; -double tmp234 = tmp138*tmp157; -double tmp235 = 2*tmp114*tmp141*tmp157; -double tmp236 = 2*tmp92*tmp144*tmp150*tmp161; +double tmp225 = -(tmp6*tmp8); +double tmp226 = -2*tmp7*tmp1*tmp2; +double tmp227 = tmp6*tmp9; +double tmp228 = -2*tmp4*tmp2*tmp0; +double tmp229 = -(tmp6*tmp10); +double tmp230 = 2*tmp4*tmp1*tmp3; +double tmp231 = -2*tmp7*tmp0*tmp3; +double tmp232 = tmp6*tmp12; +double tmp233 = tmp225 + tmp226 + tmp227 + tmp228 + tmp229 + tmp230 + tmp231 + tmp232 + tmp46; +double tmp234 = tmp142*tmp157; +double tmp235 = 2*tmp114*tmp145*tmp157; +double tmp236 = 2*tmp92*tmp148*tmp154*tmp161; double tmp237 = tmp234 + tmp235 + tmp236; -double tmp238 = tmp135*tmp173*tmp176; -double tmp239 = -2*tmp121*tmp90*tmp136; +double tmp238 = tmp139*tmp173*tmp176; +double tmp239 = -2*tmp121*tmp90*tmp140; double tmp240 = tmp238 + tmp239; -double tmp241 = tmp138*tmp179; -double tmp242 = 2*tmp114*tmp141*tmp179; -double tmp243 = 2*tmp92*tmp144*tmp150*tmp182; +double tmp241 = tmp142*tmp179; +double tmp242 = 2*tmp114*tmp145*tmp179; +double tmp243 = 2*tmp92*tmp148*tmp154*tmp182; double tmp244 = tmp241 + tmp242 + tmp243; double tmp245 = 2*tmp163*tmp3; -double tmp246 = tmp135*tmp192*tmp176; -double tmp247 = -2*tmp202*tmp90*tmp136; +double tmp246 = tmp139*tmp192*tmp176; +double tmp247 = -2*tmp202*tmp90*tmp140; double tmp248 = tmp246 + tmp247; -double tmp249 = tmp138*tmp205; -double tmp250 = 2*tmp114*tmp141*tmp205; -double tmp251 = 2*tmp92*tmp144*tmp150*tmp208; +double tmp249 = tmp142*tmp205; +double tmp250 = 2*tmp114*tmp145*tmp205; +double tmp251 = 2*tmp92*tmp148*tmp154*tmp208; double tmp252 = tmp249 + tmp250 + tmp251; -double tmp253 = tmp135*tmp212*tmp176; -double tmp254 = -2*tmp69*tmp90*tmp136; +double tmp253 = tmp139*tmp212*tmp176; +double tmp254 = -2*tmp70*tmp90*tmp140; double tmp255 = tmp253 + tmp254; -double tmp256 = tmp138*tmp217; -double tmp257 = 2*tmp114*tmp141*tmp217; -double tmp258 = 2*tmp92*tmp144*tmp150*tmp220; +double tmp256 = tmp142*tmp217; +double tmp257 = 2*tmp114*tmp145*tmp217; +double tmp258 = 2*tmp92*tmp148*tmp154*tmp220; double tmp259 = tmp256 + tmp257 + tmp258; double tmp260 = 2*tmp163*tmp1; -double tmp261 = -0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp121*tmp111*tmp65*tmp112; -double tmp262 = tmp7*tmp8; -double tmp263 = -2*tmp6*tmp1*tmp2; -double tmp264 = -(tmp7*tmp9); -double tmp265 = 2*tmp4*tmp1*tmp0; -double tmp266 = -(tmp7*tmp10); -double tmp267 = 2*tmp4*tmp2*tmp3; -double tmp268 = 2*tmp6*tmp0*tmp3; -double tmp269 = tmp7*tmp12; -double tmp270 = tmp262 + tmp263 + tmp264 + tmp265 + tmp266 + tmp267 + tmp268 + tmp269 + tmp38; -double tmp271 = -0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp69*tmp65*tmp84; -double tmp272 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp121*tmp65*tmp84*tmp149; -double tmp273 = -0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp74*tmp111*tmp65*tmp112; -double tmp274 = -0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp169*tmp65*tmp84; -double tmp275 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp74*tmp65*tmp84*tmp149; -double tmp276 = -2*tmp163*tmp0; +double tmp261 = -(tmp7*tmp8); +double tmp262 = 2*tmp6*tmp1*tmp2; +double tmp263 = tmp7*tmp9; +double tmp264 = -2*tmp4*tmp1*tmp0; +double tmp265 = tmp7*tmp10; +double tmp266 = -2*tmp4*tmp2*tmp3; +double tmp267 = -2*tmp6*tmp0*tmp3; +double tmp268 = -(tmp7*tmp12); +double tmp269 = tmp261 + tmp262 + tmp263 + tmp264 + tmp265 + tmp266 + tmp267 + tmp268 + tmp37; +double tmp270 = -2*tmp163*tmp0; +double tmp271 = -0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp70*tmp111*tmp66*tmp112; +double tmp272 = -0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp121*tmp66*tmp85; +double tmp273 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp70*tmp66*tmp85*tmp153; +double tmp274 = -0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp169*tmp111*tmp66*tmp112; +double tmp275 = -0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp75*tmp66*tmp85; +double tmp276 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp169*tmp66*tmp85*tmp153; double tmp277 = ibd(2+_OFF); double tmp278 = ibd(3+_OFF); double tmp279 = ibod(1+_OFF); @@ -307,8 +307,8 @@ double tmp305 = tmp277*tmp278; double tmp306 = -tmp283; double tmp307 = tmp305 + tmp306; double tmp308 = tmp92*tmp285; -double tmp309 = (tmp284*tmp286*tmp85*tmp287)/2.; -double tmp310 = -(tmp284*tmp288*tmp85*tmp289)/2.; +double tmp309 = (tmp284*tmp286*tmp86*tmp287)/2.; +double tmp310 = -(tmp284*tmp288*tmp86*tmp289)/2.; double tmp311 = mRoll(1+_OFF); double tmp312 = z(2+_OFF); double tmp313 = -(tmp311*tmp312); @@ -319,7 +319,7 @@ double tmp317 = tmp315 + tmp316; double tmp318 = mPitch(1+_OFF); double tmp319 = -tmp318; double tmp320 = -(tmp114*tmp300); -double tmp321 = (tmp299*tmp301*tmp85*tmp302)/2.; +double tmp321 = (tmp299*tmp301*tmp86*tmp302)/2.; double tmp322 = mPitch(2+_OFF); double tmp323 = z(3+_OFF); double tmp324 = -(tmp322*tmp323); @@ -328,35 +328,35 @@ double tmp326 = -(tmp277*tmp279); double tmp327 = tmp280*tmp281; double tmp328 = tmp326 + tmp327; double tmp329 = -(tmp92*tmp303); -double tmp330 = (tmp284*tmp304*tmp85*tmp289)/2.; +double tmp330 = (tmp284*tmp304*tmp86*tmp289)/2.; double tmp331 = mYaw(1+_OFF); double tmp332 = z(4+_OFF); double tmp333 = tmp331*tmp332; double tmp334 = tmp329 + tmp330 + tmp333; -double tmp335 = tmp285*tmp150*tmp161; -double tmp336 = -(tmp284*tmp286*tmp81*tmp158*tmp287)/4.; -double tmp337 = (tmp284*tmp288*tmp81*tmp158*tmp289)/4.; +double tmp335 = tmp285*tmp154*tmp161; +double tmp336 = -(tmp284*tmp286*tmp82*tmp158*tmp287)/4.; +double tmp337 = (tmp284*tmp288*tmp82*tmp158*tmp289)/4.; double tmp338 = tmp335 + tmp336 + tmp337; -double tmp339 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp84*tmp338; -double tmp340 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp81*tmp314; +double tmp339 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp85*tmp338; +double tmp340 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp82*tmp314; double tmp341 = tmp339 + tmp340; double tmp342 = -(tmp300*tmp157); -double tmp343 = -(tmp299*tmp301*tmp81*tmp158*tmp302)/4.; +double tmp343 = -(tmp299*tmp301*tmp82*tmp158*tmp302)/4.; double tmp344 = tmp342 + tmp343; -double tmp345 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp84*tmp344; -double tmp346 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp81*tmp325; +double tmp345 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp85*tmp344; +double tmp346 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp82*tmp325; double tmp347 = tmp345 + tmp346; -double tmp348 = -(tmp303*tmp150*tmp161); -double tmp349 = -(tmp284*tmp304*tmp81*tmp158*tmp289)/4.; +double tmp348 = -(tmp303*tmp154*tmp161); +double tmp349 = -(tmp284*tmp304*tmp82*tmp158*tmp289)/4.; double tmp350 = tmp348 + tmp349; -double tmp351 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp84*tmp350; -double tmp352 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp81*tmp334; +double tmp351 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp85*tmp350; +double tmp352 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp82*tmp334; double tmp353 = tmp351 + tmp352; -double tmp354 = tmp285*tmp150*tmp182; +double tmp354 = tmp285*tmp154*tmp182; double tmp355 = -(tmp284*tmp286*tmp173*tmp158*tmp287)/4.; double tmp356 = (tmp284*tmp288*tmp173*tmp158*tmp289)/4.; double tmp357 = tmp354 + tmp355 + tmp356; -double tmp358 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp84*tmp357; +double tmp358 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp85*tmp357; double tmp359 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp173*tmp314; double tmp360 = tmp358 + tmp359; double tmp361 = tmp282*tmp278; @@ -365,71 +365,71 @@ double tmp363 = tmp361 + tmp362; double tmp364 = -(tmp300*tmp179); double tmp365 = -(tmp299*tmp301*tmp173*tmp158*tmp302)/4.; double tmp366 = tmp364 + tmp365; -double tmp367 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp84*tmp366; +double tmp367 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp85*tmp366; double tmp368 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp173*tmp325; double tmp369 = tmp367 + tmp368; double tmp370 = tmp279*tmp280; double tmp371 = -(tmp282*tmp281); double tmp372 = tmp370 + tmp371; -double tmp373 = -(tmp303*tmp150*tmp182); +double tmp373 = -(tmp303*tmp154*tmp182); double tmp374 = -(tmp284*tmp304*tmp173*tmp158*tmp289)/4.; double tmp375 = tmp373 + tmp374; -double tmp376 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp84*tmp375; +double tmp376 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp85*tmp375; double tmp377 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp173*tmp334; double tmp378 = tmp376 + tmp377; -double tmp379 = tmp285*tmp150*tmp208; +double tmp379 = tmp285*tmp154*tmp208; double tmp380 = -(tmp284*tmp286*tmp192*tmp158*tmp287)/4.; double tmp381 = (tmp284*tmp288*tmp192*tmp158*tmp289)/4.; double tmp382 = tmp379 + tmp380 + tmp381; -double tmp383 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp84*tmp382; +double tmp383 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp85*tmp382; double tmp384 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp192*tmp314; double tmp385 = tmp383 + tmp384; double tmp386 = -(tmp300*tmp205); double tmp387 = -(tmp299*tmp301*tmp192*tmp158*tmp302)/4.; double tmp388 = tmp386 + tmp387; -double tmp389 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp84*tmp388; +double tmp389 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp85*tmp388; double tmp390 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp192*tmp325; double tmp391 = tmp389 + tmp390; -double tmp392 = -(tmp303*tmp150*tmp208); +double tmp392 = -(tmp303*tmp154*tmp208); double tmp393 = -(tmp284*tmp304*tmp192*tmp158*tmp289)/4.; double tmp394 = tmp392 + tmp393; -double tmp395 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp84*tmp394; +double tmp395 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp85*tmp394; double tmp396 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp192*tmp334; double tmp397 = tmp395 + tmp396; -double tmp398 = tmp285*tmp150*tmp220; +double tmp398 = tmp285*tmp154*tmp220; double tmp399 = -(tmp284*tmp286*tmp212*tmp158*tmp287)/4.; double tmp400 = (tmp284*tmp288*tmp212*tmp158*tmp289)/4.; double tmp401 = tmp398 + tmp399 + tmp400; -double tmp402 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp84*tmp401; +double tmp402 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp85*tmp401; double tmp403 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp212*tmp314; double tmp404 = tmp402 + tmp403; double tmp405 = -(tmp300*tmp217); double tmp406 = -(tmp299*tmp301*tmp212*tmp158*tmp302)/4.; double tmp407 = tmp405 + tmp406; -double tmp408 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp84*tmp407; +double tmp408 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp85*tmp407; double tmp409 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp212*tmp325; double tmp410 = tmp408 + tmp409; -double tmp411 = -(tmp303*tmp150*tmp220); +double tmp411 = -(tmp303*tmp154*tmp220); double tmp412 = -(tmp284*tmp304*tmp212*tmp158*tmp289)/4.; double tmp413 = tmp411 + tmp412; -double tmp414 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp84*tmp413; +double tmp414 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp85*tmp413; double tmp415 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp212*tmp334; double tmp416 = tmp414 + tmp415; double tmp417 = tmp282*tmp277; double tmp418 = -tmp293; double tmp419 = tmp417 + tmp418; -J(1+_OFF,1+_OFF) = tmp276 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp65*tmp133*tmp81 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp65*tmp81*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp123*tmp124*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp74*tmp102*tmp65*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp69*tmp111*tmp65*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp79*tmp65*tmp84 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp123*tmp124*tmp133*tmp84 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp65*tmp133*tmp157*tmp84 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp102*tmp65*tmp84*tmp224*tmp150 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp102*tmp65*tmp81*tmp149 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp102*tmp123*tmp124*tmp84*tmp149 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp69*tmp65*tmp84*tmp149 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp102*tmp111*tmp65*tmp112*tmp150*tmp161 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp102*tmp65*tmp84*tmp149*tmp237 + 0.003480682213713888*tmp14*tmp40*tmp183*tmp62*(tmp184*tmp185*tmp81 + (tmp186*tmp162*tmp187*tmp81*tmp85*tmp188)/2.)); -J(1+_OFF,2+_OFF) = tmp245 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp65*tmp133*tmp173 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp65*tmp173*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp175*tmp124*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp79*tmp102*tmp65*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp169*tmp111*tmp65*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp154*tmp65*tmp84 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp175*tmp124*tmp133*tmp84 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp65*tmp133*tmp179*tmp84 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp102*tmp65*tmp84*tmp240*tmp150 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp102*tmp65*tmp173*tmp149 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp102*tmp175*tmp124*tmp84*tmp149 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp169*tmp65*tmp84*tmp149 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp102*tmp111*tmp65*tmp112*tmp150*tmp182 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp102*tmp65*tmp84*tmp149*tmp244 + 0.003480682213713888*tmp14*tmp40*tmp183*tmp62*(tmp184*tmp185*tmp173 + (tmp186*tmp162*tmp187*tmp173*tmp85*tmp188)/2.)); -J(1+_OFF,3+_OFF) = -2*tmp163*tmp1 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp65*tmp133*tmp192 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp65*tmp192*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp198*tmp124*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp169*tmp102*tmp65*tmp112 + tmp261 + tmp271 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp198*tmp124*tmp133*tmp84 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp65*tmp133*tmp205*tmp84 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp102*tmp65*tmp84*tmp248*tmp150 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp102*tmp65*tmp192*tmp149 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp102*tmp198*tmp124*tmp84*tmp149 + tmp272 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp102*tmp111*tmp65*tmp112*tmp150*tmp208 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp102*tmp65*tmp84*tmp149*tmp252 + 0.003480682213713888*tmp14*tmp40*tmp183*tmp62*(tmp184*tmp185*tmp192 + (tmp186*tmp162*tmp187*tmp192*tmp85*tmp188)/2.)); -J(1+_OFF,4+_OFF) = tmp221 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp65*tmp133*tmp212 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp65*tmp212*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp214*tmp124*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp196*tmp102*tmp65*tmp112 + tmp273 + tmp274 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp214*tmp124*tmp133*tmp84 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp65*tmp133*tmp217*tmp84 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp102*tmp65*tmp84*tmp255*tmp150 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp102*tmp65*tmp212*tmp149 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp102*tmp214*tmp124*tmp84*tmp149 + tmp275 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp102*tmp111*tmp65*tmp112*tmp150*tmp220 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp102*tmp65*tmp84*tmp149*tmp259 + 0.003480682213713888*tmp14*tmp40*tmp183*tmp62*(tmp184*tmp185*tmp212 + (tmp186*tmp162*tmp187*tmp212*tmp85*tmp188)/2.)); -J(2+_OFF,1+_OFF) = tmp221 - tmp165*(0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp233*tmp81*tmp85 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp154*tmp112 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp84*tmp224*tmp150 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp81*tmp149 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp84*tmp161 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp233*tmp112*tmp237); -J(2+_OFF,2+_OFF) = tmp260 - tmp165*(0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp233*tmp173*tmp85 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp121*tmp112 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp84*tmp240*tmp150 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp173*tmp149 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp84*tmp182 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp233*tmp112*tmp244); -J(2+_OFF,3+_OFF) = tmp245 - tmp165*(0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp233*tmp192*tmp85 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp202*tmp112 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp84*tmp248*tmp150 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp192*tmp149 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp84*tmp208 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp233*tmp112*tmp252); -J(2+_OFF,4+_OFF) = 2*tmp163*tmp0 - tmp165*(0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp233*tmp212*tmp85 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp69*tmp112 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp84*tmp255*tmp150 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp212*tmp149 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp84*tmp220 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp233*tmp112*tmp259); -J(3+_OFF,1+_OFF) = tmp260 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp65*tmp81 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp65*tmp270*tmp81*tmp85 + tmp261 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp123*tmp124*tmp270*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp74*tmp65*tmp270*tmp112 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp123*tmp124*tmp84 + tmp271 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp102*tmp65*tmp157*tmp84 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp65*tmp270*tmp84*tmp224*tmp150 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp65*tmp270*tmp81*tmp149 + tmp272 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp123*tmp124*tmp270*tmp84*tmp149 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp111*tmp65*tmp270*tmp112*tmp150*tmp161 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp65*tmp270*tmp84*tmp149*tmp237); -J(3+_OFF,2+_OFF) = -2*tmp163*tmp2 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp65*tmp173 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp65*tmp270*tmp173*tmp85 + tmp273 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp175*tmp124*tmp270*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp79*tmp65*tmp270*tmp112 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp175*tmp124*tmp84 + tmp274 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp102*tmp65*tmp179*tmp84 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp65*tmp270*tmp84*tmp240*tmp150 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp65*tmp270*tmp173*tmp149 + tmp275 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp175*tmp124*tmp270*tmp84*tmp149 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp111*tmp65*tmp270*tmp112*tmp150*tmp182 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp65*tmp270*tmp84*tmp149*tmp244); -J(3+_OFF,3+_OFF) = tmp276 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp65*tmp192 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp65*tmp270*tmp192*tmp85 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp196*tmp111*tmp65*tmp112 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp198*tmp124*tmp270*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp169*tmp65*tmp270*tmp112 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp198*tmp124*tmp84 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp121*tmp65*tmp84 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp102*tmp65*tmp205*tmp84 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp65*tmp270*tmp84*tmp248*tmp150 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp65*tmp270*tmp192*tmp149 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp196*tmp65*tmp84*tmp149 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp198*tmp124*tmp270*tmp84*tmp149 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp111*tmp65*tmp270*tmp112*tmp150*tmp208 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp65*tmp270*tmp84*tmp149*tmp252); -J(3+_OFF,4+_OFF) = tmp245 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp65*tmp212 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp65*tmp270*tmp212*tmp85 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp202*tmp111*tmp65*tmp112 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp214*tmp124*tmp270*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp196*tmp65*tmp270*tmp112 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp214*tmp124*tmp84 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp74*tmp65*tmp84 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp102*tmp65*tmp217*tmp84 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp65*tmp270*tmp84*tmp255*tmp150 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp65*tmp270*tmp212*tmp149 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp146*tmp62*tmp202*tmp65*tmp84*tmp149 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp146*tmp62*tmp214*tmp124*tmp270*tmp84*tmp149 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp111*tmp65*tmp270*tmp112*tmp150*tmp220 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp65*tmp270*tmp84*tmp149*tmp259); +J(1+_OFF,1+_OFF) = tmp270 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp66*tmp133*tmp82 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp66*tmp82*tmp86 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp123*tmp124*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp138*tmp102*tmp66*tmp112 + tmp271 + tmp272 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp123*tmp124*tmp133*tmp85 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp66*tmp133*tmp157*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp102*tmp66*tmp85*tmp224*tmp154 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp102*tmp66*tmp82*tmp153 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp102*tmp123*tmp124*tmp85*tmp153 + tmp273 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp102*tmp111*tmp66*tmp112*tmp154*tmp161 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp102*tmp66*tmp85*tmp153*tmp237 + 0.003480682213713888*tmp14*tmp40*tmp183*tmp62*(tmp184*tmp185*tmp82 + (tmp186*tmp162*tmp187*tmp82*tmp86*tmp188)/2.)); +J(1+_OFF,2+_OFF) = tmp245 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp66*tmp133*tmp173 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp66*tmp173*tmp86 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp175*tmp124*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp121*tmp102*tmp66*tmp112 + tmp274 + tmp275 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp175*tmp124*tmp133*tmp85 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp66*tmp133*tmp179*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp102*tmp66*tmp85*tmp240*tmp154 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp102*tmp66*tmp173*tmp153 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp102*tmp175*tmp124*tmp85*tmp153 + tmp276 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp102*tmp111*tmp66*tmp112*tmp154*tmp182 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp102*tmp66*tmp85*tmp153*tmp244 + 0.003480682213713888*tmp14*tmp40*tmp183*tmp62*(tmp184*tmp185*tmp173 + (tmp186*tmp162*tmp187*tmp173*tmp86*tmp188)/2.)); +J(1+_OFF,3+_OFF) = -2*tmp163*tmp1 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp66*tmp133*tmp192 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp66*tmp192*tmp86 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp198*tmp124*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp202*tmp102*tmp66*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp121*tmp111*tmp66*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp196*tmp66*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp198*tmp124*tmp133*tmp85 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp66*tmp133*tmp205*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp102*tmp66*tmp85*tmp248*tmp154 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp102*tmp66*tmp192*tmp153 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp102*tmp198*tmp124*tmp85*tmp153 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp121*tmp66*tmp85*tmp153 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp102*tmp111*tmp66*tmp112*tmp154*tmp208 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp102*tmp66*tmp85*tmp153*tmp252 + 0.003480682213713888*tmp14*tmp40*tmp183*tmp62*(tmp184*tmp185*tmp192 + (tmp186*tmp162*tmp187*tmp192*tmp86*tmp188)/2.)); +J(1+_OFF,4+_OFF) = tmp221 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp66*tmp133*tmp212 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp66*tmp212*tmp86 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp214*tmp124*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp70*tmp102*tmp66*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp75*tmp111*tmp66*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp202*tmp66*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp214*tmp124*tmp133*tmp85 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp66*tmp133*tmp217*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp102*tmp66*tmp85*tmp255*tmp154 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp102*tmp66*tmp212*tmp153 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp102*tmp214*tmp124*tmp85*tmp153 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp75*tmp66*tmp85*tmp153 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp102*tmp111*tmp66*tmp112*tmp154*tmp220 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp102*tmp66*tmp85*tmp153*tmp259 + 0.003480682213713888*tmp14*tmp40*tmp183*tmp62*(tmp184*tmp185*tmp212 + (tmp186*tmp162*tmp187*tmp212*tmp86*tmp188)/2.)); +J(2+_OFF,1+_OFF) = tmp221 - tmp165*(0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp233*tmp82*tmp86 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp75*tmp112 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp85*tmp224*tmp154 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp82*tmp153 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp85*tmp161 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp233*tmp112*tmp237); +J(2+_OFF,2+_OFF) = tmp260 - tmp165*(0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp233*tmp173*tmp86 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp80*tmp112 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp85*tmp240*tmp154 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp173*tmp153 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp85*tmp182 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp233*tmp112*tmp244); +J(2+_OFF,3+_OFF) = tmp245 - tmp165*(0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp233*tmp192*tmp86 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp169*tmp112 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp85*tmp248*tmp154 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp192*tmp153 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp85*tmp208 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp233*tmp112*tmp252); +J(2+_OFF,4+_OFF) = 2*tmp163*tmp0 - tmp165*(0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp233*tmp212*tmp86 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp196*tmp112 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp85*tmp255*tmp154 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp212*tmp153 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp85*tmp220 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp233*tmp112*tmp259); +J(3+_OFF,1+_OFF) = tmp260 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp66*tmp82 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp66*tmp269*tmp82*tmp86 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp80*tmp111*tmp66*tmp112 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp123*tmp124*tmp269*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp138*tmp66*tmp269*tmp112 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp123*tmp124*tmp85 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp70*tmp66*tmp85 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp102*tmp66*tmp157*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp66*tmp269*tmp85*tmp224*tmp154 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp66*tmp269*tmp82*tmp153 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp80*tmp66*tmp85*tmp153 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp123*tmp124*tmp269*tmp85*tmp153 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp111*tmp66*tmp269*tmp112*tmp154*tmp161 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp66*tmp269*tmp85*tmp153*tmp237); +J(3+_OFF,2+_OFF) = -2*tmp163*tmp2 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp66*tmp173 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp66*tmp269*tmp173*tmp86 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp138*tmp111*tmp66*tmp112 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp175*tmp124*tmp269*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp121*tmp66*tmp269*tmp112 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp175*tmp124*tmp85 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp169*tmp66*tmp85 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp102*tmp66*tmp179*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp66*tmp269*tmp85*tmp240*tmp154 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp66*tmp269*tmp173*tmp153 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp138*tmp66*tmp85*tmp153 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp175*tmp124*tmp269*tmp85*tmp153 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp111*tmp66*tmp269*tmp112*tmp154*tmp182 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp66*tmp269*tmp85*tmp153*tmp244); +J(3+_OFF,3+_OFF) = tmp270 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp66*tmp192 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp66*tmp269*tmp192*tmp86 + tmp271 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp198*tmp124*tmp269*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp202*tmp66*tmp269*tmp112 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp198*tmp124*tmp85 + tmp272 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp102*tmp66*tmp205*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp66*tmp269*tmp85*tmp248*tmp154 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp66*tmp269*tmp192*tmp153 + tmp273 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp198*tmp124*tmp269*tmp85*tmp153 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp111*tmp66*tmp269*tmp112*tmp154*tmp208 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp66*tmp269*tmp85*tmp153*tmp252); +J(3+_OFF,4+_OFF) = tmp245 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp66*tmp212 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp66*tmp269*tmp212*tmp86 + tmp274 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp214*tmp124*tmp269*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp70*tmp66*tmp269*tmp112 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp214*tmp124*tmp85 + tmp275 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp102*tmp66*tmp217*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp66*tmp269*tmp85*tmp255*tmp154 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp66*tmp269*tmp212*tmp153 + tmp276 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp214*tmp124*tmp269*tmp85*tmp153 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp111*tmp66*tmp269*tmp112*tmp154*tmp220 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp66*tmp269*tmp85*tmp153*tmp259); J(4+_OFF,1+_OFF) = -(tmp307*tmp298*tmp341) - tmp317*tmp298*tmp347 - tmp328*tmp298*tmp353; J(4+_OFF,2+_OFF) = -(tmp307*tmp298*tmp360) - tmp317*tmp298*tmp369 - tmp328*tmp298*tmp378; J(4+_OFF,3+_OFF) = -(tmp307*tmp298*tmp385) - tmp317*tmp298*tmp391 - tmp328*tmp298*tmp397; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrV.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrV.cppready index 7af3c45..2f3b05a 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrV.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrV.cppready @@ -53,27 +53,27 @@ double tmp51 = tmp49 + tmp50; double tmp52 = -0.006500000000000001*tmp14*tmp51; double tmp53 = 1 + tmp52; double tmp54 = std::pow(tmp53,4.2561); -double tmp55 = std::pow(tmp39,2); -double tmp56 = tmp41 + tmp55; -double tmp57 = 1/std::sqrt(tmp56); -double tmp58 = -2*tmp4*tmp43; -double tmp59 = -2*tmp7*tmp45; -double tmp60 = -(tmp6*tmp46); -double tmp61 = tmp58 + tmp59 + tmp60 + tmp47; -double tmp62 = std::pow(tmp61,2); -double tmp63 = -2*tmp4*tmp28; -double tmp64 = -2*tmp6*tmp32; -double tmp65 = -(tmp7*tmp35); -double tmp66 = tmp63 + tmp64 + tmp65 + tmp37; -double tmp67 = std::pow(tmp66,2); -double tmp68 = tmp41 + tmp62 + tmp67; -double tmp69 = 1/std::sqrt(tmp68); -double tmp70 = 2*tmp4*tmp43; -double tmp71 = 2*tmp7*tmp45; -double tmp72 = tmp6*tmp46; -double tmp73 = -tmp47; -double tmp74 = tmp70 + tmp71 + tmp72 + tmp73; -double tmp75 = tmp74*tmp69; +double tmp55 = -tmp47; +double tmp56 = std::pow(tmp39,2); +double tmp57 = tmp41 + tmp56; +double tmp58 = 1/std::sqrt(tmp57); +double tmp59 = -2*tmp4*tmp43; +double tmp60 = -2*tmp7*tmp45; +double tmp61 = -(tmp6*tmp46); +double tmp62 = tmp59 + tmp60 + tmp61 + tmp47; +double tmp63 = std::pow(tmp62,2); +double tmp64 = -2*tmp4*tmp28; +double tmp65 = -2*tmp6*tmp32; +double tmp66 = -(tmp7*tmp35); +double tmp67 = tmp64 + tmp65 + tmp66 + tmp37; +double tmp68 = std::pow(tmp67,2); +double tmp69 = tmp41 + tmp63 + tmp68; +double tmp70 = 1/std::sqrt(tmp69); +double tmp71 = 2*tmp4*tmp43; +double tmp72 = 2*tmp7*tmp45; +double tmp73 = tmp6*tmp46; +double tmp74 = tmp71 + tmp72 + tmp73 + tmp55; +double tmp75 = tmp74*tmp70; double tmp76 = std::asin(tmp75); double tmp77 = fLat(1+_OFF); double tmp78 = -(tmp4*tmp8); @@ -85,34 +85,34 @@ double tmp83 = -2*tmp6*tmp0*tmp3; double tmp84 = -2*tmp7*tmp2*tmp3; double tmp85 = tmp4*tmp12; double tmp86 = tmp78 + tmp79 + tmp80 + tmp81 + tmp82 + tmp83 + tmp84 + tmp85 + tmp25; -double tmp87 = -(tmp6*tmp8); -double tmp88 = -2*tmp7*tmp0*tmp2; -double tmp89 = tmp6*tmp9; -double tmp90 = -2*tmp4*tmp2*tmp1; -double tmp91 = -(tmp6*tmp10); -double tmp92 = 2*tmp4*tmp0*tmp3; -double tmp93 = -2*tmp7*tmp1*tmp3; -double tmp94 = tmp6*tmp12; -double tmp95 = tmp87 + tmp88 + tmp89 + tmp90 + tmp91 + tmp92 + tmp93 + tmp94 + tmp47; -double tmp96 = std::sqrt(tmp68); +double tmp87 = tmp6*tmp8; +double tmp88 = 2*tmp7*tmp0*tmp2; +double tmp89 = -(tmp6*tmp9); +double tmp90 = 2*tmp4*tmp2*tmp1; +double tmp91 = tmp6*tmp10; +double tmp92 = -2*tmp4*tmp0*tmp3; +double tmp93 = 2*tmp7*tmp1*tmp3; +double tmp94 = -(tmp6*tmp12); +double tmp95 = tmp87 + tmp88 + tmp89 + tmp90 + tmp91 + tmp92 + tmp93 + tmp94 + tmp55; +double tmp96 = std::sqrt(tmp69); double tmp97 = fLift(1+_OFF); double tmp98 = std::atan2(tmp39,tmp26); double tmp99 = fLift(2+_OFF); double tmp100 = tmp98*tmp99; double tmp101 = tmp97 + tmp100; -double tmp102 = std::pow(tmp56,-1.5); -double tmp103 = -(tmp7*tmp8); -double tmp104 = 2*tmp6*tmp0*tmp2; -double tmp105 = tmp7*tmp9; -double tmp106 = -2*tmp4*tmp0*tmp1; -double tmp107 = tmp7*tmp10; -double tmp108 = -2*tmp4*tmp2*tmp3; -double tmp109 = -2*tmp6*tmp1*tmp3; -double tmp110 = -(tmp7*tmp12); -double tmp111 = tmp103 + tmp104 + tmp105 + tmp106 + tmp107 + tmp108 + tmp109 + tmp110 + tmp37; -double tmp112 = std::pow(tmp74,2); -double tmp113 = 1/tmp68; -double tmp114 = -(tmp112*tmp113); +double tmp102 = std::pow(tmp57,-1.5); +double tmp103 = tmp7*tmp8; +double tmp104 = -2*tmp6*tmp0*tmp2; +double tmp105 = -(tmp7*tmp9); +double tmp106 = 2*tmp4*tmp0*tmp1; +double tmp107 = -(tmp7*tmp10); +double tmp108 = 2*tmp4*tmp2*tmp3; +double tmp109 = 2*tmp6*tmp1*tmp3; +double tmp110 = tmp7*tmp12; +double tmp111 = tmp103 + tmp104 + tmp105 + tmp106 + tmp107 + tmp108 + tmp109 + tmp110 + tmp38; +double tmp112 = 1/tmp69; +double tmp113 = std::pow(tmp74,2); +double tmp114 = -(tmp113*tmp112); double tmp115 = 1 + tmp114; double tmp116 = 1/std::sqrt(tmp115); double tmp117 = fDrag(1+_OFF); @@ -126,13 +126,13 @@ double tmp124 = fDrag(4+_OFF); double tmp125 = tmp123*tmp124; double tmp126 = tmp117 + tmp119 + tmp122 + tmp125; double tmp127 = std::sqrt(tmp115); -double tmp128 = 1/tmp56; +double tmp128 = 1/tmp57; double tmp129 = cp(1+_OFF); double tmp130 = cp(4+_OFF); double tmp131 = 1/tmp130; -double tmp132 = std::pow(tmp68,-1.5); -double tmp133 = -(tmp74*tmp61*tmp132); -double tmp134 = -tmp69; +double tmp132 = std::pow(tmp69,-1.5); +double tmp133 = -(tmp74*tmp62*tmp132); +double tmp134 = -tmp70; double tmp135 = tmp133 + tmp134; double tmp136 = std::pow(tmp129,2); double tmp137 = std::pow(M_PI,-2); @@ -140,174 +140,175 @@ double tmp138 = fThrust(3+_OFF); double tmp139 = 1/M_PI; double tmp140 = fThrust(2+_OFF); double tmp141 = z(1+_OFF); -double tmp142 = tmp6*tmp8; -double tmp143 = 2*tmp7*tmp0*tmp2; -double tmp144 = -(tmp6*tmp9); -double tmp145 = 2*tmp4*tmp2*tmp1; -double tmp146 = tmp6*tmp10; -double tmp147 = -2*tmp4*tmp0*tmp3; -double tmp148 = 2*tmp7*tmp1*tmp3; -double tmp149 = -(tmp6*tmp12); -double tmp150 = tmp142 + tmp143 + tmp144 + tmp145 + tmp146 + tmp147 + tmp148 + tmp149 + tmp73; -double tmp151 = tmp118*tmp128*tmp66; -double tmp152 = 2*tmp98*tmp121*tmp128*tmp66; +double tmp142 = -(tmp6*tmp8); +double tmp143 = -2*tmp7*tmp0*tmp2; +double tmp144 = tmp6*tmp9; +double tmp145 = -2*tmp4*tmp2*tmp1; +double tmp146 = -(tmp6*tmp10); +double tmp147 = 2*tmp4*tmp0*tmp3; +double tmp148 = -2*tmp7*tmp1*tmp3; +double tmp149 = tmp6*tmp12; +double tmp150 = tmp142 + tmp143 + tmp144 + tmp145 + tmp146 + tmp147 + tmp148 + tmp149 + tmp47; +double tmp151 = tmp118*tmp128*tmp67; +double tmp152 = 2*tmp98*tmp121*tmp128*tmp67; double tmp153 = -2*tmp76*tmp124*tmp26*tmp74*tmp132*tmp116; double tmp154 = tmp151 + tmp152 + tmp153; -double tmp155 = std::pow(tmp68,-2); -double tmp156 = 2*tmp112*tmp61*tmp155; -double tmp157 = 2*tmp74*tmp113; +double tmp155 = std::pow(tmp69,-2); +double tmp156 = 2*tmp113*tmp62*tmp155; +double tmp157 = 2*tmp74*tmp112; double tmp158 = tmp156 + tmp157; double tmp159 = -(tmp118*tmp26*tmp128); double tmp160 = -2*tmp98*tmp121*tmp26*tmp128; -double tmp161 = -2*tmp76*tmp124*tmp74*tmp66*tmp132*tmp116; +double tmp161 = -2*tmp76*tmp124*tmp74*tmp67*tmp132*tmp116; double tmp162 = tmp159 + tmp160 + tmp161; -double tmp163 = tmp7*tmp8; -double tmp164 = -2*tmp6*tmp0*tmp2; -double tmp165 = -(tmp7*tmp9); -double tmp166 = 2*tmp4*tmp0*tmp1; -double tmp167 = -(tmp7*tmp10); -double tmp168 = 2*tmp4*tmp2*tmp3; -double tmp169 = 2*tmp6*tmp1*tmp3; -double tmp170 = tmp7*tmp12; -double tmp171 = tmp163 + tmp164 + tmp165 + tmp166 + tmp167 + tmp168 + tmp169 + tmp170 + tmp38; -double tmp172 = -0.001740341106856944*tmp14*tmp40*tmp48*tmp101*tmp54*tmp57*tmp68; -double tmp173 = ibd(2+_OFF); -double tmp174 = ibd(3+_OFF); -double tmp175 = ibod(1+_OFF); -double tmp176 = ibod(2+_OFF); -double tmp177 = ibod(3+_OFF); -double tmp178 = ibd(1+_OFF); -double tmp179 = std::pow(tmp177,2); -double tmp180 = cp(3+_OFF); -double tmp181 = mRoll(2+_OFF); -double tmp182 = mRoll(3+_OFF); -double tmp183 = x(11+_OFF); -double tmp184 = mRoll(4+_OFF); -double tmp185 = x(13+_OFF); -double tmp186 = tmp178*tmp173*tmp174; -double tmp187 = std::pow(tmp175,2); -double tmp188 = -(tmp173*tmp187); -double tmp189 = std::pow(tmp176,2); -double tmp190 = -(tmp174*tmp189); -double tmp191 = 2*tmp175*tmp176*tmp177; -double tmp192 = -(tmp178*tmp179); -double tmp193 = tmp186 + tmp188 + tmp190 + tmp191 + tmp192; -double tmp194 = 1/tmp193; -double tmp195 = cBar(1+_OFF); -double tmp196 = mPitch(3+_OFF); -double tmp197 = mPitch(4+_OFF); -double tmp198 = x(12+_OFF); -double tmp199 = mYaw(2+_OFF); -double tmp200 = mYaw(3+_OFF); -double tmp201 = tmp173*tmp174; -double tmp202 = -tmp179; -double tmp203 = tmp201 + tmp202; -double tmp204 = tmp76*tmp181; -double tmp205 = (tmp180*tmp182*tmp69*tmp183)/2.; -double tmp206 = -(tmp180*tmp184*tmp69*tmp185)/2.; -double tmp207 = mRoll(1+_OFF); -double tmp208 = z(2+_OFF); -double tmp209 = -(tmp207*tmp208); -double tmp210 = tmp204 + tmp205 + tmp206 + tmp209; -double tmp211 = -(tmp174*tmp176); -double tmp212 = tmp175*tmp177; -double tmp213 = tmp211 + tmp212; -double tmp214 = mPitch(1+_OFF); -double tmp215 = -tmp214; -double tmp216 = -(tmp98*tmp196); -double tmp217 = (tmp195*tmp197*tmp69*tmp198)/2.; -double tmp218 = mPitch(2+_OFF); -double tmp219 = z(3+_OFF); -double tmp220 = -(tmp218*tmp219); -double tmp221 = tmp215 + tmp216 + tmp217 + tmp220; -double tmp222 = -(tmp173*tmp175); -double tmp223 = tmp176*tmp177; -double tmp224 = tmp222 + tmp223; -double tmp225 = -(tmp76*tmp199); -double tmp226 = (tmp180*tmp200*tmp69*tmp185)/2.; -double tmp227 = mYaw(1+_OFF); -double tmp228 = z(4+_OFF); -double tmp229 = tmp227*tmp228; -double tmp230 = tmp225 + tmp226 + tmp229; -double tmp231 = -(tmp181*tmp26*tmp74*tmp132*tmp116); -double tmp232 = -(tmp180*tmp182*tmp26*tmp132*tmp183)/2.; -double tmp233 = (tmp180*tmp184*tmp26*tmp132*tmp185)/2.; -double tmp234 = tmp231 + tmp232 + tmp233; -double tmp235 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp180*tmp54*tmp68*tmp234; -double tmp236 = 0.003480682213713888*tmp14*tmp40*tmp48*tmp180*tmp54*tmp26*tmp210; -double tmp237 = tmp235 + tmp236; -double tmp238 = -(tmp196*tmp128*tmp66); -double tmp239 = -(tmp195*tmp197*tmp26*tmp132*tmp198)/2.; -double tmp240 = tmp238 + tmp239; -double tmp241 = 0.001740341106856944*tmp14*tmp40*tmp195*tmp48*tmp54*tmp68*tmp240; -double tmp242 = 0.003480682213713888*tmp14*tmp40*tmp195*tmp48*tmp54*tmp26*tmp221; -double tmp243 = tmp241 + tmp242; -double tmp244 = tmp199*tmp26*tmp74*tmp132*tmp116; -double tmp245 = -(tmp180*tmp200*tmp26*tmp132*tmp185)/2.; -double tmp246 = tmp244 + tmp245; -double tmp247 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp180*tmp54*tmp68*tmp246; -double tmp248 = 0.003480682213713888*tmp14*tmp40*tmp48*tmp180*tmp54*tmp26*tmp230; -double tmp249 = tmp247 + tmp248; -double tmp250 = tmp181*tmp116*tmp135; -double tmp251 = -(tmp180*tmp182*tmp61*tmp132*tmp183)/2.; -double tmp252 = (tmp180*tmp184*tmp61*tmp132*tmp185)/2.; -double tmp253 = tmp250 + tmp251 + tmp252; -double tmp254 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp180*tmp54*tmp68*tmp253; -double tmp255 = 0.003480682213713888*tmp14*tmp40*tmp48*tmp180*tmp54*tmp61*tmp210; -double tmp256 = tmp254 + tmp255; -double tmp257 = tmp178*tmp174; -double tmp258 = -tmp187; -double tmp259 = tmp257 + tmp258; -double tmp260 = std::pow(tmp195,2); -double tmp261 = -0.000870170553428472*tmp14*tmp40*tmp260*tmp48*tmp197*tmp54*tmp61*tmp69*tmp198; -double tmp262 = 0.003480682213713888*tmp14*tmp40*tmp195*tmp48*tmp54*tmp61*tmp221; -double tmp263 = tmp261 + tmp262; -double tmp264 = tmp175*tmp176; -double tmp265 = -(tmp178*tmp177); -double tmp266 = tmp264 + tmp265; -double tmp267 = -(tmp199*tmp116*tmp135); -double tmp268 = -(tmp180*tmp200*tmp61*tmp132*tmp185)/2.; -double tmp269 = tmp267 + tmp268; -double tmp270 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp180*tmp54*tmp68*tmp269; -double tmp271 = 0.003480682213713888*tmp14*tmp40*tmp48*tmp180*tmp54*tmp61*tmp230; -double tmp272 = tmp270 + tmp271; -double tmp273 = -(tmp181*tmp74*tmp66*tmp132*tmp116); -double tmp274 = -(tmp180*tmp182*tmp66*tmp132*tmp183)/2.; -double tmp275 = (tmp180*tmp184*tmp66*tmp132*tmp185)/2.; -double tmp276 = tmp273 + tmp274 + tmp275; -double tmp277 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp180*tmp54*tmp68*tmp276; -double tmp278 = 0.003480682213713888*tmp14*tmp40*tmp48*tmp180*tmp54*tmp66*tmp210; -double tmp279 = tmp277 + tmp278; -double tmp280 = tmp196*tmp26*tmp128; -double tmp281 = -(tmp195*tmp197*tmp66*tmp132*tmp198)/2.; -double tmp282 = tmp280 + tmp281; -double tmp283 = 0.001740341106856944*tmp14*tmp40*tmp195*tmp48*tmp54*tmp68*tmp282; -double tmp284 = 0.003480682213713888*tmp14*tmp40*tmp195*tmp48*tmp54*tmp66*tmp221; -double tmp285 = tmp283 + tmp284; -double tmp286 = tmp199*tmp74*tmp66*tmp132*tmp116; -double tmp287 = -(tmp180*tmp200*tmp66*tmp132*tmp185)/2.; -double tmp288 = tmp286 + tmp287; -double tmp289 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp180*tmp54*tmp68*tmp288; -double tmp290 = 0.003480682213713888*tmp14*tmp40*tmp48*tmp180*tmp54*tmp66*tmp230; -double tmp291 = tmp289 + tmp290; -double tmp292 = tmp178*tmp173; -double tmp293 = -tmp189; -double tmp294 = tmp292 + tmp293; -J(1+_OFF,1+_OFF) = -(tmp131*(-0.003480682213713888*tmp14*tmp40*tmp48*tmp101*tmp54*tmp26*tmp57*tmp111 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp86*tmp26*tmp95*tmp57*tmp69 + 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp86*tmp26*tmp95*tmp102*tmp96 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp95*tmp57*tmp96 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp101*tmp54*tmp26*tmp102*tmp111*tmp68 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp99*tmp54*tmp102*tmp111*tmp66*tmp68 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp26*tmp112*tmp57*tmp113*tmp116 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp86*tmp26*tmp74*tmp95*tmp57*tmp113*tmp116 + 0.003480682213713888*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp26*tmp57*tmp127 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp26*tmp102*tmp68*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp57*tmp68*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp54*tmp86*tmp57*tmp68*tmp127*tmp154 + 0.003480682213713888*tmp14*tmp40*tmp136*tmp54*(2*tmp137*tmp138*tmp26 + tmp139*tmp129*tmp140*tmp26*tmp69*tmp141))); -J(1+_OFF,2+_OFF) = -(tmp131*(-0.003480682213713888*tmp14*tmp40*tmp48*tmp101*tmp54*tmp61*tmp57*tmp111 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp86*tmp95*tmp61*tmp57*tmp69 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp86*tmp57*tmp96 + 0.000870170553428472*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp57*tmp68*tmp158*tmp116 + 0.003480682213713888*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp61*tmp57*tmp127 + 0.003480682213713888*tmp14*tmp40*tmp76*tmp48*tmp124*tmp54*tmp86*tmp57*tmp68*tmp135 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp86*tmp95*tmp57*tmp96*tmp116*tmp135 + 0.003480682213713888*tmp14*tmp40*tmp136*tmp54*(2*tmp137*tmp138*tmp61 + tmp139*tmp129*tmp140*tmp61*tmp69*tmp141))); -J(1+_OFF,3+_OFF) = -(tmp131*(-0.003480682213713888*tmp14*tmp40*tmp48*tmp101*tmp54*tmp57*tmp111*tmp66 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp86*tmp95*tmp57*tmp66*tmp69 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp86*tmp95*tmp102*tmp39*tmp96 + tmp172 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp99*tmp54*tmp26*tmp102*tmp111*tmp68 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp101*tmp54*tmp102*tmp39*tmp111*tmp68 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp112*tmp57*tmp66*tmp113*tmp116 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp86*tmp74*tmp95*tmp57*tmp66*tmp113*tmp116 + 0.003480682213713888*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp57*tmp66*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp102*tmp39*tmp68*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp54*tmp86*tmp57*tmp68*tmp127*tmp162 + 0.003480682213713888*tmp14*tmp40*tmp136*tmp54*(2*tmp137*tmp138*tmp66 + tmp139*tmp129*tmp140*tmp66*tmp69*tmp141))); -J(2+_OFF,1+_OFF) = -(tmp131*(0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp26*tmp150*tmp69 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp26*tmp74*tmp69 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp26*tmp112*tmp113*tmp116 - 0.003480682213713888*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp26*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp54*tmp150*tmp96*tmp154)); -J(2+_OFF,2+_OFF) = -(tmp131*(0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp150*tmp61*tmp69 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp96 - 0.000870170553428472*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp68*tmp158*tmp116 - 0.003480682213713888*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp61*tmp127 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp68*tmp135 + 0.003480682213713888*tmp14*tmp40*tmp76*tmp48*tmp124*tmp54*tmp150*tmp96*tmp116*tmp135)); -J(2+_OFF,3+_OFF) = -(tmp131*(0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp150*tmp66*tmp69 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp74*tmp66*tmp69 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp112*tmp66*tmp113*tmp116 - 0.003480682213713888*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp66*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp54*tmp150*tmp96*tmp162)); -J(3+_OFF,1+_OFF) = -(tmp131*(-0.003480682213713888*tmp14*tmp40*tmp48*tmp101*tmp54*tmp86*tmp26*tmp57 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp26*tmp95*tmp57*tmp171*tmp69 + 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp26*tmp95*tmp102*tmp171*tmp96 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp101*tmp54*tmp86*tmp26*tmp102*tmp68 + tmp172 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp99*tmp54*tmp86*tmp102*tmp66*tmp68 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp26*tmp112*tmp57*tmp171*tmp113*tmp116 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp26*tmp74*tmp95*tmp57*tmp171*tmp113*tmp116 + 0.003480682213713888*tmp14*tmp40*tmp48*tmp126*tmp54*tmp26*tmp57*tmp171*tmp127 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp26*tmp102*tmp171*tmp68*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp54*tmp57*tmp171*tmp68*tmp127*tmp154)); -J(3+_OFF,2+_OFF) = -(tmp131*(-0.003480682213713888*tmp14*tmp40*tmp48*tmp101*tmp54*tmp86*tmp61*tmp57 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp95*tmp61*tmp57*tmp171*tmp69 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp57*tmp171*tmp96 + 0.000870170553428472*tmp14*tmp40*tmp48*tmp126*tmp54*tmp57*tmp171*tmp68*tmp158*tmp116 + 0.003480682213713888*tmp14*tmp40*tmp48*tmp126*tmp54*tmp61*tmp57*tmp171*tmp127 + 0.003480682213713888*tmp14*tmp40*tmp76*tmp48*tmp124*tmp54*tmp57*tmp171*tmp68*tmp135 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp95*tmp57*tmp171*tmp96*tmp116*tmp135)); -J(3+_OFF,3+_OFF) = -(tmp131*(-0.003480682213713888*tmp14*tmp40*tmp48*tmp101*tmp54*tmp86*tmp57*tmp66 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp95*tmp57*tmp171*tmp66*tmp69 + 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp95*tmp57*tmp96 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp95*tmp102*tmp171*tmp39*tmp96 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp99*tmp54*tmp86*tmp26*tmp102*tmp68 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp101*tmp54*tmp86*tmp102*tmp39*tmp68 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp112*tmp57*tmp171*tmp66*tmp113*tmp116 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp74*tmp95*tmp57*tmp171*tmp66*tmp113*tmp116 + 0.003480682213713888*tmp14*tmp40*tmp48*tmp126*tmp54*tmp57*tmp171*tmp66*tmp127 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp57*tmp68*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp102*tmp171*tmp39*tmp68*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp54*tmp57*tmp171*tmp68*tmp127*tmp162)); -J(4+_OFF,1+_OFF) = -(tmp203*tmp194*tmp237) - tmp213*tmp194*tmp243 - tmp224*tmp194*tmp249; -J(4+_OFF,2+_OFF) = -(tmp203*tmp194*tmp256) - tmp213*tmp194*tmp263 - tmp224*tmp194*tmp272; -J(4+_OFF,3+_OFF) = -(tmp203*tmp194*tmp279) - tmp213*tmp194*tmp285 - tmp224*tmp194*tmp291; -J(5+_OFF,1+_OFF) = -(tmp213*tmp194*tmp237) - tmp259*tmp194*tmp243 - tmp266*tmp194*tmp249; -J(5+_OFF,2+_OFF) = -(tmp213*tmp194*tmp256) - tmp259*tmp194*tmp263 - tmp266*tmp194*tmp272; -J(5+_OFF,3+_OFF) = -(tmp213*tmp194*tmp279) - tmp259*tmp194*tmp285 - tmp266*tmp194*tmp291; -J(6+_OFF,1+_OFF) = -(tmp224*tmp194*tmp237) - tmp266*tmp194*tmp243 - tmp294*tmp194*tmp249; -J(6+_OFF,2+_OFF) = -(tmp224*tmp194*tmp256) - tmp266*tmp194*tmp263 - tmp294*tmp194*tmp272; -J(6+_OFF,3+_OFF) = -(tmp224*tmp194*tmp279) - tmp266*tmp194*tmp285 - tmp294*tmp194*tmp291; +double tmp163 = -(tmp7*tmp8); +double tmp164 = 2*tmp6*tmp0*tmp2; +double tmp165 = tmp7*tmp9; +double tmp166 = -2*tmp4*tmp0*tmp1; +double tmp167 = tmp7*tmp10; +double tmp168 = -2*tmp4*tmp2*tmp3; +double tmp169 = -2*tmp6*tmp1*tmp3; +double tmp170 = -(tmp7*tmp12); +double tmp171 = tmp163 + tmp164 + tmp165 + tmp166 + tmp167 + tmp168 + tmp169 + tmp170 + tmp37; +double tmp172 = -0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp95*tmp58*tmp96; +double tmp173 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp58*tmp69*tmp127; +double tmp174 = ibd(2+_OFF); +double tmp175 = ibd(3+_OFF); +double tmp176 = ibod(1+_OFF); +double tmp177 = ibod(2+_OFF); +double tmp178 = ibod(3+_OFF); +double tmp179 = ibd(1+_OFF); +double tmp180 = std::pow(tmp178,2); +double tmp181 = cp(3+_OFF); +double tmp182 = mRoll(2+_OFF); +double tmp183 = mRoll(3+_OFF); +double tmp184 = x(11+_OFF); +double tmp185 = mRoll(4+_OFF); +double tmp186 = x(13+_OFF); +double tmp187 = tmp179*tmp174*tmp175; +double tmp188 = std::pow(tmp176,2); +double tmp189 = -(tmp174*tmp188); +double tmp190 = std::pow(tmp177,2); +double tmp191 = -(tmp175*tmp190); +double tmp192 = 2*tmp176*tmp177*tmp178; +double tmp193 = -(tmp179*tmp180); +double tmp194 = tmp187 + tmp189 + tmp191 + tmp192 + tmp193; +double tmp195 = 1/tmp194; +double tmp196 = cBar(1+_OFF); +double tmp197 = mPitch(3+_OFF); +double tmp198 = mPitch(4+_OFF); +double tmp199 = x(12+_OFF); +double tmp200 = mYaw(2+_OFF); +double tmp201 = mYaw(3+_OFF); +double tmp202 = tmp174*tmp175; +double tmp203 = -tmp180; +double tmp204 = tmp202 + tmp203; +double tmp205 = tmp76*tmp182; +double tmp206 = (tmp181*tmp183*tmp70*tmp184)/2.; +double tmp207 = -(tmp181*tmp185*tmp70*tmp186)/2.; +double tmp208 = mRoll(1+_OFF); +double tmp209 = z(2+_OFF); +double tmp210 = -(tmp208*tmp209); +double tmp211 = tmp205 + tmp206 + tmp207 + tmp210; +double tmp212 = -(tmp175*tmp177); +double tmp213 = tmp176*tmp178; +double tmp214 = tmp212 + tmp213; +double tmp215 = mPitch(1+_OFF); +double tmp216 = -tmp215; +double tmp217 = -(tmp98*tmp197); +double tmp218 = (tmp196*tmp198*tmp70*tmp199)/2.; +double tmp219 = mPitch(2+_OFF); +double tmp220 = z(3+_OFF); +double tmp221 = -(tmp219*tmp220); +double tmp222 = tmp216 + tmp217 + tmp218 + tmp221; +double tmp223 = -(tmp174*tmp176); +double tmp224 = tmp177*tmp178; +double tmp225 = tmp223 + tmp224; +double tmp226 = -(tmp76*tmp200); +double tmp227 = (tmp181*tmp201*tmp70*tmp186)/2.; +double tmp228 = mYaw(1+_OFF); +double tmp229 = z(4+_OFF); +double tmp230 = tmp228*tmp229; +double tmp231 = tmp226 + tmp227 + tmp230; +double tmp232 = -(tmp182*tmp26*tmp74*tmp132*tmp116); +double tmp233 = -(tmp181*tmp183*tmp26*tmp132*tmp184)/2.; +double tmp234 = (tmp181*tmp185*tmp26*tmp132*tmp186)/2.; +double tmp235 = tmp232 + tmp233 + tmp234; +double tmp236 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp181*tmp54*tmp69*tmp235; +double tmp237 = 0.003480682213713888*tmp14*tmp40*tmp48*tmp181*tmp54*tmp26*tmp211; +double tmp238 = tmp236 + tmp237; +double tmp239 = -(tmp197*tmp128*tmp67); +double tmp240 = -(tmp196*tmp198*tmp26*tmp132*tmp199)/2.; +double tmp241 = tmp239 + tmp240; +double tmp242 = 0.001740341106856944*tmp14*tmp40*tmp196*tmp48*tmp54*tmp69*tmp241; +double tmp243 = 0.003480682213713888*tmp14*tmp40*tmp196*tmp48*tmp54*tmp26*tmp222; +double tmp244 = tmp242 + tmp243; +double tmp245 = tmp200*tmp26*tmp74*tmp132*tmp116; +double tmp246 = -(tmp181*tmp201*tmp26*tmp132*tmp186)/2.; +double tmp247 = tmp245 + tmp246; +double tmp248 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp181*tmp54*tmp69*tmp247; +double tmp249 = 0.003480682213713888*tmp14*tmp40*tmp48*tmp181*tmp54*tmp26*tmp231; +double tmp250 = tmp248 + tmp249; +double tmp251 = tmp182*tmp116*tmp135; +double tmp252 = -(tmp181*tmp183*tmp62*tmp132*tmp184)/2.; +double tmp253 = (tmp181*tmp185*tmp62*tmp132*tmp186)/2.; +double tmp254 = tmp251 + tmp252 + tmp253; +double tmp255 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp181*tmp54*tmp69*tmp254; +double tmp256 = 0.003480682213713888*tmp14*tmp40*tmp48*tmp181*tmp54*tmp62*tmp211; +double tmp257 = tmp255 + tmp256; +double tmp258 = tmp179*tmp175; +double tmp259 = -tmp188; +double tmp260 = tmp258 + tmp259; +double tmp261 = std::pow(tmp196,2); +double tmp262 = -0.000870170553428472*tmp14*tmp40*tmp261*tmp48*tmp198*tmp54*tmp62*tmp70*tmp199; +double tmp263 = 0.003480682213713888*tmp14*tmp40*tmp196*tmp48*tmp54*tmp62*tmp222; +double tmp264 = tmp262 + tmp263; +double tmp265 = tmp176*tmp177; +double tmp266 = -(tmp179*tmp178); +double tmp267 = tmp265 + tmp266; +double tmp268 = -(tmp200*tmp116*tmp135); +double tmp269 = -(tmp181*tmp201*tmp62*tmp132*tmp186)/2.; +double tmp270 = tmp268 + tmp269; +double tmp271 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp181*tmp54*tmp69*tmp270; +double tmp272 = 0.003480682213713888*tmp14*tmp40*tmp48*tmp181*tmp54*tmp62*tmp231; +double tmp273 = tmp271 + tmp272; +double tmp274 = -(tmp182*tmp74*tmp67*tmp132*tmp116); +double tmp275 = -(tmp181*tmp183*tmp67*tmp132*tmp184)/2.; +double tmp276 = (tmp181*tmp185*tmp67*tmp132*tmp186)/2.; +double tmp277 = tmp274 + tmp275 + tmp276; +double tmp278 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp181*tmp54*tmp69*tmp277; +double tmp279 = 0.003480682213713888*tmp14*tmp40*tmp48*tmp181*tmp54*tmp67*tmp211; +double tmp280 = tmp278 + tmp279; +double tmp281 = tmp197*tmp26*tmp128; +double tmp282 = -(tmp196*tmp198*tmp67*tmp132*tmp199)/2.; +double tmp283 = tmp281 + tmp282; +double tmp284 = 0.001740341106856944*tmp14*tmp40*tmp196*tmp48*tmp54*tmp69*tmp283; +double tmp285 = 0.003480682213713888*tmp14*tmp40*tmp196*tmp48*tmp54*tmp67*tmp222; +double tmp286 = tmp284 + tmp285; +double tmp287 = tmp200*tmp74*tmp67*tmp132*tmp116; +double tmp288 = -(tmp181*tmp201*tmp67*tmp132*tmp186)/2.; +double tmp289 = tmp287 + tmp288; +double tmp290 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp181*tmp54*tmp69*tmp289; +double tmp291 = 0.003480682213713888*tmp14*tmp40*tmp48*tmp181*tmp54*tmp67*tmp231; +double tmp292 = tmp290 + tmp291; +double tmp293 = tmp179*tmp174; +double tmp294 = -tmp190; +double tmp295 = tmp293 + tmp294; +J(1+_OFF,1+_OFF) = -(tmp131*(-0.003480682213713888*tmp14*tmp40*tmp48*tmp101*tmp54*tmp26*tmp58*tmp111 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp86*tmp26*tmp95*tmp58*tmp70 + 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp86*tmp26*tmp95*tmp102*tmp96 + tmp172 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp101*tmp54*tmp26*tmp102*tmp111*tmp69 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp99*tmp54*tmp102*tmp111*tmp67*tmp69 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp86*tmp26*tmp95*tmp74*tmp58*tmp112*tmp116 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp26*tmp113*tmp58*tmp112*tmp116 + 0.003480682213713888*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp26*tmp58*tmp127 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp26*tmp102*tmp69*tmp127 + tmp173 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp54*tmp86*tmp58*tmp69*tmp127*tmp154 + 0.003480682213713888*tmp14*tmp40*tmp136*tmp54*(2*tmp137*tmp138*tmp26 + tmp139*tmp129*tmp140*tmp26*tmp70*tmp141))); +J(1+_OFF,2+_OFF) = -(tmp131*(-0.003480682213713888*tmp14*tmp40*tmp48*tmp101*tmp54*tmp62*tmp58*tmp111 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp86*tmp95*tmp62*tmp58*tmp70 + 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp86*tmp58*tmp96 + 0.000870170553428472*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp58*tmp69*tmp158*tmp116 + 0.003480682213713888*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp62*tmp58*tmp127 + 0.003480682213713888*tmp14*tmp40*tmp76*tmp48*tmp124*tmp54*tmp86*tmp58*tmp69*tmp135 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp86*tmp95*tmp58*tmp96*tmp116*tmp135 + 0.003480682213713888*tmp14*tmp40*tmp136*tmp54*(2*tmp137*tmp138*tmp62 + tmp139*tmp129*tmp140*tmp62*tmp70*tmp141))); +J(1+_OFF,3+_OFF) = -(tmp131*(-0.003480682213713888*tmp14*tmp40*tmp48*tmp101*tmp54*tmp58*tmp111*tmp67 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp86*tmp95*tmp58*tmp67*tmp70 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp86*tmp95*tmp102*tmp39*tmp96 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp101*tmp54*tmp58*tmp69 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp99*tmp54*tmp26*tmp102*tmp111*tmp69 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp101*tmp54*tmp102*tmp111*tmp39*tmp69 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp86*tmp95*tmp74*tmp58*tmp67*tmp112*tmp116 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp113*tmp58*tmp67*tmp112*tmp116 + 0.003480682213713888*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp58*tmp67*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp102*tmp39*tmp69*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp54*tmp86*tmp58*tmp69*tmp127*tmp162 + 0.003480682213713888*tmp14*tmp40*tmp136*tmp54*(2*tmp137*tmp138*tmp67 + tmp139*tmp129*tmp140*tmp67*tmp70*tmp141))); +J(2+_OFF,1+_OFF) = -(tmp131*(0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp26*tmp74*tmp70 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp26*tmp150*tmp70 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp26*tmp113*tmp112*tmp116 - 0.003480682213713888*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp26*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp54*tmp150*tmp96*tmp154)); +J(2+_OFF,2+_OFF) = -(tmp131*(0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp150*tmp62*tmp70 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp96 - 0.000870170553428472*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp69*tmp158*tmp116 - 0.003480682213713888*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp62*tmp127 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp69*tmp135 + 0.003480682213713888*tmp14*tmp40*tmp76*tmp48*tmp124*tmp54*tmp150*tmp96*tmp116*tmp135)); +J(2+_OFF,3+_OFF) = -(tmp131*(0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp74*tmp67*tmp70 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp150*tmp67*tmp70 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp113*tmp67*tmp112*tmp116 - 0.003480682213713888*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp67*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp54*tmp150*tmp96*tmp162)); +J(3+_OFF,1+_OFF) = -(tmp131*(-0.003480682213713888*tmp14*tmp40*tmp48*tmp101*tmp54*tmp86*tmp26*tmp58 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp26*tmp95*tmp58*tmp171*tmp70 + 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp26*tmp95*tmp102*tmp171*tmp96 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp101*tmp54*tmp86*tmp26*tmp102*tmp69 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp101*tmp54*tmp58*tmp69 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp99*tmp54*tmp86*tmp102*tmp67*tmp69 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp26*tmp95*tmp74*tmp58*tmp171*tmp112*tmp116 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp26*tmp113*tmp58*tmp171*tmp112*tmp116 + 0.003480682213713888*tmp14*tmp40*tmp48*tmp126*tmp54*tmp26*tmp58*tmp171*tmp127 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp26*tmp102*tmp171*tmp69*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp54*tmp58*tmp171*tmp69*tmp127*tmp154)); +J(3+_OFF,2+_OFF) = -(tmp131*(-0.003480682213713888*tmp14*tmp40*tmp48*tmp101*tmp54*tmp86*tmp62*tmp58 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp95*tmp62*tmp58*tmp171*tmp70 + 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp58*tmp171*tmp96 + 0.000870170553428472*tmp14*tmp40*tmp48*tmp126*tmp54*tmp58*tmp171*tmp69*tmp158*tmp116 + 0.003480682213713888*tmp14*tmp40*tmp48*tmp126*tmp54*tmp62*tmp58*tmp171*tmp127 + 0.003480682213713888*tmp14*tmp40*tmp76*tmp48*tmp124*tmp54*tmp58*tmp171*tmp69*tmp135 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp95*tmp58*tmp171*tmp96*tmp116*tmp135)); +J(3+_OFF,3+_OFF) = -(tmp131*(-0.003480682213713888*tmp14*tmp40*tmp48*tmp101*tmp54*tmp86*tmp58*tmp67 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp95*tmp58*tmp171*tmp67*tmp70 + tmp172 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp95*tmp102*tmp39*tmp171*tmp96 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp99*tmp54*tmp86*tmp26*tmp102*tmp69 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp101*tmp54*tmp86*tmp102*tmp39*tmp69 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp95*tmp74*tmp58*tmp171*tmp67*tmp112*tmp116 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp113*tmp58*tmp171*tmp67*tmp112*tmp116 + 0.003480682213713888*tmp14*tmp40*tmp48*tmp126*tmp54*tmp58*tmp171*tmp67*tmp127 + tmp173 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp102*tmp39*tmp171*tmp69*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp54*tmp58*tmp171*tmp69*tmp127*tmp162)); +J(4+_OFF,1+_OFF) = -(tmp204*tmp195*tmp238) - tmp214*tmp195*tmp244 - tmp225*tmp195*tmp250; +J(4+_OFF,2+_OFF) = -(tmp204*tmp195*tmp257) - tmp214*tmp195*tmp264 - tmp225*tmp195*tmp273; +J(4+_OFF,3+_OFF) = -(tmp204*tmp195*tmp280) - tmp214*tmp195*tmp286 - tmp225*tmp195*tmp292; +J(5+_OFF,1+_OFF) = -(tmp214*tmp195*tmp238) - tmp260*tmp195*tmp244 - tmp267*tmp195*tmp250; +J(5+_OFF,2+_OFF) = -(tmp214*tmp195*tmp257) - tmp260*tmp195*tmp264 - tmp267*tmp195*tmp273; +J(5+_OFF,3+_OFF) = -(tmp214*tmp195*tmp280) - tmp260*tmp195*tmp286 - tmp267*tmp195*tmp292; +J(6+_OFF,1+_OFF) = -(tmp225*tmp195*tmp238) - tmp267*tmp195*tmp244 - tmp295*tmp195*tmp250; +J(6+_OFF,2+_OFF) = -(tmp225*tmp195*tmp257) - tmp267*tmp195*tmp264 - tmp295*tmp195*tmp273; +J(6+_OFF,3+_OFF) = -(tmp225*tmp195*tmp280) - tmp267*tmp195*tmp286 - tmp295*tmp195*tmp292; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrWind.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrWind.cppready index a77a60f..58acb05 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrWind.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrWind.cppready @@ -61,25 +61,25 @@ double tmp59 = tmp57 + tmp58; double tmp60 = -0.006500000000000001*tmp14*tmp59; double tmp61 = 1 + tmp60; double tmp62 = std::pow(tmp61,4.2561); -double tmp63 = std::pow(tmp39,2); -double tmp64 = tmp47 + tmp63; -double tmp65 = 1/std::sqrt(tmp64); -double tmp66 = -tmp8; -double tmp67 = tmp66 + tmp34 + tmp10 + tmp12; -double tmp68 = 2*tmp67*tmp26; -double tmp69 = -4*tmp41*tmp51; -double tmp70 = -4*tmp28*tmp55; -double tmp71 = tmp68 + tmp69 + tmp70; -double tmp72 = std::pow(tmp51,2); -double tmp73 = std::pow(tmp55,2); -double tmp74 = tmp47 + tmp72 + tmp73; -double tmp75 = 1/std::sqrt(tmp74); -double tmp76 = 2*tmp4*tmp41; -double tmp77 = 2*tmp7*tmp44; -double tmp78 = tmp6*tmp45; -double tmp79 = -tmp46; -double tmp80 = tmp76 + tmp77 + tmp78 + tmp79; -double tmp81 = tmp80*tmp75; +double tmp63 = -tmp46; +double tmp64 = std::pow(tmp39,2); +double tmp65 = tmp47 + tmp64; +double tmp66 = 1/std::sqrt(tmp65); +double tmp67 = -tmp8; +double tmp68 = tmp67 + tmp34 + tmp10 + tmp12; +double tmp69 = 2*tmp68*tmp26; +double tmp70 = -4*tmp41*tmp51; +double tmp71 = -4*tmp28*tmp55; +double tmp72 = tmp69 + tmp70 + tmp71; +double tmp73 = std::pow(tmp51,2); +double tmp74 = std::pow(tmp55,2); +double tmp75 = tmp47 + tmp73 + tmp74; +double tmp76 = 1/std::sqrt(tmp75); +double tmp77 = 2*tmp4*tmp41; +double tmp78 = 2*tmp7*tmp44; +double tmp79 = tmp6*tmp45; +double tmp80 = tmp77 + tmp78 + tmp79 + tmp63; +double tmp81 = tmp80*tmp76; double tmp82 = std::asin(tmp81); double tmp83 = fLat(1+_OFF); double tmp84 = -(tmp4*tmp8); @@ -91,36 +91,36 @@ double tmp89 = -2*tmp6*tmp0*tmp3; double tmp90 = -2*tmp7*tmp2*tmp3; double tmp91 = tmp4*tmp12; double tmp92 = tmp84 + tmp85 + tmp86 + tmp87 + tmp88 + tmp89 + tmp90 + tmp91 + tmp25; -double tmp93 = -(tmp6*tmp8); -double tmp94 = -2*tmp7*tmp0*tmp2; -double tmp95 = tmp6*tmp9; -double tmp96 = -2*tmp4*tmp2*tmp1; -double tmp97 = -(tmp6*tmp10); -double tmp98 = 2*tmp4*tmp0*tmp3; -double tmp99 = -2*tmp7*tmp1*tmp3; -double tmp100 = tmp6*tmp12; -double tmp101 = tmp93 + tmp94 + tmp95 + tmp96 + tmp97 + tmp98 + tmp99 + tmp100 + tmp46; -double tmp102 = std::sqrt(tmp74); +double tmp93 = tmp6*tmp8; +double tmp94 = 2*tmp7*tmp0*tmp2; +double tmp95 = -(tmp6*tmp9); +double tmp96 = 2*tmp4*tmp2*tmp1; +double tmp97 = tmp6*tmp10; +double tmp98 = -2*tmp4*tmp0*tmp3; +double tmp99 = 2*tmp7*tmp1*tmp3; +double tmp100 = -(tmp6*tmp12); +double tmp101 = tmp93 + tmp94 + tmp95 + tmp96 + tmp97 + tmp98 + tmp99 + tmp100 + tmp63; +double tmp102 = std::sqrt(tmp75); double tmp103 = fLift(1+_OFF); double tmp104 = std::atan2(tmp39,tmp26); double tmp105 = fLift(2+_OFF); double tmp106 = tmp104*tmp105; double tmp107 = tmp103 + tmp106; double tmp108 = 4*tmp28*tmp39; -double tmp109 = tmp68 + tmp108; -double tmp110 = std::pow(tmp64,-1.5); -double tmp111 = -(tmp7*tmp8); -double tmp112 = 2*tmp6*tmp0*tmp2; -double tmp113 = tmp7*tmp9; -double tmp114 = -2*tmp4*tmp0*tmp1; -double tmp115 = tmp7*tmp10; -double tmp116 = -2*tmp4*tmp2*tmp3; -double tmp117 = -2*tmp6*tmp1*tmp3; -double tmp118 = -(tmp7*tmp12); -double tmp119 = tmp111 + tmp112 + tmp113 + tmp114 + tmp115 + tmp116 + tmp117 + tmp118 + tmp37; -double tmp120 = 1/tmp64; +double tmp109 = tmp69 + tmp108; +double tmp110 = std::pow(tmp65,-1.5); +double tmp111 = tmp7*tmp8; +double tmp112 = -2*tmp6*tmp0*tmp2; +double tmp113 = -(tmp7*tmp9); +double tmp114 = 2*tmp4*tmp0*tmp1; +double tmp115 = -(tmp7*tmp10); +double tmp116 = 2*tmp4*tmp2*tmp3; +double tmp117 = 2*tmp6*tmp1*tmp3; +double tmp118 = tmp7*tmp12; +double tmp119 = tmp111 + tmp112 + tmp113 + tmp114 + tmp115 + tmp116 + tmp117 + tmp118 + tmp38; +double tmp120 = 1/tmp65; double tmp121 = std::pow(tmp80,2); -double tmp122 = 1/tmp74; +double tmp122 = 1/tmp75; double tmp123 = fDrag(1+_OFF); double tmp124 = fDrag(2+_OFF); double tmp125 = tmp104*tmp124; @@ -136,31 +136,31 @@ double tmp134 = 1 + tmp133; double tmp135 = std::sqrt(tmp134); double tmp136 = 1/std::sqrt(tmp134); double tmp137 = 2*tmp28*tmp26*tmp120; -double tmp138 = tmp67*tmp120*tmp55; +double tmp138 = tmp68*tmp120*tmp55; double tmp139 = tmp137 + tmp138; -double tmp140 = std::pow(tmp74,-1.5); -double tmp141 = -(tmp80*tmp71*tmp140)/2.; -double tmp142 = 2*tmp41*tmp75; +double tmp140 = std::pow(tmp75,-1.5); +double tmp141 = -(tmp80*tmp72*tmp140)/2.; +double tmp142 = 2*tmp41*tmp76; double tmp143 = tmp141 + tmp142; double tmp144 = cp(1+_OFF); double tmp145 = cp(4+_OFF); double tmp146 = 1/tmp145; double tmp147 = -4*tmp17*tmp26; -double tmp148 = tmp66 + tmp9 + tmp11 + tmp12; +double tmp148 = tmp67 + tmp9 + tmp11 + tmp12; double tmp149 = 2*tmp148*tmp51; double tmp150 = -4*tmp32*tmp55; double tmp151 = tmp147 + tmp149 + tmp150; -double tmp152 = -2*tmp2*tmp1; +double tmp152 = -2*tmp0*tmp3; double tmp153 = 4*tmp32*tmp39; double tmp154 = tmp147 + tmp153; -double tmp155 = std::pow(tmp74,-2); -double tmp156 = -2*tmp0*tmp3; -double tmp157 = tmp152 + tmp156; +double tmp155 = std::pow(tmp75,-2); +double tmp156 = -2*tmp2*tmp1; +double tmp157 = tmp156 + tmp152; double tmp158 = 2*tmp32*tmp26*tmp120; double tmp159 = -2*tmp17*tmp120*tmp55; double tmp160 = tmp158 + tmp159; double tmp161 = -(tmp80*tmp151*tmp140)/2.; -double tmp162 = tmp45*tmp75; +double tmp162 = tmp45*tmp76; double tmp163 = tmp161 + tmp162; double tmp164 = std::pow(tmp144,2); double tmp165 = std::pow(M_PI,-2); @@ -170,33 +170,33 @@ double tmp168 = fThrust(2+_OFF); double tmp169 = z(1+_OFF); double tmp170 = -4*tmp20*tmp26; double tmp171 = -4*tmp44*tmp51; -double tmp172 = tmp66 + tmp9 + tmp10 + tmp22; +double tmp172 = tmp67 + tmp9 + tmp10 + tmp22; double tmp173 = 2*tmp172*tmp55; double tmp174 = tmp170 + tmp171 + tmp173; -double tmp175 = -2*tmp1*tmp3; -double tmp176 = -2*tmp2*tmp3; +double tmp175 = 2*tmp1*tmp3; +double tmp176 = 2*tmp0*tmp1; double tmp177 = 2*tmp35*tmp39; double tmp178 = tmp170 + tmp177; -double tmp179 = 2*tmp0*tmp1; -double tmp180 = tmp179 + tmp176; +double tmp179 = -2*tmp2*tmp3; +double tmp180 = tmp176 + tmp179; double tmp181 = tmp35*tmp26*tmp120; double tmp182 = -2*tmp20*tmp120*tmp55; double tmp183 = tmp181 + tmp182; double tmp184 = -(tmp80*tmp174*tmp140)/2.; -double tmp185 = 2*tmp44*tmp75; +double tmp185 = 2*tmp44*tmp76; double tmp186 = tmp184 + tmp185; -double tmp187 = tmp121*tmp71*tmp155; +double tmp187 = tmp121*tmp72*tmp155; double tmp188 = -4*tmp41*tmp80*tmp122; double tmp189 = tmp187 + tmp188; -double tmp190 = tmp6*tmp8; -double tmp191 = 2*tmp7*tmp0*tmp2; -double tmp192 = -(tmp6*tmp9); -double tmp193 = 2*tmp4*tmp2*tmp1; -double tmp194 = tmp6*tmp10; -double tmp195 = -2*tmp4*tmp0*tmp3; -double tmp196 = 2*tmp7*tmp1*tmp3; -double tmp197 = -(tmp6*tmp12); -double tmp198 = tmp190 + tmp191 + tmp192 + tmp193 + tmp194 + tmp195 + tmp196 + tmp197 + tmp79; +double tmp190 = -(tmp6*tmp8); +double tmp191 = -2*tmp7*tmp0*tmp2; +double tmp192 = tmp6*tmp9; +double tmp193 = -2*tmp4*tmp2*tmp1; +double tmp194 = -(tmp6*tmp10); +double tmp195 = 2*tmp4*tmp0*tmp3; +double tmp196 = -2*tmp7*tmp1*tmp3; +double tmp197 = tmp6*tmp12; +double tmp198 = tmp190 + tmp191 + tmp192 + tmp193 + tmp194 + tmp195 + tmp196 + tmp197 + tmp46; double tmp199 = tmp124*tmp139; double tmp200 = 2*tmp104*tmp127*tmp139; double tmp201 = 2*tmp82*tmp130*tmp136*tmp143; @@ -208,7 +208,7 @@ double tmp206 = tmp124*tmp160; double tmp207 = 2*tmp104*tmp127*tmp160; double tmp208 = 2*tmp82*tmp130*tmp136*tmp163; double tmp209 = tmp206 + tmp207 + tmp208; -double tmp210 = 2*tmp0*tmp2; +double tmp210 = -2*tmp0*tmp2; double tmp211 = tmp121*tmp174*tmp155; double tmp212 = -4*tmp44*tmp80*tmp122; double tmp213 = tmp211 + tmp212; @@ -216,21 +216,21 @@ double tmp214 = tmp124*tmp183; double tmp215 = 2*tmp104*tmp127*tmp183; double tmp216 = 2*tmp82*tmp130*tmp136*tmp186; double tmp217 = tmp214 + tmp215 + tmp216; -double tmp218 = tmp7*tmp8; -double tmp219 = -2*tmp6*tmp0*tmp2; -double tmp220 = -(tmp7*tmp9); -double tmp221 = 2*tmp4*tmp0*tmp1; -double tmp222 = -(tmp7*tmp10); -double tmp223 = 2*tmp4*tmp2*tmp3; -double tmp224 = 2*tmp6*tmp1*tmp3; -double tmp225 = tmp7*tmp12; -double tmp226 = tmp218 + tmp219 + tmp220 + tmp221 + tmp222 + tmp223 + tmp224 + tmp225 + tmp38; -double tmp227 = 2*tmp0*tmp3; -double tmp228 = tmp152 + tmp227; -double tmp229 = 2*tmp2*tmp3; -double tmp230 = tmp179 + tmp229; -double tmp231 = -2*tmp0*tmp2; -double tmp232 = 2*tmp1*tmp3; +double tmp218 = -(tmp7*tmp8); +double tmp219 = 2*tmp6*tmp0*tmp2; +double tmp220 = tmp7*tmp9; +double tmp221 = -2*tmp4*tmp0*tmp1; +double tmp222 = tmp7*tmp10; +double tmp223 = -2*tmp4*tmp2*tmp3; +double tmp224 = -2*tmp6*tmp1*tmp3; +double tmp225 = -(tmp7*tmp12); +double tmp226 = tmp218 + tmp219 + tmp220 + tmp221 + tmp222 + tmp223 + tmp224 + tmp225 + tmp37; +double tmp227 = 2*tmp2*tmp1; +double tmp228 = tmp227 + tmp152; +double tmp229 = -2*tmp0*tmp1; +double tmp230 = tmp229 + tmp179; +double tmp231 = 2*tmp0*tmp2; +double tmp232 = -2*tmp1*tmp3; double tmp233 = tmp231 + tmp232; double tmp234 = tmp231 + tmp175; double tmp235 = ibd(2+_OFF); @@ -265,8 +265,8 @@ double tmp263 = tmp235*tmp236; double tmp264 = -tmp241; double tmp265 = tmp263 + tmp264; double tmp266 = tmp82*tmp243; -double tmp267 = (tmp242*tmp244*tmp75*tmp245)/2.; -double tmp268 = -(tmp242*tmp246*tmp75*tmp247)/2.; +double tmp267 = (tmp242*tmp244*tmp76*tmp245)/2.; +double tmp268 = -(tmp242*tmp246*tmp76*tmp247)/2.; double tmp269 = mRoll(1+_OFF); double tmp270 = z(2+_OFF); double tmp271 = -(tmp269*tmp270); @@ -277,7 +277,7 @@ double tmp275 = tmp273 + tmp274; double tmp276 = mPitch(1+_OFF); double tmp277 = -tmp276; double tmp278 = -(tmp104*tmp258); -double tmp279 = (tmp257*tmp259*tmp75*tmp260)/2.; +double tmp279 = (tmp257*tmp259*tmp76*tmp260)/2.; double tmp280 = mPitch(2+_OFF); double tmp281 = z(3+_OFF); double tmp282 = -(tmp280*tmp281); @@ -286,35 +286,35 @@ double tmp284 = -(tmp235*tmp237); double tmp285 = tmp238*tmp239; double tmp286 = tmp284 + tmp285; double tmp287 = -(tmp82*tmp261); -double tmp288 = (tmp242*tmp262*tmp75*tmp247)/2.; +double tmp288 = (tmp242*tmp262*tmp76*tmp247)/2.; double tmp289 = mYaw(1+_OFF); double tmp290 = z(4+_OFF); double tmp291 = tmp289*tmp290; double tmp292 = tmp287 + tmp288 + tmp291; double tmp293 = tmp243*tmp136*tmp143; -double tmp294 = -(tmp242*tmp244*tmp71*tmp140*tmp245)/4.; -double tmp295 = (tmp242*tmp246*tmp71*tmp140*tmp247)/4.; +double tmp294 = -(tmp242*tmp244*tmp72*tmp140*tmp245)/4.; +double tmp295 = (tmp242*tmp246*tmp72*tmp140*tmp247)/4.; double tmp296 = tmp293 + tmp294 + tmp295; -double tmp297 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp74*tmp296; -double tmp298 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp71*tmp272; +double tmp297 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp75*tmp296; +double tmp298 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp72*tmp272; double tmp299 = tmp297 + tmp298; double tmp300 = -(tmp258*tmp139); -double tmp301 = -(tmp257*tmp259*tmp71*tmp140*tmp260)/4.; +double tmp301 = -(tmp257*tmp259*tmp72*tmp140*tmp260)/4.; double tmp302 = tmp300 + tmp301; -double tmp303 = 0.001740341106856944*tmp14*tmp42*tmp257*tmp56*tmp62*tmp74*tmp302; -double tmp304 = 0.001740341106856944*tmp14*tmp42*tmp257*tmp56*tmp62*tmp71*tmp283; +double tmp303 = 0.001740341106856944*tmp14*tmp42*tmp257*tmp56*tmp62*tmp75*tmp302; +double tmp304 = 0.001740341106856944*tmp14*tmp42*tmp257*tmp56*tmp62*tmp72*tmp283; double tmp305 = tmp303 + tmp304; double tmp306 = -(tmp261*tmp136*tmp143); -double tmp307 = -(tmp242*tmp262*tmp71*tmp140*tmp247)/4.; +double tmp307 = -(tmp242*tmp262*tmp72*tmp140*tmp247)/4.; double tmp308 = tmp306 + tmp307; -double tmp309 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp74*tmp308; -double tmp310 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp71*tmp292; +double tmp309 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp75*tmp308; +double tmp310 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp72*tmp292; double tmp311 = tmp309 + tmp310; double tmp312 = tmp243*tmp136*tmp163; double tmp313 = -(tmp242*tmp244*tmp151*tmp140*tmp245)/4.; double tmp314 = (tmp242*tmp246*tmp151*tmp140*tmp247)/4.; double tmp315 = tmp312 + tmp313 + tmp314; -double tmp316 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp74*tmp315; +double tmp316 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp75*tmp315; double tmp317 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp151*tmp272; double tmp318 = tmp316 + tmp317; double tmp319 = tmp240*tmp236; @@ -323,7 +323,7 @@ double tmp321 = tmp319 + tmp320; double tmp322 = -(tmp258*tmp160); double tmp323 = -(tmp257*tmp259*tmp151*tmp140*tmp260)/4.; double tmp324 = tmp322 + tmp323; -double tmp325 = 0.001740341106856944*tmp14*tmp42*tmp257*tmp56*tmp62*tmp74*tmp324; +double tmp325 = 0.001740341106856944*tmp14*tmp42*tmp257*tmp56*tmp62*tmp75*tmp324; double tmp326 = 0.001740341106856944*tmp14*tmp42*tmp257*tmp56*tmp62*tmp151*tmp283; double tmp327 = tmp325 + tmp326; double tmp328 = tmp237*tmp238; @@ -332,40 +332,40 @@ double tmp330 = tmp328 + tmp329; double tmp331 = -(tmp261*tmp136*tmp163); double tmp332 = -(tmp242*tmp262*tmp151*tmp140*tmp247)/4.; double tmp333 = tmp331 + tmp332; -double tmp334 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp74*tmp333; +double tmp334 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp75*tmp333; double tmp335 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp151*tmp292; double tmp336 = tmp334 + tmp335; double tmp337 = tmp243*tmp136*tmp186; double tmp338 = -(tmp242*tmp244*tmp174*tmp140*tmp245)/4.; double tmp339 = (tmp242*tmp246*tmp174*tmp140*tmp247)/4.; double tmp340 = tmp337 + tmp338 + tmp339; -double tmp341 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp74*tmp340; +double tmp341 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp75*tmp340; double tmp342 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp174*tmp272; double tmp343 = tmp341 + tmp342; double tmp344 = -(tmp258*tmp183); double tmp345 = -(tmp257*tmp259*tmp174*tmp140*tmp260)/4.; double tmp346 = tmp344 + tmp345; -double tmp347 = 0.001740341106856944*tmp14*tmp42*tmp257*tmp56*tmp62*tmp74*tmp346; +double tmp347 = 0.001740341106856944*tmp14*tmp42*tmp257*tmp56*tmp62*tmp75*tmp346; double tmp348 = 0.001740341106856944*tmp14*tmp42*tmp257*tmp56*tmp62*tmp174*tmp283; double tmp349 = tmp347 + tmp348; double tmp350 = -(tmp261*tmp136*tmp186); double tmp351 = -(tmp242*tmp262*tmp174*tmp140*tmp247)/4.; double tmp352 = tmp350 + tmp351; -double tmp353 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp74*tmp352; +double tmp353 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp75*tmp352; double tmp354 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp174*tmp292; double tmp355 = tmp353 + tmp354; double tmp356 = tmp240*tmp235; double tmp357 = -tmp251; double tmp358 = tmp356 + tmp357; -J(1+_OFF,1+_OFF) = -(tmp146*(-0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp65*tmp119*tmp71 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp92*tmp101*tmp65*tmp71*tmp75 + 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp92*tmp101*tmp109*tmp110*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp228*tmp92*tmp65*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp67*tmp101*tmp65*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*(-2*tmp0*tmp1 + tmp176)*tmp65*tmp74 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp107*tmp62*tmp109*tmp110*tmp119*tmp74 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp105*tmp62*tmp65*tmp119*tmp139*tmp74 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp65*tmp74*tmp189*tmp136 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp65*tmp71*tmp135 - 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp109*tmp110*tmp74*tmp135 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp67*tmp65*tmp74*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp92*tmp101*tmp65*tmp102*tmp136*tmp143 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp92*tmp65*tmp74*tmp135*tmp202 + 0.003480682213713888*tmp14*tmp42*tmp164*tmp62*(tmp165*tmp166*tmp71 + (tmp167*tmp144*tmp168*tmp71*tmp75*tmp169)/2.))); -J(1+_OFF,2+_OFF) = -(tmp146*(-0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp65*tmp119*tmp151 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp92*tmp101*tmp65*tmp151*tmp75 + 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp92*tmp101*tmp154*tmp110*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp148*tmp92*tmp65*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp157*tmp101*tmp65*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*(tmp210 + tmp175)*tmp65*tmp74 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp107*tmp62*tmp154*tmp110*tmp119*tmp74 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp105*tmp62*tmp65*tmp119*tmp160*tmp74 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp65*tmp74*tmp205*tmp136 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp65*tmp151*tmp135 - 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp154*tmp110*tmp74*tmp135 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp157*tmp65*tmp74*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp92*tmp101*tmp65*tmp102*tmp136*tmp163 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp92*tmp65*tmp74*tmp135*tmp209 + 0.003480682213713888*tmp14*tmp42*tmp164*tmp62*(tmp165*tmp166*tmp151 + (tmp167*tmp144*tmp168*tmp151*tmp75*tmp169)/2.))); -J(1+_OFF,3+_OFF) = -(tmp146*(-0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp65*tmp119*tmp174 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp92*tmp101*tmp65*tmp174*tmp75 + 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp92*tmp101*tmp178*tmp110*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp234*tmp92*tmp65*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp180*tmp101*tmp65*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp172*tmp65*tmp74 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp107*tmp62*tmp178*tmp110*tmp119*tmp74 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp105*tmp62*tmp65*tmp119*tmp183*tmp74 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp65*tmp74*tmp213*tmp136 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp65*tmp174*tmp135 - 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp178*tmp110*tmp74*tmp135 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp180*tmp65*tmp74*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp92*tmp101*tmp65*tmp102*tmp136*tmp186 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp92*tmp65*tmp74*tmp135*tmp217 + 0.003480682213713888*tmp14*tmp42*tmp164*tmp62*(tmp165*tmp166*tmp174 + (tmp167*tmp144*tmp168*tmp174*tmp75*tmp169)/2.))); -J(2+_OFF,1+_OFF) = -(tmp146*(0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp198*tmp71*tmp75 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*(2*tmp2*tmp1 + tmp156)*tmp102 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp74*tmp189*tmp136 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp71*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp74*tmp143 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp198*tmp102*tmp202)); -J(2+_OFF,2+_OFF) = -(tmp146*(0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp198*tmp151*tmp75 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp45*tmp102 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp74*tmp205*tmp136 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp151*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp74*tmp163 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp198*tmp102*tmp209)); -J(2+_OFF,3+_OFF) = -(tmp146*(0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp198*tmp174*tmp75 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*(tmp210 + tmp232)*tmp102 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp74*tmp213*tmp136 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp174*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp74*tmp186 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp198*tmp102*tmp217)); -J(3+_OFF,1+_OFF) = -(tmp146*(-0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp92*tmp65*tmp71 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp101*tmp65*tmp226*tmp71*tmp75 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp230*tmp101*tmp65*tmp102 + 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp101*tmp109*tmp110*tmp226*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp228*tmp65*tmp226*tmp102 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp107*tmp62*tmp92*tmp109*tmp110*tmp74 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp67*tmp65*tmp74 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp105*tmp62*tmp92*tmp65*tmp139*tmp74 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp65*tmp226*tmp74*tmp189*tmp136 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp65*tmp226*tmp71*tmp135 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp230*tmp65*tmp74*tmp135 - 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp109*tmp110*tmp226*tmp74*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp101*tmp65*tmp226*tmp102*tmp136*tmp143 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp65*tmp226*tmp74*tmp135*tmp202)); -J(3+_OFF,2+_OFF) = -(tmp146*(-0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp92*tmp65*tmp151 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp101*tmp65*tmp226*tmp151*tmp75 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp233*tmp101*tmp65*tmp102 + 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp101*tmp154*tmp110*tmp226*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp148*tmp65*tmp226*tmp102 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp107*tmp62*tmp92*tmp154*tmp110*tmp74 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp157*tmp65*tmp74 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp105*tmp62*tmp92*tmp65*tmp160*tmp74 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp65*tmp226*tmp74*tmp205*tmp136 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp65*tmp226*tmp151*tmp135 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp233*tmp65*tmp74*tmp135 - 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp154*tmp110*tmp226*tmp74*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp101*tmp65*tmp226*tmp102*tmp136*tmp163 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp65*tmp226*tmp74*tmp135*tmp209)); -J(3+_OFF,3+_OFF) = -(tmp146*(-0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp92*tmp65*tmp174 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp101*tmp65*tmp226*tmp174*tmp75 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp35*tmp101*tmp65*tmp102 + 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp101*tmp178*tmp110*tmp226*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp234*tmp65*tmp226*tmp102 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp107*tmp62*tmp92*tmp178*tmp110*tmp74 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp180*tmp65*tmp74 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp105*tmp62*tmp92*tmp65*tmp183*tmp74 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp65*tmp226*tmp74*tmp213*tmp136 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp65*tmp226*tmp174*tmp135 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp35*tmp65*tmp74*tmp135 - 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp178*tmp110*tmp226*tmp74*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp101*tmp65*tmp226*tmp102*tmp136*tmp186 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp65*tmp226*tmp74*tmp135*tmp217)); +J(1+_OFF,1+_OFF) = -(tmp146*(-0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp66*tmp119*tmp72 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp92*tmp101*tmp66*tmp72*tmp76 + 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp92*tmp101*tmp109*tmp110*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp228*tmp92*tmp66*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp68*tmp101*tmp66*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*(tmp176 + 2*tmp2*tmp3)*tmp66*tmp75 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp107*tmp62*tmp109*tmp110*tmp119*tmp75 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp105*tmp62*tmp66*tmp119*tmp139*tmp75 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp66*tmp75*tmp189*tmp136 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp66*tmp72*tmp135 - 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp109*tmp110*tmp75*tmp135 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp68*tmp66*tmp75*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp92*tmp101*tmp66*tmp102*tmp136*tmp143 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp92*tmp66*tmp75*tmp135*tmp202 + 0.003480682213713888*tmp14*tmp42*tmp164*tmp62*(tmp165*tmp166*tmp72 + (tmp167*tmp144*tmp168*tmp72*tmp76*tmp169)/2.))); +J(1+_OFF,2+_OFF) = -(tmp146*(-0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp66*tmp119*tmp151 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp92*tmp101*tmp66*tmp151*tmp76 + 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp92*tmp101*tmp154*tmp110*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp45*tmp92*tmp66*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp157*tmp101*tmp66*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*(tmp210 + tmp175)*tmp66*tmp75 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp107*tmp62*tmp154*tmp110*tmp119*tmp75 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp105*tmp62*tmp66*tmp119*tmp160*tmp75 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp66*tmp75*tmp205*tmp136 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp66*tmp151*tmp135 - 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp154*tmp110*tmp75*tmp135 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp157*tmp66*tmp75*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp92*tmp101*tmp66*tmp102*tmp136*tmp163 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp92*tmp66*tmp75*tmp135*tmp209 + 0.003480682213713888*tmp14*tmp42*tmp164*tmp62*(tmp165*tmp166*tmp151 + (tmp167*tmp144*tmp168*tmp151*tmp76*tmp169)/2.))); +J(1+_OFF,3+_OFF) = -(tmp146*(-0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp66*tmp119*tmp174 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp92*tmp101*tmp66*tmp174*tmp76 + 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp92*tmp101*tmp178*tmp110*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp234*tmp92*tmp66*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp180*tmp101*tmp66*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp35*tmp66*tmp75 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp107*tmp62*tmp178*tmp110*tmp119*tmp75 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp105*tmp62*tmp66*tmp119*tmp183*tmp75 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp66*tmp75*tmp213*tmp136 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp66*tmp174*tmp135 - 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp178*tmp110*tmp75*tmp135 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp180*tmp66*tmp75*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp92*tmp101*tmp66*tmp102*tmp136*tmp186 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp92*tmp66*tmp75*tmp135*tmp217 + 0.003480682213713888*tmp14*tmp42*tmp164*tmp62*(tmp165*tmp166*tmp174 + (tmp167*tmp144*tmp168*tmp174*tmp76*tmp169)/2.))); +J(2+_OFF,1+_OFF) = -(tmp146*(0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp198*tmp72*tmp76 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*(tmp156 + 2*tmp0*tmp3)*tmp102 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp75*tmp189*tmp136 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp72*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp75*tmp143 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp198*tmp102*tmp202)); +J(2+_OFF,2+_OFF) = -(tmp146*(0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp198*tmp151*tmp76 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp148*tmp102 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp75*tmp205*tmp136 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp151*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp75*tmp163 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp198*tmp102*tmp209)); +J(2+_OFF,3+_OFF) = -(tmp146*(0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp198*tmp174*tmp76 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*(tmp210 + tmp232)*tmp102 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp75*tmp213*tmp136 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp174*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp75*tmp186 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp198*tmp102*tmp217)); +J(3+_OFF,1+_OFF) = -(tmp146*(-0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp92*tmp66*tmp72 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp101*tmp66*tmp226*tmp72*tmp76 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp230*tmp101*tmp66*tmp102 + 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp101*tmp109*tmp110*tmp226*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp228*tmp66*tmp226*tmp102 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp107*tmp62*tmp92*tmp109*tmp110*tmp75 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp68*tmp66*tmp75 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp105*tmp62*tmp92*tmp66*tmp139*tmp75 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp66*tmp226*tmp75*tmp189*tmp136 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp66*tmp226*tmp72*tmp135 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp230*tmp66*tmp75*tmp135 - 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp109*tmp110*tmp226*tmp75*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp101*tmp66*tmp226*tmp102*tmp136*tmp143 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp66*tmp226*tmp75*tmp135*tmp202)); +J(3+_OFF,2+_OFF) = -(tmp146*(-0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp92*tmp66*tmp151 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp101*tmp66*tmp226*tmp151*tmp76 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp233*tmp101*tmp66*tmp102 + 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp101*tmp154*tmp110*tmp226*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp45*tmp66*tmp226*tmp102 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp107*tmp62*tmp92*tmp154*tmp110*tmp75 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp157*tmp66*tmp75 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp105*tmp62*tmp92*tmp66*tmp160*tmp75 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp66*tmp226*tmp75*tmp205*tmp136 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp66*tmp226*tmp151*tmp135 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp233*tmp66*tmp75*tmp135 - 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp154*tmp110*tmp226*tmp75*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp101*tmp66*tmp226*tmp102*tmp136*tmp163 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp66*tmp226*tmp75*tmp135*tmp209)); +J(3+_OFF,3+_OFF) = -(tmp146*(-0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp92*tmp66*tmp174 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp101*tmp66*tmp226*tmp174*tmp76 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp172*tmp101*tmp66*tmp102 + 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp101*tmp178*tmp110*tmp226*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp234*tmp66*tmp226*tmp102 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp107*tmp62*tmp92*tmp178*tmp110*tmp75 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp180*tmp66*tmp75 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp105*tmp62*tmp92*tmp66*tmp183*tmp75 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp66*tmp226*tmp75*tmp213*tmp136 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp66*tmp226*tmp174*tmp135 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp172*tmp66*tmp75*tmp135 - 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp178*tmp110*tmp226*tmp75*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp101*tmp66*tmp226*tmp102*tmp136*tmp186 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp66*tmp226*tmp75*tmp135*tmp217)); J(4+_OFF,1+_OFF) = -(tmp265*tmp256*tmp299) - tmp275*tmp256*tmp305 - tmp286*tmp256*tmp311; J(4+_OFF,2+_OFF) = -(tmp265*tmp256*tmp318) - tmp275*tmp256*tmp327 - tmp286*tmp256*tmp336; J(4+_OFF,3+_OFF) = -(tmp265*tmp256*tmp343) - tmp275*tmp256*tmp349 - tmp286*tmp256*tmp355; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_debug.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_debug.cppready index b699d1b..ff5c783 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_debug.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_debug.cppready @@ -25,54 +25,64 @@ double tmp23 = x(8+_OFF); double tmp24 = tmp16 + tmp19 + tmp22 + tmp23; double tmp25 = tmp0*tmp1; double tmp26 = tmp25 + tmp5; -double tmp27 = -2*tmp4*tmp26; +double tmp27 = 2*tmp4*tmp26; double tmp28 = -(tmp0*tmp2); double tmp29 = tmp1*tmp3; double tmp30 = tmp28 + tmp29; -double tmp31 = -2*tmp6*tmp30; +double tmp31 = 2*tmp6*tmp30; double tmp32 = -tmp9; double tmp33 = tmp8 + tmp32 + tmp11 + tmp12; -double tmp34 = -(tmp7*tmp33); +double tmp34 = tmp7*tmp33; double tmp35 = x(10+_OFF); -double tmp36 = tmp27 + tmp31 + tmp34 + tmp35; -double tmp37 = std::atan2(tmp36,tmp24); -double tmp38 = -(tmp0*tmp3); -double tmp39 = tmp13 + tmp38; -double tmp40 = -2*tmp4*tmp39; +double tmp36 = -tmp35; +double tmp37 = tmp27 + tmp31 + tmp34 + tmp36; +double tmp38 = std::atan2(tmp37,tmp24); +double tmp39 = -(tmp0*tmp3); +double tmp40 = tmp13 + tmp39; double tmp41 = tmp0*tmp2; double tmp42 = tmp41 + tmp29; -double tmp43 = -2*tmp7*tmp42; -double tmp44 = tmp8 + tmp32 + tmp10 + tmp20; -double tmp45 = -(tmp6*tmp44); -double tmp46 = x(9+_OFF); -double tmp47 = tmp40 + tmp43 + tmp45 + tmp46; -double tmp48 = airDensity(2+_OFF); -double tmp49 = 1/tmp48; -double tmp50 = std::pow(tmp24,2); -double tmp51 = std::pow(tmp47,2); -double tmp52 = std::pow(tmp36,2); -double tmp53 = tmp50 + tmp51 + tmp52; -double tmp54 = airDensity(3+_OFF); -double tmp55 = 1/std::sqrt(tmp53); -double tmp56 = tmp47*tmp55; -double tmp57 = std::asin(tmp56); -double tmp58 = cp(2+_OFF); -double tmp59 = airDensity(1+_OFF); -double tmp60 = x(3+_OFF); -double tmp61 = tmp59 + tmp60; -double tmp62 = -0.006500000000000001*tmp49*tmp61; -double tmp63 = 1 + tmp62; -double tmp64 = std::pow(tmp63,4.2561); -double tmp65 = cp(1+_OFF); -double tmp66 = std::pow(tmp65,2); -double tmp67 = z(1+_OFF); -double tmp68 = cp(3+_OFF); -double tmp69 = cBar(1+_OFF); -double tmp70 = x(13+_OFF); -dbg(1+_OFF) = 0.0017418568193694477*tmp49*tmp54*tmp58*(fDrag(1+_OFF) + tmp37*fDrag(2+_OFF) + std::pow(tmp37,2)*fDrag(3+_OFF) + std::pow(tmp57,2)*fDrag(4+_OFF))*tmp64*tmp53; -dbg(2+_OFF) = 0.0017418568193694477*tmp49*tmp54*tmp57*tmp58*fLat(1+_OFF)*tmp64*tmp53; -dbg(3+_OFF) = 0.0017418568193694477*tmp49*tmp54*tmp58*(fLift(1+_OFF) + tmp37*fLift(2+_OFF))*tmp64*tmp53; -dbg(4+_OFF) = 0.0034837136387388954*tmp49*tmp54*tmp66*tmp64*((fThrust(3+_OFF)*tmp53)/std::pow(M_PI,2) + (tmp65*fThrust(2+_OFF)*std::sqrt(tmp53)*tmp67)/M_PI + tmp66*fThrust(1+_OFF)*std::pow(tmp67,2)); -dbg(5+_OFF) = 0.0017418568193694477*tmp49*tmp54*tmp58*tmp68*tmp64*tmp53*(tmp57*mRoll(2+_OFF) + (tmp68*mRoll(3+_OFF)*tmp55*x(11+_OFF))/2. + (tmp68*mRoll(4+_OFF)*tmp55*tmp70)/2. + mRoll(1+_OFF)*z(2+_OFF)); -dbg(6+_OFF) = 0.0017418568193694477*tmp49*tmp54*tmp69*tmp58*tmp64*tmp53*(mPitch(1+_OFF) + tmp37*mPitch(4+_OFF) + (tmp69*mPitch(3+_OFF)*tmp55*x(12+_OFF))/2. + mPitch(2+_OFF)*z(3+_OFF)); -dbg(7+_OFF) = 0.0017418568193694477*tmp49*tmp54*tmp58*tmp68*tmp64*tmp53*(tmp57*mYaw(3+_OFF) + (tmp68*mYaw(2+_OFF)*tmp55*tmp70)/2. + mYaw(1+_OFF)*z(4+_OFF)); +double tmp43 = tmp8 + tmp32 + tmp10 + tmp20; +double tmp44 = x(9+_OFF); +double tmp45 = airDensity(2+_OFF); +double tmp46 = 1/tmp45; +double tmp47 = std::pow(tmp24,2); +double tmp48 = -2*tmp4*tmp40; +double tmp49 = -2*tmp7*tmp42; +double tmp50 = -(tmp6*tmp43); +double tmp51 = tmp48 + tmp49 + tmp50 + tmp44; +double tmp52 = std::pow(tmp51,2); +double tmp53 = -2*tmp4*tmp26; +double tmp54 = -2*tmp6*tmp30; +double tmp55 = -(tmp7*tmp33); +double tmp56 = tmp53 + tmp54 + tmp55 + tmp35; +double tmp57 = std::pow(tmp56,2); +double tmp58 = tmp47 + tmp52 + tmp57; +double tmp59 = airDensity(3+_OFF); +double tmp60 = 2*tmp4*tmp40; +double tmp61 = 2*tmp7*tmp42; +double tmp62 = tmp6*tmp43; +double tmp63 = -tmp44; +double tmp64 = tmp60 + tmp61 + tmp62 + tmp63; +double tmp65 = 1/std::sqrt(tmp58); +double tmp66 = tmp64*tmp65; +double tmp67 = std::asin(tmp66); +double tmp68 = cp(2+_OFF); +double tmp69 = airDensity(1+_OFF); +double tmp70 = x(3+_OFF); +double tmp71 = tmp69 + tmp70; +double tmp72 = -0.006500000000000001*tmp46*tmp71; +double tmp73 = 1 + tmp72; +double tmp74 = std::pow(tmp73,4.2561); +double tmp75 = cp(1+_OFF); +double tmp76 = std::pow(tmp75,2); +double tmp77 = z(1+_OFF); +double tmp78 = cp(3+_OFF); +double tmp79 = cBar(1+_OFF); +double tmp80 = x(13+_OFF); +dbg(1+_OFF) = 0.001740341106856944*tmp46*tmp59*tmp68*(fDrag(1+_OFF) + tmp38*fDrag(2+_OFF) + std::pow(tmp38,2)*fDrag(3+_OFF) + std::pow(tmp67,2)*fDrag(4+_OFF))*tmp74*tmp58; +dbg(2+_OFF) = -0.001740341106856944*tmp46*tmp59*tmp67*tmp68*fLat(1+_OFF)*tmp74*tmp58; +dbg(3+_OFF) = -0.001740341106856944*tmp46*tmp59*tmp68*(fLift(1+_OFF) + tmp38*fLift(2+_OFF))*tmp74*tmp58; +dbg(4+_OFF) = 0.003480682213713888*tmp46*tmp59*tmp76*tmp74*((fThrust(3+_OFF)*tmp58)/std::pow(M_PI,2) + (tmp75*fThrust(2+_OFF)*std::sqrt(tmp58)*tmp77)/M_PI + tmp76*fThrust(1+_OFF)*std::pow(tmp77,2)); +dbg(5+_OFF) = 0.001740341106856944*tmp46*tmp59*tmp68*tmp78*tmp74*tmp58*(tmp67*mRoll(2+_OFF) + (tmp78*mRoll(3+_OFF)*tmp65*x(11+_OFF))/2. - (tmp78*mRoll(4+_OFF)*tmp65*tmp80)/2. - mRoll(1+_OFF)*z(2+_OFF)); +dbg(6+_OFF) = 0.001740341106856944*tmp46*tmp59*tmp79*tmp68*tmp74*tmp58*(-mPitch(1+_OFF) - tmp38*mPitch(3+_OFF) + (tmp79*mPitch(4+_OFF)*tmp65*x(12+_OFF))/2. - mPitch(2+_OFF)*z(3+_OFF)); +dbg(7+_OFF) = 0.001740341106856944*tmp46*tmp59*tmp68*tmp78*tmp74*tmp58*(-(tmp67*mYaw(2+_OFF)) + (tmp78*mYaw(3+_OFF)*tmp65*tmp80)/2. + mYaw(1+_OFF)*z(4+_OFF)); From f398736739a5ea277964a43c34e3566d18ecdb1a Mon Sep 17 00:00:00 2001 From: Kenneth Date: Mon, 19 Aug 2019 16:34:01 +0200 Subject: [PATCH 6/7] Corrected the erorr in the Fixed wing model for generating the jacobian of the parameters --- .../AugmentedState_PlaneDynamicModel.nb | 269 +++++++++--------- .../PlaneDynamicModel_JErrAirDensity.cppready | 262 ++++++++++++++++- .../PlaneDynamicModel_JErrCBar.cppready | 112 +++++++- .../PlaneDynamicModel_JErrCp.cppready | 263 ++++++++++++++++- .../PlaneDynamicModel_JErrFDrag.cppready | 145 +++++++++- .../PlaneDynamicModel_JErrFLat.cppready | 101 ++++++- .../PlaneDynamicModel_JErrFLift.cppready | 108 ++++++- .../PlaneDynamicModel_JErrFThrust.cppready | 88 +++++- .../PlaneDynamicModel_JErrIbd.cppready | 194 ++++++++++++- .../PlaneDynamicModel_JErrIbod.cppready | 212 +++++++++++++- .../PlaneDynamicModel_JErrMPitch.cppready | 127 ++++++++- .../PlaneDynamicModel_JErrMRoll.cppready | 130 ++++++++- .../PlaneDynamicModel_JErrMYaw.cppready | 123 +++++++- 13 files changed, 1929 insertions(+), 205 deletions(-) diff --git a/_development/Mathematica/models/AugmentedState_PlaneDynamicModel.nb b/_development/Mathematica/models/AugmentedState_PlaneDynamicModel.nb index 2ef57fb..fd92738 100644 --- a/_development/Mathematica/models/AugmentedState_PlaneDynamicModel.nb +++ b/_development/Mathematica/models/AugmentedState_PlaneDynamicModel.nb @@ -10,10 +10,10 @@ NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 158, 7] -NotebookDataLength[ 80224, 2130] -NotebookOptionsPosition[ 73973, 2045] -NotebookOutlinePosition[ 74330, 2061] -CellTagsIndexPosition[ 74287, 2058] +NotebookDataLength[ 80529, 2133] +NotebookOptionsPosition[ 74278, 2048] +NotebookOutlinePosition[ 74635, 2064] +CellTagsIndexPosition[ 74592, 2061] WindowFrame->Normal*) (* Beginning of Notebook Content *) @@ -22,7 +22,7 @@ Cell[BoxData[ RowBox[{"Clear", "[", "\"\\"", "]"}]], "Input", CellChangeTimes->{{3.5951624068865957`*^9, 3.595162434106801*^9}}, CellLabel-> - "In[189]:=",ExpressionUUID->"28aebd44-7a23-4603-b370-38149a649cc1"], + "In[1302]:=",ExpressionUUID->"28aebd44-7a23-4603-b370-38149a649cc1"], Cell[BoxData[{ RowBox[{"Import", "[", @@ -37,7 +37,7 @@ Cell[BoxData[{ 3.6175174204357758`*^9, 3.617517424343709*^9}, {3.632487617988913*^9, 3.632487633951275*^9}}, CellLabel-> - "In[190]:=",ExpressionUUID->"d5e95da8-5675-4df2-8ff6-af7b8fb219a1"], + "In[1303]:=",ExpressionUUID->"d5e95da8-5675-4df2-8ff6-af7b8fb219a1"], Cell[CellGroupData[{ @@ -79,7 +79,7 @@ Cell[BoxData[ CellChangeTimes->{{3.563607037606062*^9, 3.563607124416689*^9}, 3.563608231083735*^9}, CellLabel-> - "In[192]:=",ExpressionUUID->"78e5840d-381c-47a9-b9dd-90c3c4dacb03"], + "In[1305]:=",ExpressionUUID->"78e5840d-381c-47a9-b9dd-90c3c4dacb03"], Cell[BoxData[ RowBox[{ @@ -129,7 +129,7 @@ Cell[BoxData[ 3.57113111793888*^9, 3.57113116341093*^9}, {3.571131195958424*^9, 3.571131254626845*^9}, 3.571133049520565*^9}, CellLabel-> - "In[193]:=",ExpressionUUID->"66ac8851-0848-4866-8069-42c37f27b5de"], + "In[1306]:=",ExpressionUUID->"66ac8851-0848-4866-8069-42c37f27b5de"], Cell[BoxData[{ RowBox[{ @@ -161,7 +161,7 @@ Cell[BoxData[{ InitializationCell->True, CellChangeTimes->{{3.568453075302482*^9, 3.568453143924776*^9}}, CellLabel-> - "In[194]:=",ExpressionUUID->"a40aa98c-a7a2-4814-b63b-e7c90c9932a0"], + "In[1307]:=",ExpressionUUID->"a40aa98c-a7a2-4814-b63b-e7c90c9932a0"], Cell[BoxData[ RowBox[{ @@ -213,7 +213,7 @@ Cell[BoxData[ CellChangeTimes->{{3.568443187261707*^9, 3.568443273520089*^9}, { 3.568458568630984*^9, 3.568458568967643*^9}}, CellLabel-> - "In[196]:=",ExpressionUUID->"ee9449fb-cd56-4179-b90c-f5e3bb0fdcdb"], + "In[1309]:=",ExpressionUUID->"ee9449fb-cd56-4179-b90c-f5e3bb0fdcdb"], Cell[BoxData[ RowBox[{ @@ -241,7 +241,7 @@ Cell[BoxData[ 3.568443409373211*^9}, {3.568453008511107*^9, 3.568453014783046*^9}, { 3.60835655838758*^9, 3.608356558395439*^9}}, CellLabel-> - "In[197]:=",ExpressionUUID->"b69052f0-f728-4bd6-9bf7-bae15aa76095"], + "In[1310]:=",ExpressionUUID->"b69052f0-f728-4bd6-9bf7-bae15aa76095"], Cell[BoxData[{ RowBox[{ @@ -284,7 +284,7 @@ Cell[BoxData[{ CellChangeTimes->{{3.568444740747602*^9, 3.568444776506934*^9}, { 3.568444838483142*^9, 3.568444844345901*^9}}, CellLabel-> - "In[198]:=",ExpressionUUID->"905c9ad7-8258-45b1-b64f-2d576f63cf20"], + "In[1311]:=",ExpressionUUID->"905c9ad7-8258-45b1-b64f-2d576f63cf20"], Cell[BoxData[{ RowBox[{ @@ -352,7 +352,7 @@ Cell[BoxData[{ 3.568446816971497*^9, 3.568446831371454*^9}, {3.56844689667688*^9, 3.568446897039928*^9}, {3.571133081827365*^9, 3.571133085326789*^9}}, CellLabel-> - "In[200]:=",ExpressionUUID->"a7b9df83-8379-4a26-b658-cd16a2c680e3"] + "In[1313]:=",ExpressionUUID->"a7b9df83-8379-4a26-b658-cd16a2c680e3"] }, Open ]], Cell["Beginning of stuff", "Title", @@ -376,7 +376,7 @@ Cell[BoxData[ CellChangeTimes->{{3.5732982634483347`*^9, 3.573298275094433*^9}, { 3.606108793708241*^9, 3.6061087941202383`*^9}}, CellLabel-> - "In[202]:=",ExpressionUUID->"89e76b07-ca4f-4879-a9de-3406cd562327"], + "In[1315]:=",ExpressionUUID->"89e76b07-ca4f-4879-a9de-3406cd562327"], Cell[BoxData[{ RowBox[{ @@ -417,7 +417,7 @@ Cell[BoxData[{ 3.6324860672576303`*^9}, 3.6324863191229258`*^9, {3.632487946501395*^9, 3.6324879678038177`*^9}, {3.632488008725754*^9, 3.632488019377554*^9}}, CellLabel-> - "In[203]:=",ExpressionUUID->"0f88cdc1-a39e-4d13-b528-8472e029b05f"], + "In[1316]:=",ExpressionUUID->"0f88cdc1-a39e-4d13-b528-8472e029b05f"], Cell["Parameters", "Subsubtitle", CellChangeTimes->{{3.576920320535687*^9, @@ -642,7 +642,7 @@ Cell[BoxData[{ 3.772360215586792*^9, 3.77236021597759*^9}, {3.77314250558466*^9, 3.773142505699256*^9}, {3.774589936393152*^9, 3.774589945751444*^9}}, CellLabel-> - "In[209]:=",ExpressionUUID->"33f47236-ad3c-4a61-8f93-8222aa6cc9fa"], + "In[1322]:=",ExpressionUUID->"33f47236-ad3c-4a61-8f93-8222aa6cc9fa"], Cell[BoxData[{ RowBox[{ @@ -666,32 +666,32 @@ Cell[BoxData[{ RowBox[{"Table", "[", RowBox[{ RowBox[{"airDensity", "[", "i", "]"}], ",", - RowBox[{"(", - RowBox[{"i", ",", "1", ",", "3"}], ")"}]}], "]"}]}], ";"}], + RowBox[{"{", + RowBox[{"i", ",", "1", ",", "3"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"FTHRUST", " ", "=", " ", RowBox[{"Table", "[", RowBox[{ RowBox[{"fThrust", "[", "i", "]"}], ",", - RowBox[{"(", - RowBox[{"i", ",", "1", ",", "3"}], ")"}]}], "]"}]}], + RowBox[{"{", + RowBox[{"i", ",", "1", ",", "3"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"FDRAG", " ", "=", " ", RowBox[{"Table", "[", RowBox[{ RowBox[{"fDrag", "[", "i", "]"}], ",", - RowBox[{"(", - RowBox[{"i", ",", "1", ",", "4"}], ")"}]}], "]"}]}], + RowBox[{"{", + RowBox[{"i", ",", "1", ",", "4"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"FLAT", " ", "=", " ", RowBox[{"Table", "[", RowBox[{ RowBox[{"fLat", "[", "i", "]"}], ",", - RowBox[{"(", - RowBox[{"i", ",", "1", ",", "1"}], ")"}]}], "]"}]}], + RowBox[{"{", + RowBox[{"i", ",", "1", ",", "1"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ @@ -699,24 +699,24 @@ Cell[BoxData[{ RowBox[{"Table", "[", RowBox[{ RowBox[{"fLift", "[", "i", "]"}], ",", - RowBox[{"(", - RowBox[{"i", ",", "1", ",", "2"}], ")"}]}], "]"}]}], ";"}], + RowBox[{"{", + RowBox[{"i", ",", "1", ",", "2"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"MROLL", " ", "=", " ", RowBox[{"Table", "[", RowBox[{ RowBox[{"mRoll", "[", "i", "]"}], ",", - RowBox[{"(", - RowBox[{"i", ",", "1", ",", "4"}], ")"}]}], "]"}]}], + RowBox[{"{", + RowBox[{"i", ",", "1", ",", "4"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"MPITCH", " ", "=", " ", RowBox[{"Table", "[", RowBox[{ RowBox[{"mPitch", "[", "i", "]"}], ",", - RowBox[{"(", - RowBox[{"i", ",", "1", ",", "4"}], ")"}]}], "]"}]}], + RowBox[{"{", + RowBox[{"i", ",", "1", ",", "4"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ @@ -724,8 +724,8 @@ Cell[BoxData[{ RowBox[{"Table", "[", RowBox[{ RowBox[{"mYaw", "[", "i", "]"}], ",", - RowBox[{"(", - RowBox[{"i", ",", "1", ",", "3"}], ")"}]}], "]"}]}], ";"}], + RowBox[{"{", + RowBox[{"i", ",", "1", ",", "3"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ @@ -733,8 +733,8 @@ Cell[BoxData[{ RowBox[{"Table", "[", RowBox[{ RowBox[{"cBar", "[", "i", "]"}], ",", - RowBox[{"(", - RowBox[{"i", ",", "1", ",", "1"}], ")"}]}], "]"}]}], ";"}], + RowBox[{"{", + RowBox[{"i", ",", "1", ",", "1"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ @@ -742,24 +742,24 @@ Cell[BoxData[{ RowBox[{"Table", "[", RowBox[{ RowBox[{"cp", "[", "i", "]"}], ",", - RowBox[{"(", - RowBox[{"i", ",", "1", ",", "4"}], ")"}]}], "]"}]}], ";"}], + RowBox[{"{", + RowBox[{"i", ",", "1", ",", "4"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"IBD", " ", "=", " ", RowBox[{"Table", "[", RowBox[{ RowBox[{"ibd", "[", "i", "]"}], ",", - RowBox[{"(", - RowBox[{"i", ",", "1", ",", "3"}], ")"}]}], "]"}]}], + RowBox[{"{", + RowBox[{"i", ",", "1", ",", "3"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"IBOD", " ", "=", " ", RowBox[{"Table", "[", RowBox[{ RowBox[{"ibod", "[", "i", "]"}], ",", - RowBox[{"(", - RowBox[{"i", ",", "1", ",", "3"}], ")"}]}], "]"}]}], + RowBox[{"{", + RowBox[{"i", ",", "1", ",", "3"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]"}], "Input", CellChangeTimes->{{3.6324667198820887`*^9, 3.632466771730083*^9}, { 3.6324745054453506`*^9, 3.632474645927088*^9}, {3.6324746840634813`*^9, @@ -770,9 +770,9 @@ Cell[BoxData[{ 3.6325633642283154`*^9, 3.632563371518127*^9}, {3.772359621486253*^9, 3.772359671724037*^9}, {3.772359705820054*^9, 3.772359711259782*^9}, { 3.772359937605813*^9, 3.772360048550315*^9}, {3.7723600966964912`*^9, - 3.772360359842062*^9}}, + 3.772360359842062*^9}, {3.775206708566532*^9, 3.775206780566957*^9}}, CellLabel-> - "In[247]:=",ExpressionUUID->"53a40cfc-f0e8-4e44-9f25-b052baa99c29"], + "In[1360]:=",ExpressionUUID->"53a40cfc-f0e8-4e44-9f25-b052baa99c29"], Cell[BoxData[ RowBox[{ @@ -787,7 +787,7 @@ Cell[BoxData[ RowBox[{"wind", " ", "speed", " ", "in", " ", "world", " ", "frame"}], " ", "*)"}]}]], "Input", CellLabel-> - "In[248]:=",ExpressionUUID->"be98cbcc-62a9-4b36-a592-7c1827bbba19"], + "In[1373]:=",ExpressionUUID->"be98cbcc-62a9-4b36-a592-7c1827bbba19"], Cell[BoxData[{ RowBox[{ @@ -838,7 +838,7 @@ Cell[BoxData[{ 3.6324862298118343`*^9, 3.632486253278077*^9}, {3.632488200362911*^9, 3.632488217048265*^9}}, CellLabel-> - "In[249]:=",ExpressionUUID->"3db40cdd-aae8-4aed-bbcf-7b6c917acc34"], + "In[1374]:=",ExpressionUUID->"3db40cdd-aae8-4aed-bbcf-7b6c917acc34"], Cell["Equations", "Subsubtitle", CellChangeTimes->{{3.573298514193714*^9, 3.5732985158016453`*^9}, { @@ -869,7 +869,7 @@ Cell[BoxData[ RowBox[{"-", "1"}]}], "}"}]}], "}"}]}], ";"}]], "Input", CellChangeTimes->{{3.632820134921884*^9, 3.632820163656551*^9}}, CellLabel-> - "In[255]:=",ExpressionUUID->"e4cd07b0-b7a6-476f-a82d-1ad870ed93c3"], + "In[1380]:=",ExpressionUUID->"e4cd07b0-b7a6-476f-a82d-1ad870ed93c3"], Cell["Air density model", "Text", CellChangeTimes->{{3.632464865348349*^9, 3.632464865838887*^9}, { @@ -919,7 +919,7 @@ Cell[BoxData[{ 3.771231605060816*^9, {3.7713227938461018`*^9, 3.771322795852179*^9}, { 3.772946102534224*^9, 3.772946104786611*^9}, 3.773142614758792*^9}, CellLabel-> - "In[256]:=",ExpressionUUID->"9f81cfa6-a749-4450-bfb3-736066b50bce"], + "In[1381]:=",ExpressionUUID->"9f81cfa6-a749-4450-bfb3-736066b50bce"], Cell["Airspeed", "Text", CellChangeTimes->{{3.6324649632440243`*^9, @@ -971,7 +971,7 @@ Cell[BoxData[{ 3.632548707477417*^9, 3.632548715250105*^9}, {3.774611994153266*^9, 3.774611997890765*^9}}, CellLabel-> - "In[258]:=",ExpressionUUID->"29b01d2f-83ef-4d5a-8a25-69d70c2e9207"], + "In[1383]:=",ExpressionUUID->"29b01d2f-83ef-4d5a-8a25-69d70c2e9207"], Cell["Wind frame ", "Text", CellChangeTimes->{{3.6324649823613243`*^9, @@ -1001,7 +1001,7 @@ Cell[BoxData[ 3.774266321501566*^9}, {3.774612005261743*^9, 3.774612007778376*^9}, { 3.774691121917021*^9, 3.7746911255822783`*^9}}, CellLabel-> - "In[262]:=",ExpressionUUID->"dbea6cef-0336-433e-92e3-cc59b4a69219"], + "In[1387]:=",ExpressionUUID->"dbea6cef-0336-433e-92e3-cc59b4a69219"], Cell["Thrust force", "Text", CellChangeTimes->{{3.632464997924268*^9, 3.63246500193495*^9}, @@ -1056,7 +1056,7 @@ Cell[BoxData[ 3.6349808735654984`*^9, 3.634980887899046*^9}, {3.634982313791176*^9, 3.634982334481447*^9}, {3.634988395067772*^9, 3.634988403877116*^9}}, CellLabel-> - "In[263]:=",ExpressionUUID->"176642b9-ef21-428e-bda6-88b3064f0fe2"], + "In[1388]:=",ExpressionUUID->"176642b9-ef21-428e-bda6-88b3064f0fe2"], Cell["Drag force", "Text", CellChangeTimes->{{3.632465883892436*^9, @@ -1079,7 +1079,7 @@ Cell[BoxData[{ 3.632466061225836*^9, 3.632466070531445*^9}, 3.632474180051531*^9, { 3.632486333812204*^9, 3.632486338262673*^9}}, CellLabel-> - "In[264]:=",ExpressionUUID->"f4931c36-9cb3-41d5-9636-f3fbcef428c9"], + "In[1389]:=",ExpressionUUID->"f4931c36-9cb3-41d5-9636-f3fbcef428c9"], Cell["Lateral force", "Text", CellChangeTimes->{{3.63246580061057*^9, @@ -1097,7 +1097,7 @@ Cell[BoxData[{ CellChangeTimes->{{3.632465807062015*^9, 3.63246584035797*^9}, 3.774612027001218*^9}, CellLabel-> - "In[266]:=",ExpressionUUID->"63203ee0-9601-47b1-9606-b67b10ce9a46"], + "In[1391]:=",ExpressionUUID->"63203ee0-9601-47b1-9606-b67b10ce9a46"], Cell["Lift force", "Text", CellChangeTimes->{{3.6324653247972507`*^9, @@ -1117,7 +1117,7 @@ Cell[BoxData[{ 3.632465682669859*^9, 3.6324656933429127`*^9}, {3.632465792314137*^9, 3.632465798108323*^9}, 3.774612028899675*^9}, CellLabel-> - "In[268]:=",ExpressionUUID->"c73ee33c-6f07-4ea9-82e2-0f37fad73c8e"], + "In[1393]:=",ExpressionUUID->"c73ee33c-6f07-4ea9-82e2-0f37fad73c8e"], Cell["Roll moment", "Text", CellChangeTimes->{{3.632466790216868*^9, @@ -1165,7 +1165,7 @@ Cell[BoxData[{ 3.632548719873026*^9}, 3.634292400473446*^9, {3.774612038472706*^9, 3.774612054579494*^9}}, CellLabel-> - "In[270]:=",ExpressionUUID->"7be4a0a1-b2c0-4d7b-b564-9f92dabf375f"], + "In[1395]:=",ExpressionUUID->"7be4a0a1-b2c0-4d7b-b564-9f92dabf375f"], Cell["Pitch moment", "Text", CellChangeTimes->{{3.632467155741108*^9, @@ -1199,7 +1199,7 @@ Cell[BoxData[{ 3.632486356968248*^9}, 3.6325487214032393`*^9, {3.774612041318342*^9, 3.774612074499466*^9}}, CellLabel-> - "In[274]:=",ExpressionUUID->"4ce3e11d-b2d8-42df-94f3-f44671feb140"], + "In[1399]:=",ExpressionUUID->"4ce3e11d-b2d8-42df-94f3-f44671feb140"], Cell["Yaw moment", "Text", CellChangeTimes->{{3.6324733890787363`*^9, @@ -1220,7 +1220,7 @@ Cell[BoxData[{ 3.632473773078868*^9, 3.632486362438322*^9, {3.632734158387792*^9, 3.632734159678158*^9}, 3.774612081502236*^9}, CellLabel-> - "In[277]:=",ExpressionUUID->"1a28b43d-e9a2-4ebf-8251-f3ab2ddb7786"], + "In[1402]:=",ExpressionUUID->"1a28b43d-e9a2-4ebf-8251-f3ab2ddb7786"], Cell["Error equations", "Text", CellChangeTimes->{{3.6324737754609947`*^9, @@ -1275,7 +1275,7 @@ Cell[BoxData[{ 3.6342783329840317`*^9, 3.6342783528443823`*^9}, {3.6344523148400803`*^9, 3.634452317130845*^9}, {3.7746911481775713`*^9, 3.774691149760127*^9}}, CellLabel-> - "In[279]:=",ExpressionUUID->"fe419f0a-adf5-43af-9f08-7b8a7f19180b"], + "In[1404]:=",ExpressionUUID->"fe419f0a-adf5-43af-9f08-7b8a7f19180b"], Cell[BoxData[{ RowBox[{ @@ -1294,7 +1294,7 @@ Cell[BoxData[{ 3.63427833587599*^9, 3.634278345660905*^9}, {3.634298584045291*^9, 3.634298585468253*^9}, {3.7723598046089363`*^9, 3.772359805228352*^9}}, CellLabel-> - "In[281]:=",ExpressionUUID->"ff5f7d73-add6-4e24-9e55-7b15786660c6"], + "In[1406]:=",ExpressionUUID->"ff5f7d73-add6-4e24-9e55-7b15786660c6"], Cell[BoxData[{ RowBox[{ @@ -1350,7 +1350,7 @@ Cell[BoxData[{ 3.634299852392684*^9, 3.634300111654772*^9, {3.634300178359811*^9, 3.634300196975257*^9}}, CellLabel-> - "In[283]:=",ExpressionUUID->"d17df8c1-9260-4a0c-8495-b5ef6f820848"], + "In[1408]:=",ExpressionUUID->"d17df8c1-9260-4a0c-8495-b5ef6f820848"], Cell[BoxData[ RowBox[{ @@ -1366,7 +1366,7 @@ Cell[BoxData[ 3.632488026778446*^9, 3.632488059172721*^9}, {3.632488578258338*^9, 3.632488606817566*^9}}, CellLabel-> - "In[286]:=",ExpressionUUID->"8c91f72d-3f47-4547-a792-5e0813bcc352"], + "In[1411]:=",ExpressionUUID->"8c91f72d-3f47-4547-a792-5e0813bcc352"], Cell["Predictor", "Subsubtitle", CellChangeTimes->{{3.573298851623851*^9, 3.57329885458322*^9}, { @@ -1398,7 +1398,7 @@ Cell[BoxData[ CellChangeTimes->{{3.632636764848427*^9, 3.632636870351482*^9}, 3.633327075601856*^9, 3.634538652426509*^9}, CellLabel-> - "In[287]:=",ExpressionUUID->"dea35a84-3a0f-4600-a2f4-2ab045608d87"], + "In[1412]:=",ExpressionUUID->"dea35a84-3a0f-4600-a2f4-2ab045608d87"], Cell["Output", "Subsubtitle", CellChangeTimes->{{3.573298851623851*^9, @@ -1410,7 +1410,7 @@ Cell[BoxData[ RowBox[{"SetDirectory", "[", RowBox[{"NotebookDirectory", "[", "]"}], "]"}], ";"}]], "Input", CellLabel-> - "In[289]:=",ExpressionUUID->"c2f98c75-5faf-44c8-a958-147c2a660678"], + "In[1414]:=",ExpressionUUID->"c2f98c75-5faf-44c8-a958-147c2a660678"], Cell[BoxData[{ RowBox[{ @@ -1499,7 +1499,7 @@ Cell[BoxData[{ 3.632488075940673*^9, 3.632488120413509*^9}, {3.6324882328081903`*^9, 3.632488236596348*^9}, {3.632488545113055*^9, 3.632488557103654*^9}}, CellLabel-> - "In[290]:=",ExpressionUUID->"716ee195-4767-4067-92df-43ed8da3bd15"], + "In[1415]:=",ExpressionUUID->"716ee195-4767-4067-92df-43ed8da3bd15"], Cell[BoxData[{ RowBox[{ @@ -1558,7 +1558,7 @@ Cell[BoxData[{ RowBox[{ RowBox[{"D", "[", RowBox[{"ERR", ",", - RowBox[{"{", "MPTICH", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], + RowBox[{"{", "MPITCH", "}"}]}], "]"}], ",", "NOISES"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ @@ -1616,16 +1616,17 @@ Cell[BoxData[{ 3.6325491830062933`*^9}, 3.632549233454729*^9, {3.772359825953252*^9, 3.772359833140972*^9}, {3.7723603795875998`*^9, 3.7723605440122347`*^9}, { 3.772364327412218*^9, 3.772364391371952*^9}, {3.774583805536461*^9, - 3.774583830109449*^9}}, + 3.774583830109449*^9}, {3.775206417689166*^9, 3.77520651396764*^9}, { + 3.77520681773381*^9, 3.7752068235363483`*^9}}, CellLabel-> - "In[298]:=",ExpressionUUID->"cdb0dbd5-e787-49a0-bb76-c4468b401cbc"], + "In[1423]:=",ExpressionUUID->"cdb0dbd5-e787-49a0-bb76-c4468b401cbc"], Cell[BoxData[ RowBox[{ RowBox[{"Run", "[", "\"\\"", "]"}], ";"}]], "Input", CellChangeTimes->{{3.605001578968874*^9, 3.605001586300552*^9}}, CellLabel-> - "In[311]:=",ExpressionUUID->"41b82835-d8e1-446a-bec9-5cabfad38221"], + "In[1436]:=",ExpressionUUID->"41b82835-d8e1-446a-bec9-5cabfad38221"], Cell[BoxData[{ RowBox[{ @@ -1809,7 +1810,7 @@ Cell[BoxData[{ 3.6342984069072943`*^9, 3.634298419729596*^9}, {3.63429849221801*^9, 3.6342985327140083`*^9}, {3.772364411990938*^9, 3.7723645797179956`*^9}}, CellLabel-> - "In[312]:=",ExpressionUUID->"cbb713d0-b847-42c0-9c5d-8772380d8dba"], + "In[1437]:=",ExpressionUUID->"cbb713d0-b847-42c0-9c5d-8772380d8dba"], Cell[BoxData[{ RowBox[{ @@ -1982,7 +1983,7 @@ b7SCbu7Qlc8pNHoa9VSCY19uT/uwoy05NlD96+2Pk5wgUg0uh8Dvh5WOgf1B 9Fcy4gJ/21Mb7Fi1LYdYyvF2gkWCJaJ5rEqv5AaR3/mC+B+HPofu "], CellLabel-> - "In[336]:=",ExpressionUUID->"1a2cbc4e-fbe6-4f7c-8741-b70e886cb2db"], + "In[1461]:=",ExpressionUUID->"1a2cbc4e-fbe6-4f7c-8741-b70e886cb2db"], Cell[CellGroupData[{ @@ -1994,7 +1995,7 @@ Cell[BoxData[ 3.605001619532137*^9, 3.6050016309343433`*^9}, {3.626084473225601*^9, 3.626084492513814*^9}, {3.6260847134763527`*^9, 3.6260847142374268`*^9}}, CellLabel-> - "In[363]:=",ExpressionUUID->"92a89388-7fc0-4900-84db-870a39602d88"], + "In[1488]:=",ExpressionUUID->"92a89388-7fc0-4900-84db-870a39602d88"], Cell[BoxData["0"], "Output", CellChangeTimes->{ @@ -2024,9 +2025,11 @@ Cell[BoxData["0"], "Output", 3.772432982619478*^9, 3.772946110952771*^9, 3.773142622983836*^9, { 3.7741789490039988`*^9, 3.774178957149096*^9}, 3.774239768380513*^9, 3.774266326673469*^9, 3.77458390783916*^9, 3.774612092999992*^9, - 3.774691158272262*^9, 3.7746926287703743`*^9}, + 3.774691158272262*^9, 3.7746926287703743`*^9, {3.775206430535994*^9, + 3.775206518604731*^9}, 3.7752066826065903`*^9, 3.775206790200211*^9, + 3.775206827144771*^9}, CellLabel-> - "Out[363]=",ExpressionUUID->"fb8f6fc6-af3b-4e4a-8c6b-0bed6c4cc71c"] + "Out[1488]=",ExpressionUUID->"ded51bd1-847b-4bb1-9511-2c586bf764f5"] }, Open ]], Cell[BoxData[{ @@ -2036,12 +2039,12 @@ Cell[BoxData[{ RowBox[{ RowBox[{"Run", "[", "\"\\"", "]"}], ";"}]}], "Input", CellLabel-> - "In[364]:=",ExpressionUUID->"aaff244c-3ad5-4faf-aeb3-7cdbaa9f50f5"], + "In[1489]:=",ExpressionUUID->"aaff244c-3ad5-4faf-aeb3-7cdbaa9f50f5"], Cell[BoxData[" "], "Input", CellChangeTimes->{3.627992683770735*^9}, CellLabel-> - "In[366]:=",ExpressionUUID->"8714cb77-63af-49bd-8987-722049f040d7"] + "In[1491]:=",ExpressionUUID->"8714cb77-63af-49bd-8987-722049f040d7"] }, CellGrouping->Manual, WindowSize->{1920, 1090}, @@ -2060,78 +2063,78 @@ CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ -Cell[558, 20, 224, 4, 31, "Input",ExpressionUUID->"28aebd44-7a23-4603-b370-38149a649cc1"], -Cell[785, 26, 558, 13, 55, "Input",ExpressionUUID->"d5e95da8-5675-4df2-8ff6-af7b8fb219a1"], +Cell[558, 20, 225, 4, 31, "Input",ExpressionUUID->"28aebd44-7a23-4603-b370-38149a649cc1"], +Cell[786, 26, 559, 13, 55, "Input",ExpressionUUID->"d5e95da8-5675-4df2-8ff6-af7b8fb219a1"], Cell[CellGroupData[{ -Cell[1368, 43, 242, 5, 54, "Subtitle",ExpressionUUID->"addb9730-72b2-4859-8e4b-0e776f073328", +Cell[1370, 43, 242, 5, 54, "Subtitle",ExpressionUUID->"addb9730-72b2-4859-8e4b-0e776f073328", InitializationCell->True], -Cell[1613, 50, 968, 31, 47, "Input",ExpressionUUID->"78e5840d-381c-47a9-b9dd-90c3c4dacb03", +Cell[1615, 50, 969, 31, 47, "Input",ExpressionUUID->"78e5840d-381c-47a9-b9dd-90c3c4dacb03", InitializationCell->True], -Cell[2584, 83, 1658, 48, 47, "Input",ExpressionUUID->"66ac8851-0848-4866-8069-42c37f27b5de", +Cell[2587, 83, 1659, 48, 47, "Input",ExpressionUUID->"66ac8851-0848-4866-8069-42c37f27b5de", InitializationCell->True], -Cell[4245, 133, 948, 30, 71, "Input",ExpressionUUID->"a40aa98c-a7a2-4814-b63b-e7c90c9932a0", +Cell[4249, 133, 949, 30, 71, "Input",ExpressionUUID->"a40aa98c-a7a2-4814-b63b-e7c90c9932a0", InitializationCell->True], -Cell[5196, 165, 1656, 50, 47, "Input",ExpressionUUID->"ee9449fb-cd56-4179-b90c-f5e3bb0fdcdb", +Cell[5201, 165, 1657, 50, 47, "Input",ExpressionUUID->"ee9449fb-cd56-4179-b90c-f5e3bb0fdcdb", InitializationCell->True], -Cell[6855, 217, 977, 26, 47, "Input",ExpressionUUID->"b69052f0-f728-4bd6-9bf7-bae15aa76095", +Cell[6861, 217, 978, 26, 47, "Input",ExpressionUUID->"b69052f0-f728-4bd6-9bf7-bae15aa76095", InitializationCell->True], -Cell[7835, 245, 1349, 41, 71, "Input",ExpressionUUID->"905c9ad7-8258-45b1-b64f-2d576f63cf20", +Cell[7842, 245, 1350, 41, 71, "Input",ExpressionUUID->"905c9ad7-8258-45b1-b64f-2d576f63cf20", InitializationCell->True], -Cell[9187, 288, 2514, 66, 186, "Input",ExpressionUUID->"a7b9df83-8379-4a26-b658-cd16a2c680e3", +Cell[9195, 288, 2515, 66, 186, "Input",ExpressionUUID->"a7b9df83-8379-4a26-b658-cd16a2c680e3", InitializationCell->True] }, Open ]], -Cell[11716, 357, 188, 3, 99, "Title",ExpressionUUID->"243eeb2a-7eb6-46c5-afb4-9166e290b8da"], -Cell[11907, 362, 156, 3, 32, "Subsubtitle",ExpressionUUID->"934e8056-77ed-401a-af0c-38f7a1beea69"], -Cell[12066, 367, 422, 11, 31, "Input",ExpressionUUID->"89e76b07-ca4f-4879-a9de-3406cd562327"], -Cell[12491, 380, 1436, 39, 147, "Input",ExpressionUUID->"0f88cdc1-a39e-4d13-b528-8472e029b05f"], -Cell[13930, 421, 159, 3, 32, "Subsubtitle",ExpressionUUID->"a1d3915d-f613-4425-8a04-fe27c5187298"], -Cell[14092, 426, 8589, 218, 1136, "Input",ExpressionUUID->"33f47236-ad3c-4a61-8f93-8222aa6cc9fa"], -Cell[22684, 646, 4394, 128, 469, "Input",ExpressionUUID->"53a40cfc-f0e8-4e44-9f25-b052baa99c29"], -Cell[27081, 776, 442, 13, 31, "Input",ExpressionUUID->"be98cbcc-62a9-4b36-a592-7c1827bbba19"], -Cell[27526, 791, 1695, 49, 170, "Input",ExpressionUUID->"3db40cdd-aae8-4aed-bbcf-7b6c917acc34"], -Cell[29224, 842, 287, 5, 32, "Subsubtitle",ExpressionUUID->"3a22e419-d65c-4c9e-84c6-863e409e519a"], -Cell[29514, 849, 324, 6, 36, "Text",ExpressionUUID->"58ebbe4e-85bd-47cd-b927-8039f9c2d955"], -Cell[29841, 857, 493, 14, 31, "Input",ExpressionUUID->"e4cd07b0-b7a6-476f-a82d-1ad870ed93c3"], -Cell[30337, 873, 208, 4, 36, "Text",ExpressionUUID->"9ac0d911-0e84-4579-bcb9-2110f48ca902"], -Cell[30548, 879, 1677, 42, 78, "Input",ExpressionUUID->"9f81cfa6-a749-4450-bfb3-736066b50bce"], -Cell[32228, 923, 154, 3, 36, "Text",ExpressionUUID->"656d798c-a5c9-4cc6-a1dd-06c8dc6c6565"], -Cell[32385, 928, 1601, 45, 124, "Input",ExpressionUUID->"29b01d2f-83ef-4d5a-8a25-69d70c2e9207"], -Cell[33989, 975, 157, 3, 36, "Text",ExpressionUUID->"7aa4501a-e764-4f85-8410-73dc94387049"], -Cell[34149, 980, 1040, 23, 31, "Input",ExpressionUUID->"dbea6cef-0336-433e-92e3-cc59b4a69219"], -Cell[35192, 1005, 178, 3, 36, "Text",ExpressionUUID->"15e73123-e84e-4360-b55b-334ef918a821"], -Cell[35373, 1010, 1939, 48, 101, "Input",ExpressionUUID->"176642b9-ef21-428e-bda6-88b3064f0fe2"], -Cell[37315, 1060, 152, 3, 36, "Text",ExpressionUUID->"ac9144ba-14f4-4cb2-9d7c-1b84aa717d7b"], -Cell[37470, 1065, 667, 16, 55, "Input",ExpressionUUID->"f4931c36-9cb3-41d5-9636-f3fbcef428c9"], -Cell[38140, 1083, 154, 3, 36, "Text",ExpressionUUID->"57ce017d-559b-4d58-ba18-1e7631c436d9"], -Cell[38297, 1088, 407, 11, 55, "Input",ExpressionUUID->"63203ee0-9601-47b1-9606-b67b10ce9a46"], -Cell[38707, 1101, 156, 3, 36, "Text",ExpressionUUID->"4432b235-bb2b-4e9d-87f8-55bf93c648df"], -Cell[38866, 1106, 541, 13, 55, "Input",ExpressionUUID->"c73ee33c-6f07-4ea9-82e2-0f37fad73c8e"], -Cell[39410, 1121, 153, 3, 36, "Text",ExpressionUUID->"3b78e61b-a31c-43c6-949c-8ab46a558347"], -Cell[39566, 1126, 1515, 41, 101, "Input",ExpressionUUID->"7be4a0a1-b2c0-4d7b-b564-9f92dabf375f"], -Cell[41084, 1169, 154, 3, 36, "Text",ExpressionUUID->"78b600c8-17c9-43b2-8561-39fdff7b92e4"], -Cell[41241, 1174, 1026, 27, 78, "Input",ExpressionUUID->"4ce3e11d-b2d8-42df-94f3-f44671feb140"], -Cell[42270, 1203, 154, 3, 36, "Text",ExpressionUUID->"c302290e-b2df-4299-8d3e-f59d1fc850b6"], -Cell[42427, 1208, 647, 14, 55, "Input",ExpressionUUID->"1a28b43d-e9a2-4ebf-8251-f3ab2ddb7786"], -Cell[43077, 1224, 159, 3, 36, "Text",ExpressionUUID->"4ba37bc9-3ca4-4415-be72-e388f0dad47a"], -Cell[43239, 1229, 2068, 48, 55, "Input",ExpressionUUID->"fe419f0a-adf5-43af-9f08-7b8a7f19180b"], -Cell[45310, 1279, 1000, 17, 78, "Input",ExpressionUUID->"ff5f7d73-add6-4e24-9e55-7b15786660c6"], -Cell[46313, 1298, 2067, 54, 78, "Input",ExpressionUUID->"d17df8c1-9260-4a0c-8495-b5ef6f820848"], -Cell[48383, 1354, 509, 14, 31, "Input",ExpressionUUID->"8c91f72d-3f47-4547-a792-5e0813bcc352"], -Cell[48895, 1370, 204, 3, 32, "Subsubtitle",ExpressionUUID->"b92b1bb0-abe4-4170-8cfc-1e9dd8bc5679"], -Cell[49102, 1375, 956, 25, 101, "Input",ExpressionUUID->"dea35a84-3a0f-4600-a2f4-2ab045608d87"], -Cell[50061, 1402, 154, 3, 32, "Subsubtitle",ExpressionUUID->"bf1afef8-2e19-4e8e-9c26-8b9e596cd10c"], -Cell[50218, 1407, 206, 5, 31, "Input",ExpressionUUID->"c2f98c75-5faf-44c8-a958-147c2a660678"], -Cell[50427, 1414, 3709, 87, 193, "Input",ExpressionUUID->"716ee195-4767-4067-92df-43ed8da3bd15"], -Cell[54139, 1503, 3798, 117, 446, "Input",ExpressionUUID->"cdb0dbd5-e787-49a0-bb76-c4468b401cbc"], -Cell[57940, 1622, 243, 5, 31, "Input",ExpressionUUID->"41b82835-d8e1-446a-bec9-5cabfad38221"], -Cell[58186, 1629, 7227, 182, 607, "Input",ExpressionUUID->"cbb713d0-b847-42c0-9c5d-8772380d8dba"], -Cell[65416, 1813, 5610, 171, 722, "Input",ExpressionUUID->"1a2cbc4e-fbe6-4f7c-8741-b70e886cb2db"], +Cell[11725, 357, 188, 3, 99, "Title",ExpressionUUID->"243eeb2a-7eb6-46c5-afb4-9166e290b8da"], +Cell[11916, 362, 156, 3, 32, "Subsubtitle",ExpressionUUID->"934e8056-77ed-401a-af0c-38f7a1beea69"], +Cell[12075, 367, 423, 11, 31, "Input",ExpressionUUID->"89e76b07-ca4f-4879-a9de-3406cd562327"], +Cell[12501, 380, 1437, 39, 147, "Input",ExpressionUUID->"0f88cdc1-a39e-4d13-b528-8472e029b05f"], +Cell[13941, 421, 159, 3, 32, "Subsubtitle",ExpressionUUID->"a1d3915d-f613-4425-8a04-fe27c5187298"], +Cell[14103, 426, 8590, 218, 1136, "Input",ExpressionUUID->"33f47236-ad3c-4a61-8f93-8222aa6cc9fa"], +Cell[22696, 646, 4441, 128, 469, "Input",ExpressionUUID->"53a40cfc-f0e8-4e44-9f25-b052baa99c29"], +Cell[27140, 776, 443, 13, 31, "Input",ExpressionUUID->"be98cbcc-62a9-4b36-a592-7c1827bbba19"], +Cell[27586, 791, 1696, 49, 170, "Input",ExpressionUUID->"3db40cdd-aae8-4aed-bbcf-7b6c917acc34"], +Cell[29285, 842, 287, 5, 32, "Subsubtitle",ExpressionUUID->"3a22e419-d65c-4c9e-84c6-863e409e519a"], +Cell[29575, 849, 324, 6, 36, "Text",ExpressionUUID->"58ebbe4e-85bd-47cd-b927-8039f9c2d955"], +Cell[29902, 857, 494, 14, 31, "Input",ExpressionUUID->"e4cd07b0-b7a6-476f-a82d-1ad870ed93c3"], +Cell[30399, 873, 208, 4, 36, "Text",ExpressionUUID->"9ac0d911-0e84-4579-bcb9-2110f48ca902"], +Cell[30610, 879, 1678, 42, 78, "Input",ExpressionUUID->"9f81cfa6-a749-4450-bfb3-736066b50bce"], +Cell[32291, 923, 154, 3, 36, "Text",ExpressionUUID->"656d798c-a5c9-4cc6-a1dd-06c8dc6c6565"], +Cell[32448, 928, 1602, 45, 124, "Input",ExpressionUUID->"29b01d2f-83ef-4d5a-8a25-69d70c2e9207"], +Cell[34053, 975, 157, 3, 36, "Text",ExpressionUUID->"7aa4501a-e764-4f85-8410-73dc94387049"], +Cell[34213, 980, 1041, 23, 31, "Input",ExpressionUUID->"dbea6cef-0336-433e-92e3-cc59b4a69219"], +Cell[35257, 1005, 178, 3, 36, "Text",ExpressionUUID->"15e73123-e84e-4360-b55b-334ef918a821"], +Cell[35438, 1010, 1940, 48, 101, "Input",ExpressionUUID->"176642b9-ef21-428e-bda6-88b3064f0fe2"], +Cell[37381, 1060, 152, 3, 36, "Text",ExpressionUUID->"ac9144ba-14f4-4cb2-9d7c-1b84aa717d7b"], +Cell[37536, 1065, 668, 16, 55, "Input",ExpressionUUID->"f4931c36-9cb3-41d5-9636-f3fbcef428c9"], +Cell[38207, 1083, 154, 3, 36, "Text",ExpressionUUID->"57ce017d-559b-4d58-ba18-1e7631c436d9"], +Cell[38364, 1088, 408, 11, 55, "Input",ExpressionUUID->"63203ee0-9601-47b1-9606-b67b10ce9a46"], +Cell[38775, 1101, 156, 3, 36, "Text",ExpressionUUID->"4432b235-bb2b-4e9d-87f8-55bf93c648df"], +Cell[38934, 1106, 542, 13, 55, "Input",ExpressionUUID->"c73ee33c-6f07-4ea9-82e2-0f37fad73c8e"], +Cell[39479, 1121, 153, 3, 36, "Text",ExpressionUUID->"3b78e61b-a31c-43c6-949c-8ab46a558347"], +Cell[39635, 1126, 1516, 41, 101, "Input",ExpressionUUID->"7be4a0a1-b2c0-4d7b-b564-9f92dabf375f"], +Cell[41154, 1169, 154, 3, 36, "Text",ExpressionUUID->"78b600c8-17c9-43b2-8561-39fdff7b92e4"], +Cell[41311, 1174, 1027, 27, 78, "Input",ExpressionUUID->"4ce3e11d-b2d8-42df-94f3-f44671feb140"], +Cell[42341, 1203, 154, 3, 36, "Text",ExpressionUUID->"c302290e-b2df-4299-8d3e-f59d1fc850b6"], +Cell[42498, 1208, 648, 14, 55, "Input",ExpressionUUID->"1a28b43d-e9a2-4ebf-8251-f3ab2ddb7786"], +Cell[43149, 1224, 159, 3, 36, "Text",ExpressionUUID->"4ba37bc9-3ca4-4415-be72-e388f0dad47a"], +Cell[43311, 1229, 2069, 48, 55, "Input",ExpressionUUID->"fe419f0a-adf5-43af-9f08-7b8a7f19180b"], +Cell[45383, 1279, 1001, 17, 78, "Input",ExpressionUUID->"ff5f7d73-add6-4e24-9e55-7b15786660c6"], +Cell[46387, 1298, 2068, 54, 78, "Input",ExpressionUUID->"d17df8c1-9260-4a0c-8495-b5ef6f820848"], +Cell[48458, 1354, 510, 14, 31, "Input",ExpressionUUID->"8c91f72d-3f47-4547-a792-5e0813bcc352"], +Cell[48971, 1370, 204, 3, 32, "Subsubtitle",ExpressionUUID->"b92b1bb0-abe4-4170-8cfc-1e9dd8bc5679"], +Cell[49178, 1375, 957, 25, 101, "Input",ExpressionUUID->"dea35a84-3a0f-4600-a2f4-2ab045608d87"], +Cell[50138, 1402, 154, 3, 32, "Subsubtitle",ExpressionUUID->"bf1afef8-2e19-4e8e-9c26-8b9e596cd10c"], +Cell[50295, 1407, 207, 5, 31, "Input",ExpressionUUID->"c2f98c75-5faf-44c8-a958-147c2a660678"], +Cell[50505, 1414, 3710, 87, 193, "Input",ExpressionUUID->"716ee195-4767-4067-92df-43ed8da3bd15"], +Cell[54218, 1503, 3895, 118, 446, "Input",ExpressionUUID->"cdb0dbd5-e787-49a0-bb76-c4468b401cbc"], +Cell[58116, 1623, 244, 5, 31, "Input",ExpressionUUID->"41b82835-d8e1-446a-bec9-5cabfad38221"], +Cell[58363, 1630, 7228, 182, 607, "Input",ExpressionUUID->"cbb713d0-b847-42c0-9c5d-8772380d8dba"], +Cell[65594, 1814, 5611, 171, 722, "Input",ExpressionUUID->"1a2cbc4e-fbe6-4f7c-8741-b70e886cb2db"], Cell[CellGroupData[{ -Cell[71051, 1988, 427, 8, 31, "Input",ExpressionUUID->"92a89388-7fc0-4900-84db-870a39602d88"], -Cell[71481, 1998, 2043, 30, 35, "Output",ExpressionUUID->"fb8f6fc6-af3b-4e4a-8c6b-0bed6c4cc71c"] +Cell[71230, 1989, 428, 8, 31, "Input",ExpressionUUID->"92a89388-7fc0-4900-84db-870a39602d88"], +Cell[71661, 1999, 2166, 32, 35, "Output",ExpressionUUID->"ded51bd1-847b-4bb1-9511-2c586bf764f5"] }, Open ]], -Cell[73539, 2031, 275, 7, 55, "Input",ExpressionUUID->"aaff244c-3ad5-4faf-aeb3-7cdbaa9f50f5"], -Cell[73817, 2040, 152, 3, 64, "Input",ExpressionUUID->"8714cb77-63af-49bd-8987-722049f040d7"] +Cell[73842, 2034, 276, 7, 55, "Input",ExpressionUUID->"aaff244c-3ad5-4faf-aeb3-7cdbaa9f50f5"], +Cell[74121, 2043, 153, 3, 64, "Input",ExpressionUUID->"8714cb77-63af-49bd-8987-722049f040d7"] } ] *) diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrAirDensity.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrAirDensity.cppready index cd9ad87..bf87fed 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrAirDensity.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrAirDensity.cppready @@ -1,6 +1,256 @@ -J(1+_OFF) = 0; -J(2+_OFF) = 0; -J(3+_OFF) = 0; -J(4+_OFF) = 0; -J(5+_OFF) = 0; -J(6+_OFF) = 0; +double tmp0 = x(4+_OFF); +double tmp1 = x(5+_OFF); +double tmp2 = x(6+_OFF); +double tmp3 = x(7+_OFF); +double tmp4 = wind(2+_OFF); +double tmp5 = tmp1*tmp2; +double tmp6 = wind(3+_OFF); +double tmp7 = wind(1+_OFF); +double tmp8 = std::pow(tmp0,2); +double tmp9 = std::pow(tmp1,2); +double tmp10 = std::pow(tmp2,2); +double tmp11 = std::pow(tmp3,2); +double tmp12 = -tmp11; +double tmp13 = -(tmp0*tmp3); +double tmp14 = tmp5 + tmp13; +double tmp15 = tmp0*tmp1; +double tmp16 = tmp2*tmp3; +double tmp17 = tmp15 + tmp16; +double tmp18 = -tmp9; +double tmp19 = tmp8 + tmp18 + tmp10 + tmp12; +double tmp20 = x(9+_OFF); +double tmp21 = tmp1*tmp3; +double tmp22 = -tmp10; +double tmp23 = airDensity(2+_OFF); +double tmp24 = x(8+_OFF); +double tmp25 = -tmp20; +double tmp26 = tmp0*tmp3; +double tmp27 = tmp5 + tmp26; +double tmp28 = -2*tmp4*tmp27; +double tmp29 = -(tmp0*tmp2); +double tmp30 = tmp29 + tmp21; +double tmp31 = -2*tmp6*tmp30; +double tmp32 = tmp8 + tmp9 + tmp22 + tmp12; +double tmp33 = -(tmp7*tmp32); +double tmp34 = tmp28 + tmp31 + tmp33 + tmp24; +double tmp35 = std::pow(tmp34,2); +double tmp36 = tmp0*tmp2; +double tmp37 = tmp36 + tmp21; +double tmp38 = -(tmp0*tmp1); +double tmp39 = tmp38 + tmp16; +double tmp40 = tmp8 + tmp18 + tmp22 + tmp11; +double tmp41 = x(10+_OFF); +double tmp42 = -2*tmp7*tmp14; +double tmp43 = -2*tmp6*tmp17; +double tmp44 = -(tmp4*tmp19); +double tmp45 = tmp42 + tmp43 + tmp44 + tmp20; +double tmp46 = std::pow(tmp45,2); +double tmp47 = -2*tmp7*tmp37; +double tmp48 = -2*tmp4*tmp39; +double tmp49 = -(tmp6*tmp40); +double tmp50 = tmp47 + tmp48 + tmp49 + tmp41; +double tmp51 = std::pow(tmp50,2); +double tmp52 = tmp35 + tmp46 + tmp51; +double tmp53 = std::pow(tmp23,-2); +double tmp54 = airDensity(3+_OFF); +double tmp55 = cp(2+_OFF); +double tmp56 = 2*tmp7*tmp37; +double tmp57 = 2*tmp4*tmp39; +double tmp58 = tmp6*tmp40; +double tmp59 = -tmp41; +double tmp60 = tmp56 + tmp57 + tmp58 + tmp59; +double tmp61 = 1/tmp23; +double tmp62 = airDensity(1+_OFF); +double tmp63 = x(3+_OFF); +double tmp64 = tmp62 + tmp63; +double tmp65 = -0.006500000000000001*tmp61*tmp64; +double tmp66 = 1 + tmp65; +double tmp67 = std::pow(tmp66,3.2561); +double tmp68 = std::pow(tmp60,2); +double tmp69 = tmp35 + tmp68; +double tmp70 = 1/std::sqrt(tmp69); +double tmp71 = std::atan2(tmp60,tmp34); +double tmp72 = 2*tmp7*tmp14; +double tmp73 = 2*tmp6*tmp17; +double tmp74 = tmp4*tmp19; +double tmp75 = tmp72 + tmp73 + tmp74 + tmp25; +double tmp76 = 1/std::sqrt(tmp52); +double tmp77 = tmp75*tmp76; +double tmp78 = std::asin(tmp77); +double tmp79 = -(tmp7*tmp8); +double tmp80 = -(tmp7*tmp9); +double tmp81 = 2*tmp6*tmp0*tmp2; +double tmp82 = -2*tmp4*tmp1*tmp2; +double tmp83 = tmp7*tmp10; +double tmp84 = -2*tmp4*tmp0*tmp3; +double tmp85 = -2*tmp6*tmp1*tmp3; +double tmp86 = tmp7*tmp11; +double tmp87 = tmp79 + tmp80 + tmp81 + tmp82 + tmp83 + tmp84 + tmp85 + tmp86 + tmp24; +double tmp88 = cp(1+_OFF); +double tmp89 = std::sqrt(tmp52); +double tmp90 = std::pow(tmp88,2); +double tmp91 = z(1+_OFF); +double tmp92 = cp(4+_OFF); +double tmp93 = 1/tmp92; +double tmp94 = fLat(1+_OFF); +double tmp95 = tmp4*tmp8; +double tmp96 = 2*tmp6*tmp0*tmp1; +double tmp97 = -(tmp4*tmp9); +double tmp98 = 2*tmp7*tmp1*tmp2; +double tmp99 = tmp4*tmp10; +double tmp100 = -2*tmp7*tmp0*tmp3; +double tmp101 = 2*tmp6*tmp2*tmp3; +double tmp102 = -(tmp4*tmp11); +double tmp103 = tmp95 + tmp96 + tmp97 + tmp98 + tmp99 + tmp100 + tmp101 + tmp102 + tmp25; +double tmp104 = std::pow(tmp23,-3); +double tmp105 = fLift(1+_OFF); +double tmp106 = fLift(2+_OFF); +double tmp107 = tmp71*tmp106; +double tmp108 = tmp105 + tmp107; +double tmp109 = tmp6*tmp8; +double tmp110 = -2*tmp4*tmp0*tmp1; +double tmp111 = -(tmp6*tmp9); +double tmp112 = 2*tmp7*tmp0*tmp2; +double tmp113 = -(tmp6*tmp10); +double tmp114 = 2*tmp7*tmp1*tmp3; +double tmp115 = 2*tmp4*tmp2*tmp3; +double tmp116 = tmp6*tmp11; +double tmp117 = tmp109 + tmp110 + tmp111 + tmp112 + tmp113 + tmp114 + tmp115 + tmp116 + tmp59; +double tmp118 = std::pow(tmp66,4.2561); +double tmp119 = fDrag(1+_OFF); +double tmp120 = fDrag(2+_OFF); +double tmp121 = tmp71*tmp120; +double tmp122 = std::pow(tmp71,2); +double tmp123 = fDrag(3+_OFF); +double tmp124 = tmp122*tmp123; +double tmp125 = std::pow(tmp78,2); +double tmp126 = fDrag(4+_OFF); +double tmp127 = tmp125*tmp126; +double tmp128 = tmp119 + tmp121 + tmp124 + tmp127; +double tmp129 = std::pow(tmp75,2); +double tmp130 = 1/tmp52; +double tmp131 = -(tmp129*tmp130); +double tmp132 = 1 + tmp131; +double tmp133 = std::sqrt(tmp132); +double tmp134 = std::pow(M_PI,-2); +double tmp135 = fThrust(3+_OFF); +double tmp136 = tmp134*tmp135*tmp52; +double tmp137 = 1/M_PI; +double tmp138 = fThrust(2+_OFF); +double tmp139 = tmp137*tmp88*tmp138*tmp89*tmp91; +double tmp140 = fThrust(1+_OFF); +double tmp141 = std::pow(tmp91,2); +double tmp142 = tmp90*tmp140*tmp141; +double tmp143 = tmp136 + tmp139 + tmp142; +double tmp144 = -(tmp4*tmp8); +double tmp145 = -2*tmp6*tmp0*tmp1; +double tmp146 = tmp4*tmp9; +double tmp147 = -2*tmp7*tmp1*tmp2; +double tmp148 = -(tmp4*tmp10); +double tmp149 = 2*tmp7*tmp0*tmp3; +double tmp150 = -2*tmp6*tmp2*tmp3; +double tmp151 = tmp4*tmp11; +double tmp152 = tmp144 + tmp145 + tmp146 + tmp147 + tmp148 + tmp149 + tmp150 + tmp151 + tmp20; +double tmp153 = -(tmp6*tmp8); +double tmp154 = 2*tmp4*tmp0*tmp1; +double tmp155 = tmp6*tmp9; +double tmp156 = -2*tmp7*tmp0*tmp2; +double tmp157 = tmp6*tmp10; +double tmp158 = -2*tmp7*tmp1*tmp3; +double tmp159 = -2*tmp4*tmp2*tmp3; +double tmp160 = -(tmp6*tmp11); +double tmp161 = tmp153 + tmp154 + tmp155 + tmp156 + tmp157 + tmp158 + tmp159 + tmp160 + tmp41; +double tmp162 = ibd(2+_OFF); +double tmp163 = ibd(3+_OFF); +double tmp164 = ibod(1+_OFF); +double tmp165 = ibod(2+_OFF); +double tmp166 = ibod(3+_OFF); +double tmp167 = ibd(1+_OFF); +double tmp168 = std::pow(tmp166,2); +double tmp169 = cp(3+_OFF); +double tmp170 = tmp167*tmp162*tmp163; +double tmp171 = std::pow(tmp164,2); +double tmp172 = -(tmp162*tmp171); +double tmp173 = std::pow(tmp165,2); +double tmp174 = -(tmp163*tmp173); +double tmp175 = 2*tmp164*tmp165*tmp166; +double tmp176 = -(tmp167*tmp168); +double tmp177 = tmp170 + tmp172 + tmp174 + tmp175 + tmp176; +double tmp178 = 1/tmp177; +double tmp179 = cBar(1+_OFF); +double tmp180 = x(13+_OFF); +double tmp181 = tmp162*tmp163; +double tmp182 = -tmp168; +double tmp183 = tmp181 + tmp182; +double tmp184 = mRoll(2+_OFF); +double tmp185 = tmp78*tmp184; +double tmp186 = mRoll(3+_OFF); +double tmp187 = x(11+_OFF); +double tmp188 = (tmp169*tmp186*tmp76*tmp187)/2.; +double tmp189 = mRoll(4+_OFF); +double tmp190 = -(tmp169*tmp189*tmp76*tmp180)/2.; +double tmp191 = mRoll(1+_OFF); +double tmp192 = z(2+_OFF); +double tmp193 = -(tmp191*tmp192); +double tmp194 = tmp185 + tmp188 + tmp190 + tmp193; +double tmp195 = -(tmp163*tmp165); +double tmp196 = tmp164*tmp166; +double tmp197 = tmp195 + tmp196; +double tmp198 = mPitch(1+_OFF); +double tmp199 = -tmp198; +double tmp200 = mPitch(3+_OFF); +double tmp201 = -(tmp71*tmp200); +double tmp202 = mPitch(4+_OFF); +double tmp203 = x(12+_OFF); +double tmp204 = (tmp179*tmp202*tmp76*tmp203)/2.; +double tmp205 = mPitch(2+_OFF); +double tmp206 = z(3+_OFF); +double tmp207 = -(tmp205*tmp206); +double tmp208 = tmp199 + tmp201 + tmp204 + tmp207; +double tmp209 = -(tmp162*tmp164); +double tmp210 = tmp165*tmp166; +double tmp211 = tmp209 + tmp210; +double tmp212 = mYaw(2+_OFF); +double tmp213 = -(tmp78*tmp212); +double tmp214 = mYaw(3+_OFF); +double tmp215 = (tmp169*tmp214*tmp76*tmp180)/2.; +double tmp216 = mYaw(1+_OFF); +double tmp217 = z(4+_OFF); +double tmp218 = tmp216*tmp217; +double tmp219 = tmp213 + tmp215 + tmp218; +double tmp220 = 0.00004814592760180996*tmp104*tmp54*tmp55*tmp169*tmp64*tmp67*tmp52*tmp194; +double tmp221 = -0.001740341106856944*tmp53*tmp54*tmp55*tmp169*tmp118*tmp52*tmp194; +double tmp222 = tmp220 + tmp221; +double tmp223 = tmp167*tmp163; +double tmp224 = -tmp171; +double tmp225 = tmp223 + tmp224; +double tmp226 = 0.00004814592760180996*tmp104*tmp54*tmp179*tmp55*tmp64*tmp67*tmp52*tmp208; +double tmp227 = -0.001740341106856944*tmp53*tmp54*tmp179*tmp55*tmp118*tmp52*tmp208; +double tmp228 = tmp226 + tmp227; +double tmp229 = tmp164*tmp165; +double tmp230 = -(tmp167*tmp166); +double tmp231 = tmp229 + tmp230; +double tmp232 = 0.00004814592760180996*tmp104*tmp54*tmp55*tmp169*tmp64*tmp67*tmp52*tmp219; +double tmp233 = -0.001740341106856944*tmp53*tmp54*tmp55*tmp169*tmp118*tmp52*tmp219; +double tmp234 = tmp232 + tmp233; +double tmp235 = tmp167*tmp162; +double tmp236 = -tmp173; +double tmp237 = tmp235 + tmp236; +J(1+_OFF,1+_OFF) = -(tmp93*(0.00004814592760180996*tmp53*tmp54*tmp78*tmp55*tmp94*tmp67*tmp87*tmp103*tmp70*tmp89 + 0.00004814592760180996*tmp53*tmp54*tmp55*tmp108*tmp67*tmp70*tmp117*tmp52 - 0.00004814592760180996*tmp53*tmp54*tmp55*tmp128*tmp67*tmp87*tmp70*tmp52*tmp133 - 0.00009629185520361992*tmp53*tmp54*tmp90*tmp67*tmp143)); +J(1+_OFF,2+_OFF) = -(tmp93*(-0.00004814592760180996*tmp104*tmp54*tmp78*tmp55*tmp94*tmp64*tmp67*tmp87*tmp103*tmp70*tmp89 + 0.001740341106856944*tmp53*tmp54*tmp78*tmp55*tmp94*tmp118*tmp87*tmp103*tmp70*tmp89 - 0.00004814592760180996*tmp104*tmp54*tmp55*tmp108*tmp64*tmp67*tmp70*tmp117*tmp52 + 0.001740341106856944*tmp53*tmp54*tmp55*tmp108*tmp118*tmp70*tmp117*tmp52 + 0.00004814592760180996*tmp104*tmp54*tmp55*tmp128*tmp64*tmp67*tmp87*tmp70*tmp52*tmp133 - 0.001740341106856944*tmp53*tmp54*tmp55*tmp128*tmp118*tmp87*tmp70*tmp52*tmp133 + 0.00009629185520361992*tmp104*tmp54*tmp90*tmp64*tmp67*tmp143 - 0.003480682213713888*tmp53*tmp54*tmp90*tmp118*tmp143)); +J(1+_OFF,3+_OFF) = -(tmp93*(-0.001740341106856944*tmp61*tmp78*tmp55*tmp94*tmp118*tmp87*tmp103*tmp70*tmp89 - 0.001740341106856944*tmp61*tmp55*tmp108*tmp118*tmp70*tmp117*tmp52 + 0.001740341106856944*tmp61*tmp55*tmp128*tmp118*tmp87*tmp70*tmp52*tmp133 + 0.003480682213713888*tmp61*tmp90*tmp118*tmp143)); +J(2+_OFF,1+_OFF) = -(tmp93*(-0.00004814592760180996*tmp53*tmp54*tmp55*tmp128*tmp67*tmp152*tmp89 + 0.00004814592760180996*tmp53*tmp54*tmp78*tmp55*tmp94*tmp67*tmp52*tmp133)); +J(2+_OFF,2+_OFF) = -(tmp93*(0.00004814592760180996*tmp104*tmp54*tmp55*tmp128*tmp64*tmp67*tmp152*tmp89 - 0.001740341106856944*tmp53*tmp54*tmp55*tmp128*tmp118*tmp152*tmp89 - 0.00004814592760180996*tmp104*tmp54*tmp78*tmp55*tmp94*tmp64*tmp67*tmp52*tmp133 + 0.001740341106856944*tmp53*tmp54*tmp78*tmp55*tmp94*tmp118*tmp52*tmp133)); +J(2+_OFF,3+_OFF) = -(tmp93*(0.001740341106856944*tmp61*tmp55*tmp128*tmp118*tmp152*tmp89 - 0.001740341106856944*tmp61*tmp78*tmp55*tmp94*tmp118*tmp52*tmp133)); +J(3+_OFF,1+_OFF) = -(tmp93*(0.00004814592760180996*tmp53*tmp54*tmp78*tmp55*tmp94*tmp67*tmp103*tmp70*tmp161*tmp89 + 0.00004814592760180996*tmp53*tmp54*tmp55*tmp108*tmp67*tmp87*tmp70*tmp52 - 0.00004814592760180996*tmp53*tmp54*tmp55*tmp128*tmp67*tmp70*tmp161*tmp52*tmp133)); +J(3+_OFF,2+_OFF) = -(tmp93*(-0.00004814592760180996*tmp104*tmp54*tmp78*tmp55*tmp94*tmp64*tmp67*tmp103*tmp70*tmp161*tmp89 + 0.001740341106856944*tmp53*tmp54*tmp78*tmp55*tmp94*tmp118*tmp103*tmp70*tmp161*tmp89 - 0.00004814592760180996*tmp104*tmp54*tmp55*tmp108*tmp64*tmp67*tmp87*tmp70*tmp52 + 0.001740341106856944*tmp53*tmp54*tmp55*tmp108*tmp118*tmp87*tmp70*tmp52 + 0.00004814592760180996*tmp104*tmp54*tmp55*tmp128*tmp64*tmp67*tmp70*tmp161*tmp52*tmp133 - 0.001740341106856944*tmp53*tmp54*tmp55*tmp128*tmp118*tmp70*tmp161*tmp52*tmp133)); +J(3+_OFF,3+_OFF) = -(tmp93*(-0.001740341106856944*tmp61*tmp78*tmp55*tmp94*tmp118*tmp103*tmp70*tmp161*tmp89 - 0.001740341106856944*tmp61*tmp55*tmp108*tmp118*tmp87*tmp70*tmp52 + 0.001740341106856944*tmp61*tmp55*tmp128*tmp118*tmp70*tmp161*tmp52*tmp133)); +J(4+_OFF,1+_OFF) = 0.00004814592760180996*tmp53*tmp54*tmp55*tmp169*tmp183*tmp178*tmp67*tmp52*tmp194 + 0.00004814592760180996*tmp53*tmp54*tmp179*tmp55*tmp197*tmp178*tmp67*tmp52*tmp208 + 0.00004814592760180996*tmp53*tmp54*tmp55*tmp169*tmp211*tmp178*tmp67*tmp52*tmp219; +J(4+_OFF,2+_OFF) = -(tmp183*tmp178*tmp222) - tmp197*tmp178*tmp228 - tmp211*tmp178*tmp234; +J(4+_OFF,3+_OFF) = -0.001740341106856944*tmp61*tmp55*tmp169*tmp183*tmp178*tmp118*tmp52*tmp194 - 0.001740341106856944*tmp61*tmp179*tmp55*tmp197*tmp178*tmp118*tmp52*tmp208 - 0.001740341106856944*tmp61*tmp55*tmp169*tmp211*tmp178*tmp118*tmp52*tmp219; +J(5+_OFF,1+_OFF) = 0.00004814592760180996*tmp53*tmp54*tmp55*tmp169*tmp197*tmp178*tmp67*tmp52*tmp194 + 0.00004814592760180996*tmp53*tmp54*tmp179*tmp55*tmp225*tmp178*tmp67*tmp52*tmp208 + 0.00004814592760180996*tmp53*tmp54*tmp55*tmp169*tmp231*tmp178*tmp67*tmp52*tmp219; +J(5+_OFF,2+_OFF) = -(tmp197*tmp178*tmp222) - tmp225*tmp178*tmp228 - tmp231*tmp178*tmp234; +J(5+_OFF,3+_OFF) = -0.001740341106856944*tmp61*tmp55*tmp169*tmp197*tmp178*tmp118*tmp52*tmp194 - 0.001740341106856944*tmp61*tmp179*tmp55*tmp225*tmp178*tmp118*tmp52*tmp208 - 0.001740341106856944*tmp61*tmp55*tmp169*tmp231*tmp178*tmp118*tmp52*tmp219; +J(6+_OFF,1+_OFF) = 0.00004814592760180996*tmp53*tmp54*tmp55*tmp169*tmp211*tmp178*tmp67*tmp52*tmp194 + 0.00004814592760180996*tmp53*tmp54*tmp179*tmp55*tmp231*tmp178*tmp67*tmp52*tmp208 + 0.00004814592760180996*tmp53*tmp54*tmp55*tmp169*tmp237*tmp178*tmp67*tmp52*tmp219; +J(6+_OFF,2+_OFF) = -(tmp211*tmp178*tmp222) - tmp231*tmp178*tmp228 - tmp237*tmp178*tmp234; +J(6+_OFF,3+_OFF) = -0.001740341106856944*tmp61*tmp55*tmp169*tmp211*tmp178*tmp118*tmp52*tmp194 - 0.001740341106856944*tmp61*tmp179*tmp55*tmp231*tmp178*tmp118*tmp52*tmp208 - 0.001740341106856944*tmp61*tmp55*tmp169*tmp237*tmp178*tmp118*tmp52*tmp219; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrCBar.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrCBar.cppready index cd9ad87..f4f14ec 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrCBar.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrCBar.cppready @@ -1,6 +1,106 @@ -J(1+_OFF) = 0; -J(2+_OFF) = 0; -J(3+_OFF) = 0; -J(4+_OFF) = 0; -J(5+_OFF) = 0; -J(6+_OFF) = 0; +double tmp0 = ibd(3+_OFF); +double tmp1 = ibd(2+_OFF); +double tmp2 = ibod(1+_OFF); +double tmp3 = ibod(2+_OFF); +double tmp4 = ibod(3+_OFF); +double tmp5 = ibd(1+_OFF); +double tmp6 = airDensity(2+_OFF); +double tmp7 = 1/tmp6; +double tmp8 = x(4+_OFF); +double tmp9 = x(6+_OFF); +double tmp10 = x(5+_OFF); +double tmp11 = x(7+_OFF); +double tmp12 = wind(1+_OFF); +double tmp13 = tmp10*tmp9; +double tmp14 = wind(3+_OFF); +double tmp15 = wind(2+_OFF); +double tmp16 = std::pow(tmp8,2); +double tmp17 = std::pow(tmp10,2); +double tmp18 = std::pow(tmp9,2); +double tmp19 = std::pow(tmp11,2); +double tmp20 = -tmp19; +double tmp21 = tmp10*tmp11; +double tmp22 = tmp9*tmp11; +double tmp23 = -tmp17; +double tmp24 = -tmp18; +double tmp25 = airDensity(3+_OFF); +double tmp26 = cp(2+_OFF); +double tmp27 = airDensity(1+_OFF); +double tmp28 = x(3+_OFF); +double tmp29 = tmp27 + tmp28; +double tmp30 = -0.006500000000000001*tmp7*tmp29; +double tmp31 = 1 + tmp30; +double tmp32 = std::pow(tmp31,4.2561); +double tmp33 = tmp8*tmp11; +double tmp34 = tmp13 + tmp33; +double tmp35 = -2*tmp15*tmp34; +double tmp36 = -(tmp8*tmp9); +double tmp37 = tmp36 + tmp21; +double tmp38 = -2*tmp14*tmp37; +double tmp39 = tmp16 + tmp17 + tmp24 + tmp20; +double tmp40 = -(tmp12*tmp39); +double tmp41 = x(8+_OFF); +double tmp42 = tmp35 + tmp38 + tmp40 + tmp41; +double tmp43 = std::pow(tmp42,2); +double tmp44 = -(tmp8*tmp11); +double tmp45 = tmp13 + tmp44; +double tmp46 = -2*tmp12*tmp45; +double tmp47 = tmp8*tmp10; +double tmp48 = tmp47 + tmp22; +double tmp49 = -2*tmp14*tmp48; +double tmp50 = tmp16 + tmp23 + tmp18 + tmp20; +double tmp51 = -(tmp15*tmp50); +double tmp52 = x(9+_OFF); +double tmp53 = tmp46 + tmp49 + tmp51 + tmp52; +double tmp54 = std::pow(tmp53,2); +double tmp55 = tmp8*tmp9; +double tmp56 = tmp55 + tmp21; +double tmp57 = -2*tmp12*tmp56; +double tmp58 = -(tmp8*tmp10); +double tmp59 = tmp58 + tmp22; +double tmp60 = -2*tmp15*tmp59; +double tmp61 = tmp16 + tmp23 + tmp24 + tmp19; +double tmp62 = -(tmp14*tmp61); +double tmp63 = x(10+_OFF); +double tmp64 = tmp57 + tmp60 + tmp62 + tmp63; +double tmp65 = std::pow(tmp64,2); +double tmp66 = tmp43 + tmp54 + tmp65; +double tmp67 = cBar(1+_OFF); +double tmp68 = mPitch(4+_OFF); +double tmp69 = x(12+_OFF); +double tmp70 = std::pow(tmp2,2); +double tmp71 = tmp5*tmp1*tmp0; +double tmp72 = -(tmp1*tmp70); +double tmp73 = std::pow(tmp3,2); +double tmp74 = -(tmp0*tmp73); +double tmp75 = 2*tmp2*tmp3*tmp4; +double tmp76 = std::pow(tmp4,2); +double tmp77 = -(tmp5*tmp76); +double tmp78 = tmp71 + tmp72 + tmp74 + tmp75 + tmp77; +double tmp79 = 1/tmp78; +double tmp80 = std::sqrt(tmp66); +double tmp81 = 0.000870170553428472*tmp7*tmp25*tmp67*tmp26*tmp68*tmp32*tmp80*tmp69; +double tmp82 = mPitch(1+_OFF); +double tmp83 = -tmp82; +double tmp84 = 2*tmp12*tmp56; +double tmp85 = 2*tmp15*tmp59; +double tmp86 = tmp14*tmp61; +double tmp87 = -tmp63; +double tmp88 = tmp84 + tmp85 + tmp86 + tmp87; +double tmp89 = std::atan2(tmp88,tmp42); +double tmp90 = mPitch(3+_OFF); +double tmp91 = -(tmp89*tmp90); +double tmp92 = 1/std::sqrt(tmp66); +double tmp93 = (tmp67*tmp68*tmp92*tmp69)/2.; +double tmp94 = mPitch(2+_OFF); +double tmp95 = z(3+_OFF); +double tmp96 = -(tmp94*tmp95); +double tmp97 = tmp83 + tmp91 + tmp93 + tmp96; +double tmp98 = 0.001740341106856944*tmp7*tmp25*tmp26*tmp32*tmp66*tmp97; +double tmp99 = tmp81 + tmp98; +J(1+_OFF,1+_OFF) = 0; +J(2+_OFF,1+_OFF) = 0; +J(3+_OFF,1+_OFF) = 0; +J(4+_OFF,1+_OFF) = -((-(tmp0*tmp3) + tmp2*tmp4)*tmp79*tmp99); +J(5+_OFF,1+_OFF) = -((tmp5*tmp0 - tmp70)*tmp79*tmp99); +J(6+_OFF,1+_OFF) = -((tmp2*tmp3 - tmp5*tmp4)*tmp79*tmp99); diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrCp.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrCp.cppready index cd9ad87..a737182 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrCp.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrCp.cppready @@ -1,6 +1,257 @@ -J(1+_OFF) = 0; -J(2+_OFF) = 0; -J(3+_OFF) = 0; -J(4+_OFF) = 0; -J(5+_OFF) = 0; -J(6+_OFF) = 0; +double tmp0 = airDensity(2+_OFF); +double tmp1 = 1/tmp0; +double tmp2 = x(4+_OFF); +double tmp3 = x(6+_OFF); +double tmp4 = x(5+_OFF); +double tmp5 = x(7+_OFF); +double tmp6 = wind(1+_OFF); +double tmp7 = tmp4*tmp3; +double tmp8 = wind(3+_OFF); +double tmp9 = wind(2+_OFF); +double tmp10 = std::pow(tmp2,2); +double tmp11 = std::pow(tmp4,2); +double tmp12 = std::pow(tmp3,2); +double tmp13 = std::pow(tmp5,2); +double tmp14 = -tmp13; +double tmp15 = tmp4*tmp5; +double tmp16 = tmp3*tmp5; +double tmp17 = -tmp11; +double tmp18 = -tmp12; +double tmp19 = cp(1+_OFF); +double tmp20 = z(1+_OFF); +double tmp21 = airDensity(3+_OFF); +double tmp22 = airDensity(1+_OFF); +double tmp23 = x(3+_OFF); +double tmp24 = tmp22 + tmp23; +double tmp25 = -0.006500000000000001*tmp1*tmp24; +double tmp26 = 1 + tmp25; +double tmp27 = std::pow(tmp26,4.2561); +double tmp28 = tmp2*tmp5; +double tmp29 = tmp7 + tmp28; +double tmp30 = -2*tmp9*tmp29; +double tmp31 = -(tmp2*tmp3); +double tmp32 = tmp31 + tmp15; +double tmp33 = -2*tmp8*tmp32; +double tmp34 = tmp10 + tmp11 + tmp18 + tmp14; +double tmp35 = -(tmp6*tmp34); +double tmp36 = x(8+_OFF); +double tmp37 = tmp30 + tmp33 + tmp35 + tmp36; +double tmp38 = std::pow(tmp37,2); +double tmp39 = -(tmp2*tmp5); +double tmp40 = tmp7 + tmp39; +double tmp41 = -2*tmp6*tmp40; +double tmp42 = tmp2*tmp4; +double tmp43 = tmp42 + tmp16; +double tmp44 = -2*tmp8*tmp43; +double tmp45 = tmp10 + tmp17 + tmp12 + tmp14; +double tmp46 = -(tmp9*tmp45); +double tmp47 = x(9+_OFF); +double tmp48 = tmp41 + tmp44 + tmp46 + tmp47; +double tmp49 = std::pow(tmp48,2); +double tmp50 = tmp2*tmp3; +double tmp51 = tmp50 + tmp15; +double tmp52 = -2*tmp6*tmp51; +double tmp53 = -(tmp2*tmp4); +double tmp54 = tmp53 + tmp16; +double tmp55 = -2*tmp9*tmp54; +double tmp56 = tmp10 + tmp17 + tmp18 + tmp13; +double tmp57 = -(tmp8*tmp56); +double tmp58 = x(10+_OFF); +double tmp59 = tmp52 + tmp55 + tmp57 + tmp58; +double tmp60 = std::pow(tmp59,2); +double tmp61 = tmp38 + tmp49 + tmp60; +double tmp62 = 1/M_PI; +double tmp63 = fThrust(2+_OFF); +double tmp64 = std::sqrt(tmp61); +double tmp65 = std::pow(tmp19,2); +double tmp66 = fThrust(1+_OFF); +double tmp67 = std::pow(tmp20,2); +double tmp68 = cp(4+_OFF); +double tmp69 = 1/tmp68; +double tmp70 = -tmp47; +double tmp71 = 2*tmp6*tmp51; +double tmp72 = 2*tmp9*tmp54; +double tmp73 = tmp8*tmp56; +double tmp74 = -tmp58; +double tmp75 = tmp71 + tmp72 + tmp73 + tmp74; +double tmp76 = std::pow(tmp75,2); +double tmp77 = tmp38 + tmp76; +double tmp78 = 1/std::sqrt(tmp77); +double tmp79 = std::atan2(tmp75,tmp37); +double tmp80 = 2*tmp6*tmp40; +double tmp81 = 2*tmp8*tmp43; +double tmp82 = tmp9*tmp45; +double tmp83 = tmp80 + tmp81 + tmp82 + tmp70; +double tmp84 = 1/std::sqrt(tmp61); +double tmp85 = tmp83*tmp84; +double tmp86 = std::asin(tmp85); +double tmp87 = -(tmp6*tmp10); +double tmp88 = -(tmp6*tmp11); +double tmp89 = 2*tmp8*tmp2*tmp3; +double tmp90 = -2*tmp9*tmp4*tmp3; +double tmp91 = tmp6*tmp12; +double tmp92 = -2*tmp9*tmp2*tmp5; +double tmp93 = -2*tmp8*tmp4*tmp5; +double tmp94 = tmp6*tmp13; +double tmp95 = tmp87 + tmp88 + tmp89 + tmp90 + tmp91 + tmp92 + tmp93 + tmp94 + tmp36; +double tmp96 = fLat(1+_OFF); +double tmp97 = tmp9*tmp10; +double tmp98 = 2*tmp8*tmp2*tmp4; +double tmp99 = -(tmp9*tmp11); +double tmp100 = 2*tmp6*tmp4*tmp3; +double tmp101 = tmp9*tmp12; +double tmp102 = -2*tmp6*tmp2*tmp5; +double tmp103 = 2*tmp8*tmp3*tmp5; +double tmp104 = -(tmp9*tmp13); +double tmp105 = tmp97 + tmp98 + tmp99 + tmp100 + tmp101 + tmp102 + tmp103 + tmp104 + tmp70; +double tmp106 = cp(2+_OFF); +double tmp107 = fLift(1+_OFF); +double tmp108 = fLift(2+_OFF); +double tmp109 = tmp79*tmp108; +double tmp110 = tmp107 + tmp109; +double tmp111 = tmp8*tmp10; +double tmp112 = -2*tmp9*tmp2*tmp4; +double tmp113 = -(tmp8*tmp11); +double tmp114 = 2*tmp6*tmp2*tmp3; +double tmp115 = -(tmp8*tmp12); +double tmp116 = 2*tmp6*tmp4*tmp5; +double tmp117 = 2*tmp9*tmp3*tmp5; +double tmp118 = tmp8*tmp13; +double tmp119 = tmp111 + tmp112 + tmp113 + tmp114 + tmp115 + tmp116 + tmp117 + tmp118 + tmp74; +double tmp120 = fDrag(1+_OFF); +double tmp121 = fDrag(2+_OFF); +double tmp122 = tmp79*tmp121; +double tmp123 = std::pow(tmp79,2); +double tmp124 = fDrag(3+_OFF); +double tmp125 = tmp123*tmp124; +double tmp126 = std::pow(tmp86,2); +double tmp127 = fDrag(4+_OFF); +double tmp128 = tmp126*tmp127; +double tmp129 = tmp120 + tmp122 + tmp125 + tmp128; +double tmp130 = std::pow(tmp83,2); +double tmp131 = 1/tmp61; +double tmp132 = -(tmp130*tmp131); +double tmp133 = 1 + tmp132; +double tmp134 = std::sqrt(tmp133); +double tmp135 = std::pow(M_PI,-2); +double tmp136 = fThrust(3+_OFF); +double tmp137 = tmp135*tmp136*tmp61; +double tmp138 = tmp62*tmp19*tmp63*tmp64*tmp20; +double tmp139 = tmp65*tmp66*tmp67; +double tmp140 = tmp137 + tmp138 + tmp139; +double tmp141 = std::pow(tmp68,-2); +double tmp142 = -(tmp9*tmp10); +double tmp143 = -2*tmp8*tmp2*tmp4; +double tmp144 = tmp9*tmp11; +double tmp145 = -2*tmp6*tmp4*tmp3; +double tmp146 = -(tmp9*tmp12); +double tmp147 = 2*tmp6*tmp2*tmp5; +double tmp148 = -2*tmp8*tmp3*tmp5; +double tmp149 = tmp9*tmp13; +double tmp150 = tmp142 + tmp143 + tmp144 + tmp145 + tmp146 + tmp147 + tmp148 + tmp149 + tmp47; +double tmp151 = -(tmp8*tmp10); +double tmp152 = 2*tmp9*tmp2*tmp4; +double tmp153 = tmp8*tmp11; +double tmp154 = -2*tmp6*tmp2*tmp3; +double tmp155 = tmp8*tmp12; +double tmp156 = -2*tmp6*tmp4*tmp5; +double tmp157 = -2*tmp9*tmp3*tmp5; +double tmp158 = -(tmp8*tmp13); +double tmp159 = tmp151 + tmp152 + tmp153 + tmp154 + tmp155 + tmp156 + tmp157 + tmp158 + tmp58; +double tmp160 = ibd(2+_OFF); +double tmp161 = ibd(3+_OFF); +double tmp162 = ibod(1+_OFF); +double tmp163 = ibod(2+_OFF); +double tmp164 = ibod(3+_OFF); +double tmp165 = ibd(1+_OFF); +double tmp166 = std::pow(tmp164,2); +double tmp167 = cp(3+_OFF); +double tmp168 = tmp165*tmp160*tmp161; +double tmp169 = std::pow(tmp162,2); +double tmp170 = -(tmp160*tmp169); +double tmp171 = std::pow(tmp163,2); +double tmp172 = -(tmp161*tmp171); +double tmp173 = 2*tmp162*tmp163*tmp164; +double tmp174 = -(tmp165*tmp166); +double tmp175 = tmp168 + tmp170 + tmp172 + tmp173 + tmp174; +double tmp176 = 1/tmp175; +double tmp177 = cBar(1+_OFF); +double tmp178 = x(13+_OFF); +double tmp179 = tmp160*tmp161; +double tmp180 = -tmp166; +double tmp181 = tmp179 + tmp180; +double tmp182 = mRoll(3+_OFF); +double tmp183 = x(11+_OFF); +double tmp184 = mRoll(4+_OFF); +double tmp185 = mRoll(2+_OFF); +double tmp186 = tmp86*tmp185; +double tmp187 = (tmp167*tmp182*tmp84*tmp183)/2.; +double tmp188 = -(tmp167*tmp184*tmp84*tmp178)/2.; +double tmp189 = mRoll(1+_OFF); +double tmp190 = z(2+_OFF); +double tmp191 = -(tmp189*tmp190); +double tmp192 = tmp186 + tmp187 + tmp188 + tmp191; +double tmp193 = -(tmp160*tmp162); +double tmp194 = tmp163*tmp164; +double tmp195 = tmp193 + tmp194; +double tmp196 = mYaw(3+_OFF); +double tmp197 = mYaw(2+_OFF); +double tmp198 = -(tmp86*tmp197); +double tmp199 = (tmp167*tmp196*tmp84*tmp178)/2.; +double tmp200 = mYaw(1+_OFF); +double tmp201 = z(4+_OFF); +double tmp202 = tmp200*tmp201; +double tmp203 = tmp198 + tmp199 + tmp202; +double tmp204 = -(tmp161*tmp163); +double tmp205 = tmp162*tmp164; +double tmp206 = tmp204 + tmp205; +double tmp207 = mPitch(1+_OFF); +double tmp208 = -tmp207; +double tmp209 = mPitch(3+_OFF); +double tmp210 = -(tmp79*tmp209); +double tmp211 = mPitch(4+_OFF); +double tmp212 = x(12+_OFF); +double tmp213 = (tmp177*tmp211*tmp84*tmp212)/2.; +double tmp214 = mPitch(2+_OFF); +double tmp215 = z(3+_OFF); +double tmp216 = -(tmp214*tmp215); +double tmp217 = tmp208 + tmp210 + tmp213 + tmp216; +double tmp218 = (tmp182*tmp84*tmp183)/2.; +double tmp219 = -(tmp184*tmp84*tmp178)/2.; +double tmp220 = tmp218 + tmp219; +double tmp221 = 0.001740341106856944*tmp1*tmp21*tmp106*tmp167*tmp27*tmp61*tmp220; +double tmp222 = 0.001740341106856944*tmp1*tmp21*tmp106*tmp27*tmp61*tmp192; +double tmp223 = tmp221 + tmp222; +double tmp224 = tmp162*tmp163; +double tmp225 = -(tmp165*tmp164); +double tmp226 = tmp224 + tmp225; +double tmp227 = 0.000870170553428472*tmp1*tmp21*tmp106*tmp167*tmp196*tmp27*tmp64*tmp178; +double tmp228 = 0.001740341106856944*tmp1*tmp21*tmp106*tmp27*tmp61*tmp203; +double tmp229 = tmp227 + tmp228; +double tmp230 = tmp165*tmp160; +double tmp231 = -tmp171; +double tmp232 = tmp230 + tmp231; +J(1+_OFF,1+_OFF) = -(tmp69*(0.003480682213713888*tmp1*tmp21*tmp65*tmp27*(tmp62*tmp63*tmp64*tmp20 + 2*tmp19*tmp66*tmp67) + 0.006961364427427776*tmp1*tmp21*tmp19*tmp27*tmp140)); +J(1+_OFF,2+_OFF) = -(tmp69*(-0.001740341106856944*tmp1*tmp21*tmp86*tmp96*tmp27*tmp95*tmp105*tmp78*tmp64 - 0.001740341106856944*tmp1*tmp21*tmp110*tmp27*tmp78*tmp119*tmp61 + 0.001740341106856944*tmp1*tmp21*tmp129*tmp27*tmp95*tmp78*tmp61*tmp134)); +J(1+_OFF,3+_OFF) = 0; +J(1+_OFF,4+_OFF) = tmp141*(-0.001740341106856944*tmp1*tmp21*tmp86*tmp106*tmp96*tmp27*tmp95*tmp105*tmp78*tmp64 - 0.001740341106856944*tmp1*tmp21*tmp106*tmp110*tmp27*tmp78*tmp119*tmp61 + 0.001740341106856944*tmp1*tmp21*tmp106*tmp129*tmp27*tmp95*tmp78*tmp61*tmp134 + 0.003480682213713888*tmp1*tmp21*tmp65*tmp27*tmp140); +J(2+_OFF,1+_OFF) = 0; +J(2+_OFF,2+_OFF) = -(tmp69*(0.001740341106856944*tmp1*tmp21*tmp129*tmp27*tmp150*tmp64 - 0.001740341106856944*tmp1*tmp21*tmp86*tmp96*tmp27*tmp61*tmp134)); +J(2+_OFF,3+_OFF) = 0; +J(2+_OFF,4+_OFF) = tmp141*(0. + 0.001740341106856944*tmp1*tmp21*tmp106*tmp129*tmp27*tmp150*tmp64 - 0.001740341106856944*tmp1*tmp21*tmp86*tmp106*tmp96*tmp27*tmp61*tmp134); +J(3+_OFF,1+_OFF) = 0; +J(3+_OFF,2+_OFF) = -(tmp69*(-0.001740341106856944*tmp1*tmp21*tmp86*tmp96*tmp27*tmp105*tmp78*tmp159*tmp64 - 0.001740341106856944*tmp1*tmp21*tmp110*tmp27*tmp95*tmp78*tmp61 + 0.001740341106856944*tmp1*tmp21*tmp129*tmp27*tmp78*tmp159*tmp61*tmp134)); +J(3+_OFF,3+_OFF) = 0; +J(3+_OFF,4+_OFF) = tmp141*(-0.001740341106856944*tmp1*tmp21*tmp86*tmp106*tmp96*tmp27*tmp105*tmp78*tmp159*tmp64 - 0.001740341106856944*tmp1*tmp21*tmp106*tmp110*tmp27*tmp95*tmp78*tmp61 + 0.001740341106856944*tmp1*tmp21*tmp106*tmp129*tmp27*tmp78*tmp159*tmp61*tmp134); +J(4+_OFF,1+_OFF) = 0; +J(4+_OFF,2+_OFF) = -0.001740341106856944*tmp1*tmp21*tmp167*tmp181*tmp176*tmp27*tmp61*tmp192 - 0.001740341106856944*tmp1*tmp21*tmp177*tmp206*tmp176*tmp27*tmp61*tmp217 - 0.001740341106856944*tmp1*tmp21*tmp167*tmp195*tmp176*tmp27*tmp61*tmp203; +J(4+_OFF,3+_OFF) = -(tmp181*tmp176*tmp223) - tmp195*tmp176*tmp229; +J(4+_OFF,4+_OFF) = 0; +J(5+_OFF,1+_OFF) = 0; +J(5+_OFF,2+_OFF) = -0.001740341106856944*tmp1*tmp21*tmp167*tmp206*tmp176*tmp27*tmp61*tmp192 - 0.001740341106856944*tmp1*tmp21*tmp177*(tmp165*tmp161 - tmp169)*tmp176*tmp27*tmp61*tmp217 - 0.001740341106856944*tmp1*tmp21*tmp167*tmp226*tmp176*tmp27*tmp61*tmp203; +J(5+_OFF,3+_OFF) = -(tmp206*tmp176*tmp223) - tmp226*tmp176*tmp229; +J(5+_OFF,4+_OFF) = 0; +J(6+_OFF,1+_OFF) = 0; +J(6+_OFF,2+_OFF) = -0.001740341106856944*tmp1*tmp21*tmp167*tmp195*tmp176*tmp27*tmp61*tmp192 - 0.001740341106856944*tmp1*tmp21*tmp177*tmp226*tmp176*tmp27*tmp61*tmp217 - 0.001740341106856944*tmp1*tmp21*tmp167*tmp232*tmp176*tmp27*tmp61*tmp203; +J(6+_OFF,3+_OFF) = -(tmp195*tmp176*tmp223) - tmp232*tmp176*tmp229; +J(6+_OFF,4+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFDrag.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFDrag.cppready index cd9ad87..26016cf 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFDrag.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFDrag.cppready @@ -1,6 +1,139 @@ -J(1+_OFF) = 0; -J(2+_OFF) = 0; -J(3+_OFF) = 0; -J(4+_OFF) = 0; -J(5+_OFF) = 0; -J(6+_OFF) = 0; +double tmp0 = airDensity(2+_OFF); +double tmp1 = 1/tmp0; +double tmp2 = wind(1+_OFF); +double tmp3 = x(4+_OFF); +double tmp4 = x(5+_OFF); +double tmp5 = x(6+_OFF); +double tmp6 = wind(2+_OFF); +double tmp7 = wind(3+_OFF); +double tmp8 = x(7+_OFF); +double tmp9 = std::pow(tmp3,2); +double tmp10 = std::pow(tmp4,2); +double tmp11 = std::pow(tmp5,2); +double tmp12 = std::pow(tmp8,2); +double tmp13 = x(8+_OFF); +double tmp14 = tmp4*tmp8; +double tmp15 = -tmp11; +double tmp16 = tmp4*tmp5; +double tmp17 = tmp3*tmp8; +double tmp18 = tmp16 + tmp17; +double tmp19 = -2*tmp6*tmp18; +double tmp20 = -(tmp3*tmp5); +double tmp21 = tmp20 + tmp14; +double tmp22 = -2*tmp7*tmp21; +double tmp23 = -tmp12; +double tmp24 = tmp9 + tmp10 + tmp15 + tmp23; +double tmp25 = -(tmp2*tmp24); +double tmp26 = tmp19 + tmp22 + tmp25 + tmp13; +double tmp27 = std::pow(tmp26,2); +double tmp28 = tmp5*tmp8; +double tmp29 = -tmp10; +double tmp30 = tmp3*tmp5; +double tmp31 = tmp30 + tmp14; +double tmp32 = -(tmp3*tmp4); +double tmp33 = tmp32 + tmp28; +double tmp34 = tmp9 + tmp29 + tmp15 + tmp12; +double tmp35 = x(10+_OFF); +double tmp36 = -(tmp3*tmp8); +double tmp37 = tmp16 + tmp36; +double tmp38 = tmp3*tmp4; +double tmp39 = tmp38 + tmp28; +double tmp40 = tmp9 + tmp29 + tmp11 + tmp23; +double tmp41 = x(9+_OFF); +double tmp42 = -2*tmp2*tmp37; +double tmp43 = -2*tmp7*tmp39; +double tmp44 = -(tmp6*tmp40); +double tmp45 = tmp42 + tmp43 + tmp44 + tmp41; +double tmp46 = std::pow(tmp45,2); +double tmp47 = -2*tmp2*tmp31; +double tmp48 = -2*tmp6*tmp33; +double tmp49 = -(tmp7*tmp34); +double tmp50 = tmp47 + tmp48 + tmp49 + tmp35; +double tmp51 = std::pow(tmp50,2); +double tmp52 = tmp27 + tmp46 + tmp51; +double tmp53 = airDensity(3+_OFF); +double tmp54 = 2*tmp2*tmp31; +double tmp55 = 2*tmp6*tmp33; +double tmp56 = tmp7*tmp34; +double tmp57 = -tmp35; +double tmp58 = tmp54 + tmp55 + tmp56 + tmp57; +double tmp59 = cp(2+_OFF); +double tmp60 = cp(4+_OFF); +double tmp61 = 1/tmp60; +double tmp62 = airDensity(1+_OFF); +double tmp63 = x(3+_OFF); +double tmp64 = tmp62 + tmp63; +double tmp65 = -0.006500000000000001*tmp1*tmp64; +double tmp66 = 1 + tmp65; +double tmp67 = std::pow(tmp66,4.2561); +double tmp68 = -(tmp2*tmp9); +double tmp69 = -(tmp2*tmp10); +double tmp70 = 2*tmp7*tmp3*tmp5; +double tmp71 = -2*tmp6*tmp4*tmp5; +double tmp72 = tmp2*tmp11; +double tmp73 = -2*tmp6*tmp3*tmp8; +double tmp74 = -2*tmp7*tmp4*tmp8; +double tmp75 = tmp2*tmp12; +double tmp76 = tmp68 + tmp69 + tmp70 + tmp71 + tmp72 + tmp73 + tmp74 + tmp75 + tmp13; +double tmp77 = std::pow(tmp58,2); +double tmp78 = tmp27 + tmp77; +double tmp79 = 1/std::sqrt(tmp78); +double tmp80 = 2*tmp2*tmp37; +double tmp81 = 2*tmp7*tmp39; +double tmp82 = tmp6*tmp40; +double tmp83 = -tmp41; +double tmp84 = tmp80 + tmp81 + tmp82 + tmp83; +double tmp85 = std::pow(tmp84,2); +double tmp86 = 1/tmp52; +double tmp87 = -(tmp85*tmp86); +double tmp88 = 1 + tmp87; +double tmp89 = std::sqrt(tmp88); +double tmp90 = std::atan2(tmp58,tmp26); +double tmp91 = -(tmp6*tmp9); +double tmp92 = -2*tmp7*tmp3*tmp4; +double tmp93 = tmp6*tmp10; +double tmp94 = -2*tmp2*tmp4*tmp5; +double tmp95 = -(tmp6*tmp11); +double tmp96 = 2*tmp2*tmp3*tmp8; +double tmp97 = -2*tmp7*tmp5*tmp8; +double tmp98 = tmp6*tmp12; +double tmp99 = tmp91 + tmp92 + tmp93 + tmp94 + tmp95 + tmp96 + tmp97 + tmp98 + tmp41; +double tmp100 = std::sqrt(tmp52); +double tmp101 = std::pow(tmp90,2); +double tmp102 = 1/std::sqrt(tmp52); +double tmp103 = tmp84*tmp102; +double tmp104 = std::asin(tmp103); +double tmp105 = std::pow(tmp104,2); +double tmp106 = -(tmp7*tmp9); +double tmp107 = 2*tmp6*tmp3*tmp4; +double tmp108 = tmp7*tmp10; +double tmp109 = -2*tmp2*tmp3*tmp5; +double tmp110 = tmp7*tmp11; +double tmp111 = -2*tmp2*tmp4*tmp8; +double tmp112 = -2*tmp6*tmp5*tmp8; +double tmp113 = -(tmp7*tmp12); +double tmp114 = tmp106 + tmp107 + tmp108 + tmp109 + tmp110 + tmp111 + tmp112 + tmp113 + tmp35; +J(1+_OFF,1+_OFF) = -0.001740341106856944*tmp1*tmp53*tmp59*tmp61*tmp67*tmp76*tmp79*tmp52*tmp89; +J(1+_OFF,2+_OFF) = -0.001740341106856944*tmp1*tmp53*tmp90*tmp59*tmp61*tmp67*tmp76*tmp79*tmp52*tmp89; +J(1+_OFF,3+_OFF) = -0.001740341106856944*tmp1*tmp53*tmp101*tmp59*tmp61*tmp67*tmp76*tmp79*tmp52*tmp89; +J(1+_OFF,4+_OFF) = -0.001740341106856944*tmp1*tmp53*tmp105*tmp59*tmp61*tmp67*tmp76*tmp79*tmp52*tmp89; +J(2+_OFF,1+_OFF) = -0.001740341106856944*tmp1*tmp53*tmp59*tmp61*tmp67*tmp99*tmp100; +J(2+_OFF,2+_OFF) = -0.001740341106856944*tmp1*tmp53*tmp90*tmp59*tmp61*tmp67*tmp99*tmp100; +J(2+_OFF,3+_OFF) = -0.001740341106856944*tmp1*tmp53*tmp101*tmp59*tmp61*tmp67*tmp99*tmp100; +J(2+_OFF,4+_OFF) = -0.001740341106856944*tmp1*tmp53*tmp105*tmp59*tmp61*tmp67*tmp99*tmp100; +J(3+_OFF,1+_OFF) = -0.001740341106856944*tmp1*tmp53*tmp59*tmp61*tmp67*tmp79*tmp114*tmp52*tmp89; +J(3+_OFF,2+_OFF) = -0.001740341106856944*tmp1*tmp53*tmp90*tmp59*tmp61*tmp67*tmp79*tmp114*tmp52*tmp89; +J(3+_OFF,3+_OFF) = -0.001740341106856944*tmp1*tmp53*tmp101*tmp59*tmp61*tmp67*tmp79*tmp114*tmp52*tmp89; +J(3+_OFF,4+_OFF) = -0.001740341106856944*tmp1*tmp53*tmp105*tmp59*tmp61*tmp67*tmp79*tmp114*tmp52*tmp89; +J(4+_OFF,1+_OFF) = 0; +J(4+_OFF,2+_OFF) = 0; +J(4+_OFF,3+_OFF) = 0; +J(4+_OFF,4+_OFF) = 0; +J(5+_OFF,1+_OFF) = 0; +J(5+_OFF,2+_OFF) = 0; +J(5+_OFF,3+_OFF) = 0; +J(5+_OFF,4+_OFF) = 0; +J(6+_OFF,1+_OFF) = 0; +J(6+_OFF,2+_OFF) = 0; +J(6+_OFF,3+_OFF) = 0; +J(6+_OFF,4+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFLat.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFLat.cppready index cd9ad87..796b55d 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFLat.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFLat.cppready @@ -1,6 +1,95 @@ -J(1+_OFF) = 0; -J(2+_OFF) = 0; -J(3+_OFF) = 0; -J(4+_OFF) = 0; -J(5+_OFF) = 0; -J(6+_OFF) = 0; +double tmp0 = x(4+_OFF); +double tmp1 = x(5+_OFF); +double tmp2 = x(6+_OFF); +double tmp3 = x(7+_OFF); +double tmp4 = wind(2+_OFF); +double tmp5 = tmp1*tmp2; +double tmp6 = wind(3+_OFF); +double tmp7 = wind(1+_OFF); +double tmp8 = std::pow(tmp0,2); +double tmp9 = std::pow(tmp1,2); +double tmp10 = std::pow(tmp2,2); +double tmp11 = std::pow(tmp3,2); +double tmp12 = -tmp11; +double tmp13 = -(tmp0*tmp3); +double tmp14 = tmp5 + tmp13; +double tmp15 = tmp0*tmp1; +double tmp16 = tmp2*tmp3; +double tmp17 = tmp15 + tmp16; +double tmp18 = -tmp9; +double tmp19 = tmp8 + tmp18 + tmp10 + tmp12; +double tmp20 = x(9+_OFF); +double tmp21 = tmp1*tmp3; +double tmp22 = -tmp10; +double tmp23 = airDensity(2+_OFF); +double tmp24 = 1/tmp23; +double tmp25 = x(8+_OFF); +double tmp26 = -tmp20; +double tmp27 = tmp0*tmp3; +double tmp28 = tmp5 + tmp27; +double tmp29 = -2*tmp4*tmp28; +double tmp30 = -(tmp0*tmp2); +double tmp31 = tmp30 + tmp21; +double tmp32 = -2*tmp6*tmp31; +double tmp33 = tmp8 + tmp9 + tmp22 + tmp12; +double tmp34 = -(tmp7*tmp33); +double tmp35 = tmp29 + tmp32 + tmp34 + tmp25; +double tmp36 = std::pow(tmp35,2); +double tmp37 = tmp0*tmp2; +double tmp38 = tmp37 + tmp21; +double tmp39 = -(tmp0*tmp1); +double tmp40 = tmp39 + tmp16; +double tmp41 = tmp8 + tmp18 + tmp22 + tmp11; +double tmp42 = x(10+_OFF); +double tmp43 = -2*tmp7*tmp14; +double tmp44 = -2*tmp6*tmp17; +double tmp45 = -(tmp4*tmp19); +double tmp46 = tmp43 + tmp44 + tmp45 + tmp20; +double tmp47 = std::pow(tmp46,2); +double tmp48 = -2*tmp7*tmp38; +double tmp49 = -2*tmp4*tmp40; +double tmp50 = -(tmp6*tmp41); +double tmp51 = tmp48 + tmp49 + tmp50 + tmp42; +double tmp52 = std::pow(tmp51,2); +double tmp53 = tmp36 + tmp47 + tmp52; +double tmp54 = airDensity(3+_OFF); +double tmp55 = 2*tmp7*tmp14; +double tmp56 = 2*tmp6*tmp17; +double tmp57 = tmp4*tmp19; +double tmp58 = tmp55 + tmp56 + tmp57 + tmp26; +double tmp59 = 1/std::sqrt(tmp53); +double tmp60 = tmp58*tmp59; +double tmp61 = std::asin(tmp60); +double tmp62 = cp(2+_OFF); +double tmp63 = cp(4+_OFF); +double tmp64 = 1/tmp63; +double tmp65 = airDensity(1+_OFF); +double tmp66 = x(3+_OFF); +double tmp67 = tmp65 + tmp66; +double tmp68 = -0.006500000000000001*tmp24*tmp67; +double tmp69 = 1 + tmp68; +double tmp70 = std::pow(tmp69,4.2561); +double tmp71 = tmp4*tmp8; +double tmp72 = 2*tmp6*tmp0*tmp1; +double tmp73 = -(tmp4*tmp9); +double tmp74 = 2*tmp7*tmp1*tmp2; +double tmp75 = tmp4*tmp10; +double tmp76 = -2*tmp7*tmp0*tmp3; +double tmp77 = 2*tmp6*tmp2*tmp3; +double tmp78 = -(tmp4*tmp11); +double tmp79 = tmp71 + tmp72 + tmp73 + tmp74 + tmp75 + tmp76 + tmp77 + tmp78 + tmp26; +double tmp80 = 2*tmp7*tmp38; +double tmp81 = 2*tmp4*tmp40; +double tmp82 = tmp6*tmp41; +double tmp83 = -tmp42; +double tmp84 = tmp80 + tmp81 + tmp82 + tmp83; +double tmp85 = std::pow(tmp84,2); +double tmp86 = tmp36 + tmp85; +double tmp87 = 1/std::sqrt(tmp86); +double tmp88 = std::sqrt(tmp53); +J(1+_OFF,1+_OFF) = 0.001740341106856944*tmp24*tmp54*tmp61*tmp62*tmp64*tmp70*(-(tmp7*tmp8) - tmp7*tmp9 + 2*tmp6*tmp0*tmp2 - 2*tmp4*tmp1*tmp2 + tmp7*tmp10 - 2*tmp4*tmp0*tmp3 - 2*tmp6*tmp1*tmp3 + tmp7*tmp11 + tmp25)*tmp79*tmp87*tmp88; +J(2+_OFF,1+_OFF) = 0.001740341106856944*tmp24*tmp54*tmp61*tmp62*tmp64*tmp70*tmp53*std::sqrt(1 - std::pow(tmp58,2)/tmp53); +J(3+_OFF,1+_OFF) = 0.001740341106856944*tmp24*tmp54*tmp61*tmp62*tmp64*tmp70*tmp79*tmp87*(-(tmp6*tmp8) + 2*tmp4*tmp0*tmp1 + tmp6*tmp9 - 2*tmp7*tmp0*tmp2 + tmp6*tmp10 - 2*tmp7*tmp1*tmp3 - 2*tmp4*tmp2*tmp3 - tmp6*tmp11 + tmp42)*tmp88; +J(4+_OFF,1+_OFF) = 0; +J(5+_OFF,1+_OFF) = 0; +J(6+_OFF,1+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFLift.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFLift.cppready index cd9ad87..5ca404f 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFLift.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFLift.cppready @@ -1,6 +1,102 @@ -J(1+_OFF) = 0; -J(2+_OFF) = 0; -J(3+_OFF) = 0; -J(4+_OFF) = 0; -J(5+_OFF) = 0; -J(6+_OFF) = 0; +double tmp0 = airDensity(2+_OFF); +double tmp1 = 1/tmp0; +double tmp2 = x(4+_OFF); +double tmp3 = x(6+_OFF); +double tmp4 = x(5+_OFF); +double tmp5 = x(7+_OFF); +double tmp6 = wind(1+_OFF); +double tmp7 = tmp4*tmp5; +double tmp8 = wind(2+_OFF); +double tmp9 = wind(3+_OFF); +double tmp10 = std::pow(tmp2,2); +double tmp11 = std::pow(tmp4,2); +double tmp12 = std::pow(tmp3,2); +double tmp13 = -tmp12; +double tmp14 = std::pow(tmp5,2); +double tmp15 = x(10+_OFF); +double tmp16 = -tmp15; +double tmp17 = tmp4*tmp3; +double tmp18 = tmp2*tmp5; +double tmp19 = tmp17 + tmp18; +double tmp20 = -2*tmp8*tmp19; +double tmp21 = -(tmp2*tmp3); +double tmp22 = tmp21 + tmp7; +double tmp23 = -2*tmp9*tmp22; +double tmp24 = -tmp14; +double tmp25 = tmp10 + tmp11 + tmp13 + tmp24; +double tmp26 = -(tmp6*tmp25); +double tmp27 = x(8+_OFF); +double tmp28 = tmp20 + tmp23 + tmp26 + tmp27; +double tmp29 = std::pow(tmp28,2); +double tmp30 = tmp3*tmp5; +double tmp31 = -tmp11; +double tmp32 = tmp2*tmp3; +double tmp33 = tmp32 + tmp7; +double tmp34 = -(tmp2*tmp4); +double tmp35 = tmp34 + tmp30; +double tmp36 = tmp10 + tmp31 + tmp13 + tmp14; +double tmp37 = airDensity(3+_OFF); +double tmp38 = 2*tmp6*tmp33; +double tmp39 = 2*tmp8*tmp35; +double tmp40 = tmp9*tmp36; +double tmp41 = tmp38 + tmp39 + tmp40 + tmp16; +double tmp42 = cp(2+_OFF); +double tmp43 = cp(4+_OFF); +double tmp44 = 1/tmp43; +double tmp45 = airDensity(1+_OFF); +double tmp46 = x(3+_OFF); +double tmp47 = tmp45 + tmp46; +double tmp48 = -0.006500000000000001*tmp1*tmp47; +double tmp49 = 1 + tmp48; +double tmp50 = std::pow(tmp49,4.2561); +double tmp51 = std::pow(tmp41,2); +double tmp52 = tmp29 + tmp51; +double tmp53 = 1/std::sqrt(tmp52); +double tmp54 = tmp9*tmp10; +double tmp55 = -2*tmp8*tmp2*tmp4; +double tmp56 = -(tmp9*tmp11); +double tmp57 = 2*tmp6*tmp2*tmp3; +double tmp58 = -(tmp9*tmp12); +double tmp59 = 2*tmp6*tmp4*tmp5; +double tmp60 = 2*tmp8*tmp3*tmp5; +double tmp61 = tmp9*tmp14; +double tmp62 = tmp54 + tmp55 + tmp56 + tmp57 + tmp58 + tmp59 + tmp60 + tmp61 + tmp16; +double tmp63 = -(tmp2*tmp5); +double tmp64 = tmp17 + tmp63; +double tmp65 = -2*tmp6*tmp64; +double tmp66 = tmp2*tmp4; +double tmp67 = tmp66 + tmp30; +double tmp68 = -2*tmp9*tmp67; +double tmp69 = tmp10 + tmp31 + tmp12 + tmp24; +double tmp70 = -(tmp8*tmp69); +double tmp71 = x(9+_OFF); +double tmp72 = tmp65 + tmp68 + tmp70 + tmp71; +double tmp73 = std::pow(tmp72,2); +double tmp74 = -2*tmp6*tmp33; +double tmp75 = -2*tmp8*tmp35; +double tmp76 = -(tmp9*tmp36); +double tmp77 = tmp74 + tmp75 + tmp76 + tmp15; +double tmp78 = std::pow(tmp77,2); +double tmp79 = tmp29 + tmp73 + tmp78; +double tmp80 = std::atan2(tmp41,tmp28); +double tmp81 = -(tmp6*tmp10); +double tmp82 = -(tmp6*tmp11); +double tmp83 = 2*tmp9*tmp2*tmp3; +double tmp84 = -2*tmp8*tmp4*tmp3; +double tmp85 = tmp6*tmp12; +double tmp86 = -2*tmp8*tmp2*tmp5; +double tmp87 = -2*tmp9*tmp4*tmp5; +double tmp88 = tmp6*tmp14; +double tmp89 = tmp81 + tmp82 + tmp83 + tmp84 + tmp85 + tmp86 + tmp87 + tmp88 + tmp27; +J(1+_OFF,1+_OFF) = 0.001740341106856944*tmp1*tmp37*tmp42*tmp44*tmp50*tmp53*tmp62*tmp79; +J(1+_OFF,2+_OFF) = 0.001740341106856944*tmp1*tmp37*tmp80*tmp42*tmp44*tmp50*tmp53*tmp62*tmp79; +J(2+_OFF,1+_OFF) = 0; +J(2+_OFF,2+_OFF) = 0; +J(3+_OFF,1+_OFF) = 0.001740341106856944*tmp1*tmp37*tmp42*tmp44*tmp50*tmp89*tmp53*tmp79; +J(3+_OFF,2+_OFF) = 0.001740341106856944*tmp1*tmp37*tmp80*tmp42*tmp44*tmp50*tmp89*tmp53*tmp79; +J(4+_OFF,1+_OFF) = 0; +J(4+_OFF,2+_OFF) = 0; +J(5+_OFF,1+_OFF) = 0; +J(5+_OFF,2+_OFF) = 0; +J(6+_OFF,1+_OFF) = 0; +J(6+_OFF,2+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFThrust.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFThrust.cppready index cd9ad87..452520f 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFThrust.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFThrust.cppready @@ -1,6 +1,82 @@ -J(1+_OFF) = 0; -J(2+_OFF) = 0; -J(3+_OFF) = 0; -J(4+_OFF) = 0; -J(5+_OFF) = 0; -J(6+_OFF) = 0; +double tmp0 = airDensity(2+_OFF); +double tmp1 = 1/tmp0; +double tmp2 = airDensity(3+_OFF); +double tmp3 = cp(1+_OFF); +double tmp4 = cp(4+_OFF); +double tmp5 = 1/tmp4; +double tmp6 = airDensity(1+_OFF); +double tmp7 = x(3+_OFF); +double tmp8 = tmp6 + tmp7; +double tmp9 = -0.006500000000000001*tmp1*tmp8; +double tmp10 = 1 + tmp9; +double tmp11 = std::pow(tmp10,4.2561); +double tmp12 = x(4+_OFF); +double tmp13 = x(6+_OFF); +double tmp14 = x(5+_OFF); +double tmp15 = x(7+_OFF); +double tmp16 = wind(1+_OFF); +double tmp17 = tmp14*tmp13; +double tmp18 = wind(3+_OFF); +double tmp19 = wind(2+_OFF); +double tmp20 = std::pow(tmp12,2); +double tmp21 = std::pow(tmp14,2); +double tmp22 = std::pow(tmp13,2); +double tmp23 = std::pow(tmp15,2); +double tmp24 = -tmp23; +double tmp25 = tmp14*tmp15; +double tmp26 = tmp13*tmp15; +double tmp27 = -tmp21; +double tmp28 = -tmp22; +double tmp29 = z(1+_OFF); +double tmp30 = tmp12*tmp15; +double tmp31 = tmp17 + tmp30; +double tmp32 = -2*tmp19*tmp31; +double tmp33 = -(tmp12*tmp13); +double tmp34 = tmp33 + tmp25; +double tmp35 = -2*tmp18*tmp34; +double tmp36 = tmp20 + tmp21 + tmp28 + tmp24; +double tmp37 = -(tmp16*tmp36); +double tmp38 = x(8+_OFF); +double tmp39 = tmp32 + tmp35 + tmp37 + tmp38; +double tmp40 = std::pow(tmp39,2); +double tmp41 = -(tmp12*tmp15); +double tmp42 = tmp17 + tmp41; +double tmp43 = -2*tmp16*tmp42; +double tmp44 = tmp12*tmp14; +double tmp45 = tmp44 + tmp26; +double tmp46 = -2*tmp18*tmp45; +double tmp47 = tmp20 + tmp27 + tmp22 + tmp24; +double tmp48 = -(tmp19*tmp47); +double tmp49 = x(9+_OFF); +double tmp50 = tmp43 + tmp46 + tmp48 + tmp49; +double tmp51 = std::pow(tmp50,2); +double tmp52 = tmp12*tmp13; +double tmp53 = tmp52 + tmp25; +double tmp54 = -2*tmp16*tmp53; +double tmp55 = -(tmp12*tmp14); +double tmp56 = tmp55 + tmp26; +double tmp57 = -2*tmp19*tmp56; +double tmp58 = tmp20 + tmp27 + tmp28 + tmp23; +double tmp59 = -(tmp18*tmp58); +double tmp60 = x(10+_OFF); +double tmp61 = tmp54 + tmp57 + tmp59 + tmp60; +double tmp62 = std::pow(tmp61,2); +double tmp63 = tmp40 + tmp51 + tmp62; +J(1+_OFF,1+_OFF) = -0.003480682213713888*tmp1*tmp2*std::pow(tmp3,4)*tmp5*tmp11*std::pow(tmp29,2); +J(1+_OFF,2+_OFF) = -0.0011079355592892124*tmp1*tmp2*std::pow(tmp3,3)*tmp5*tmp11*std::sqrt(tmp63)*tmp29; +J(1+_OFF,3+_OFF) = -0.00035266684177632363*tmp1*tmp2*std::pow(tmp3,2)*tmp5*tmp11*tmp63; +J(2+_OFF,1+_OFF) = 0; +J(2+_OFF,2+_OFF) = 0; +J(2+_OFF,3+_OFF) = 0; +J(3+_OFF,1+_OFF) = 0; +J(3+_OFF,2+_OFF) = 0; +J(3+_OFF,3+_OFF) = 0; +J(4+_OFF,1+_OFF) = 0; +J(4+_OFF,2+_OFF) = 0; +J(4+_OFF,3+_OFF) = 0; +J(5+_OFF,1+_OFF) = 0; +J(5+_OFF,2+_OFF) = 0; +J(5+_OFF,3+_OFF) = 0; +J(6+_OFF,1+_OFF) = 0; +J(6+_OFF,2+_OFF) = 0; +J(6+_OFF,3+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrIbd.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrIbd.cppready index cd9ad87..aaab919 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrIbd.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrIbd.cppready @@ -1,6 +1,188 @@ -J(1+_OFF) = 0; -J(2+_OFF) = 0; -J(3+_OFF) = 0; -J(4+_OFF) = 0; -J(5+_OFF) = 0; -J(6+_OFF) = 0; +double tmp0 = ibd(2+_OFF); +double tmp1 = ibod(1+_OFF); +double tmp2 = ibd(3+_OFF); +double tmp3 = ibod(2+_OFF); +double tmp4 = ibod(3+_OFF); +double tmp5 = ibd(1+_OFF); +double tmp6 = tmp5*tmp0*tmp2; +double tmp7 = std::pow(tmp1,2); +double tmp8 = -(tmp0*tmp7); +double tmp9 = std::pow(tmp3,2); +double tmp10 = -(tmp2*tmp9); +double tmp11 = 2*tmp1*tmp3*tmp4; +double tmp12 = std::pow(tmp4,2); +double tmp13 = -(tmp5*tmp12); +double tmp14 = tmp6 + tmp8 + tmp10 + tmp11 + tmp13; +double tmp15 = 1/tmp14; +double tmp16 = x(11+_OFF); +double tmp17 = x(12+_OFF); +double tmp18 = x(13+_OFF); +double tmp19 = airDensity(2+_OFF); +double tmp20 = 1/tmp19; +double tmp21 = x(4+_OFF); +double tmp22 = x(6+_OFF); +double tmp23 = x(5+_OFF); +double tmp24 = x(7+_OFF); +double tmp25 = wind(1+_OFF); +double tmp26 = tmp23*tmp22; +double tmp27 = wind(3+_OFF); +double tmp28 = wind(2+_OFF); +double tmp29 = std::pow(tmp21,2); +double tmp30 = std::pow(tmp23,2); +double tmp31 = std::pow(tmp22,2); +double tmp32 = std::pow(tmp24,2); +double tmp33 = -tmp32; +double tmp34 = tmp23*tmp24; +double tmp35 = tmp22*tmp24; +double tmp36 = -tmp30; +double tmp37 = -tmp31; +double tmp38 = -(tmp21*tmp24); +double tmp39 = tmp26 + tmp38; +double tmp40 = tmp21*tmp23; +double tmp41 = tmp40 + tmp35; +double tmp42 = tmp29 + tmp36 + tmp31 + tmp33; +double tmp43 = x(9+_OFF); +double tmp44 = tmp21*tmp24; +double tmp45 = tmp26 + tmp44; +double tmp46 = -2*tmp28*tmp45; +double tmp47 = -(tmp21*tmp22); +double tmp48 = tmp47 + tmp34; +double tmp49 = -2*tmp27*tmp48; +double tmp50 = tmp29 + tmp30 + tmp37 + tmp33; +double tmp51 = -(tmp25*tmp50); +double tmp52 = x(8+_OFF); +double tmp53 = tmp46 + tmp49 + tmp51 + tmp52; +double tmp54 = std::pow(tmp53,2); +double tmp55 = -2*tmp25*tmp39; +double tmp56 = -2*tmp27*tmp41; +double tmp57 = -(tmp28*tmp42); +double tmp58 = tmp55 + tmp56 + tmp57 + tmp43; +double tmp59 = std::pow(tmp58,2); +double tmp60 = tmp21*tmp22; +double tmp61 = tmp60 + tmp34; +double tmp62 = -2*tmp25*tmp61; +double tmp63 = -(tmp21*tmp23); +double tmp64 = tmp63 + tmp35; +double tmp65 = -2*tmp28*tmp64; +double tmp66 = tmp29 + tmp36 + tmp37 + tmp32; +double tmp67 = -(tmp27*tmp66); +double tmp68 = x(10+_OFF); +double tmp69 = tmp62 + tmp65 + tmp67 + tmp68; +double tmp70 = std::pow(tmp69,2); +double tmp71 = tmp54 + tmp59 + tmp70; +double tmp72 = cp(3+_OFF); +double tmp73 = 1/std::sqrt(tmp71); +double tmp74 = -(tmp2*tmp3); +double tmp75 = tmp1*tmp4; +double tmp76 = tmp74 + tmp75; +double tmp77 = tmp0*tmp2; +double tmp78 = -tmp12; +double tmp79 = tmp77 + tmp78; +double tmp80 = std::pow(tmp14,-2); +double tmp81 = std::pow(tmp18,2); +double tmp82 = airDensity(3+_OFF); +double tmp83 = cp(2+_OFF); +double tmp84 = airDensity(1+_OFF); +double tmp85 = x(3+_OFF); +double tmp86 = tmp84 + tmp85; +double tmp87 = -0.006500000000000001*tmp20*tmp86; +double tmp88 = 1 + tmp87; +double tmp89 = std::pow(tmp88,4.2561); +double tmp90 = cBar(1+_OFF); +double tmp91 = -(tmp0*tmp1); +double tmp92 = tmp3*tmp4; +double tmp93 = tmp91 + tmp92; +double tmp94 = std::pow(tmp16,2); +double tmp95 = std::pow(tmp17,2); +double tmp96 = 2*tmp25*tmp39; +double tmp97 = 2*tmp27*tmp41; +double tmp98 = tmp28*tmp42; +double tmp99 = -tmp43; +double tmp100 = tmp96 + tmp97 + tmp98 + tmp99; +double tmp101 = tmp100*tmp73; +double tmp102 = std::asin(tmp101); +double tmp103 = -(tmp1*tmp16*tmp17); +double tmp104 = -(tmp4*tmp95); +double tmp105 = tmp3*tmp16*tmp18; +double tmp106 = tmp0*tmp17*tmp18; +double tmp107 = -(tmp2*tmp17*tmp18); +double tmp108 = tmp4*tmp81; +double tmp109 = mRoll(2+_OFF); +double tmp110 = tmp102*tmp109; +double tmp111 = mRoll(3+_OFF); +double tmp112 = (tmp72*tmp111*tmp73*tmp16)/2.; +double tmp113 = mRoll(4+_OFF); +double tmp114 = -(tmp72*tmp113*tmp73*tmp18)/2.; +double tmp115 = mRoll(1+_OFF); +double tmp116 = z(2+_OFF); +double tmp117 = -(tmp115*tmp116); +double tmp118 = tmp110 + tmp112 + tmp114 + tmp117; +double tmp119 = 0.001740341106856944*tmp20*tmp82*tmp83*tmp72*tmp89*tmp71*tmp118; +double tmp120 = tmp103 + tmp104 + tmp105 + tmp106 + tmp107 + tmp108 + tmp119; +double tmp121 = tmp5*tmp2; +double tmp122 = -tmp7; +double tmp123 = tmp121 + tmp122; +double tmp124 = tmp1*tmp94; +double tmp125 = tmp4*tmp16*tmp17; +double tmp126 = -(tmp5*tmp16*tmp18); +double tmp127 = tmp2*tmp16*tmp18; +double tmp128 = -(tmp3*tmp17*tmp18); +double tmp129 = -(tmp1*tmp81); +double tmp130 = mPitch(1+_OFF); +double tmp131 = -tmp130; +double tmp132 = 2*tmp25*tmp61; +double tmp133 = 2*tmp28*tmp64; +double tmp134 = tmp27*tmp66; +double tmp135 = -tmp68; +double tmp136 = tmp132 + tmp133 + tmp134 + tmp135; +double tmp137 = std::atan2(tmp136,tmp53); +double tmp138 = mPitch(3+_OFF); +double tmp139 = -(tmp137*tmp138); +double tmp140 = mPitch(4+_OFF); +double tmp141 = (tmp90*tmp140*tmp73*tmp17)/2.; +double tmp142 = mPitch(2+_OFF); +double tmp143 = z(3+_OFF); +double tmp144 = -(tmp142*tmp143); +double tmp145 = tmp131 + tmp139 + tmp141 + tmp144; +double tmp146 = 0.001740341106856944*tmp20*tmp82*tmp90*tmp83*tmp89*tmp71*tmp145; +double tmp147 = tmp124 + tmp125 + tmp126 + tmp127 + tmp128 + tmp129 + tmp146; +double tmp148 = -(tmp3*tmp94); +double tmp149 = tmp5*tmp16*tmp17; +double tmp150 = -(tmp0*tmp16*tmp17); +double tmp151 = tmp3*tmp95; +double tmp152 = -(tmp4*tmp16*tmp18); +double tmp153 = tmp1*tmp17*tmp18; +double tmp154 = mYaw(2+_OFF); +double tmp155 = -(tmp102*tmp154); +double tmp156 = mYaw(3+_OFF); +double tmp157 = (tmp72*tmp156*tmp73*tmp18)/2.; +double tmp158 = mYaw(1+_OFF); +double tmp159 = z(4+_OFF); +double tmp160 = tmp158*tmp159; +double tmp161 = tmp155 + tmp157 + tmp160; +double tmp162 = 0.001740341106856944*tmp20*tmp82*tmp83*tmp72*tmp89*tmp71*tmp161; +double tmp163 = tmp148 + tmp149 + tmp150 + tmp151 + tmp152 + tmp153 + tmp162; +double tmp164 = tmp5*tmp0; +double tmp165 = -tmp9; +double tmp166 = tmp164 + tmp165; +double tmp167 = tmp1*tmp3; +double tmp168 = -(tmp5*tmp4); +double tmp169 = tmp167 + tmp168; +J(1+_OFF,1+_OFF) = 0; +J(1+_OFF,2+_OFF) = 0; +J(1+_OFF,3+_OFF) = 0; +J(2+_OFF,1+_OFF) = 0; +J(2+_OFF,2+_OFF) = 0; +J(2+_OFF,3+_OFF) = 0; +J(3+_OFF,1+_OFF) = 0; +J(3+_OFF,2+_OFF) = 0; +J(3+_OFF,3+_OFF) = 0; +J(4+_OFF,1+_OFF) = -(tmp93*tmp15*tmp16*tmp17) + tmp76*tmp15*tmp16*tmp18 + std::pow(tmp79,2)*tmp80*tmp120 + tmp76*tmp79*tmp80*tmp147 + tmp93*tmp79*tmp80*tmp163; +J(4+_OFF,2+_OFF) = tmp93*tmp15*tmp16*tmp17 - tmp79*tmp15*tmp17*tmp18 + tmp123*tmp79*tmp80*tmp120 - tmp2*tmp15*tmp120 + tmp123*tmp76*tmp80*tmp147 + tmp123*tmp93*tmp80*tmp163 + tmp1*tmp15*tmp163; +J(4+_OFF,3+_OFF) = -(tmp76*tmp15*tmp16*tmp18) + tmp79*tmp15*tmp17*tmp18 + tmp166*tmp79*tmp80*tmp120 - tmp0*tmp15*tmp120 + tmp166*tmp76*tmp80*tmp147 + tmp3*tmp15*tmp147 + tmp166*tmp93*tmp80*tmp163; +J(5+_OFF,1+_OFF) = -(tmp169*tmp15*tmp16*tmp17) + tmp123*tmp15*tmp16*tmp18 + tmp76*tmp79*tmp80*tmp120 + tmp123*tmp79*tmp80*tmp147 - tmp2*tmp15*tmp147 + tmp169*tmp79*tmp80*tmp163 + tmp4*tmp15*tmp163; +J(5+_OFF,2+_OFF) = tmp169*tmp15*tmp16*tmp17 - tmp76*tmp15*tmp17*tmp18 + tmp123*tmp76*tmp80*tmp120 + std::pow(tmp123,2)*tmp80*tmp147 + tmp123*tmp169*tmp80*tmp163; +J(5+_OFF,3+_OFF) = -(tmp123*tmp15*tmp16*tmp18) + tmp76*tmp15*tmp17*tmp18 + tmp166*tmp76*tmp80*tmp120 + tmp3*tmp15*tmp120 + tmp123*tmp166*tmp80*tmp147 - tmp5*tmp15*tmp147 + tmp166*tmp169*tmp80*tmp163; +J(6+_OFF,1+_OFF) = -(tmp166*tmp15*tmp16*tmp17) + tmp169*tmp15*tmp16*tmp18 + tmp93*tmp79*tmp80*tmp120 + tmp169*tmp79*tmp80*tmp147 + tmp4*tmp15*tmp147 + tmp166*tmp79*tmp80*tmp163 - tmp0*tmp15*tmp163; +J(6+_OFF,2+_OFF) = tmp166*tmp15*tmp16*tmp17 - tmp93*tmp15*tmp17*tmp18 + tmp123*tmp93*tmp80*tmp120 + tmp1*tmp15*tmp120 + tmp123*tmp169*tmp80*tmp147 + tmp123*tmp166*tmp80*tmp163 - tmp5*tmp15*tmp163; +J(6+_OFF,3+_OFF) = -(tmp169*tmp15*tmp16*tmp18) + tmp93*tmp15*tmp17*tmp18 + tmp166*tmp93*tmp80*tmp120 + tmp166*tmp169*tmp80*tmp147 + std::pow(tmp166,2)*tmp80*tmp163; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrIbod.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrIbod.cppready index cd9ad87..24859de 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrIbod.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrIbod.cppready @@ -1,6 +1,206 @@ -J(1+_OFF) = 0; -J(2+_OFF) = 0; -J(3+_OFF) = 0; -J(4+_OFF) = 0; -J(5+_OFF) = 0; -J(6+_OFF) = 0; +double tmp0 = ibd(2+_OFF); +double tmp1 = ibd(3+_OFF); +double tmp2 = ibod(1+_OFF); +double tmp3 = ibod(2+_OFF); +double tmp4 = ibod(3+_OFF); +double tmp5 = ibd(1+_OFF); +double tmp6 = std::pow(tmp4,2); +double tmp7 = tmp5*tmp0*tmp1; +double tmp8 = std::pow(tmp2,2); +double tmp9 = -(tmp0*tmp8); +double tmp10 = std::pow(tmp3,2); +double tmp11 = -(tmp1*tmp10); +double tmp12 = 2*tmp2*tmp3*tmp4; +double tmp13 = -(tmp5*tmp6); +double tmp14 = tmp7 + tmp9 + tmp11 + tmp12 + tmp13; +double tmp15 = 1/tmp14; +double tmp16 = x(12+_OFF); +double tmp17 = x(11+_OFF); +double tmp18 = x(13+_OFF); +double tmp19 = tmp0*tmp1; +double tmp20 = -tmp6; +double tmp21 = tmp19 + tmp20; +double tmp22 = std::pow(tmp18,2); +double tmp23 = airDensity(2+_OFF); +double tmp24 = 1/tmp23; +double tmp25 = x(4+_OFF); +double tmp26 = x(6+_OFF); +double tmp27 = x(5+_OFF); +double tmp28 = x(7+_OFF); +double tmp29 = wind(1+_OFF); +double tmp30 = tmp27*tmp26; +double tmp31 = wind(3+_OFF); +double tmp32 = wind(2+_OFF); +double tmp33 = std::pow(tmp25,2); +double tmp34 = std::pow(tmp27,2); +double tmp35 = std::pow(tmp26,2); +double tmp36 = std::pow(tmp28,2); +double tmp37 = -tmp36; +double tmp38 = tmp27*tmp28; +double tmp39 = tmp26*tmp28; +double tmp40 = -tmp34; +double tmp41 = -tmp35; +double tmp42 = -(tmp25*tmp28); +double tmp43 = tmp30 + tmp42; +double tmp44 = tmp25*tmp27; +double tmp45 = tmp44 + tmp39; +double tmp46 = tmp33 + tmp40 + tmp35 + tmp37; +double tmp47 = x(9+_OFF); +double tmp48 = tmp25*tmp28; +double tmp49 = tmp30 + tmp48; +double tmp50 = -2*tmp32*tmp49; +double tmp51 = -(tmp25*tmp26); +double tmp52 = tmp51 + tmp38; +double tmp53 = -2*tmp31*tmp52; +double tmp54 = tmp33 + tmp34 + tmp41 + tmp37; +double tmp55 = -(tmp29*tmp54); +double tmp56 = x(8+_OFF); +double tmp57 = tmp50 + tmp53 + tmp55 + tmp56; +double tmp58 = std::pow(tmp57,2); +double tmp59 = -2*tmp29*tmp43; +double tmp60 = -2*tmp31*tmp45; +double tmp61 = -(tmp32*tmp46); +double tmp62 = tmp59 + tmp60 + tmp61 + tmp47; +double tmp63 = std::pow(tmp62,2); +double tmp64 = tmp25*tmp26; +double tmp65 = tmp64 + tmp38; +double tmp66 = -2*tmp29*tmp65; +double tmp67 = -(tmp25*tmp27); +double tmp68 = tmp67 + tmp39; +double tmp69 = -2*tmp32*tmp68; +double tmp70 = tmp33 + tmp40 + tmp41 + tmp36; +double tmp71 = -(tmp31*tmp70); +double tmp72 = x(10+_OFF); +double tmp73 = tmp66 + tmp69 + tmp71 + tmp72; +double tmp74 = std::pow(tmp73,2); +double tmp75 = tmp58 + tmp63 + tmp74; +double tmp76 = cp(3+_OFF); +double tmp77 = 1/std::sqrt(tmp75); +double tmp78 = -(tmp1*tmp3); +double tmp79 = tmp2*tmp4; +double tmp80 = tmp78 + tmp79; +double tmp81 = -2*tmp0*tmp2; +double tmp82 = 2*tmp3*tmp4; +double tmp83 = tmp81 + tmp82; +double tmp84 = std::pow(tmp14,-2); +double tmp85 = std::pow(tmp17,2); +double tmp86 = airDensity(3+_OFF); +double tmp87 = cp(2+_OFF); +double tmp88 = airDensity(1+_OFF); +double tmp89 = x(3+_OFF); +double tmp90 = tmp88 + tmp89; +double tmp91 = -0.006500000000000001*tmp24*tmp90; +double tmp92 = 1 + tmp91; +double tmp93 = std::pow(tmp92,4.2561); +double tmp94 = cBar(1+_OFF); +double tmp95 = tmp2*tmp85; +double tmp96 = tmp4*tmp17*tmp16; +double tmp97 = -(tmp5*tmp17*tmp18); +double tmp98 = tmp1*tmp17*tmp18; +double tmp99 = -(tmp3*tmp16*tmp18); +double tmp100 = -(tmp2*tmp22); +double tmp101 = mPitch(1+_OFF); +double tmp102 = -tmp101; +double tmp103 = 2*tmp29*tmp65; +double tmp104 = 2*tmp32*tmp68; +double tmp105 = tmp31*tmp70; +double tmp106 = -tmp72; +double tmp107 = tmp103 + tmp104 + tmp105 + tmp106; +double tmp108 = std::atan2(tmp107,tmp57); +double tmp109 = mPitch(3+_OFF); +double tmp110 = -(tmp108*tmp109); +double tmp111 = mPitch(4+_OFF); +double tmp112 = (tmp94*tmp111*tmp77*tmp16)/2.; +double tmp113 = mPitch(2+_OFF); +double tmp114 = z(3+_OFF); +double tmp115 = -(tmp113*tmp114); +double tmp116 = tmp102 + tmp110 + tmp112 + tmp115; +double tmp117 = 0.001740341106856944*tmp24*tmp86*tmp94*tmp87*tmp93*tmp75*tmp116; +double tmp118 = tmp95 + tmp96 + tmp97 + tmp98 + tmp99 + tmp100 + tmp117; +double tmp119 = -(tmp0*tmp2); +double tmp120 = tmp3*tmp4; +double tmp121 = tmp119 + tmp120; +double tmp122 = std::pow(tmp16,2); +double tmp123 = 2*tmp29*tmp43; +double tmp124 = 2*tmp31*tmp45; +double tmp125 = tmp32*tmp46; +double tmp126 = -tmp47; +double tmp127 = tmp123 + tmp124 + tmp125 + tmp126; +double tmp128 = tmp127*tmp77; +double tmp129 = std::asin(tmp128); +double tmp130 = -(tmp3*tmp85); +double tmp131 = tmp5*tmp17*tmp16; +double tmp132 = -(tmp0*tmp17*tmp16); +double tmp133 = tmp3*tmp122; +double tmp134 = -(tmp4*tmp17*tmp18); +double tmp135 = tmp2*tmp16*tmp18; +double tmp136 = mYaw(2+_OFF); +double tmp137 = -(tmp129*tmp136); +double tmp138 = mYaw(3+_OFF); +double tmp139 = (tmp76*tmp138*tmp77*tmp18)/2.; +double tmp140 = mYaw(1+_OFF); +double tmp141 = z(4+_OFF); +double tmp142 = tmp140*tmp141; +double tmp143 = tmp137 + tmp139 + tmp142; +double tmp144 = 0.001740341106856944*tmp24*tmp86*tmp87*tmp76*tmp93*tmp75*tmp143; +double tmp145 = tmp130 + tmp131 + tmp132 + tmp133 + tmp134 + tmp135 + tmp144; +double tmp146 = -(tmp2*tmp17*tmp16); +double tmp147 = -(tmp4*tmp122); +double tmp148 = tmp3*tmp17*tmp18; +double tmp149 = tmp0*tmp16*tmp18; +double tmp150 = -(tmp1*tmp16*tmp18); +double tmp151 = tmp4*tmp22; +double tmp152 = mRoll(2+_OFF); +double tmp153 = tmp129*tmp152; +double tmp154 = mRoll(3+_OFF); +double tmp155 = (tmp76*tmp154*tmp77*tmp17)/2.; +double tmp156 = mRoll(4+_OFF); +double tmp157 = -(tmp76*tmp156*tmp77*tmp18)/2.; +double tmp158 = mRoll(1+_OFF); +double tmp159 = z(2+_OFF); +double tmp160 = -(tmp158*tmp159); +double tmp161 = tmp153 + tmp155 + tmp157 + tmp160; +double tmp162 = 0.001740341106856944*tmp24*tmp86*tmp87*tmp76*tmp93*tmp75*tmp161; +double tmp163 = tmp146 + tmp147 + tmp148 + tmp149 + tmp150 + tmp151 + tmp162; +double tmp164 = -2*tmp1*tmp3; +double tmp165 = 2*tmp2*tmp4; +double tmp166 = tmp164 + tmp165; +double tmp167 = 2*tmp2*tmp3; +double tmp168 = -2*tmp5*tmp4; +double tmp169 = tmp167 + tmp168; +double tmp170 = -tmp22; +double tmp171 = tmp85 + tmp170; +double tmp172 = tmp5*tmp1; +double tmp173 = -tmp8; +double tmp174 = tmp172 + tmp173; +double tmp175 = tmp2*tmp3; +double tmp176 = -(tmp5*tmp4); +double tmp177 = tmp175 + tmp176; +double tmp178 = -(tmp3*tmp15*tmp145); +double tmp179 = -tmp85; +double tmp180 = tmp179 + tmp122; +double tmp181 = -tmp122; +double tmp182 = tmp181 + tmp22; +double tmp183 = tmp5*tmp0; +double tmp184 = -tmp10; +double tmp185 = tmp183 + tmp184; +double tmp186 = -(tmp4*tmp15*tmp163); +double tmp187 = -(tmp2*tmp15*tmp118); +J(1+_OFF,1+_OFF) = 0; +J(1+_OFF,2+_OFF) = 0; +J(1+_OFF,3+_OFF) = 0; +J(2+_OFF,1+_OFF) = 0; +J(2+_OFF,2+_OFF) = 0; +J(2+_OFF,3+_OFF) = 0; +J(3+_OFF,1+_OFF) = 0; +J(3+_OFF,2+_OFF) = 0; +J(3+_OFF,3+_OFF) = 0; +J(4+_OFF,1+_OFF) = tmp21*tmp15*tmp17*tmp16 - tmp121*tmp15*tmp16*tmp18 - tmp80*tmp15*tmp171 + tmp83*tmp21*tmp84*tmp163 + tmp80*tmp83*tmp84*tmp118 - tmp4*tmp15*tmp118 + tmp121*tmp83*tmp84*tmp145 + tmp0*tmp15*tmp145; +J(4+_OFF,2+_OFF) = -(tmp121*tmp15*tmp180) - tmp21*tmp15*tmp17*tmp18 + tmp80*tmp15*tmp16*tmp18 + tmp166*tmp21*tmp84*tmp163 + tmp80*tmp166*tmp84*tmp118 + tmp1*tmp15*tmp118 + tmp166*tmp121*tmp84*tmp145 - tmp4*tmp15*tmp145; +J(4+_OFF,3+_OFF) = -(tmp80*tmp15*tmp17*tmp16) + tmp121*tmp15*tmp17*tmp18 - tmp21*tmp15*tmp182 + tmp169*tmp21*tmp84*tmp163 + 2*tmp4*tmp15*tmp163 + tmp169*tmp80*tmp84*tmp118 + tmp187 + tmp169*tmp121*tmp84*tmp145 + tmp178; +J(5+_OFF,1+_OFF) = tmp80*tmp15*tmp17*tmp16 - tmp177*tmp15*tmp16*tmp18 - tmp174*tmp15*tmp171 + tmp80*tmp83*tmp84*tmp163 + tmp186 + tmp174*tmp83*tmp84*tmp118 + 2*tmp2*tmp15*tmp118 + tmp177*tmp83*tmp84*tmp145 + tmp178; +J(5+_OFF,2+_OFF) = -(tmp177*tmp15*tmp180) - tmp80*tmp15*tmp17*tmp18 + tmp174*tmp15*tmp16*tmp18 + tmp80*tmp166*tmp84*tmp163 + tmp1*tmp15*tmp163 + tmp174*tmp166*tmp84*tmp118 + tmp177*tmp166*tmp84*tmp145 - tmp2*tmp15*tmp145; +J(5+_OFF,3+_OFF) = -(tmp174*tmp15*tmp17*tmp16) + tmp177*tmp15*tmp17*tmp18 - tmp80*tmp15*tmp182 + tmp169*tmp80*tmp84*tmp163 - tmp2*tmp15*tmp163 + tmp174*tmp169*tmp84*tmp118 + tmp169*tmp177*tmp84*tmp145 + tmp5*tmp15*tmp145; +J(6+_OFF,1+_OFF) = tmp121*tmp15*tmp17*tmp16 - tmp185*tmp15*tmp16*tmp18 - tmp177*tmp15*tmp171 + tmp121*tmp83*tmp84*tmp163 + tmp0*tmp15*tmp163 + tmp177*tmp83*tmp84*tmp118 - tmp3*tmp15*tmp118 + tmp185*tmp83*tmp84*tmp145; +J(6+_OFF,2+_OFF) = -(tmp185*tmp15*tmp180) - tmp121*tmp15*tmp17*tmp18 + tmp177*tmp15*tmp16*tmp18 + tmp166*tmp121*tmp84*tmp163 + tmp186 + tmp177*tmp166*tmp84*tmp118 + tmp187 + tmp185*tmp166*tmp84*tmp145 + 2*tmp3*tmp15*tmp145; +J(6+_OFF,3+_OFF) = -(tmp177*tmp15*tmp17*tmp16) + tmp185*tmp15*tmp17*tmp18 - tmp121*tmp15*tmp182 + tmp169*tmp121*tmp84*tmp163 - tmp3*tmp15*tmp163 + tmp169*tmp177*tmp84*tmp118 + tmp5*tmp15*tmp118 + tmp185*tmp169*tmp84*tmp145; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMPitch.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMPitch.cppready index cd9ad87..a3de75b 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMPitch.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMPitch.cppready @@ -1,6 +1,121 @@ -J(1+_OFF) = 0; -J(2+_OFF) = 0; -J(3+_OFF) = 0; -J(4+_OFF) = 0; -J(5+_OFF) = 0; -J(6+_OFF) = 0; +double tmp0 = ibd(3+_OFF); +double tmp1 = ibd(2+_OFF); +double tmp2 = ibod(1+_OFF); +double tmp3 = ibod(2+_OFF); +double tmp4 = ibod(3+_OFF); +double tmp5 = ibd(1+_OFF); +double tmp6 = airDensity(2+_OFF); +double tmp7 = 1/tmp6; +double tmp8 = x(4+_OFF); +double tmp9 = x(6+_OFF); +double tmp10 = x(5+_OFF); +double tmp11 = x(7+_OFF); +double tmp12 = wind(1+_OFF); +double tmp13 = tmp10*tmp9; +double tmp14 = wind(3+_OFF); +double tmp15 = wind(2+_OFF); +double tmp16 = std::pow(tmp8,2); +double tmp17 = std::pow(tmp10,2); +double tmp18 = std::pow(tmp9,2); +double tmp19 = std::pow(tmp11,2); +double tmp20 = -tmp19; +double tmp21 = tmp10*tmp11; +double tmp22 = tmp9*tmp11; +double tmp23 = -tmp17; +double tmp24 = -tmp18; +double tmp25 = airDensity(3+_OFF); +double tmp26 = cBar(1+_OFF); +double tmp27 = cp(2+_OFF); +double tmp28 = -(tmp0*tmp3); +double tmp29 = tmp2*tmp4; +double tmp30 = tmp28 + tmp29; +double tmp31 = tmp5*tmp1*tmp0; +double tmp32 = std::pow(tmp2,2); +double tmp33 = -(tmp1*tmp32); +double tmp34 = std::pow(tmp3,2); +double tmp35 = -(tmp0*tmp34); +double tmp36 = 2*tmp2*tmp3*tmp4; +double tmp37 = std::pow(tmp4,2); +double tmp38 = -(tmp5*tmp37); +double tmp39 = tmp31 + tmp33 + tmp35 + tmp36 + tmp38; +double tmp40 = 1/tmp39; +double tmp41 = airDensity(1+_OFF); +double tmp42 = x(3+_OFF); +double tmp43 = tmp41 + tmp42; +double tmp44 = -0.006500000000000001*tmp7*tmp43; +double tmp45 = 1 + tmp44; +double tmp46 = std::pow(tmp45,4.2561); +double tmp47 = tmp8*tmp11; +double tmp48 = tmp13 + tmp47; +double tmp49 = -2*tmp15*tmp48; +double tmp50 = -(tmp8*tmp9); +double tmp51 = tmp50 + tmp21; +double tmp52 = -2*tmp14*tmp51; +double tmp53 = tmp16 + tmp17 + tmp24 + tmp20; +double tmp54 = -(tmp12*tmp53); +double tmp55 = x(8+_OFF); +double tmp56 = tmp49 + tmp52 + tmp54 + tmp55; +double tmp57 = std::pow(tmp56,2); +double tmp58 = -(tmp8*tmp11); +double tmp59 = tmp13 + tmp58; +double tmp60 = -2*tmp12*tmp59; +double tmp61 = tmp8*tmp10; +double tmp62 = tmp61 + tmp22; +double tmp63 = -2*tmp14*tmp62; +double tmp64 = tmp16 + tmp23 + tmp18 + tmp20; +double tmp65 = -(tmp15*tmp64); +double tmp66 = x(9+_OFF); +double tmp67 = tmp60 + tmp63 + tmp65 + tmp66; +double tmp68 = std::pow(tmp67,2); +double tmp69 = tmp8*tmp9; +double tmp70 = tmp69 + tmp21; +double tmp71 = -2*tmp12*tmp70; +double tmp72 = -(tmp8*tmp10); +double tmp73 = tmp72 + tmp22; +double tmp74 = -2*tmp15*tmp73; +double tmp75 = tmp16 + tmp23 + tmp24 + tmp19; +double tmp76 = -(tmp14*tmp75); +double tmp77 = x(10+_OFF); +double tmp78 = tmp71 + tmp74 + tmp76 + tmp77; +double tmp79 = std::pow(tmp78,2); +double tmp80 = tmp57 + tmp68 + tmp79; +double tmp81 = tmp5*tmp0; +double tmp82 = -tmp32; +double tmp83 = tmp81 + tmp82; +double tmp84 = z(3+_OFF); +double tmp85 = 2*tmp12*tmp70; +double tmp86 = 2*tmp15*tmp73; +double tmp87 = tmp14*tmp75; +double tmp88 = -tmp77; +double tmp89 = tmp85 + tmp86 + tmp87 + tmp88; +double tmp90 = std::atan2(tmp89,tmp56); +double tmp91 = std::pow(tmp26,2); +double tmp92 = std::sqrt(tmp80); +double tmp93 = x(12+_OFF); +double tmp94 = tmp2*tmp3; +double tmp95 = -(tmp5*tmp4); +double tmp96 = tmp94 + tmp95; +J(1+_OFF,1+_OFF) = 0; +J(1+_OFF,2+_OFF) = 0; +J(1+_OFF,3+_OFF) = 0; +J(1+_OFF,4+_OFF) = 0; +J(2+_OFF,1+_OFF) = 0; +J(2+_OFF,2+_OFF) = 0; +J(2+_OFF,3+_OFF) = 0; +J(2+_OFF,4+_OFF) = 0; +J(3+_OFF,1+_OFF) = 0; +J(3+_OFF,2+_OFF) = 0; +J(3+_OFF,3+_OFF) = 0; +J(3+_OFF,4+_OFF) = 0; +J(4+_OFF,1+_OFF) = 0.001740341106856944*tmp7*tmp25*tmp26*tmp27*tmp30*tmp40*tmp46*tmp80; +J(4+_OFF,2+_OFF) = 0.001740341106856944*tmp7*tmp25*tmp26*tmp27*tmp30*tmp40*tmp46*tmp80*tmp84; +J(4+_OFF,3+_OFF) = 0.001740341106856944*tmp7*tmp25*tmp90*tmp26*tmp27*tmp30*tmp40*tmp46*tmp80; +J(4+_OFF,4+_OFF) = -0.000870170553428472*tmp7*tmp25*tmp91*tmp27*tmp30*tmp40*tmp46*tmp92*tmp93; +J(5+_OFF,1+_OFF) = 0.001740341106856944*tmp7*tmp25*tmp26*tmp27*tmp83*tmp40*tmp46*tmp80; +J(5+_OFF,2+_OFF) = 0.001740341106856944*tmp7*tmp25*tmp26*tmp27*tmp83*tmp40*tmp46*tmp80*tmp84; +J(5+_OFF,3+_OFF) = 0.001740341106856944*tmp7*tmp25*tmp90*tmp26*tmp27*tmp83*tmp40*tmp46*tmp80; +J(5+_OFF,4+_OFF) = -0.000870170553428472*tmp7*tmp25*tmp91*tmp27*tmp83*tmp40*tmp46*tmp92*tmp93; +J(6+_OFF,1+_OFF) = 0.001740341106856944*tmp7*tmp25*tmp26*tmp27*tmp96*tmp40*tmp46*tmp80; +J(6+_OFF,2+_OFF) = 0.001740341106856944*tmp7*tmp25*tmp26*tmp27*tmp96*tmp40*tmp46*tmp80*tmp84; +J(6+_OFF,3+_OFF) = 0.001740341106856944*tmp7*tmp25*tmp90*tmp26*tmp27*tmp96*tmp40*tmp46*tmp80; +J(6+_OFF,4+_OFF) = -0.000870170553428472*tmp7*tmp25*tmp91*tmp27*tmp96*tmp40*tmp46*tmp92*tmp93; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMRoll.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMRoll.cppready index cd9ad87..b47476a 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMRoll.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMRoll.cppready @@ -1,6 +1,124 @@ -J(1+_OFF) = 0; -J(2+_OFF) = 0; -J(3+_OFF) = 0; -J(4+_OFF) = 0; -J(5+_OFF) = 0; -J(6+_OFF) = 0; +double tmp0 = ibd(2+_OFF); +double tmp1 = ibd(3+_OFF); +double tmp2 = ibod(1+_OFF); +double tmp3 = ibod(2+_OFF); +double tmp4 = ibod(3+_OFF); +double tmp5 = ibd(1+_OFF); +double tmp6 = std::pow(tmp4,2); +double tmp7 = airDensity(2+_OFF); +double tmp8 = 1/tmp7; +double tmp9 = x(4+_OFF); +double tmp10 = x(6+_OFF); +double tmp11 = x(5+_OFF); +double tmp12 = x(7+_OFF); +double tmp13 = wind(1+_OFF); +double tmp14 = tmp11*tmp10; +double tmp15 = wind(3+_OFF); +double tmp16 = wind(2+_OFF); +double tmp17 = std::pow(tmp9,2); +double tmp18 = std::pow(tmp11,2); +double tmp19 = std::pow(tmp10,2); +double tmp20 = std::pow(tmp12,2); +double tmp21 = -tmp20; +double tmp22 = tmp11*tmp12; +double tmp23 = tmp10*tmp12; +double tmp24 = -tmp18; +double tmp25 = -tmp19; +double tmp26 = airDensity(3+_OFF); +double tmp27 = -(tmp9*tmp12); +double tmp28 = tmp14 + tmp27; +double tmp29 = tmp9*tmp11; +double tmp30 = tmp29 + tmp23; +double tmp31 = tmp17 + tmp24 + tmp19 + tmp21; +double tmp32 = x(9+_OFF); +double tmp33 = tmp9*tmp12; +double tmp34 = tmp14 + tmp33; +double tmp35 = -2*tmp16*tmp34; +double tmp36 = -(tmp9*tmp10); +double tmp37 = tmp36 + tmp22; +double tmp38 = -2*tmp15*tmp37; +double tmp39 = tmp17 + tmp18 + tmp25 + tmp21; +double tmp40 = -(tmp13*tmp39); +double tmp41 = x(8+_OFF); +double tmp42 = tmp35 + tmp38 + tmp40 + tmp41; +double tmp43 = std::pow(tmp42,2); +double tmp44 = -2*tmp13*tmp28; +double tmp45 = -2*tmp15*tmp30; +double tmp46 = -(tmp16*tmp31); +double tmp47 = tmp44 + tmp45 + tmp46 + tmp32; +double tmp48 = std::pow(tmp47,2); +double tmp49 = tmp9*tmp10; +double tmp50 = tmp49 + tmp22; +double tmp51 = -2*tmp13*tmp50; +double tmp52 = -(tmp9*tmp11); +double tmp53 = tmp52 + tmp23; +double tmp54 = -2*tmp16*tmp53; +double tmp55 = tmp17 + tmp24 + tmp25 + tmp20; +double tmp56 = -(tmp15*tmp55); +double tmp57 = x(10+_OFF); +double tmp58 = tmp51 + tmp54 + tmp56 + tmp57; +double tmp59 = std::pow(tmp58,2); +double tmp60 = tmp43 + tmp48 + tmp59; +double tmp61 = cp(2+_OFF); +double tmp62 = cp(3+_OFF); +double tmp63 = tmp0*tmp1; +double tmp64 = -tmp6; +double tmp65 = tmp63 + tmp64; +double tmp66 = tmp5*tmp0*tmp1; +double tmp67 = std::pow(tmp2,2); +double tmp68 = -(tmp0*tmp67); +double tmp69 = std::pow(tmp3,2); +double tmp70 = -(tmp1*tmp69); +double tmp71 = 2*tmp2*tmp3*tmp4; +double tmp72 = -(tmp5*tmp6); +double tmp73 = tmp66 + tmp68 + tmp70 + tmp71 + tmp72; +double tmp74 = 1/tmp73; +double tmp75 = airDensity(1+_OFF); +double tmp76 = x(3+_OFF); +double tmp77 = tmp75 + tmp76; +double tmp78 = -0.006500000000000001*tmp8*tmp77; +double tmp79 = 1 + tmp78; +double tmp80 = std::pow(tmp79,4.2561); +double tmp81 = std::pow(tmp62,2); +double tmp82 = std::sqrt(tmp60); +double tmp83 = z(2+_OFF); +double tmp84 = 2*tmp13*tmp28; +double tmp85 = 2*tmp15*tmp30; +double tmp86 = tmp16*tmp31; +double tmp87 = -tmp32; +double tmp88 = tmp84 + tmp85 + tmp86 + tmp87; +double tmp89 = 1/std::sqrt(tmp60); +double tmp90 = tmp88*tmp89; +double tmp91 = std::asin(tmp90); +double tmp92 = -(tmp1*tmp3); +double tmp93 = tmp2*tmp4; +double tmp94 = tmp92 + tmp93; +double tmp95 = x(11+_OFF); +double tmp96 = x(13+_OFF); +double tmp97 = -(tmp0*tmp2); +double tmp98 = tmp3*tmp4; +double tmp99 = tmp97 + tmp98; +J(1+_OFF,1+_OFF) = 0; +J(1+_OFF,2+_OFF) = 0; +J(1+_OFF,3+_OFF) = 0; +J(1+_OFF,4+_OFF) = 0; +J(2+_OFF,1+_OFF) = 0; +J(2+_OFF,2+_OFF) = 0; +J(2+_OFF,3+_OFF) = 0; +J(2+_OFF,4+_OFF) = 0; +J(3+_OFF,1+_OFF) = 0; +J(3+_OFF,2+_OFF) = 0; +J(3+_OFF,3+_OFF) = 0; +J(3+_OFF,4+_OFF) = 0; +J(4+_OFF,1+_OFF) = 0.001740341106856944*tmp8*tmp26*tmp61*tmp62*tmp65*tmp74*tmp80*tmp60*tmp83; +J(4+_OFF,2+_OFF) = -0.001740341106856944*tmp8*tmp26*tmp91*tmp61*tmp62*tmp65*tmp74*tmp80*tmp60; +J(4+_OFF,3+_OFF) = -0.000870170553428472*tmp8*tmp26*tmp61*tmp81*tmp65*tmp74*tmp80*tmp82*tmp95; +J(4+_OFF,4+_OFF) = 0.000870170553428472*tmp8*tmp26*tmp61*tmp81*tmp65*tmp74*tmp80*tmp82*tmp96; +J(5+_OFF,1+_OFF) = 0.001740341106856944*tmp8*tmp26*tmp61*tmp62*tmp94*tmp74*tmp80*tmp60*tmp83; +J(5+_OFF,2+_OFF) = -0.001740341106856944*tmp8*tmp26*tmp91*tmp61*tmp62*tmp94*tmp74*tmp80*tmp60; +J(5+_OFF,3+_OFF) = -0.000870170553428472*tmp8*tmp26*tmp61*tmp81*tmp94*tmp74*tmp80*tmp82*tmp95; +J(5+_OFF,4+_OFF) = 0.000870170553428472*tmp8*tmp26*tmp61*tmp81*tmp94*tmp74*tmp80*tmp82*tmp96; +J(6+_OFF,1+_OFF) = 0.001740341106856944*tmp8*tmp26*tmp61*tmp62*tmp99*tmp74*tmp80*tmp60*tmp83; +J(6+_OFF,2+_OFF) = -0.001740341106856944*tmp8*tmp26*tmp91*tmp61*tmp62*tmp99*tmp74*tmp80*tmp60; +J(6+_OFF,3+_OFF) = -0.000870170553428472*tmp8*tmp26*tmp61*tmp81*tmp99*tmp74*tmp80*tmp82*tmp95; +J(6+_OFF,4+_OFF) = 0.000870170553428472*tmp8*tmp26*tmp61*tmp81*tmp99*tmp74*tmp80*tmp82*tmp96; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMYaw.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMYaw.cppready index cd9ad87..326994e 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMYaw.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMYaw.cppready @@ -1,6 +1,117 @@ -J(1+_OFF) = 0; -J(2+_OFF) = 0; -J(3+_OFF) = 0; -J(4+_OFF) = 0; -J(5+_OFF) = 0; -J(6+_OFF) = 0; +double tmp0 = ibd(2+_OFF); +double tmp1 = ibod(1+_OFF); +double tmp2 = ibd(3+_OFF); +double tmp3 = ibod(2+_OFF); +double tmp4 = ibod(3+_OFF); +double tmp5 = ibd(1+_OFF); +double tmp6 = airDensity(2+_OFF); +double tmp7 = 1/tmp6; +double tmp8 = x(4+_OFF); +double tmp9 = x(6+_OFF); +double tmp10 = x(5+_OFF); +double tmp11 = x(7+_OFF); +double tmp12 = wind(1+_OFF); +double tmp13 = tmp10*tmp9; +double tmp14 = wind(3+_OFF); +double tmp15 = wind(2+_OFF); +double tmp16 = std::pow(tmp8,2); +double tmp17 = std::pow(tmp10,2); +double tmp18 = std::pow(tmp9,2); +double tmp19 = std::pow(tmp11,2); +double tmp20 = -tmp19; +double tmp21 = tmp10*tmp11; +double tmp22 = tmp9*tmp11; +double tmp23 = -tmp17; +double tmp24 = -tmp18; +double tmp25 = airDensity(3+_OFF); +double tmp26 = -(tmp8*tmp11); +double tmp27 = tmp13 + tmp26; +double tmp28 = tmp8*tmp10; +double tmp29 = tmp28 + tmp22; +double tmp30 = tmp16 + tmp23 + tmp18 + tmp20; +double tmp31 = x(9+_OFF); +double tmp32 = tmp8*tmp11; +double tmp33 = tmp13 + tmp32; +double tmp34 = -2*tmp15*tmp33; +double tmp35 = -(tmp8*tmp9); +double tmp36 = tmp35 + tmp21; +double tmp37 = -2*tmp14*tmp36; +double tmp38 = tmp16 + tmp17 + tmp24 + tmp20; +double tmp39 = -(tmp12*tmp38); +double tmp40 = x(8+_OFF); +double tmp41 = tmp34 + tmp37 + tmp39 + tmp40; +double tmp42 = std::pow(tmp41,2); +double tmp43 = -2*tmp12*tmp27; +double tmp44 = -2*tmp14*tmp29; +double tmp45 = -(tmp15*tmp30); +double tmp46 = tmp43 + tmp44 + tmp45 + tmp31; +double tmp47 = std::pow(tmp46,2); +double tmp48 = tmp8*tmp9; +double tmp49 = tmp48 + tmp21; +double tmp50 = -2*tmp12*tmp49; +double tmp51 = -(tmp8*tmp10); +double tmp52 = tmp51 + tmp22; +double tmp53 = -2*tmp15*tmp52; +double tmp54 = tmp16 + tmp23 + tmp24 + tmp19; +double tmp55 = -(tmp14*tmp54); +double tmp56 = x(10+_OFF); +double tmp57 = tmp50 + tmp53 + tmp55 + tmp56; +double tmp58 = std::pow(tmp57,2); +double tmp59 = tmp42 + tmp47 + tmp58; +double tmp60 = cp(2+_OFF); +double tmp61 = cp(3+_OFF); +double tmp62 = -(tmp0*tmp1); +double tmp63 = tmp3*tmp4; +double tmp64 = tmp62 + tmp63; +double tmp65 = tmp5*tmp0*tmp2; +double tmp66 = std::pow(tmp1,2); +double tmp67 = -(tmp0*tmp66); +double tmp68 = std::pow(tmp3,2); +double tmp69 = -(tmp2*tmp68); +double tmp70 = 2*tmp1*tmp3*tmp4; +double tmp71 = std::pow(tmp4,2); +double tmp72 = -(tmp5*tmp71); +double tmp73 = tmp65 + tmp67 + tmp69 + tmp70 + tmp72; +double tmp74 = 1/tmp73; +double tmp75 = airDensity(1+_OFF); +double tmp76 = x(3+_OFF); +double tmp77 = tmp75 + tmp76; +double tmp78 = -0.006500000000000001*tmp7*tmp77; +double tmp79 = 1 + tmp78; +double tmp80 = std::pow(tmp79,4.2561); +double tmp81 = z(4+_OFF); +double tmp82 = 2*tmp12*tmp27; +double tmp83 = 2*tmp14*tmp29; +double tmp84 = tmp15*tmp30; +double tmp85 = -tmp31; +double tmp86 = tmp82 + tmp83 + tmp84 + tmp85; +double tmp87 = 1/std::sqrt(tmp59); +double tmp88 = tmp86*tmp87; +double tmp89 = std::asin(tmp88); +double tmp90 = tmp1*tmp3; +double tmp91 = -(tmp5*tmp4); +double tmp92 = tmp90 + tmp91; +double tmp93 = std::pow(tmp61,2); +double tmp94 = std::sqrt(tmp59); +double tmp95 = x(13+_OFF); +double tmp96 = tmp5*tmp0; +double tmp97 = -tmp68; +double tmp98 = tmp96 + tmp97; +J(1+_OFF,1+_OFF) = 0; +J(1+_OFF,2+_OFF) = 0; +J(1+_OFF,3+_OFF) = 0; +J(2+_OFF,1+_OFF) = 0; +J(2+_OFF,2+_OFF) = 0; +J(2+_OFF,3+_OFF) = 0; +J(3+_OFF,1+_OFF) = 0; +J(3+_OFF,2+_OFF) = 0; +J(3+_OFF,3+_OFF) = 0; +J(4+_OFF,1+_OFF) = -0.001740341106856944*tmp7*tmp25*tmp60*tmp61*tmp64*tmp74*tmp80*tmp59*tmp81; +J(4+_OFF,2+_OFF) = 0.001740341106856944*tmp7*tmp25*tmp89*tmp60*tmp61*tmp64*tmp74*tmp80*tmp59; +J(4+_OFF,3+_OFF) = -0.000870170553428472*tmp7*tmp25*tmp60*tmp93*tmp64*tmp74*tmp80*tmp94*tmp95; +J(5+_OFF,1+_OFF) = -0.001740341106856944*tmp7*tmp25*tmp60*tmp61*tmp92*tmp74*tmp80*tmp59*tmp81; +J(5+_OFF,2+_OFF) = 0.001740341106856944*tmp7*tmp25*tmp89*tmp60*tmp61*tmp92*tmp74*tmp80*tmp59; +J(5+_OFF,3+_OFF) = -0.000870170553428472*tmp7*tmp25*tmp60*tmp93*tmp92*tmp74*tmp80*tmp94*tmp95; +J(6+_OFF,1+_OFF) = -0.001740341106856944*tmp7*tmp25*tmp60*tmp61*tmp98*tmp74*tmp80*tmp59*tmp81; +J(6+_OFF,2+_OFF) = 0.001740341106856944*tmp7*tmp25*tmp89*tmp60*tmp61*tmp98*tmp74*tmp80*tmp59; +J(6+_OFF,3+_OFF) = -0.000870170553428472*tmp7*tmp25*tmp60*tmp93*tmp98*tmp74*tmp80*tmp94*tmp95; From 9a5d1a58624f0af76f24268e8f986f15ee827b3b Mon Sep 17 00:00:00 2001 From: Kenneth Joseph Paul Date: Tue, 19 Jan 2021 20:44:27 +0100 Subject: [PATCH 7/7] Corrected some spelling mistakes in the comments of AugmentedStat_PlaneDynamicModel.nb --- .../AugmentedState_PlaneDynamicModel.nb | 803 +++++++++++++---- .../plugins/EuclideanFeaturesStats.m | 2 +- .../generated/PlaneDynamicModel_Err.cppready | 396 ++++---- .../PlaneDynamicModel_JErrAirDensity.cppready | 274 +----- .../PlaneDynamicModel_JErrCBar.cppready | 185 ++-- .../PlaneDynamicModel_JErrCp.cppready | 474 +++++----- .../PlaneDynamicModel_JErrFDrag.cppready | 237 +++-- .../PlaneDynamicModel_JErrFLat.cppready | 141 ++- .../PlaneDynamicModel_JErrFLift.cppready | 177 ++-- .../PlaneDynamicModel_JErrFThrust.cppready | 125 ++- .../PlaneDynamicModel_JErrIbd.cppready | 306 +++---- .../PlaneDynamicModel_JErrIbod.cppready | 334 ++++--- .../PlaneDynamicModel_JErrMPitch.cppready | 197 ++-- .../PlaneDynamicModel_JErrMRoll.cppready | 194 ++-- .../PlaneDynamicModel_JErrMYaw.cppready | 188 ++-- .../PlaneDynamicModel_JErrPose.cppready | 202 +---- .../PlaneDynamicModel_JErrQ.cppready | 844 +++++++++--------- .../PlaneDynamicModel_JErrV.cppready | 584 ++++++------ .../PlaneDynamicModel_JErrW.cppready | 275 +++--- .../PlaneDynamicModel_JErrWind.cppready | 710 ++++++++------- .../PlaneDynamicModel_debug.cppready | 80 +- 21 files changed, 3281 insertions(+), 3447 deletions(-) diff --git a/_development/Mathematica/models/AugmentedState_PlaneDynamicModel.nb b/_development/Mathematica/models/AugmentedState_PlaneDynamicModel.nb index fd92738..a6a5ef4 100644 --- a/_development/Mathematica/models/AugmentedState_PlaneDynamicModel.nb +++ b/_development/Mathematica/models/AugmentedState_PlaneDynamicModel.nb @@ -10,10 +10,10 @@ NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 158, 7] -NotebookDataLength[ 80529, 2133] -NotebookOptionsPosition[ 74278, 2048] -NotebookOutlinePosition[ 74635, 2064] -CellTagsIndexPosition[ 74592, 2061] +NotebookDataLength[ 99268, 2608] +NotebookOptionsPosition[ 92883, 2520] +NotebookOutlinePosition[ 93240, 2536] +CellTagsIndexPosition[ 93197, 2533] WindowFrame->Normal*) (* Beginning of Notebook Content *) @@ -22,7 +22,7 @@ Cell[BoxData[ RowBox[{"Clear", "[", "\"\\"", "]"}]], "Input", CellChangeTimes->{{3.5951624068865957`*^9, 3.595162434106801*^9}}, CellLabel-> - "In[1302]:=",ExpressionUUID->"28aebd44-7a23-4603-b370-38149a649cc1"], + "In[313]:=",ExpressionUUID->"28aebd44-7a23-4603-b370-38149a649cc1"], Cell[BoxData[{ RowBox[{"Import", "[", @@ -37,7 +37,7 @@ Cell[BoxData[{ 3.6175174204357758`*^9, 3.617517424343709*^9}, {3.632487617988913*^9, 3.632487633951275*^9}}, CellLabel-> - "In[1303]:=",ExpressionUUID->"d5e95da8-5675-4df2-8ff6-af7b8fb219a1"], + "In[314]:=",ExpressionUUID->"d5e95da8-5675-4df2-8ff6-af7b8fb219a1"], Cell[CellGroupData[{ @@ -79,7 +79,7 @@ Cell[BoxData[ CellChangeTimes->{{3.563607037606062*^9, 3.563607124416689*^9}, 3.563608231083735*^9}, CellLabel-> - "In[1305]:=",ExpressionUUID->"78e5840d-381c-47a9-b9dd-90c3c4dacb03"], + "In[316]:=",ExpressionUUID->"78e5840d-381c-47a9-b9dd-90c3c4dacb03"], Cell[BoxData[ RowBox[{ @@ -129,7 +129,7 @@ Cell[BoxData[ 3.57113111793888*^9, 3.57113116341093*^9}, {3.571131195958424*^9, 3.571131254626845*^9}, 3.571133049520565*^9}, CellLabel-> - "In[1306]:=",ExpressionUUID->"66ac8851-0848-4866-8069-42c37f27b5de"], + "In[317]:=",ExpressionUUID->"66ac8851-0848-4866-8069-42c37f27b5de"], Cell[BoxData[{ RowBox[{ @@ -161,7 +161,7 @@ Cell[BoxData[{ InitializationCell->True, CellChangeTimes->{{3.568453075302482*^9, 3.568453143924776*^9}}, CellLabel-> - "In[1307]:=",ExpressionUUID->"a40aa98c-a7a2-4814-b63b-e7c90c9932a0"], + "In[318]:=",ExpressionUUID->"a40aa98c-a7a2-4814-b63b-e7c90c9932a0"], Cell[BoxData[ RowBox[{ @@ -213,7 +213,7 @@ Cell[BoxData[ CellChangeTimes->{{3.568443187261707*^9, 3.568443273520089*^9}, { 3.568458568630984*^9, 3.568458568967643*^9}}, CellLabel-> - "In[1309]:=",ExpressionUUID->"ee9449fb-cd56-4179-b90c-f5e3bb0fdcdb"], + "In[320]:=",ExpressionUUID->"ee9449fb-cd56-4179-b90c-f5e3bb0fdcdb"], Cell[BoxData[ RowBox[{ @@ -241,7 +241,7 @@ Cell[BoxData[ 3.568443409373211*^9}, {3.568453008511107*^9, 3.568453014783046*^9}, { 3.60835655838758*^9, 3.608356558395439*^9}}, CellLabel-> - "In[1310]:=",ExpressionUUID->"b69052f0-f728-4bd6-9bf7-bae15aa76095"], + "In[321]:=",ExpressionUUID->"b69052f0-f728-4bd6-9bf7-bae15aa76095"], Cell[BoxData[{ RowBox[{ @@ -284,7 +284,7 @@ Cell[BoxData[{ CellChangeTimes->{{3.568444740747602*^9, 3.568444776506934*^9}, { 3.568444838483142*^9, 3.568444844345901*^9}}, CellLabel-> - "In[1311]:=",ExpressionUUID->"905c9ad7-8258-45b1-b64f-2d576f63cf20"], + "In[322]:=",ExpressionUUID->"905c9ad7-8258-45b1-b64f-2d576f63cf20"], Cell[BoxData[{ RowBox[{ @@ -352,7 +352,7 @@ Cell[BoxData[{ 3.568446816971497*^9, 3.568446831371454*^9}, {3.56844689667688*^9, 3.568446897039928*^9}, {3.571133081827365*^9, 3.571133085326789*^9}}, CellLabel-> - "In[1313]:=",ExpressionUUID->"a7b9df83-8379-4a26-b658-cd16a2c680e3"] + "In[324]:=",ExpressionUUID->"a7b9df83-8379-4a26-b658-cd16a2c680e3"] }, Open ]], Cell["Beginning of stuff", "Title", @@ -376,7 +376,7 @@ Cell[BoxData[ CellChangeTimes->{{3.5732982634483347`*^9, 3.573298275094433*^9}, { 3.606108793708241*^9, 3.6061087941202383`*^9}}, CellLabel-> - "In[1315]:=",ExpressionUUID->"89e76b07-ca4f-4879-a9de-3406cd562327"], + "In[326]:=",ExpressionUUID->"89e76b07-ca4f-4879-a9de-3406cd562327"], Cell[BoxData[{ RowBox[{ @@ -417,7 +417,7 @@ Cell[BoxData[{ 3.6324860672576303`*^9}, 3.6324863191229258`*^9, {3.632487946501395*^9, 3.6324879678038177`*^9}, {3.632488008725754*^9, 3.632488019377554*^9}}, CellLabel-> - "In[1316]:=",ExpressionUUID->"0f88cdc1-a39e-4d13-b528-8472e029b05f"], + "In[327]:=",ExpressionUUID->"0f88cdc1-a39e-4d13-b528-8472e029b05f"], Cell["Parameters", "Subsubtitle", CellChangeTimes->{{3.576920320535687*^9, @@ -541,26 +541,27 @@ Cell[BoxData[{ RowBox[{"CMYe", "=", RowBox[{"mPitch", "[", "2", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ - RowBox[{"CMY\[Omega]tildey", "=", - RowBox[{"mPitch", "[", "4", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{"CMYalpha", "=", + RowBox[{"mPitch", "[", "3", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ - RowBox[{"CMYalpha", "=", - RowBox[{"mPitch", "[", "3", "]"}]}], ";"}], + RowBox[{"CMY\[Omega]tildey", "=", + RowBox[{"mPitch", "[", "4", "]"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ - RowBox[{"CMZr", "=", - RowBox[{"mYaw", "[", "1", "]"}]}], ";", " ", + RowBox[{ + RowBox[{"CMZr", "=", + RowBox[{"mYaw", "[", "1", "]"}]}], ";"}], " ", RowBox[{"(*", " ", RowBox[{"yaw", " ", "moment", " ", "coefficients"}], " ", "*)"}], ";"}], "\[IndentingNewLine]", RowBox[{ - RowBox[{"CMZ\[Omega]tildez", "=", - RowBox[{"mYaw", "[", "3", "]"}]}], ";"}], "\[IndentingNewLine]", + RowBox[{"CMZbeta", "=", + RowBox[{"mYaw", "[", "2", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ - RowBox[{"CMZbeta", "=", - RowBox[{"mYaw", "[", "2", "]"}]}], ";"}], + RowBox[{"CMZ\[Omega]tildez", "=", + RowBox[{"mYaw", "[", "3", "]"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ @@ -573,7 +574,7 @@ Cell[BoxData[{ RowBox[{"PD", "=", RowBox[{"cp", "[", "1", "]"}]}], ";", " ", RowBox[{"(*", " ", - RowBox[{"propeller", " ", "diemater"}], " ", "*)"}], + RowBox[{"propeller", " ", "diameter"}], " ", "*)"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"S", "=", @@ -640,9 +641,11 @@ Cell[BoxData[{ 3.7715699472059917`*^9, 3.771569949298133*^9}, {3.772359310486154*^9, 3.772359365392565*^9}, {3.7723594227641973`*^9, 3.772359613795624*^9}, { 3.772360215586792*^9, 3.77236021597759*^9}, {3.77314250558466*^9, - 3.773142505699256*^9}, {3.774589936393152*^9, 3.774589945751444*^9}}, + 3.773142505699256*^9}, {3.774589936393152*^9, 3.774589945751444*^9}, { + 3.777109991948604*^9, 3.777109997353167*^9}, {3.820073719683056*^9, + 3.820073720934869*^9}}, CellLabel-> - "In[1322]:=",ExpressionUUID->"33f47236-ad3c-4a61-8f93-8222aa6cc9fa"], + "In[333]:=",ExpressionUUID->"33f47236-ad3c-4a61-8f93-8222aa6cc9fa"], Cell[BoxData[{ RowBox[{ @@ -772,7 +775,7 @@ Cell[BoxData[{ 3.772359937605813*^9, 3.772360048550315*^9}, {3.7723600966964912`*^9, 3.772360359842062*^9}, {3.775206708566532*^9, 3.775206780566957*^9}}, CellLabel-> - "In[1360]:=",ExpressionUUID->"53a40cfc-f0e8-4e44-9f25-b052baa99c29"], + "In[371]:=",ExpressionUUID->"53a40cfc-f0e8-4e44-9f25-b052baa99c29"], Cell[BoxData[ RowBox[{ @@ -787,7 +790,7 @@ Cell[BoxData[ RowBox[{"wind", " ", "speed", " ", "in", " ", "world", " ", "frame"}], " ", "*)"}]}]], "Input", CellLabel-> - "In[1373]:=",ExpressionUUID->"be98cbcc-62a9-4b36-a592-7c1827bbba19"], + "In[384]:=",ExpressionUUID->"be98cbcc-62a9-4b36-a592-7c1827bbba19"], Cell[BoxData[{ RowBox[{ @@ -838,7 +841,7 @@ Cell[BoxData[{ 3.6324862298118343`*^9, 3.632486253278077*^9}, {3.632488200362911*^9, 3.632488217048265*^9}}, CellLabel-> - "In[1374]:=",ExpressionUUID->"3db40cdd-aae8-4aed-bbcf-7b6c917acc34"], + "In[385]:=",ExpressionUUID->"3db40cdd-aae8-4aed-bbcf-7b6c917acc34"], Cell["Equations", "Subsubtitle", CellChangeTimes->{{3.573298514193714*^9, 3.5732985158016453`*^9}, { @@ -869,7 +872,7 @@ Cell[BoxData[ RowBox[{"-", "1"}]}], "}"}]}], "}"}]}], ";"}]], "Input", CellChangeTimes->{{3.632820134921884*^9, 3.632820163656551*^9}}, CellLabel-> - "In[1380]:=",ExpressionUUID->"e4cd07b0-b7a6-476f-a82d-1ad870ed93c3"], + "In[391]:=",ExpressionUUID->"e4cd07b0-b7a6-476f-a82d-1ad870ed93c3"], Cell["Air density model", "Text", CellChangeTimes->{{3.632464865348349*^9, 3.632464865838887*^9}, { @@ -907,7 +910,9 @@ Cell[BoxData[{ "^", "5.2561"}], "/", RowBox[{"(", RowBox[{"Ra", " ", "T"}], ")"}]}]}], "//", "FullSimplify"}]}], - ";"}], "\[IndentingNewLine]"}], "Input", + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{"\[Rho]", " ", "=", " ", "1.0"}], ";"}]}], "Input", CellChangeTimes->{{3.632462276976709*^9, 3.632462293513674*^9}, { 3.63246255070463*^9, 3.63246255752766*^9}, {3.632462666581998*^9, 3.632462767916204*^9}, 3.632462848468005*^9, {3.632462884866085*^9, @@ -917,9 +922,10 @@ Cell[BoxData[{ 3.6324860751887093`*^9, 3.6324860763421392`*^9}, {3.6326351738117943`*^9, 3.632635175495201*^9}, {3.634305313267096*^9, 3.634305315999455*^9}, 3.771231605060816*^9, {3.7713227938461018`*^9, 3.771322795852179*^9}, { - 3.772946102534224*^9, 3.772946104786611*^9}, 3.773142614758792*^9}, + 3.772946102534224*^9, 3.772946104786611*^9}, 3.773142614758792*^9, { + 3.781532267573668*^9, 3.781532269711938*^9}}, CellLabel-> - "In[1381]:=",ExpressionUUID->"9f81cfa6-a749-4450-bfb3-736066b50bce"], + "In[392]:=",ExpressionUUID->"9f81cfa6-a749-4450-bfb3-736066b50bce"], Cell["Airspeed", "Text", CellChangeTimes->{{3.6324649632440243`*^9, @@ -949,9 +955,8 @@ Cell[BoxData[{ RowBox[{"\[Beta]", "=", RowBox[{"ArcSin", "[", RowBox[{ - RowBox[{"-", - RowBox[{"AIRS", "[", - RowBox[{"[", "2", "]"}], "]"}]}], "/", + RowBox[{"AIRS", "[", + RowBox[{"[", "2", "]"}], "]"}], "/", RowBox[{"L2", "[", "AIRS", "]"}]}], "]"}]}], ";"}], " ", "\[IndentingNewLine]", RowBox[{"(*", " ", @@ -964,14 +969,15 @@ Cell[BoxData[{ RowBox[{"L2", "[", "AIRS", "]"}], "^", "2"}], "/", "2"}]}]}], ";"}]}], "Input", CellChangeTimes->{{3.632463641043902*^9, 3.632463700014979*^9}, { - 3.632463760723637*^9, 3.6324638026841*^9}, {3.6324638481892347`*^9, - 3.6324638485511303`*^9}, {3.632464012285355*^9, 3.6324640922581472`*^9}, { - 3.63246427497224*^9, 3.6324645819649153`*^9}, {3.632464802514184*^9, - 3.632464847852816*^9}, {3.632464958182373*^9, 3.632464975561612*^9}, { - 3.632548707477417*^9, 3.632548715250105*^9}, {3.774611994153266*^9, - 3.774611997890765*^9}}, + 3.632463760723637*^9, 3.6324638026841*^9}, {3.6324638481892347`*^9, + 3.6324638485511303`*^9}, {3.632464012285355*^9, 3.6324640922581472`*^9}, { + 3.63246427497224*^9, 3.6324645819649153`*^9}, {3.632464802514184*^9, + 3.632464847852816*^9}, {3.632464958182373*^9, 3.632464975561612*^9}, { + 3.632548707477417*^9, 3.632548715250105*^9}, {3.774611994153266*^9, + 3.774611997890765*^9}, 3.781531472311548*^9, {3.782109505828165*^9, + 3.782109507995604*^9}}, CellLabel-> - "In[1383]:=",ExpressionUUID->"29b01d2f-83ef-4d5a-8a25-69d70c2e9207"], + "In[395]:=",ExpressionUUID->"29b01d2f-83ef-4d5a-8a25-69d70c2e9207"], Cell["Wind frame ", "Text", CellChangeTimes->{{3.6324649823613243`*^9, @@ -987,21 +993,20 @@ Cell[BoxData[ RowBox[{"{", RowBox[{"0", ",", "1", ",", "0"}], "}"}]}], "]"}], ".", RowBox[{"RotationMatrix", "[", - RowBox[{ - RowBox[{"-", "\[Beta]"}], ",", + RowBox[{"\[Beta]", ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", "1"}], "}"}]}], "]"}]}]}], ";"}]], "Input",\ CellChangeTimes->{{3.6324646247401857`*^9, 3.632464632600142*^9}, { - 3.632464680101325*^9, 3.632464784467514*^9}, {3.6324649794605837`*^9, - 3.6324649904896584`*^9}, {3.632474117326888*^9, 3.632474118720315*^9}, { - 3.632474151294368*^9, 3.6324741531255283`*^9}, {3.63257138686383*^9, - 3.632571433828497*^9}, {3.632571484241777*^9, 3.632571500711404*^9}, { - 3.634300370544889*^9, 3.634300375506771*^9}, {3.774266318707065*^9, - 3.774266321501566*^9}, {3.774612005261743*^9, 3.774612007778376*^9}, { - 3.774691121917021*^9, 3.7746911255822783`*^9}}, + 3.632464680101325*^9, 3.632464784467514*^9}, {3.6324649794605837`*^9, + 3.6324649904896584`*^9}, {3.632474117326888*^9, 3.632474118720315*^9}, { + 3.632474151294368*^9, 3.6324741531255283`*^9}, {3.63257138686383*^9, + 3.632571433828497*^9}, {3.632571484241777*^9, 3.632571500711404*^9}, { + 3.634300370544889*^9, 3.634300375506771*^9}, {3.774266318707065*^9, + 3.774266321501566*^9}, {3.774612005261743*^9, 3.774612007778376*^9}, { + 3.774691121917021*^9, 3.7746911255822783`*^9}, 3.7815314791176033`*^9}, CellLabel-> - "In[1387]:=",ExpressionUUID->"dbea6cef-0336-433e-92e3-cc59b4a69219"], + "In[399]:=",ExpressionUUID->"dbea6cef-0336-433e-92e3-cc59b4a69219"], Cell["Thrust force", "Text", CellChangeTimes->{{3.632464997924268*^9, 3.63246500193495*^9}, @@ -1056,7 +1061,7 @@ Cell[BoxData[ 3.6349808735654984`*^9, 3.634980887899046*^9}, {3.634982313791176*^9, 3.634982334481447*^9}, {3.634988395067772*^9, 3.634988403877116*^9}}, CellLabel-> - "In[1388]:=",ExpressionUUID->"176642b9-ef21-428e-bda6-88b3064f0fe2"], + "In[400]:=",ExpressionUUID->"176642b9-ef21-428e-bda6-88b3064f0fe2"], Cell["Drag force", "Text", CellChangeTimes->{{3.632465883892436*^9, @@ -1079,7 +1084,7 @@ Cell[BoxData[{ 3.632466061225836*^9, 3.632466070531445*^9}, 3.632474180051531*^9, { 3.632486333812204*^9, 3.632486338262673*^9}}, CellLabel-> - "In[1389]:=",ExpressionUUID->"f4931c36-9cb3-41d5-9636-f3fbcef428c9"], + "In[401]:=",ExpressionUUID->"f4931c36-9cb3-41d5-9636-f3fbcef428c9"], Cell["Lateral force", "Text", CellChangeTimes->{{3.63246580061057*^9, @@ -1092,12 +1097,11 @@ Cell[BoxData[{ RowBox[{"CFY1", " ", "\[Beta]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"FWY", "=", - RowBox[{ - RowBox[{"-", "qbar"}], " ", "S", " ", "CFY"}]}], ";"}]}], "Input", + RowBox[{"qbar", " ", "S", " ", "CFY"}]}], ";"}]}], "Input", CellChangeTimes->{{3.632465807062015*^9, 3.63246584035797*^9}, - 3.774612027001218*^9}, + 3.774612027001218*^9, 3.7815314926688843`*^9}, CellLabel-> - "In[1391]:=",ExpressionUUID->"63203ee0-9601-47b1-9606-b67b10ce9a46"], + "In[403]:=",ExpressionUUID->"63203ee0-9601-47b1-9606-b67b10ce9a46"], Cell["Lift force", "Text", CellChangeTimes->{{3.6324653247972507`*^9, @@ -1117,7 +1121,7 @@ Cell[BoxData[{ 3.632465682669859*^9, 3.6324656933429127`*^9}, {3.632465792314137*^9, 3.632465798108323*^9}, 3.774612028899675*^9}, CellLabel-> - "In[1393]:=",ExpressionUUID->"c73ee33c-6f07-4ea9-82e2-0f37fad73c8e"], + "In[405]:=",ExpressionUUID->"c73ee33c-6f07-4ea9-82e2-0f37fad73c8e"], Cell["Roll moment", "Text", CellChangeTimes->{{3.632466790216868*^9, @@ -1150,7 +1154,7 @@ Cell[BoxData[{ RowBox[{"CMX", "=", RowBox[{ RowBox[{ - RowBox[{"-", "CMXa"}], " ", "\[Delta]a"}], " ", "+", + RowBox[{"-", "CMXa"}], " ", "\[Delta]a"}], " ", "-", RowBox[{"CMXbeta", " ", "\[Beta]"}], "-", RowBox[{"CMX\[Omega]tildex", " ", "\[Omega]tildex"}], " ", "-", RowBox[{"CMX\[Omega]tildez", " ", "\[Omega]tildez"}]}]}], @@ -1163,9 +1167,9 @@ Cell[BoxData[{ 3.632467123591279*^9}, {3.6324674621580877`*^9, 3.632467462850863*^9}, { 3.6324862875540953`*^9, 3.6324862888104773`*^9}, {3.6325487193918743`*^9, 3.632548719873026*^9}, 3.634292400473446*^9, {3.774612038472706*^9, - 3.774612054579494*^9}}, + 3.774612054579494*^9}, {3.7815315014383574`*^9, 3.781531501625888*^9}}, CellLabel-> - "In[1395]:=",ExpressionUUID->"7be4a0a1-b2c0-4d7b-b564-9f92dabf375f"], + "In[407]:=",ExpressionUUID->"7be4a0a1-b2c0-4d7b-b564-9f92dabf375f"], Cell["Pitch moment", "Text", CellChangeTimes->{{3.632467155741108*^9, @@ -1199,7 +1203,7 @@ Cell[BoxData[{ 3.632486356968248*^9}, 3.6325487214032393`*^9, {3.774612041318342*^9, 3.774612074499466*^9}}, CellLabel-> - "In[1399]:=",ExpressionUUID->"4ce3e11d-b2d8-42df-94f3-f44671feb140"], + "In[411]:=",ExpressionUUID->"4ce3e11d-b2d8-42df-94f3-f44671feb140"], Cell["Yaw moment", "Text", CellChangeTimes->{{3.6324733890787363`*^9, @@ -1211,16 +1215,17 @@ Cell[BoxData[{ RowBox[{"CMZ", " ", "=", " ", RowBox[{ RowBox[{"CMZr", " ", "\[Delta]r"}], " ", "+", " ", - RowBox[{"CMZ\[Omega]tildez", " ", "\[Omega]tildez"}], " ", "-", + RowBox[{"CMZ\[Omega]tildez", " ", "\[Omega]tildez"}], " ", "+", RowBox[{"CMZbeta", " ", "\[Beta]"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"MBZ", "=", RowBox[{"qbar", " ", "S", " ", "b", " ", "CMZ"}]}], ";"}]}], "Input", CellChangeTimes->{{3.6324733978818483`*^9, 3.632473492292446*^9}, 3.632473773078868*^9, 3.632486362438322*^9, {3.632734158387792*^9, - 3.632734159678158*^9}, 3.774612081502236*^9}, + 3.632734159678158*^9}, 3.774612081502236*^9, {3.781531506233139*^9, + 3.781531506482781*^9}}, CellLabel-> - "In[1402]:=",ExpressionUUID->"1a28b43d-e9a2-4ebf-8251-f3ab2ddb7786"], + "In[414]:=",ExpressionUUID->"1a28b43d-e9a2-4ebf-8251-f3ab2ddb7786"], Cell["Error equations", "Text", CellChangeTimes->{{3.6324737754609947`*^9, @@ -1275,7 +1280,7 @@ Cell[BoxData[{ 3.6342783329840317`*^9, 3.6342783528443823`*^9}, {3.6344523148400803`*^9, 3.634452317130845*^9}, {3.7746911481775713`*^9, 3.774691149760127*^9}}, CellLabel-> - "In[1404]:=",ExpressionUUID->"fe419f0a-adf5-43af-9f08-7b8a7f19180b"], + "In[416]:=",ExpressionUUID->"fe419f0a-adf5-43af-9f08-7b8a7f19180b"], Cell[BoxData[{ RowBox[{ @@ -1294,7 +1299,7 @@ Cell[BoxData[{ 3.63427833587599*^9, 3.634278345660905*^9}, {3.634298584045291*^9, 3.634298585468253*^9}, {3.7723598046089363`*^9, 3.772359805228352*^9}}, CellLabel-> - "In[1406]:=",ExpressionUUID->"ff5f7d73-add6-4e24-9e55-7b15786660c6"], + "In[418]:=",ExpressionUUID->"ff5f7d73-add6-4e24-9e55-7b15786660c6"], Cell[BoxData[{ RowBox[{ @@ -1350,9 +1355,11 @@ Cell[BoxData[{ 3.634299852392684*^9, 3.634300111654772*^9, {3.634300178359811*^9, 3.634300196975257*^9}}, CellLabel-> - "In[1408]:=",ExpressionUUID->"d17df8c1-9260-4a0c-8495-b5ef6f820848"], + "In[420]:=",ExpressionUUID->"d17df8c1-9260-4a0c-8495-b5ef6f820848"], -Cell[BoxData[ +Cell[CellGroupData[{ + +Cell[BoxData[{ RowBox[{ RowBox[{"ERR", "=", RowBox[{ @@ -1361,12 +1368,448 @@ Cell[BoxData[ RowBox[{ RowBox[{"AS", "-", "Ahat"}], ",", RowBox[{"ALPHAS", "-", "Alphahat"}]}], "}"}], "]"}], "+", "NOISES"}]}], - ";"}]], "Input", + ";"}], "\[IndentingNewLine]", "ERR"}], "Input", CellChangeTimes->{{3.632487913384449*^9, 3.632487921874243*^9}, { 3.632488026778446*^9, 3.632488059172721*^9}, {3.632488578258338*^9, - 3.632488606817566*^9}}, + 3.632488606817566*^9}, {3.784538832900227*^9, 3.784538833715313*^9}}, + CellLabel-> + "In[423]:=",ExpressionUUID->"8c91f72d-3f47-4547-a792-5e0813bcc352"], + +Cell[BoxData[ + InterpretationBox[ + TagBox[ + FrameBox[GridBox[{ + { + ItemBox[ + TagBox[ + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"eta", "[", "1", "]"}], "+", + RowBox[{"2", " ", + RowBox[{"gravity", "[", "1", "]"}], " ", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"-", + RowBox[{"x", "[", "4", "]"}]}], " ", + RowBox[{"x", "[", "6", "]"}]}], "+", + RowBox[{ + RowBox[{"x", "[", "5", "]"}], " ", + RowBox[{"x", "[", "7", "]"}]}]}], ")"}]}], "+", + RowBox[{"x", "[", "14", "]"}], "-", + FractionBox[ + RowBox[{ + FractionBox[ + RowBox[{"0.5`", " ", + RowBox[{"ArcSin", "[", + FractionBox[ + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"], + SqrtBox[ + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"]]], "]"}], " ", + RowBox[{"cp", "[", "2", "]"}], " ", + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"], " ", + RowBox[{"(", + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"], ")"}], " ", + RowBox[{"(", + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"], ")"}], " ", + SqrtBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"-", "2"}], " ", + RowBox[{"wind", "[", "2", "]"}], " ", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"x", "[", "5", "]"}], " ", + RowBox[{"x", "[", "6", "]"}]}], "+", + RowBox[{ + RowBox[{"x", "[", "4", "]"}], " ", + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"]}]}], ")"}]}], "-", + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"], "-", + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"], "+", + RowBox[{"x", "[", "8", "]"}]}], ")"}], "2"], "+", + SuperscriptBox[ + RowBox[{"(", + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"], ")"}], "2"], "+", + SuperscriptBox[ + RowBox[{"(", + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"], ")"}], "2"]}]]}], + SqrtBox[ + RowBox[{ + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"-", "2"}], " ", + RowBox[{"wind", "[", "2", "]"}], " ", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"x", "[", "5", "]"}], " ", + RowBox[{"x", "[", "6", "]"}]}], "+", + RowBox[{ + RowBox[{"x", "[", "4", "]"}], " ", + RowBox[{"x", "[", "7", "]"}]}]}], ")"}]}], "-", + RowBox[{"2", " ", + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"], " ", + RowBox[{"(", + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"], ")"}]}], "-", + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"], "+", + RowBox[{"x", "[", "8", "]"}]}], ")"}], "2"], "+", + SuperscriptBox[ + RowBox[{"(", + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"], ")"}], "2"]}]]], "-", + FractionBox[ + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"], + SqrtBox[ + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"]]], "+", + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"], "+", + RowBox[{"1.`", " ", + SuperscriptBox[ + RowBox[{"cp", "[", "1", "]"}], "2"], " ", + RowBox[{"(", + RowBox[{ + FractionBox[ + RowBox[{ + RowBox[{"fThrust", "[", "3", "]"}], " ", + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"]}], + SuperscriptBox["\[Pi]", "2"]], "+", + FractionBox[ + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"], "\[Pi]"], "+", + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"]}], ")"}]}]}], + RowBox[{"cp", "[", "4", "]"}]]}], ",", + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"], ",", + TemplateBox[{"2"}, + "OutputSizeLimit`Skeleton"], ",", + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"], ",", + RowBox[{ + RowBox[{"eta", "[", "6", "]"}], "+", + RowBox[{"x", "[", "19", "]"}], "-", + FractionBox[ + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"], + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"]], "-", + FractionBox[ + RowBox[{ + RowBox[{"(", + RowBox[{ + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"], "-", + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"]}], ")"}], " ", + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"]}], + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"]], "-", + FractionBox[ + RowBox[{ + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"ibd", "[", "1", "]"}], " ", + RowBox[{"ibd", "[", "2", "]"}]}], "-", + SuperscriptBox[ + RowBox[{"ibod", "[", "2", "]"}], "2"]}], ")"}], " ", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"-", + RowBox[{"ibod", "[", "2", "]"}]}], " ", + SuperscriptBox[ + RowBox[{"x", "[", "11", "]"}], "2"]}], "+", + TemplateBox[{"7"}, + "OutputSizeLimit`Skeleton"], "+", + RowBox[{"0.5`", " ", + TemplateBox[{"3"}, + "OutputSizeLimit`Skeleton"], " ", + RowBox[{"(", + RowBox[{ + RowBox[{ + RowBox[{"ArcSin", "[", + FractionBox[ + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"], + SqrtBox[ + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"]]], "]"}], " ", + RowBox[{"mYaw", "[", "2", "]"}]}], "+", + FractionBox[ + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"], + RowBox[{"2", " ", + TemplateBox[{"1"}, + "OutputSizeLimit`Skeleton"]}]], "+", + RowBox[{ + RowBox[{"mYaw", "[", "1", "]"}], " ", + RowBox[{"z", "[", "4", "]"}]}]}], ")"}]}]}], ")"}]}], + RowBox[{ + RowBox[{ + RowBox[{"ibd", "[", "1", "]"}], " ", + RowBox[{"ibd", "[", "2", "]"}], " ", + RowBox[{"ibd", "[", "3", "]"}]}], "-", + RowBox[{ + RowBox[{"ibd", "[", "2", "]"}], " ", + SuperscriptBox[ + RowBox[{"ibod", "[", "1", "]"}], "2"]}], "-", + RowBox[{ + RowBox[{"ibd", "[", "3", "]"}], " ", + SuperscriptBox[ + RowBox[{"ibod", "[", "2", "]"}], "2"]}], "+", + RowBox[{"2", " ", + RowBox[{"ibod", "[", "1", "]"}], " ", + RowBox[{"ibod", "[", "2", "]"}], " ", + RowBox[{"ibod", "[", "3", "]"}]}], "-", + RowBox[{ + RowBox[{"ibd", "[", "1", "]"}], " ", + SuperscriptBox[ + RowBox[{"ibod", "[", "3", "]"}], "2"]}]}]]}]}], "}"}], + Short[#, 5]& ], + BaseStyle->{Deployed -> False}, + StripOnInput->False]}, + {GridBox[{ + { + PaneBox[ + TagBox[ + TooltipBox[ + StyleBox[ + StyleBox[ + DynamicBox[ToBoxes[ + FEPrivate`FrontEndResource[ + "FEStrings", "sizeBriefExplanation"], StandardForm], + ImageSizeCache->{61., {2., 8.}}], + StripOnInput->False, + DynamicUpdating->True, + LineSpacing->{1, 2}, + LineIndent->0, + LinebreakAdjustments->{1., 100, 0, 0, 0}], "OSLText", + StripOnInput->False], + StyleBox[ + DynamicBox[ + ToBoxes[ + FEPrivate`FrontEndResource["FEStrings", "sizeExplanation"], + StandardForm]], DynamicUpdating -> True, LineIndent -> 0, + LinebreakAdjustments -> {1., 100, 0, 0, 0}, + LineSpacing -> {1, 2}, StripOnInput -> False]], + Annotation[#, + Style[ + Dynamic[ + FEPrivate`FrontEndResource["FEStrings", "sizeExplanation"]], + DynamicUpdating -> True, LineIndent -> 0, + LinebreakAdjustments -> {1., 100, 0, 0, 0}, + LineSpacing -> {1, 2}], "Tooltip"]& ], + Alignment->Center, + BaselinePosition->Baseline, + ImageSize->{Automatic, {25, Full}}], + ButtonBox[ + PaneSelectorBox[{False-> + StyleBox[ + StyleBox[ + DynamicBox[ToBoxes[ + FEPrivate`FrontEndResource["FEStrings", "sizeShowLess"], + StandardForm], + ImageSizeCache->{54., {0., 8.}}], + StripOnInput->False, + DynamicUpdating->True, + LineSpacing->{1, 2}, + LineIndent->0, + LinebreakAdjustments->{1., 100, 0, 0, 0}], "OSLControl", + StripOnInput->False], True-> + StyleBox[ + StyleBox[ + DynamicBox[ToBoxes[ + FEPrivate`FrontEndResource["FEStrings", "sizeShowLess"], + StandardForm]], + StripOnInput->False, + DynamicUpdating->True, + LineSpacing->{1, 2}, + LineIndent->0, + LinebreakAdjustments->{1., 100, 0, 0, 0}], "OSLControlActive", + StripOnInput->False]}, Dynamic[ + CurrentValue["MouseOver"]], + Alignment->Center, + FrameMargins->0, + ImageSize->{Automatic, {25, Full}}], + Appearance->None, + BaselinePosition->Baseline, + + ButtonFunction:>OutputSizeLimit`ButtonFunction[ + OutputSizeLimit`Defer, 424, 23232419362815840285, 5/2], + Enabled->True, + Evaluator->Automatic, + Method->"Queued"], + ButtonBox[ + PaneSelectorBox[{False-> + StyleBox[ + StyleBox[ + DynamicBox[ToBoxes[ + FEPrivate`FrontEndResource["FEStrings", "sizeShowMore"], + StandardForm], + ImageSizeCache->{61., {0., 8.}}], + StripOnInput->False, + DynamicUpdating->True, + LineSpacing->{1, 2}, + LineIndent->0, + LinebreakAdjustments->{1., 100, 0, 0, 0}], "OSLControl", + StripOnInput->False], True-> + StyleBox[ + StyleBox[ + DynamicBox[ToBoxes[ + FEPrivate`FrontEndResource["FEStrings", "sizeShowMore"], + StandardForm]], + StripOnInput->False, + DynamicUpdating->True, + LineSpacing->{1, 2}, + LineIndent->0, + LinebreakAdjustments->{1., 100, 0, 0, 0}], "OSLControlActive", + StripOnInput->False]}, Dynamic[ + CurrentValue["MouseOver"]], + Alignment->Center, + FrameMargins->0, + ImageSize->{Automatic, {25, Full}}], + Appearance->None, + BaselinePosition->Baseline, + + ButtonFunction:>OutputSizeLimit`ButtonFunction[ + OutputSizeLimit`Defer, 424, 23232419362815840285, 5 2], + Enabled->True, + Evaluator->Automatic, + Method->"Queued"], + ButtonBox[ + PaneSelectorBox[{False-> + StyleBox[ + StyleBox[ + DynamicBox[ToBoxes[ + FEPrivate`FrontEndResource["FEStrings", "sizeShowAll"], + StandardForm], + ImageSizeCache->{46., {0., 8.}}], + StripOnInput->False, + DynamicUpdating->True, + LineSpacing->{1, 2}, + LineIndent->0, + LinebreakAdjustments->{1., 100, 0, 0, 0}], "OSLControl", + StripOnInput->False], True-> + StyleBox[ + StyleBox[ + DynamicBox[ToBoxes[ + FEPrivate`FrontEndResource["FEStrings", "sizeShowAll"], + StandardForm]], + StripOnInput->False, + DynamicUpdating->True, + LineSpacing->{1, 2}, + LineIndent->0, + LinebreakAdjustments->{1., 100, 0, 0, 0}], "OSLControlActive", + StripOnInput->False]}, Dynamic[ + CurrentValue["MouseOver"]], + Alignment->Center, + FrameMargins->0, + ImageSize->{Automatic, {25, Full}}], + Appearance->None, + BaselinePosition->Baseline, + + ButtonFunction:>OutputSizeLimit`ButtonFunction[ + OutputSizeLimit`Defer, 424, 23232419362815840285, Infinity], + Enabled->True, + Evaluator->Automatic, + Method->"Queued"], + ButtonBox[ + PaneSelectorBox[{False-> + StyleBox[ + StyleBox[ + DynamicBox[ToBoxes[ + FEPrivate`FrontEndResource["FEStrings", "sizeChangeLimit"], + StandardForm], + ImageSizeCache->{83., {0., 8.}}], + StripOnInput->False, + DynamicUpdating->True, + LineSpacing->{1, 2}, + LineIndent->0, + LinebreakAdjustments->{1., 100, 0, 0, 0}], "OSLControl", + StripOnInput->False], True-> + StyleBox[ + StyleBox[ + DynamicBox[ToBoxes[ + FEPrivate`FrontEndResource["FEStrings", "sizeChangeLimit"], + StandardForm]], + StripOnInput->False, + DynamicUpdating->True, + LineSpacing->{1, 2}, + LineIndent->0, + LinebreakAdjustments->{1., 100, 0, 0, 0}], "OSLControlActive", + StripOnInput->False]}, Dynamic[ + CurrentValue["MouseOver"]], + Alignment->Center, + FrameMargins->0, + ImageSize->{Automatic, {25, Full}}], + Appearance->None, + BaselinePosition->Baseline, + ButtonFunction:>FrontEndExecute[{ + FrontEnd`SetOptions[ + FrontEnd`$FrontEnd, + FrontEnd`PreferencesSettings -> {"Page" -> "Advanced"}], + FrontEnd`FrontEndToken["PreferencesDialog"]}], + Evaluator->None, + Method->"Preemptive"]} + }, + AutoDelete->False, + FrameStyle->GrayLevel[0.85], + GridBoxDividers->{"Columns" -> {False, {True}}}, + GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, + GridBoxSpacings->{"Columns" -> {{2}}}]} + }, + DefaultBaseStyle->"Column", + GridBoxAlignment->{"Columns" -> {{Left}}, "Rows" -> {{Baseline}}}, + GridBoxDividers->{"Columns" -> {{False}}, "Rows" -> {{False}}}, + GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{1.}}}, + GridBoxSpacings->{"Columns" -> { + Offset[0.27999999999999997`], { + Offset[0.5599999999999999]}, + Offset[0.27999999999999997`]}, "Rows" -> { + Offset[0.2], + Offset[1.2], { + Offset[0.4]}, + Offset[0.2]}}], + BaseStyle->"OutputSizeLimit", + FrameMargins->{{12, 12}, {0, 15}}, + FrameStyle->GrayLevel[0.85], + RoundingRadius->5, + StripOnInput->False], + Deploy, + DefaultBaseStyle->"Deploy"], + If[23232419362815840285 === $SessionID, + Out[424], Message[ + MessageName[Syntax, "noinfoker"]]; Missing["NotAvailable"]; + Null]]], "Output", + CellChangeTimes->{3.820073726788056*^9}, CellLabel-> - "In[1411]:=",ExpressionUUID->"8c91f72d-3f47-4547-a792-5e0813bcc352"], + "Out[424]=",ExpressionUUID->"b83a1de5-09cb-4f64-9389-31f9cba69466"] +}, Open ]], Cell["Predictor", "Subsubtitle", CellChangeTimes->{{3.573298851623851*^9, 3.57329885458322*^9}, { @@ -1398,7 +1841,7 @@ Cell[BoxData[ CellChangeTimes->{{3.632636764848427*^9, 3.632636870351482*^9}, 3.633327075601856*^9, 3.634538652426509*^9}, CellLabel-> - "In[1412]:=",ExpressionUUID->"dea35a84-3a0f-4600-a2f4-2ab045608d87"], + "In[425]:=",ExpressionUUID->"dea35a84-3a0f-4600-a2f4-2ab045608d87"], Cell["Output", "Subsubtitle", CellChangeTimes->{{3.573298851623851*^9, @@ -1410,7 +1853,7 @@ Cell[BoxData[ RowBox[{"SetDirectory", "[", RowBox[{"NotebookDirectory", "[", "]"}], "]"}], ";"}]], "Input", CellLabel-> - "In[1414]:=",ExpressionUUID->"c2f98c75-5faf-44c8-a958-147c2a660678"], + "In[427]:=",ExpressionUUID->"c2f98c75-5faf-44c8-a958-147c2a660678"], Cell[BoxData[{ RowBox[{ @@ -1499,7 +1942,7 @@ Cell[BoxData[{ 3.632488075940673*^9, 3.632488120413509*^9}, {3.6324882328081903`*^9, 3.632488236596348*^9}, {3.632488545113055*^9, 3.632488557103654*^9}}, CellLabel-> - "In[1415]:=",ExpressionUUID->"716ee195-4767-4067-92df-43ed8da3bd15"], + "In[428]:=",ExpressionUUID->"716ee195-4767-4067-92df-43ed8da3bd15"], Cell[BoxData[{ RowBox[{ @@ -1619,14 +2062,14 @@ Cell[BoxData[{ 3.774583830109449*^9}, {3.775206417689166*^9, 3.77520651396764*^9}, { 3.77520681773381*^9, 3.7752068235363483`*^9}}, CellLabel-> - "In[1423]:=",ExpressionUUID->"cdb0dbd5-e787-49a0-bb76-c4468b401cbc"], + "In[436]:=",ExpressionUUID->"cdb0dbd5-e787-49a0-bb76-c4468b401cbc"], Cell[BoxData[ RowBox[{ RowBox[{"Run", "[", "\"\\"", "]"}], ";"}]], "Input", CellChangeTimes->{{3.605001578968874*^9, 3.605001586300552*^9}}, CellLabel-> - "In[1436]:=",ExpressionUUID->"41b82835-d8e1-446a-bec9-5cabfad38221"], + "In[449]:=",ExpressionUUID->"41b82835-d8e1-446a-bec9-5cabfad38221"], Cell[BoxData[{ RowBox[{ @@ -1810,7 +2253,7 @@ Cell[BoxData[{ 3.6342984069072943`*^9, 3.634298419729596*^9}, {3.63429849221801*^9, 3.6342985327140083`*^9}, {3.772364411990938*^9, 3.7723645797179956`*^9}}, CellLabel-> - "In[1437]:=",ExpressionUUID->"cbb713d0-b847-42c0-9c5d-8772380d8dba"], + "In[450]:=",ExpressionUUID->"cbb713d0-b847-42c0-9c5d-8772380d8dba"], Cell[BoxData[{ RowBox[{ @@ -1960,30 +2403,56 @@ MF 1 1\>\"", "]"}], ";"}], "\[IndentingNewLine]", "Run", "[", "\"\\"", "]"}], ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], + ";"}], "\[IndentingNewLine]", + RowBox[{ + RowBox[{ + "Run", "[", + "\"\\"", "]"}], + ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ "Run", "[", "\"\\"", "]"}], ";"}], +PlaneDynamicModel_JErrFLift.mthout J 1 0\>\"", "]"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]"}], "Input", CellChangeTimes->CompressedData[" -1:eJwdzV1Ik2EYxvEpGmoDV9qiFk2xXG0luD6cHgRPpdioGOtEU3FNgySXtBAM -xmZiW7ZIdLMkwgh0fk+ygWJSTiHd2pbpCCu22Vom77ss51LINXvu5+Did3b9 -0+U10quxDAYjCw/s+Cb9pH1GoRX9S6KwPm4LNFI7GTrstcl/B0BRm58Hurds -YrBU6yR+2AgY5rFsNdMIzsi2mnjP8c+q/z4YaoxtBkfmE4l50+0Z8QO4l7JJ -fOTrubVpptBUbnot+LB4W27MEIUu37XlgcFuaQV4duo9kbV7IgJqDW5i2CI6 -VTBMob1dbcQHgcKoYY5CCk0dkf+KFWfEeixsornKl8/xUsgqXySOOntNIF+s -6QYPpi3Mgk/Ou+fA6gwt37tGIdcJHTGBG765iF0wCJXgemCFXsLeuyj6CbLZ -5V5hmEKNtWU+UOq28I5hJY+X+GC4hklH1ilUZFcQkzr1IVCmEf8BxzNLipdj -aCQRJJSBQbrnyPF4GiXfeEO0usffgTPtUgcY6nJ8Bfs60vxgz57UfdztNBpO -3kU0+nQmUOmp7gZN1uZEMZNG2WdaiYqGSxNg/scSK5h14dzqdRaN6lxiYmVm -dgScPTQYBY9OmsqbsOb+JBlYWFDRC6pUfUSvwFZvwa4pDXdAucDfsrCDRq9P -b7SCbu7Qlc8pNHoa9VSCY19uT/uwoy05NlD96+2Pk5wgUg0uh8Dvh5WOgf1B -9Fcy4gJ/21Mb7Fi1LYdYyvF2gkWCJaJ5rEqv5AaR3/mC+B+HPofu +1:eJwdzW1Ik1EYxvFpGmqSlrZIoymWq60CZ+X0Q3Eqh42KsSB8RVODJDdpIljZ +tKFbZii6rSRCC3S+pLNsoZiYU0hnaqYjtNhmS5c8z7ScSyFNO/f5cPH7dv3D +M/PE1z0ZDEY0Hlj3QzyjrKfQUsUbIq/EawvUULsZKuyNgX8HQb7WzgbNWyYh +mKocI35em1NPYZlyfw04nLFVzn6Bf5btD0FXqWcV2DXlS4wbqo3wbsO9oHXi +Y1tz/rqeQoOx4QVgZdL2WI8OCiWXmeJAZ5M4Czw/+IkYuLd/A1SqzUS3gX9a +0EmhkEYt8dFcwqZ6kkKS4kIi512glwZrMTCJ+hxbfKiVQsbMWWL3WIsO5AiL +m8BDYdMT4NOL5kkwN0LJsa5QaPykiujDct+axU6reTJwdW6JdmAfXOYvgkxm +upXnplBpQZoNFJsN7Gis6ImDA7rz/OmNVQoljkiIfg0VLjCjWPgH7I1MSVrw +oJGI65MGOunmoye8aRQgfU80mns/gsO14lHQ1Tj6HWytC7ODzfuC97N20Kgz +YA9RY1PpQJkltwnUGat8hf40ijpXQ5QorvSD8V9SjODxSxeWbwbSqHBcSMyO +jNoAJw63b4LHBnTp5Vj9S78MMEGQ1QIWFbUSrVxTiQG7IlPfBzO59urpXTTq +O7tWA5pZHde+BtHo2aYlG+z5dnvIhu2ujjGB8l8ffp4KdaKi9gUXOH9ENtp2 +wIn+irrGwd8jwYoRrNwUQ0wNtTaAiVwHUd+TUyFjOZF97DWx8mryPQnPiTy3 +lRH7FHoFqFp8S9Rmh8xIsZOCfKLrrsgCSs88J+5sq50HX83ecYD/ASe6sAk= + "], CellLabel-> - "In[1461]:=",ExpressionUUID->"1a2cbc4e-fbe6-4f7c-8741-b70e886cb2db"], + "In[474]:=",ExpressionUUID->"1a2cbc4e-fbe6-4f7c-8741-b70e886cb2db"], Cell[CellGroupData[{ @@ -1995,7 +2464,7 @@ Cell[BoxData[ 3.605001619532137*^9, 3.6050016309343433`*^9}, {3.626084473225601*^9, 3.626084492513814*^9}, {3.6260847134763527`*^9, 3.6260847142374268`*^9}}, CellLabel-> - "In[1488]:=",ExpressionUUID->"92a89388-7fc0-4900-84db-870a39602d88"], + "In[505]:=",ExpressionUUID->"92a89388-7fc0-4900-84db-870a39602d88"], Cell[BoxData["0"], "Output", CellChangeTimes->{ @@ -2027,9 +2496,12 @@ Cell[BoxData["0"], "Output", 3.774266326673469*^9, 3.77458390783916*^9, 3.774612092999992*^9, 3.774691158272262*^9, 3.7746926287703743`*^9, {3.775206430535994*^9, 3.775206518604731*^9}, 3.7752066826065903`*^9, 3.775206790200211*^9, - 3.775206827144771*^9}, + 3.775206827144771*^9, 3.781531524359655*^9, {3.781532274516631*^9, + 3.781532281751*^9}, {3.782109514640354*^9, 3.782109522477334*^9}, + 3.784535070682267*^9, 3.784537809638708*^9, 3.784537843760861*^9, + 3.784537914040141*^9, 3.820073727931135*^9}, CellLabel-> - "Out[1488]=",ExpressionUUID->"ded51bd1-847b-4bb1-9511-2c586bf764f5"] + "Out[505]=",ExpressionUUID->"028c7624-217f-4966-9da9-ab7c1dadc3e2"] }, Open ]], Cell[BoxData[{ @@ -2039,16 +2511,16 @@ Cell[BoxData[{ RowBox[{ RowBox[{"Run", "[", "\"\\"", "]"}], ";"}]}], "Input", CellLabel-> - "In[1489]:=",ExpressionUUID->"aaff244c-3ad5-4faf-aeb3-7cdbaa9f50f5"], + "In[506]:=",ExpressionUUID->"aaff244c-3ad5-4faf-aeb3-7cdbaa9f50f5"], Cell[BoxData[" "], "Input", CellChangeTimes->{3.627992683770735*^9}, CellLabel-> - "In[1491]:=",ExpressionUUID->"8714cb77-63af-49bd-8987-722049f040d7"] + "In[508]:=",ExpressionUUID->"8714cb77-63af-49bd-8987-722049f040d7"] }, CellGrouping->Manual, -WindowSize->{1920, 1090}, -WindowMargins->{{0, Automatic}, {Automatic, 55}}, +WindowSize->{1920, 962}, +WindowMargins->{{0, Automatic}, {-19, Automatic}}, FrontEndVersion->"12.0 for Linux x86 (64-bit) (April 8, 2019)", StyleDefinitions->"Default.nb" ] @@ -2063,78 +2535,81 @@ CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ -Cell[558, 20, 225, 4, 31, "Input",ExpressionUUID->"28aebd44-7a23-4603-b370-38149a649cc1"], -Cell[786, 26, 559, 13, 55, "Input",ExpressionUUID->"d5e95da8-5675-4df2-8ff6-af7b8fb219a1"], +Cell[558, 20, 224, 4, 31, "Input",ExpressionUUID->"28aebd44-7a23-4603-b370-38149a649cc1"], +Cell[785, 26, 558, 13, 55, "Input",ExpressionUUID->"d5e95da8-5675-4df2-8ff6-af7b8fb219a1"], Cell[CellGroupData[{ -Cell[1370, 43, 242, 5, 54, "Subtitle",ExpressionUUID->"addb9730-72b2-4859-8e4b-0e776f073328", +Cell[1368, 43, 242, 5, 54, "Subtitle",ExpressionUUID->"addb9730-72b2-4859-8e4b-0e776f073328", InitializationCell->True], -Cell[1615, 50, 969, 31, 47, "Input",ExpressionUUID->"78e5840d-381c-47a9-b9dd-90c3c4dacb03", +Cell[1613, 50, 968, 31, 47, "Input",ExpressionUUID->"78e5840d-381c-47a9-b9dd-90c3c4dacb03", InitializationCell->True], -Cell[2587, 83, 1659, 48, 47, "Input",ExpressionUUID->"66ac8851-0848-4866-8069-42c37f27b5de", +Cell[2584, 83, 1658, 48, 47, "Input",ExpressionUUID->"66ac8851-0848-4866-8069-42c37f27b5de", InitializationCell->True], -Cell[4249, 133, 949, 30, 71, "Input",ExpressionUUID->"a40aa98c-a7a2-4814-b63b-e7c90c9932a0", +Cell[4245, 133, 948, 30, 71, "Input",ExpressionUUID->"a40aa98c-a7a2-4814-b63b-e7c90c9932a0", InitializationCell->True], -Cell[5201, 165, 1657, 50, 47, "Input",ExpressionUUID->"ee9449fb-cd56-4179-b90c-f5e3bb0fdcdb", +Cell[5196, 165, 1656, 50, 47, "Input",ExpressionUUID->"ee9449fb-cd56-4179-b90c-f5e3bb0fdcdb", InitializationCell->True], -Cell[6861, 217, 978, 26, 47, "Input",ExpressionUUID->"b69052f0-f728-4bd6-9bf7-bae15aa76095", +Cell[6855, 217, 977, 26, 47, "Input",ExpressionUUID->"b69052f0-f728-4bd6-9bf7-bae15aa76095", InitializationCell->True], -Cell[7842, 245, 1350, 41, 71, "Input",ExpressionUUID->"905c9ad7-8258-45b1-b64f-2d576f63cf20", +Cell[7835, 245, 1349, 41, 71, "Input",ExpressionUUID->"905c9ad7-8258-45b1-b64f-2d576f63cf20", InitializationCell->True], -Cell[9195, 288, 2515, 66, 186, "Input",ExpressionUUID->"a7b9df83-8379-4a26-b658-cd16a2c680e3", +Cell[9187, 288, 2514, 66, 186, "Input",ExpressionUUID->"a7b9df83-8379-4a26-b658-cd16a2c680e3", InitializationCell->True] }, Open ]], -Cell[11725, 357, 188, 3, 99, "Title",ExpressionUUID->"243eeb2a-7eb6-46c5-afb4-9166e290b8da"], -Cell[11916, 362, 156, 3, 32, "Subsubtitle",ExpressionUUID->"934e8056-77ed-401a-af0c-38f7a1beea69"], -Cell[12075, 367, 423, 11, 31, "Input",ExpressionUUID->"89e76b07-ca4f-4879-a9de-3406cd562327"], -Cell[12501, 380, 1437, 39, 147, "Input",ExpressionUUID->"0f88cdc1-a39e-4d13-b528-8472e029b05f"], -Cell[13941, 421, 159, 3, 32, "Subsubtitle",ExpressionUUID->"a1d3915d-f613-4425-8a04-fe27c5187298"], -Cell[14103, 426, 8590, 218, 1136, "Input",ExpressionUUID->"33f47236-ad3c-4a61-8f93-8222aa6cc9fa"], -Cell[22696, 646, 4441, 128, 469, "Input",ExpressionUUID->"53a40cfc-f0e8-4e44-9f25-b052baa99c29"], -Cell[27140, 776, 443, 13, 31, "Input",ExpressionUUID->"be98cbcc-62a9-4b36-a592-7c1827bbba19"], -Cell[27586, 791, 1696, 49, 170, "Input",ExpressionUUID->"3db40cdd-aae8-4aed-bbcf-7b6c917acc34"], -Cell[29285, 842, 287, 5, 32, "Subsubtitle",ExpressionUUID->"3a22e419-d65c-4c9e-84c6-863e409e519a"], -Cell[29575, 849, 324, 6, 36, "Text",ExpressionUUID->"58ebbe4e-85bd-47cd-b927-8039f9c2d955"], -Cell[29902, 857, 494, 14, 31, "Input",ExpressionUUID->"e4cd07b0-b7a6-476f-a82d-1ad870ed93c3"], -Cell[30399, 873, 208, 4, 36, "Text",ExpressionUUID->"9ac0d911-0e84-4579-bcb9-2110f48ca902"], -Cell[30610, 879, 1678, 42, 78, "Input",ExpressionUUID->"9f81cfa6-a749-4450-bfb3-736066b50bce"], -Cell[32291, 923, 154, 3, 36, "Text",ExpressionUUID->"656d798c-a5c9-4cc6-a1dd-06c8dc6c6565"], -Cell[32448, 928, 1602, 45, 124, "Input",ExpressionUUID->"29b01d2f-83ef-4d5a-8a25-69d70c2e9207"], -Cell[34053, 975, 157, 3, 36, "Text",ExpressionUUID->"7aa4501a-e764-4f85-8410-73dc94387049"], -Cell[34213, 980, 1041, 23, 31, "Input",ExpressionUUID->"dbea6cef-0336-433e-92e3-cc59b4a69219"], -Cell[35257, 1005, 178, 3, 36, "Text",ExpressionUUID->"15e73123-e84e-4360-b55b-334ef918a821"], -Cell[35438, 1010, 1940, 48, 101, "Input",ExpressionUUID->"176642b9-ef21-428e-bda6-88b3064f0fe2"], -Cell[37381, 1060, 152, 3, 36, "Text",ExpressionUUID->"ac9144ba-14f4-4cb2-9d7c-1b84aa717d7b"], -Cell[37536, 1065, 668, 16, 55, "Input",ExpressionUUID->"f4931c36-9cb3-41d5-9636-f3fbcef428c9"], -Cell[38207, 1083, 154, 3, 36, "Text",ExpressionUUID->"57ce017d-559b-4d58-ba18-1e7631c436d9"], -Cell[38364, 1088, 408, 11, 55, "Input",ExpressionUUID->"63203ee0-9601-47b1-9606-b67b10ce9a46"], -Cell[38775, 1101, 156, 3, 36, "Text",ExpressionUUID->"4432b235-bb2b-4e9d-87f8-55bf93c648df"], -Cell[38934, 1106, 542, 13, 55, "Input",ExpressionUUID->"c73ee33c-6f07-4ea9-82e2-0f37fad73c8e"], -Cell[39479, 1121, 153, 3, 36, "Text",ExpressionUUID->"3b78e61b-a31c-43c6-949c-8ab46a558347"], -Cell[39635, 1126, 1516, 41, 101, "Input",ExpressionUUID->"7be4a0a1-b2c0-4d7b-b564-9f92dabf375f"], -Cell[41154, 1169, 154, 3, 36, "Text",ExpressionUUID->"78b600c8-17c9-43b2-8561-39fdff7b92e4"], -Cell[41311, 1174, 1027, 27, 78, "Input",ExpressionUUID->"4ce3e11d-b2d8-42df-94f3-f44671feb140"], -Cell[42341, 1203, 154, 3, 36, "Text",ExpressionUUID->"c302290e-b2df-4299-8d3e-f59d1fc850b6"], -Cell[42498, 1208, 648, 14, 55, "Input",ExpressionUUID->"1a28b43d-e9a2-4ebf-8251-f3ab2ddb7786"], -Cell[43149, 1224, 159, 3, 36, "Text",ExpressionUUID->"4ba37bc9-3ca4-4415-be72-e388f0dad47a"], -Cell[43311, 1229, 2069, 48, 55, "Input",ExpressionUUID->"fe419f0a-adf5-43af-9f08-7b8a7f19180b"], -Cell[45383, 1279, 1001, 17, 78, "Input",ExpressionUUID->"ff5f7d73-add6-4e24-9e55-7b15786660c6"], -Cell[46387, 1298, 2068, 54, 78, "Input",ExpressionUUID->"d17df8c1-9260-4a0c-8495-b5ef6f820848"], -Cell[48458, 1354, 510, 14, 31, "Input",ExpressionUUID->"8c91f72d-3f47-4547-a792-5e0813bcc352"], -Cell[48971, 1370, 204, 3, 32, "Subsubtitle",ExpressionUUID->"b92b1bb0-abe4-4170-8cfc-1e9dd8bc5679"], -Cell[49178, 1375, 957, 25, 101, "Input",ExpressionUUID->"dea35a84-3a0f-4600-a2f4-2ab045608d87"], -Cell[50138, 1402, 154, 3, 32, "Subsubtitle",ExpressionUUID->"bf1afef8-2e19-4e8e-9c26-8b9e596cd10c"], -Cell[50295, 1407, 207, 5, 31, "Input",ExpressionUUID->"c2f98c75-5faf-44c8-a958-147c2a660678"], -Cell[50505, 1414, 3710, 87, 193, "Input",ExpressionUUID->"716ee195-4767-4067-92df-43ed8da3bd15"], -Cell[54218, 1503, 3895, 118, 446, "Input",ExpressionUUID->"cdb0dbd5-e787-49a0-bb76-c4468b401cbc"], -Cell[58116, 1623, 244, 5, 31, "Input",ExpressionUUID->"41b82835-d8e1-446a-bec9-5cabfad38221"], -Cell[58363, 1630, 7228, 182, 607, "Input",ExpressionUUID->"cbb713d0-b847-42c0-9c5d-8772380d8dba"], -Cell[65594, 1814, 5611, 171, 722, "Input",ExpressionUUID->"1a2cbc4e-fbe6-4f7c-8741-b70e886cb2db"], +Cell[11716, 357, 188, 3, 99, "Title",ExpressionUUID->"243eeb2a-7eb6-46c5-afb4-9166e290b8da"], +Cell[11907, 362, 156, 3, 32, "Subsubtitle",ExpressionUUID->"934e8056-77ed-401a-af0c-38f7a1beea69"], +Cell[12066, 367, 422, 11, 31, "Input",ExpressionUUID->"89e76b07-ca4f-4879-a9de-3406cd562327"], +Cell[12491, 380, 1436, 39, 147, "Input",ExpressionUUID->"0f88cdc1-a39e-4d13-b528-8472e029b05f"], +Cell[13930, 421, 159, 3, 32, "Subsubtitle",ExpressionUUID->"a1d3915d-f613-4425-8a04-fe27c5187298"], +Cell[14092, 426, 8704, 221, 1136, "Input",ExpressionUUID->"33f47236-ad3c-4a61-8f93-8222aa6cc9fa"], +Cell[22799, 649, 4440, 128, 469, "Input",ExpressionUUID->"53a40cfc-f0e8-4e44-9f25-b052baa99c29"], +Cell[27242, 779, 442, 13, 31, "Input",ExpressionUUID->"be98cbcc-62a9-4b36-a592-7c1827bbba19"], +Cell[27687, 794, 1695, 49, 170, "Input",ExpressionUUID->"3db40cdd-aae8-4aed-bbcf-7b6c917acc34"], +Cell[29385, 845, 287, 5, 32, "Subsubtitle",ExpressionUUID->"3a22e419-d65c-4c9e-84c6-863e409e519a"], +Cell[29675, 852, 324, 6, 36, "Text",ExpressionUUID->"58ebbe4e-85bd-47cd-b927-8039f9c2d955"], +Cell[30002, 860, 493, 14, 31, "Input",ExpressionUUID->"e4cd07b0-b7a6-476f-a82d-1ad870ed93c3"], +Cell[30498, 876, 208, 4, 36, "Text",ExpressionUUID->"9ac0d911-0e84-4579-bcb9-2110f48ca902"], +Cell[30709, 882, 1789, 45, 78, "Input",ExpressionUUID->"9f81cfa6-a749-4450-bfb3-736066b50bce"], +Cell[32501, 929, 154, 3, 36, "Text",ExpressionUUID->"656d798c-a5c9-4cc6-a1dd-06c8dc6c6565"], +Cell[32658, 934, 1655, 45, 124, "Input",ExpressionUUID->"29b01d2f-83ef-4d5a-8a25-69d70c2e9207"], +Cell[34316, 981, 157, 3, 36, "Text",ExpressionUUID->"7aa4501a-e764-4f85-8410-73dc94387049"], +Cell[34476, 986, 1049, 22, 31, "Input",ExpressionUUID->"dbea6cef-0336-433e-92e3-cc59b4a69219"], +Cell[35528, 1010, 178, 3, 36, "Text",ExpressionUUID->"15e73123-e84e-4360-b55b-334ef918a821"], +Cell[35709, 1015, 1939, 48, 101, "Input",ExpressionUUID->"176642b9-ef21-428e-bda6-88b3064f0fe2"], +Cell[37651, 1065, 152, 3, 36, "Text",ExpressionUUID->"ac9144ba-14f4-4cb2-9d7c-1b84aa717d7b"], +Cell[37806, 1070, 667, 16, 55, "Input",ExpressionUUID->"f4931c36-9cb3-41d5-9636-f3fbcef428c9"], +Cell[38476, 1088, 154, 3, 36, "Text",ExpressionUUID->"57ce017d-559b-4d58-ba18-1e7631c436d9"], +Cell[38633, 1093, 411, 10, 55, "Input",ExpressionUUID->"63203ee0-9601-47b1-9606-b67b10ce9a46"], +Cell[39047, 1105, 156, 3, 36, "Text",ExpressionUUID->"4432b235-bb2b-4e9d-87f8-55bf93c648df"], +Cell[39206, 1110, 541, 13, 55, "Input",ExpressionUUID->"c73ee33c-6f07-4ea9-82e2-0f37fad73c8e"], +Cell[39750, 1125, 153, 3, 36, "Text",ExpressionUUID->"3b78e61b-a31c-43c6-949c-8ab46a558347"], +Cell[39906, 1130, 1563, 41, 101, "Input",ExpressionUUID->"7be4a0a1-b2c0-4d7b-b564-9f92dabf375f"], +Cell[41472, 1173, 154, 3, 36, "Text",ExpressionUUID->"78b600c8-17c9-43b2-8561-39fdff7b92e4"], +Cell[41629, 1178, 1026, 27, 78, "Input",ExpressionUUID->"4ce3e11d-b2d8-42df-94f3-f44671feb140"], +Cell[42658, 1207, 154, 3, 36, "Text",ExpressionUUID->"c302290e-b2df-4299-8d3e-f59d1fc850b6"], +Cell[42815, 1212, 697, 15, 55, "Input",ExpressionUUID->"1a28b43d-e9a2-4ebf-8251-f3ab2ddb7786"], +Cell[43515, 1229, 159, 3, 36, "Text",ExpressionUUID->"4ba37bc9-3ca4-4415-be72-e388f0dad47a"], +Cell[43677, 1234, 2068, 48, 55, "Input",ExpressionUUID->"fe419f0a-adf5-43af-9f08-7b8a7f19180b"], +Cell[45748, 1284, 1000, 17, 78, "Input",ExpressionUUID->"ff5f7d73-add6-4e24-9e55-7b15786660c6"], +Cell[46751, 1303, 2067, 54, 78, "Input",ExpressionUUID->"d17df8c1-9260-4a0c-8495-b5ef6f820848"], +Cell[CellGroupData[{ +Cell[48843, 1361, 587, 14, 55, "Input",ExpressionUUID->"8c91f72d-3f47-4547-a792-5e0813bcc352"], +Cell[49433, 1377, 17151, 433, 237, "Output",ExpressionUUID->"b83a1de5-09cb-4f64-9389-31f9cba69466"] +}, Open ]], +Cell[66599, 1813, 204, 3, 32, "Subsubtitle",ExpressionUUID->"b92b1bb0-abe4-4170-8cfc-1e9dd8bc5679"], +Cell[66806, 1818, 956, 25, 101, "Input",ExpressionUUID->"dea35a84-3a0f-4600-a2f4-2ab045608d87"], +Cell[67765, 1845, 154, 3, 32, "Subsubtitle",ExpressionUUID->"bf1afef8-2e19-4e8e-9c26-8b9e596cd10c"], +Cell[67922, 1850, 206, 5, 31, "Input",ExpressionUUID->"c2f98c75-5faf-44c8-a958-147c2a660678"], +Cell[68131, 1857, 3709, 87, 193, "Input",ExpressionUUID->"716ee195-4767-4067-92df-43ed8da3bd15"], +Cell[71843, 1946, 3894, 118, 446, "Input",ExpressionUUID->"cdb0dbd5-e787-49a0-bb76-c4468b401cbc"], +Cell[75740, 2066, 243, 5, 31, "Input",ExpressionUUID->"41b82835-d8e1-446a-bec9-5cabfad38221"], +Cell[75986, 2073, 7227, 182, 607, "Input",ExpressionUUID->"cbb713d0-b847-42c0-9c5d-8772380d8dba"], +Cell[83216, 2257, 6365, 197, 814, "Input",ExpressionUUID->"1a2cbc4e-fbe6-4f7c-8741-b70e886cb2db"], Cell[CellGroupData[{ -Cell[71230, 1989, 428, 8, 31, "Input",ExpressionUUID->"92a89388-7fc0-4900-84db-870a39602d88"], -Cell[71661, 1999, 2166, 32, 35, "Output",ExpressionUUID->"ded51bd1-847b-4bb1-9511-2c586bf764f5"] +Cell[89606, 2458, 427, 8, 31, "Input",ExpressionUUID->"92a89388-7fc0-4900-84db-870a39602d88"], +Cell[90036, 2468, 2398, 35, 35, "Output",ExpressionUUID->"028c7624-217f-4966-9da9-ab7c1dadc3e2"] }, Open ]], -Cell[73842, 2034, 276, 7, 55, "Input",ExpressionUUID->"aaff244c-3ad5-4faf-aeb3-7cdbaa9f50f5"], -Cell[74121, 2043, 153, 3, 64, "Input",ExpressionUUID->"8714cb77-63af-49bd-8987-722049f040d7"] +Cell[92449, 2506, 275, 7, 55, "Input",ExpressionUUID->"aaff244c-3ad5-4faf-aeb3-7cdbaa9f50f5"], +Cell[92727, 2515, 152, 3, 64, "Input",ExpressionUUID->"8714cb77-63af-49bd-8987-722049f040d7"] } ] *) diff --git a/_development/Matlab/PluginViewer/plugins/EuclideanFeaturesStats.m b/_development/Matlab/PluginViewer/plugins/EuclideanFeaturesStats.m index a071f91..36b36a2 100644 --- a/_development/Matlab/PluginViewer/plugins/EuclideanFeaturesStats.m +++ b/_development/Matlab/PluginViewer/plugins/EuclideanFeaturesStats.m @@ -29,7 +29,7 @@ function EuclideanFeatures( area, globalConfig, pluginConfig ) title('img obs residuals (px)') errNorm = sqrt(sum(err.^2,2)); -hist(errNorm, max(errNorm)/0.1 ); +hist(errNorm, 10 ); legend(sprintf('N = %d, mean = %.2f', length(errNorm), mean(errNorm))); diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_Err.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_Err.cppready index c1b0c99..00a4db8 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_Err.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_Err.cppready @@ -16,208 +16,194 @@ double tmp14 = std::pow(tmp3,2); double tmp15 = -tmp14; double tmp16 = -(tmp2*tmp3); double tmp17 = tmp5 + tmp16; -double tmp18 = tmp2*tmp0; -double tmp19 = tmp1*tmp3; -double tmp20 = tmp18 + tmp19; -double tmp21 = -tmp12; -double tmp22 = tmp11 + tmp21 + tmp13 + tmp15; -double tmp23 = x(9+_OFF); -double tmp24 = -tmp13; -double tmp25 = airDensity(2+_OFF); -double tmp26 = 1/tmp25; -double tmp27 = x(8+_OFF); -double tmp28 = -tmp23; -double tmp29 = tmp2*tmp3; -double tmp30 = tmp5 + tmp29; -double tmp31 = -2*tmp4*tmp30; -double tmp32 = -2*tmp6*tmp9; -double tmp33 = tmp11 + tmp12 + tmp24 + tmp15; -double tmp34 = -(tmp10*tmp33); -double tmp35 = tmp31 + tmp32 + tmp34 + tmp27; -double tmp36 = std::pow(tmp35,2); -double tmp37 = tmp2*tmp1; -double tmp38 = tmp37 + tmp8; -double tmp39 = -(tmp2*tmp0); -double tmp40 = tmp39 + tmp19; -double tmp41 = tmp11 + tmp21 + tmp24 + tmp14; -double tmp42 = x(10+_OFF); -double tmp43 = -2*tmp10*tmp17; -double tmp44 = -2*tmp6*tmp20; -double tmp45 = -(tmp4*tmp22); -double tmp46 = tmp43 + tmp44 + tmp45 + tmp23; -double tmp47 = std::pow(tmp46,2); -double tmp48 = -2*tmp10*tmp38; -double tmp49 = -2*tmp4*tmp40; -double tmp50 = -(tmp6*tmp41); -double tmp51 = tmp48 + tmp49 + tmp50 + tmp42; -double tmp52 = std::pow(tmp51,2); -double tmp53 = tmp36 + tmp47 + tmp52; -double tmp54 = airDensity(3+_OFF); -double tmp55 = cp(2+_OFF); -double tmp56 = 2*tmp10*tmp38; -double tmp57 = 2*tmp4*tmp40; -double tmp58 = tmp6*tmp41; -double tmp59 = -tmp42; -double tmp60 = tmp56 + tmp57 + tmp58 + tmp59; -double tmp61 = airDensity(1+_OFF); -double tmp62 = x(3+_OFF); -double tmp63 = tmp61 + tmp62; -double tmp64 = -0.006500000000000001*tmp26*tmp63; -double tmp65 = 1 + tmp64; -double tmp66 = std::pow(tmp65,4.2561); -double tmp67 = std::pow(tmp60,2); -double tmp68 = tmp36 + tmp67; -double tmp69 = 1/std::sqrt(tmp68); -double tmp70 = std::atan2(tmp60,tmp35); -double tmp71 = 2*tmp10*tmp17; -double tmp72 = 2*tmp6*tmp20; -double tmp73 = tmp4*tmp22; -double tmp74 = tmp71 + tmp72 + tmp73 + tmp28; -double tmp75 = 1/std::sqrt(tmp53); -double tmp76 = tmp74*tmp75; -double tmp77 = std::asin(tmp76); -double tmp78 = -(tmp10*tmp11); -double tmp79 = -(tmp10*tmp12); -double tmp80 = 2*tmp6*tmp2*tmp1; -double tmp81 = -2*tmp4*tmp0*tmp1; -double tmp82 = tmp10*tmp13; -double tmp83 = -2*tmp4*tmp2*tmp3; -double tmp84 = -2*tmp6*tmp0*tmp3; -double tmp85 = tmp10*tmp14; -double tmp86 = tmp78 + tmp79 + tmp80 + tmp81 + tmp82 + tmp83 + tmp84 + tmp85 + tmp27; -double tmp87 = cp(1+_OFF); -double tmp88 = std::sqrt(tmp53); -double tmp89 = std::pow(tmp87,2); -double tmp90 = z(1+_OFF); -double tmp91 = gravity(1+_OFF); -double tmp92 = cp(4+_OFF); -double tmp93 = 1/tmp92; -double tmp94 = fDrag(1+_OFF); -double tmp95 = fDrag(2+_OFF); -double tmp96 = tmp70*tmp95; -double tmp97 = std::pow(tmp70,2); -double tmp98 = fDrag(3+_OFF); -double tmp99 = tmp97*tmp98; -double tmp100 = std::pow(tmp77,2); -double tmp101 = fDrag(4+_OFF); -double tmp102 = tmp100*tmp101; -double tmp103 = tmp94 + tmp96 + tmp99 + tmp102; -double tmp104 = fLat(1+_OFF); -double tmp105 = std::pow(tmp74,2); -double tmp106 = 1/tmp53; -double tmp107 = -(tmp105*tmp106); -double tmp108 = 1 + tmp107; -double tmp109 = std::sqrt(tmp108); -double tmp110 = tmp4*tmp11; -double tmp111 = 2*tmp6*tmp2*tmp0; -double tmp112 = -(tmp4*tmp12); -double tmp113 = 2*tmp10*tmp0*tmp1; -double tmp114 = tmp4*tmp13; -double tmp115 = -2*tmp10*tmp2*tmp3; -double tmp116 = 2*tmp6*tmp1*tmp3; -double tmp117 = -(tmp4*tmp14); -double tmp118 = tmp110 + tmp111 + tmp112 + tmp113 + tmp114 + tmp115 + tmp116 + tmp117 + tmp28; -double tmp119 = fLift(1+_OFF); -double tmp120 = fLift(2+_OFF); -double tmp121 = tmp70*tmp120; -double tmp122 = tmp119 + tmp121; -double tmp123 = -(tmp6*tmp11); -double tmp124 = 2*tmp4*tmp2*tmp0; -double tmp125 = tmp6*tmp12; -double tmp126 = -2*tmp10*tmp2*tmp1; -double tmp127 = tmp6*tmp13; -double tmp128 = -2*tmp10*tmp0*tmp3; -double tmp129 = -2*tmp4*tmp1*tmp3; -double tmp130 = -(tmp6*tmp14); -double tmp131 = tmp123 + tmp124 + tmp125 + tmp126 + tmp127 + tmp128 + tmp129 + tmp130 + tmp42; -double tmp132 = ibd(2+_OFF); -double tmp133 = ibd(3+_OFF); -double tmp134 = ibod(1+_OFF); -double tmp135 = ibod(2+_OFF); -double tmp136 = ibod(3+_OFF); -double tmp137 = ibd(1+_OFF); -double tmp138 = std::pow(tmp136,2); -double tmp139 = x(12+_OFF); -double tmp140 = x(11+_OFF); -double tmp141 = x(13+_OFF); -double tmp142 = cp(3+_OFF); -double tmp143 = tmp137*tmp132*tmp133; -double tmp144 = std::pow(tmp134,2); -double tmp145 = -(tmp132*tmp144); -double tmp146 = std::pow(tmp135,2); -double tmp147 = -(tmp133*tmp146); -double tmp148 = 2*tmp134*tmp135*tmp136; -double tmp149 = -(tmp137*tmp138); -double tmp150 = tmp143 + tmp145 + tmp147 + tmp148 + tmp149; -double tmp151 = 1/tmp150; -double tmp152 = std::pow(tmp141,2); -double tmp153 = cBar(1+_OFF); -double tmp154 = std::pow(tmp140,2); -double tmp155 = std::pow(tmp139,2); -double tmp156 = -(tmp133*tmp135); -double tmp157 = tmp134*tmp136; -double tmp158 = tmp156 + tmp157; -double tmp159 = -(tmp134*tmp140*tmp139); -double tmp160 = -(tmp136*tmp155); -double tmp161 = tmp135*tmp140*tmp141; -double tmp162 = tmp132*tmp139*tmp141; -double tmp163 = -(tmp133*tmp139*tmp141); -double tmp164 = tmp136*tmp152; -double tmp165 = mRoll(2+_OFF); -double tmp166 = tmp77*tmp165; -double tmp167 = mRoll(3+_OFF); -double tmp168 = (tmp142*tmp167*tmp75*tmp140)/2.; -double tmp169 = mRoll(4+_OFF); -double tmp170 = -(tmp142*tmp169*tmp75*tmp141)/2.; -double tmp171 = mRoll(1+_OFF); -double tmp172 = z(2+_OFF); -double tmp173 = -(tmp171*tmp172); -double tmp174 = tmp166 + tmp168 + tmp170 + tmp173; -double tmp175 = 0.001740341106856944*tmp26*tmp54*tmp55*tmp142*tmp66*tmp53*tmp174; -double tmp176 = tmp159 + tmp160 + tmp161 + tmp162 + tmp163 + tmp164 + tmp175; -double tmp177 = tmp134*tmp154; -double tmp178 = tmp136*tmp140*tmp139; -double tmp179 = -(tmp137*tmp140*tmp141); -double tmp180 = tmp133*tmp140*tmp141; -double tmp181 = -(tmp135*tmp139*tmp141); -double tmp182 = -(tmp134*tmp152); -double tmp183 = mPitch(1+_OFF); -double tmp184 = -tmp183; -double tmp185 = mPitch(3+_OFF); -double tmp186 = -(tmp70*tmp185); -double tmp187 = mPitch(4+_OFF); -double tmp188 = (tmp153*tmp187*tmp75*tmp139)/2.; -double tmp189 = mPitch(2+_OFF); -double tmp190 = z(3+_OFF); -double tmp191 = -(tmp189*tmp190); -double tmp192 = tmp184 + tmp186 + tmp188 + tmp191; -double tmp193 = 0.001740341106856944*tmp26*tmp54*tmp153*tmp55*tmp66*tmp53*tmp192; -double tmp194 = tmp177 + tmp178 + tmp179 + tmp180 + tmp181 + tmp182 + tmp193; -double tmp195 = -(tmp135*tmp154); -double tmp196 = tmp137*tmp140*tmp139; -double tmp197 = -(tmp132*tmp140*tmp139); -double tmp198 = tmp135*tmp155; -double tmp199 = -(tmp136*tmp140*tmp141); -double tmp200 = tmp134*tmp139*tmp141; -double tmp201 = mYaw(2+_OFF); -double tmp202 = -(tmp77*tmp201); -double tmp203 = mYaw(3+_OFF); -double tmp204 = (tmp142*tmp203*tmp75*tmp141)/2.; -double tmp205 = mYaw(1+_OFF); -double tmp206 = z(4+_OFF); -double tmp207 = tmp205*tmp206; -double tmp208 = tmp202 + tmp204 + tmp207; -double tmp209 = 0.001740341106856944*tmp26*tmp54*tmp55*tmp142*tmp66*tmp53*tmp208; -double tmp210 = tmp195 + tmp196 + tmp197 + tmp198 + tmp199 + tmp200 + tmp209; -double tmp211 = -(tmp132*tmp134); -double tmp212 = tmp135*tmp136; -double tmp213 = tmp211 + tmp212; -double tmp214 = tmp134*tmp135; -double tmp215 = -(tmp137*tmp136); -double tmp216 = tmp214 + tmp215; -err(1+_OFF) = 2*tmp91*tmp9 + x(14+_OFF) - tmp93*(-0.001740341106856944*tmp26*tmp54*tmp77*tmp55*tmp104*tmp66*tmp86*tmp118*tmp69*tmp88 - 0.001740341106856944*tmp26*tmp54*tmp55*tmp122*tmp66*tmp69*(tmp6*tmp11 - 2*tmp4*tmp2*tmp0 - tmp6*tmp12 + 2*tmp10*tmp2*tmp1 - tmp6*tmp13 + 2*tmp10*tmp0*tmp3 + 2*tmp4*tmp1*tmp3 + tmp6*tmp14 + tmp59)*tmp53 + 0.001740341106856944*tmp26*tmp54*tmp55*tmp103*tmp66*tmp86*tmp69*tmp53*tmp109 + 0.003480682213713888*tmp26*tmp54*tmp89*tmp66*((fThrust(3+_OFF)*tmp53)/std::pow(M_PI,2) + (tmp87*fThrust(2+_OFF)*tmp88*tmp90)/M_PI + tmp89*fThrust(1+_OFF)*std::pow(tmp90,2))); -err(2+_OFF) = 2*tmp91*tmp20 - tmp93*(0. + 0.001740341106856944*tmp26*tmp54*tmp55*tmp103*tmp66*(-(tmp4*tmp11) - 2*tmp6*tmp2*tmp0 + tmp4*tmp12 - 2*tmp10*tmp0*tmp1 - tmp4*tmp13 + 2*tmp10*tmp2*tmp3 - 2*tmp6*tmp1*tmp3 + tmp4*tmp14 + tmp23)*tmp88 - 0.001740341106856944*tmp26*tmp54*tmp77*tmp55*tmp104*tmp66*tmp53*tmp109) + x(15+_OFF); -err(3+_OFF) = tmp91*tmp41 - tmp93*(-0.001740341106856944*tmp26*tmp54*tmp77*tmp55*tmp104*tmp66*tmp118*tmp69*tmp131*tmp88 - 0.001740341106856944*tmp26*tmp54*tmp55*tmp122*tmp66*tmp86*tmp69*tmp53 + 0.001740341106856944*tmp26*tmp54*tmp55*tmp103*tmp66*tmp69*tmp131*tmp53*tmp109) + x(16+_OFF); -err(4+_OFF) = x(17+_OFF) - (tmp132*tmp133 - tmp138)*tmp151*tmp176 - tmp158*tmp151*tmp194 - tmp213*tmp151*tmp210; -err(5+_OFF) = x(18+_OFF) - tmp158*tmp151*tmp176 - (tmp137*tmp133 - tmp144)*tmp151*tmp194 - tmp216*tmp151*tmp210; -err(6+_OFF) = x(19+_OFF) - tmp213*tmp151*tmp176 - tmp216*tmp151*tmp194 - (tmp137*tmp132 - tmp146)*tmp151*tmp210; +double tmp18 = -2*tmp10*tmp17; +double tmp19 = tmp2*tmp0; +double tmp20 = tmp1*tmp3; +double tmp21 = tmp19 + tmp20; +double tmp22 = -2*tmp6*tmp21; +double tmp23 = -tmp12; +double tmp24 = tmp11 + tmp23 + tmp13 + tmp15; +double tmp25 = -(tmp4*tmp24); +double tmp26 = x(9+_OFF); +double tmp27 = tmp18 + tmp22 + tmp25 + tmp26; +double tmp28 = -tmp13; +double tmp29 = x(8+_OFF); +double tmp30 = tmp2*tmp3; +double tmp31 = tmp5 + tmp30; +double tmp32 = -2*tmp4*tmp31; +double tmp33 = -2*tmp6*tmp9; +double tmp34 = tmp11 + tmp12 + tmp28 + tmp15; +double tmp35 = -(tmp10*tmp34); +double tmp36 = tmp32 + tmp33 + tmp35 + tmp29; +double tmp37 = std::pow(tmp36,2); +double tmp38 = tmp2*tmp1; +double tmp39 = tmp38 + tmp8; +double tmp40 = -(tmp2*tmp0); +double tmp41 = tmp40 + tmp20; +double tmp42 = tmp11 + tmp23 + tmp28 + tmp14; +double tmp43 = x(10+_OFF); +double tmp44 = std::pow(tmp27,2); +double tmp45 = -2*tmp10*tmp39; +double tmp46 = -2*tmp4*tmp41; +double tmp47 = -(tmp6*tmp42); +double tmp48 = tmp45 + tmp46 + tmp47 + tmp43; +double tmp49 = std::pow(tmp48,2); +double tmp50 = tmp37 + tmp44 + tmp49; +double tmp51 = cp(2+_OFF); +double tmp52 = 2*tmp10*tmp39; +double tmp53 = 2*tmp4*tmp41; +double tmp54 = tmp6*tmp42; +double tmp55 = -tmp43; +double tmp56 = tmp52 + tmp53 + tmp54 + tmp55; +double tmp57 = std::pow(tmp56,2); +double tmp58 = tmp37 + tmp57; +double tmp59 = 1/std::sqrt(tmp58); +double tmp60 = std::atan2(tmp56,tmp36); +double tmp61 = 1/std::sqrt(tmp50); +double tmp62 = tmp27*tmp61; +double tmp63 = std::asin(tmp62); +double tmp64 = -(tmp10*tmp11); +double tmp65 = -(tmp10*tmp12); +double tmp66 = 2*tmp6*tmp2*tmp1; +double tmp67 = -2*tmp4*tmp0*tmp1; +double tmp68 = tmp10*tmp13; +double tmp69 = -2*tmp4*tmp2*tmp3; +double tmp70 = -2*tmp6*tmp0*tmp3; +double tmp71 = tmp10*tmp14; +double tmp72 = tmp64 + tmp65 + tmp66 + tmp67 + tmp68 + tmp69 + tmp70 + tmp71 + tmp29; +double tmp73 = cp(1+_OFF); +double tmp74 = std::sqrt(tmp50); +double tmp75 = std::pow(tmp73,2); +double tmp76 = z(1+_OFF); +double tmp77 = gravity(1+_OFF); +double tmp78 = cp(4+_OFF); +double tmp79 = 1/tmp78; +double tmp80 = fDrag(1+_OFF); +double tmp81 = fDrag(2+_OFF); +double tmp82 = tmp60*tmp81; +double tmp83 = std::pow(tmp60,2); +double tmp84 = fDrag(3+_OFF); +double tmp85 = tmp83*tmp84; +double tmp86 = std::pow(tmp63,2); +double tmp87 = fDrag(4+_OFF); +double tmp88 = tmp86*tmp87; +double tmp89 = tmp80 + tmp82 + tmp85 + tmp88; +double tmp90 = fLat(1+_OFF); +double tmp91 = 1/tmp50; +double tmp92 = -(tmp44*tmp91); +double tmp93 = 1 + tmp92; +double tmp94 = std::sqrt(tmp93); +double tmp95 = tmp4*tmp11; +double tmp96 = 2*tmp6*tmp2*tmp0; +double tmp97 = -(tmp4*tmp12); +double tmp98 = 2*tmp10*tmp0*tmp1; +double tmp99 = tmp4*tmp13; +double tmp100 = -2*tmp10*tmp2*tmp3; +double tmp101 = 2*tmp6*tmp1*tmp3; +double tmp102 = -(tmp4*tmp14); +double tmp103 = -tmp26; +double tmp104 = tmp95 + tmp96 + tmp97 + tmp98 + tmp99 + tmp100 + tmp101 + tmp102 + tmp103; +double tmp105 = fLift(1+_OFF); +double tmp106 = fLift(2+_OFF); +double tmp107 = tmp60*tmp106; +double tmp108 = tmp105 + tmp107; +double tmp109 = -(tmp6*tmp11); +double tmp110 = 2*tmp4*tmp2*tmp0; +double tmp111 = tmp6*tmp12; +double tmp112 = -2*tmp10*tmp2*tmp1; +double tmp113 = tmp6*tmp13; +double tmp114 = -2*tmp10*tmp0*tmp3; +double tmp115 = -2*tmp4*tmp1*tmp3; +double tmp116 = -(tmp6*tmp14); +double tmp117 = tmp109 + tmp110 + tmp111 + tmp112 + tmp113 + tmp114 + tmp115 + tmp116 + tmp43; +double tmp118 = ibd(2+_OFF); +double tmp119 = ibd(3+_OFF); +double tmp120 = ibod(1+_OFF); +double tmp121 = ibod(2+_OFF); +double tmp122 = ibod(3+_OFF); +double tmp123 = ibd(1+_OFF); +double tmp124 = std::pow(tmp122,2); +double tmp125 = x(12+_OFF); +double tmp126 = x(11+_OFF); +double tmp127 = x(13+_OFF); +double tmp128 = cp(3+_OFF); +double tmp129 = tmp123*tmp118*tmp119; +double tmp130 = std::pow(tmp120,2); +double tmp131 = -(tmp118*tmp130); +double tmp132 = std::pow(tmp121,2); +double tmp133 = -(tmp119*tmp132); +double tmp134 = 2*tmp120*tmp121*tmp122; +double tmp135 = -(tmp123*tmp124); +double tmp136 = tmp129 + tmp131 + tmp133 + tmp134 + tmp135; +double tmp137 = 1/tmp136; +double tmp138 = std::pow(tmp127,2); +double tmp139 = cBar(1+_OFF); +double tmp140 = std::pow(tmp126,2); +double tmp141 = std::pow(tmp125,2); +double tmp142 = -(tmp119*tmp121); +double tmp143 = tmp120*tmp122; +double tmp144 = tmp142 + tmp143; +double tmp145 = -(tmp120*tmp126*tmp125); +double tmp146 = -(tmp122*tmp141); +double tmp147 = tmp121*tmp126*tmp127; +double tmp148 = tmp118*tmp125*tmp127; +double tmp149 = -(tmp119*tmp125*tmp127); +double tmp150 = tmp122*tmp138; +double tmp151 = mRoll(2+_OFF); +double tmp152 = -(tmp63*tmp151); +double tmp153 = mRoll(3+_OFF); +double tmp154 = (tmp128*tmp153*tmp61*tmp126)/2.; +double tmp155 = mRoll(4+_OFF); +double tmp156 = -(tmp128*tmp155*tmp61*tmp127)/2.; +double tmp157 = mRoll(1+_OFF); +double tmp158 = z(2+_OFF); +double tmp159 = -(tmp157*tmp158); +double tmp160 = tmp152 + tmp154 + tmp156 + tmp159; +double tmp161 = 0.5*tmp51*tmp128*tmp50*tmp160; +double tmp162 = tmp145 + tmp146 + tmp147 + tmp148 + tmp149 + tmp150 + tmp161; +double tmp163 = tmp120*tmp140; +double tmp164 = tmp122*tmp126*tmp125; +double tmp165 = -(tmp123*tmp126*tmp127); +double tmp166 = tmp119*tmp126*tmp127; +double tmp167 = -(tmp121*tmp125*tmp127); +double tmp168 = -(tmp120*tmp138); +double tmp169 = mPitch(1+_OFF); +double tmp170 = -tmp169; +double tmp171 = mPitch(3+_OFF); +double tmp172 = -(tmp60*tmp171); +double tmp173 = mPitch(4+_OFF); +double tmp174 = (tmp139*tmp173*tmp61*tmp125)/2.; +double tmp175 = mPitch(2+_OFF); +double tmp176 = z(3+_OFF); +double tmp177 = -(tmp175*tmp176); +double tmp178 = tmp170 + tmp172 + tmp174 + tmp177; +double tmp179 = 0.5*tmp139*tmp51*tmp50*tmp178; +double tmp180 = tmp163 + tmp164 + tmp165 + tmp166 + tmp167 + tmp168 + tmp179; +double tmp181 = -(tmp121*tmp140); +double tmp182 = tmp123*tmp126*tmp125; +double tmp183 = -(tmp118*tmp126*tmp125); +double tmp184 = tmp121*tmp141; +double tmp185 = -(tmp122*tmp126*tmp127); +double tmp186 = tmp120*tmp125*tmp127; +double tmp187 = mYaw(2+_OFF); +double tmp188 = tmp63*tmp187; +double tmp189 = mYaw(3+_OFF); +double tmp190 = (tmp128*tmp189*tmp61*tmp127)/2.; +double tmp191 = mYaw(1+_OFF); +double tmp192 = z(4+_OFF); +double tmp193 = tmp191*tmp192; +double tmp194 = tmp188 + tmp190 + tmp193; +double tmp195 = 0.5*tmp51*tmp128*tmp50*tmp194; +double tmp196 = tmp181 + tmp182 + tmp183 + tmp184 + tmp185 + tmp186 + tmp195; +double tmp197 = -(tmp118*tmp120); +double tmp198 = tmp121*tmp122; +double tmp199 = tmp197 + tmp198; +double tmp200 = tmp120*tmp121; +double tmp201 = -(tmp123*tmp122); +double tmp202 = tmp200 + tmp201; +err(1+_OFF) = 2*tmp77*tmp9 + x(14+_OFF) - tmp79*(0.5*tmp63*tmp51*tmp90*tmp72*tmp104*tmp59*tmp74 - 0.5*tmp51*tmp108*tmp59*(tmp6*tmp11 - 2*tmp4*tmp2*tmp0 - tmp6*tmp12 + 2*tmp10*tmp2*tmp1 - tmp6*tmp13 + 2*tmp10*tmp0*tmp3 + 2*tmp4*tmp1*tmp3 + tmp6*tmp14 + tmp55)*tmp50 + 0.5*tmp51*tmp89*tmp72*tmp59*tmp50*tmp94 + 1.*tmp75*((fThrust(3+_OFF)*tmp50)/std::pow(M_PI,2) + (tmp73*fThrust(2+_OFF)*tmp74*tmp76)/M_PI + tmp75*fThrust(1+_OFF)*std::pow(tmp76,2))); +err(2+_OFF) = 2*tmp77*tmp21 - tmp79*(0. + 0.5*tmp51*tmp89*(-(tmp4*tmp11) - 2*tmp6*tmp2*tmp0 + tmp4*tmp12 - 2*tmp10*tmp0*tmp1 - tmp4*tmp13 + 2*tmp10*tmp2*tmp3 - 2*tmp6*tmp1*tmp3 + tmp4*tmp14 + tmp26)*tmp74 + 0.5*tmp63*tmp51*tmp90*tmp50*tmp94) + x(15+_OFF); +err(3+_OFF) = tmp77*tmp42 - tmp79*(0.5*tmp63*tmp51*tmp90*tmp104*tmp59*tmp117*tmp74 - 0.5*tmp51*tmp108*tmp72*tmp59*tmp50 + 0.5*tmp51*tmp89*tmp59*tmp117*tmp50*tmp94) + x(16+_OFF); +err(4+_OFF) = x(17+_OFF) - (tmp118*tmp119 - tmp124)*tmp137*tmp162 - tmp144*tmp137*tmp180 - tmp199*tmp137*tmp196; +err(5+_OFF) = x(18+_OFF) - tmp144*tmp137*tmp162 - (tmp123*tmp119 - tmp130)*tmp137*tmp180 - tmp202*tmp137*tmp196; +err(6+_OFF) = x(19+_OFF) - tmp199*tmp137*tmp162 - tmp202*tmp137*tmp180 - (tmp123*tmp118 - tmp132)*tmp137*tmp196; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrAirDensity.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrAirDensity.cppready index bf87fed..5b3af21 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrAirDensity.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrAirDensity.cppready @@ -1,256 +1,18 @@ -double tmp0 = x(4+_OFF); -double tmp1 = x(5+_OFF); -double tmp2 = x(6+_OFF); -double tmp3 = x(7+_OFF); -double tmp4 = wind(2+_OFF); -double tmp5 = tmp1*tmp2; -double tmp6 = wind(3+_OFF); -double tmp7 = wind(1+_OFF); -double tmp8 = std::pow(tmp0,2); -double tmp9 = std::pow(tmp1,2); -double tmp10 = std::pow(tmp2,2); -double tmp11 = std::pow(tmp3,2); -double tmp12 = -tmp11; -double tmp13 = -(tmp0*tmp3); -double tmp14 = tmp5 + tmp13; -double tmp15 = tmp0*tmp1; -double tmp16 = tmp2*tmp3; -double tmp17 = tmp15 + tmp16; -double tmp18 = -tmp9; -double tmp19 = tmp8 + tmp18 + tmp10 + tmp12; -double tmp20 = x(9+_OFF); -double tmp21 = tmp1*tmp3; -double tmp22 = -tmp10; -double tmp23 = airDensity(2+_OFF); -double tmp24 = x(8+_OFF); -double tmp25 = -tmp20; -double tmp26 = tmp0*tmp3; -double tmp27 = tmp5 + tmp26; -double tmp28 = -2*tmp4*tmp27; -double tmp29 = -(tmp0*tmp2); -double tmp30 = tmp29 + tmp21; -double tmp31 = -2*tmp6*tmp30; -double tmp32 = tmp8 + tmp9 + tmp22 + tmp12; -double tmp33 = -(tmp7*tmp32); -double tmp34 = tmp28 + tmp31 + tmp33 + tmp24; -double tmp35 = std::pow(tmp34,2); -double tmp36 = tmp0*tmp2; -double tmp37 = tmp36 + tmp21; -double tmp38 = -(tmp0*tmp1); -double tmp39 = tmp38 + tmp16; -double tmp40 = tmp8 + tmp18 + tmp22 + tmp11; -double tmp41 = x(10+_OFF); -double tmp42 = -2*tmp7*tmp14; -double tmp43 = -2*tmp6*tmp17; -double tmp44 = -(tmp4*tmp19); -double tmp45 = tmp42 + tmp43 + tmp44 + tmp20; -double tmp46 = std::pow(tmp45,2); -double tmp47 = -2*tmp7*tmp37; -double tmp48 = -2*tmp4*tmp39; -double tmp49 = -(tmp6*tmp40); -double tmp50 = tmp47 + tmp48 + tmp49 + tmp41; -double tmp51 = std::pow(tmp50,2); -double tmp52 = tmp35 + tmp46 + tmp51; -double tmp53 = std::pow(tmp23,-2); -double tmp54 = airDensity(3+_OFF); -double tmp55 = cp(2+_OFF); -double tmp56 = 2*tmp7*tmp37; -double tmp57 = 2*tmp4*tmp39; -double tmp58 = tmp6*tmp40; -double tmp59 = -tmp41; -double tmp60 = tmp56 + tmp57 + tmp58 + tmp59; -double tmp61 = 1/tmp23; -double tmp62 = airDensity(1+_OFF); -double tmp63 = x(3+_OFF); -double tmp64 = tmp62 + tmp63; -double tmp65 = -0.006500000000000001*tmp61*tmp64; -double tmp66 = 1 + tmp65; -double tmp67 = std::pow(tmp66,3.2561); -double tmp68 = std::pow(tmp60,2); -double tmp69 = tmp35 + tmp68; -double tmp70 = 1/std::sqrt(tmp69); -double tmp71 = std::atan2(tmp60,tmp34); -double tmp72 = 2*tmp7*tmp14; -double tmp73 = 2*tmp6*tmp17; -double tmp74 = tmp4*tmp19; -double tmp75 = tmp72 + tmp73 + tmp74 + tmp25; -double tmp76 = 1/std::sqrt(tmp52); -double tmp77 = tmp75*tmp76; -double tmp78 = std::asin(tmp77); -double tmp79 = -(tmp7*tmp8); -double tmp80 = -(tmp7*tmp9); -double tmp81 = 2*tmp6*tmp0*tmp2; -double tmp82 = -2*tmp4*tmp1*tmp2; -double tmp83 = tmp7*tmp10; -double tmp84 = -2*tmp4*tmp0*tmp3; -double tmp85 = -2*tmp6*tmp1*tmp3; -double tmp86 = tmp7*tmp11; -double tmp87 = tmp79 + tmp80 + tmp81 + tmp82 + tmp83 + tmp84 + tmp85 + tmp86 + tmp24; -double tmp88 = cp(1+_OFF); -double tmp89 = std::sqrt(tmp52); -double tmp90 = std::pow(tmp88,2); -double tmp91 = z(1+_OFF); -double tmp92 = cp(4+_OFF); -double tmp93 = 1/tmp92; -double tmp94 = fLat(1+_OFF); -double tmp95 = tmp4*tmp8; -double tmp96 = 2*tmp6*tmp0*tmp1; -double tmp97 = -(tmp4*tmp9); -double tmp98 = 2*tmp7*tmp1*tmp2; -double tmp99 = tmp4*tmp10; -double tmp100 = -2*tmp7*tmp0*tmp3; -double tmp101 = 2*tmp6*tmp2*tmp3; -double tmp102 = -(tmp4*tmp11); -double tmp103 = tmp95 + tmp96 + tmp97 + tmp98 + tmp99 + tmp100 + tmp101 + tmp102 + tmp25; -double tmp104 = std::pow(tmp23,-3); -double tmp105 = fLift(1+_OFF); -double tmp106 = fLift(2+_OFF); -double tmp107 = tmp71*tmp106; -double tmp108 = tmp105 + tmp107; -double tmp109 = tmp6*tmp8; -double tmp110 = -2*tmp4*tmp0*tmp1; -double tmp111 = -(tmp6*tmp9); -double tmp112 = 2*tmp7*tmp0*tmp2; -double tmp113 = -(tmp6*tmp10); -double tmp114 = 2*tmp7*tmp1*tmp3; -double tmp115 = 2*tmp4*tmp2*tmp3; -double tmp116 = tmp6*tmp11; -double tmp117 = tmp109 + tmp110 + tmp111 + tmp112 + tmp113 + tmp114 + tmp115 + tmp116 + tmp59; -double tmp118 = std::pow(tmp66,4.2561); -double tmp119 = fDrag(1+_OFF); -double tmp120 = fDrag(2+_OFF); -double tmp121 = tmp71*tmp120; -double tmp122 = std::pow(tmp71,2); -double tmp123 = fDrag(3+_OFF); -double tmp124 = tmp122*tmp123; -double tmp125 = std::pow(tmp78,2); -double tmp126 = fDrag(4+_OFF); -double tmp127 = tmp125*tmp126; -double tmp128 = tmp119 + tmp121 + tmp124 + tmp127; -double tmp129 = std::pow(tmp75,2); -double tmp130 = 1/tmp52; -double tmp131 = -(tmp129*tmp130); -double tmp132 = 1 + tmp131; -double tmp133 = std::sqrt(tmp132); -double tmp134 = std::pow(M_PI,-2); -double tmp135 = fThrust(3+_OFF); -double tmp136 = tmp134*tmp135*tmp52; -double tmp137 = 1/M_PI; -double tmp138 = fThrust(2+_OFF); -double tmp139 = tmp137*tmp88*tmp138*tmp89*tmp91; -double tmp140 = fThrust(1+_OFF); -double tmp141 = std::pow(tmp91,2); -double tmp142 = tmp90*tmp140*tmp141; -double tmp143 = tmp136 + tmp139 + tmp142; -double tmp144 = -(tmp4*tmp8); -double tmp145 = -2*tmp6*tmp0*tmp1; -double tmp146 = tmp4*tmp9; -double tmp147 = -2*tmp7*tmp1*tmp2; -double tmp148 = -(tmp4*tmp10); -double tmp149 = 2*tmp7*tmp0*tmp3; -double tmp150 = -2*tmp6*tmp2*tmp3; -double tmp151 = tmp4*tmp11; -double tmp152 = tmp144 + tmp145 + tmp146 + tmp147 + tmp148 + tmp149 + tmp150 + tmp151 + tmp20; -double tmp153 = -(tmp6*tmp8); -double tmp154 = 2*tmp4*tmp0*tmp1; -double tmp155 = tmp6*tmp9; -double tmp156 = -2*tmp7*tmp0*tmp2; -double tmp157 = tmp6*tmp10; -double tmp158 = -2*tmp7*tmp1*tmp3; -double tmp159 = -2*tmp4*tmp2*tmp3; -double tmp160 = -(tmp6*tmp11); -double tmp161 = tmp153 + tmp154 + tmp155 + tmp156 + tmp157 + tmp158 + tmp159 + tmp160 + tmp41; -double tmp162 = ibd(2+_OFF); -double tmp163 = ibd(3+_OFF); -double tmp164 = ibod(1+_OFF); -double tmp165 = ibod(2+_OFF); -double tmp166 = ibod(3+_OFF); -double tmp167 = ibd(1+_OFF); -double tmp168 = std::pow(tmp166,2); -double tmp169 = cp(3+_OFF); -double tmp170 = tmp167*tmp162*tmp163; -double tmp171 = std::pow(tmp164,2); -double tmp172 = -(tmp162*tmp171); -double tmp173 = std::pow(tmp165,2); -double tmp174 = -(tmp163*tmp173); -double tmp175 = 2*tmp164*tmp165*tmp166; -double tmp176 = -(tmp167*tmp168); -double tmp177 = tmp170 + tmp172 + tmp174 + tmp175 + tmp176; -double tmp178 = 1/tmp177; -double tmp179 = cBar(1+_OFF); -double tmp180 = x(13+_OFF); -double tmp181 = tmp162*tmp163; -double tmp182 = -tmp168; -double tmp183 = tmp181 + tmp182; -double tmp184 = mRoll(2+_OFF); -double tmp185 = tmp78*tmp184; -double tmp186 = mRoll(3+_OFF); -double tmp187 = x(11+_OFF); -double tmp188 = (tmp169*tmp186*tmp76*tmp187)/2.; -double tmp189 = mRoll(4+_OFF); -double tmp190 = -(tmp169*tmp189*tmp76*tmp180)/2.; -double tmp191 = mRoll(1+_OFF); -double tmp192 = z(2+_OFF); -double tmp193 = -(tmp191*tmp192); -double tmp194 = tmp185 + tmp188 + tmp190 + tmp193; -double tmp195 = -(tmp163*tmp165); -double tmp196 = tmp164*tmp166; -double tmp197 = tmp195 + tmp196; -double tmp198 = mPitch(1+_OFF); -double tmp199 = -tmp198; -double tmp200 = mPitch(3+_OFF); -double tmp201 = -(tmp71*tmp200); -double tmp202 = mPitch(4+_OFF); -double tmp203 = x(12+_OFF); -double tmp204 = (tmp179*tmp202*tmp76*tmp203)/2.; -double tmp205 = mPitch(2+_OFF); -double tmp206 = z(3+_OFF); -double tmp207 = -(tmp205*tmp206); -double tmp208 = tmp199 + tmp201 + tmp204 + tmp207; -double tmp209 = -(tmp162*tmp164); -double tmp210 = tmp165*tmp166; -double tmp211 = tmp209 + tmp210; -double tmp212 = mYaw(2+_OFF); -double tmp213 = -(tmp78*tmp212); -double tmp214 = mYaw(3+_OFF); -double tmp215 = (tmp169*tmp214*tmp76*tmp180)/2.; -double tmp216 = mYaw(1+_OFF); -double tmp217 = z(4+_OFF); -double tmp218 = tmp216*tmp217; -double tmp219 = tmp213 + tmp215 + tmp218; -double tmp220 = 0.00004814592760180996*tmp104*tmp54*tmp55*tmp169*tmp64*tmp67*tmp52*tmp194; -double tmp221 = -0.001740341106856944*tmp53*tmp54*tmp55*tmp169*tmp118*tmp52*tmp194; -double tmp222 = tmp220 + tmp221; -double tmp223 = tmp167*tmp163; -double tmp224 = -tmp171; -double tmp225 = tmp223 + tmp224; -double tmp226 = 0.00004814592760180996*tmp104*tmp54*tmp179*tmp55*tmp64*tmp67*tmp52*tmp208; -double tmp227 = -0.001740341106856944*tmp53*tmp54*tmp179*tmp55*tmp118*tmp52*tmp208; -double tmp228 = tmp226 + tmp227; -double tmp229 = tmp164*tmp165; -double tmp230 = -(tmp167*tmp166); -double tmp231 = tmp229 + tmp230; -double tmp232 = 0.00004814592760180996*tmp104*tmp54*tmp55*tmp169*tmp64*tmp67*tmp52*tmp219; -double tmp233 = -0.001740341106856944*tmp53*tmp54*tmp55*tmp169*tmp118*tmp52*tmp219; -double tmp234 = tmp232 + tmp233; -double tmp235 = tmp167*tmp162; -double tmp236 = -tmp173; -double tmp237 = tmp235 + tmp236; -J(1+_OFF,1+_OFF) = -(tmp93*(0.00004814592760180996*tmp53*tmp54*tmp78*tmp55*tmp94*tmp67*tmp87*tmp103*tmp70*tmp89 + 0.00004814592760180996*tmp53*tmp54*tmp55*tmp108*tmp67*tmp70*tmp117*tmp52 - 0.00004814592760180996*tmp53*tmp54*tmp55*tmp128*tmp67*tmp87*tmp70*tmp52*tmp133 - 0.00009629185520361992*tmp53*tmp54*tmp90*tmp67*tmp143)); -J(1+_OFF,2+_OFF) = -(tmp93*(-0.00004814592760180996*tmp104*tmp54*tmp78*tmp55*tmp94*tmp64*tmp67*tmp87*tmp103*tmp70*tmp89 + 0.001740341106856944*tmp53*tmp54*tmp78*tmp55*tmp94*tmp118*tmp87*tmp103*tmp70*tmp89 - 0.00004814592760180996*tmp104*tmp54*tmp55*tmp108*tmp64*tmp67*tmp70*tmp117*tmp52 + 0.001740341106856944*tmp53*tmp54*tmp55*tmp108*tmp118*tmp70*tmp117*tmp52 + 0.00004814592760180996*tmp104*tmp54*tmp55*tmp128*tmp64*tmp67*tmp87*tmp70*tmp52*tmp133 - 0.001740341106856944*tmp53*tmp54*tmp55*tmp128*tmp118*tmp87*tmp70*tmp52*tmp133 + 0.00009629185520361992*tmp104*tmp54*tmp90*tmp64*tmp67*tmp143 - 0.003480682213713888*tmp53*tmp54*tmp90*tmp118*tmp143)); -J(1+_OFF,3+_OFF) = -(tmp93*(-0.001740341106856944*tmp61*tmp78*tmp55*tmp94*tmp118*tmp87*tmp103*tmp70*tmp89 - 0.001740341106856944*tmp61*tmp55*tmp108*tmp118*tmp70*tmp117*tmp52 + 0.001740341106856944*tmp61*tmp55*tmp128*tmp118*tmp87*tmp70*tmp52*tmp133 + 0.003480682213713888*tmp61*tmp90*tmp118*tmp143)); -J(2+_OFF,1+_OFF) = -(tmp93*(-0.00004814592760180996*tmp53*tmp54*tmp55*tmp128*tmp67*tmp152*tmp89 + 0.00004814592760180996*tmp53*tmp54*tmp78*tmp55*tmp94*tmp67*tmp52*tmp133)); -J(2+_OFF,2+_OFF) = -(tmp93*(0.00004814592760180996*tmp104*tmp54*tmp55*tmp128*tmp64*tmp67*tmp152*tmp89 - 0.001740341106856944*tmp53*tmp54*tmp55*tmp128*tmp118*tmp152*tmp89 - 0.00004814592760180996*tmp104*tmp54*tmp78*tmp55*tmp94*tmp64*tmp67*tmp52*tmp133 + 0.001740341106856944*tmp53*tmp54*tmp78*tmp55*tmp94*tmp118*tmp52*tmp133)); -J(2+_OFF,3+_OFF) = -(tmp93*(0.001740341106856944*tmp61*tmp55*tmp128*tmp118*tmp152*tmp89 - 0.001740341106856944*tmp61*tmp78*tmp55*tmp94*tmp118*tmp52*tmp133)); -J(3+_OFF,1+_OFF) = -(tmp93*(0.00004814592760180996*tmp53*tmp54*tmp78*tmp55*tmp94*tmp67*tmp103*tmp70*tmp161*tmp89 + 0.00004814592760180996*tmp53*tmp54*tmp55*tmp108*tmp67*tmp87*tmp70*tmp52 - 0.00004814592760180996*tmp53*tmp54*tmp55*tmp128*tmp67*tmp70*tmp161*tmp52*tmp133)); -J(3+_OFF,2+_OFF) = -(tmp93*(-0.00004814592760180996*tmp104*tmp54*tmp78*tmp55*tmp94*tmp64*tmp67*tmp103*tmp70*tmp161*tmp89 + 0.001740341106856944*tmp53*tmp54*tmp78*tmp55*tmp94*tmp118*tmp103*tmp70*tmp161*tmp89 - 0.00004814592760180996*tmp104*tmp54*tmp55*tmp108*tmp64*tmp67*tmp87*tmp70*tmp52 + 0.001740341106856944*tmp53*tmp54*tmp55*tmp108*tmp118*tmp87*tmp70*tmp52 + 0.00004814592760180996*tmp104*tmp54*tmp55*tmp128*tmp64*tmp67*tmp70*tmp161*tmp52*tmp133 - 0.001740341106856944*tmp53*tmp54*tmp55*tmp128*tmp118*tmp70*tmp161*tmp52*tmp133)); -J(3+_OFF,3+_OFF) = -(tmp93*(-0.001740341106856944*tmp61*tmp78*tmp55*tmp94*tmp118*tmp103*tmp70*tmp161*tmp89 - 0.001740341106856944*tmp61*tmp55*tmp108*tmp118*tmp87*tmp70*tmp52 + 0.001740341106856944*tmp61*tmp55*tmp128*tmp118*tmp70*tmp161*tmp52*tmp133)); -J(4+_OFF,1+_OFF) = 0.00004814592760180996*tmp53*tmp54*tmp55*tmp169*tmp183*tmp178*tmp67*tmp52*tmp194 + 0.00004814592760180996*tmp53*tmp54*tmp179*tmp55*tmp197*tmp178*tmp67*tmp52*tmp208 + 0.00004814592760180996*tmp53*tmp54*tmp55*tmp169*tmp211*tmp178*tmp67*tmp52*tmp219; -J(4+_OFF,2+_OFF) = -(tmp183*tmp178*tmp222) - tmp197*tmp178*tmp228 - tmp211*tmp178*tmp234; -J(4+_OFF,3+_OFF) = -0.001740341106856944*tmp61*tmp55*tmp169*tmp183*tmp178*tmp118*tmp52*tmp194 - 0.001740341106856944*tmp61*tmp179*tmp55*tmp197*tmp178*tmp118*tmp52*tmp208 - 0.001740341106856944*tmp61*tmp55*tmp169*tmp211*tmp178*tmp118*tmp52*tmp219; -J(5+_OFF,1+_OFF) = 0.00004814592760180996*tmp53*tmp54*tmp55*tmp169*tmp197*tmp178*tmp67*tmp52*tmp194 + 0.00004814592760180996*tmp53*tmp54*tmp179*tmp55*tmp225*tmp178*tmp67*tmp52*tmp208 + 0.00004814592760180996*tmp53*tmp54*tmp55*tmp169*tmp231*tmp178*tmp67*tmp52*tmp219; -J(5+_OFF,2+_OFF) = -(tmp197*tmp178*tmp222) - tmp225*tmp178*tmp228 - tmp231*tmp178*tmp234; -J(5+_OFF,3+_OFF) = -0.001740341106856944*tmp61*tmp55*tmp169*tmp197*tmp178*tmp118*tmp52*tmp194 - 0.001740341106856944*tmp61*tmp179*tmp55*tmp225*tmp178*tmp118*tmp52*tmp208 - 0.001740341106856944*tmp61*tmp55*tmp169*tmp231*tmp178*tmp118*tmp52*tmp219; -J(6+_OFF,1+_OFF) = 0.00004814592760180996*tmp53*tmp54*tmp55*tmp169*tmp211*tmp178*tmp67*tmp52*tmp194 + 0.00004814592760180996*tmp53*tmp54*tmp179*tmp55*tmp231*tmp178*tmp67*tmp52*tmp208 + 0.00004814592760180996*tmp53*tmp54*tmp55*tmp169*tmp237*tmp178*tmp67*tmp52*tmp219; -J(6+_OFF,2+_OFF) = -(tmp211*tmp178*tmp222) - tmp231*tmp178*tmp228 - tmp237*tmp178*tmp234; -J(6+_OFF,3+_OFF) = -0.001740341106856944*tmp61*tmp55*tmp169*tmp211*tmp178*tmp118*tmp52*tmp194 - 0.001740341106856944*tmp61*tmp179*tmp55*tmp231*tmp178*tmp118*tmp52*tmp208 - 0.001740341106856944*tmp61*tmp55*tmp169*tmp237*tmp178*tmp118*tmp52*tmp219; +J(1+_OFF,1+_OFF) = 0; +J(1+_OFF,2+_OFF) = 0; +J(1+_OFF,3+_OFF) = 0; +J(2+_OFF,1+_OFF) = 0; +J(2+_OFF,2+_OFF) = 0; +J(2+_OFF,3+_OFF) = 0; +J(3+_OFF,1+_OFF) = 0; +J(3+_OFF,2+_OFF) = 0; +J(3+_OFF,3+_OFF) = 0; +J(4+_OFF,1+_OFF) = 0; +J(4+_OFF,2+_OFF) = 0; +J(4+_OFF,3+_OFF) = 0; +J(5+_OFF,1+_OFF) = 0; +J(5+_OFF,2+_OFF) = 0; +J(5+_OFF,3+_OFF) = 0; +J(6+_OFF,1+_OFF) = 0; +J(6+_OFF,2+_OFF) = 0; +J(6+_OFF,3+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrCBar.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrCBar.cppready index f4f14ec..f826481 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrCBar.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrCBar.cppready @@ -4,103 +4,94 @@ double tmp2 = ibod(1+_OFF); double tmp3 = ibod(2+_OFF); double tmp4 = ibod(3+_OFF); double tmp5 = ibd(1+_OFF); -double tmp6 = airDensity(2+_OFF); -double tmp7 = 1/tmp6; -double tmp8 = x(4+_OFF); -double tmp9 = x(6+_OFF); -double tmp10 = x(5+_OFF); -double tmp11 = x(7+_OFF); -double tmp12 = wind(1+_OFF); -double tmp13 = tmp10*tmp9; -double tmp14 = wind(3+_OFF); -double tmp15 = wind(2+_OFF); -double tmp16 = std::pow(tmp8,2); -double tmp17 = std::pow(tmp10,2); -double tmp18 = std::pow(tmp9,2); -double tmp19 = std::pow(tmp11,2); -double tmp20 = -tmp19; -double tmp21 = tmp10*tmp11; -double tmp22 = tmp9*tmp11; -double tmp23 = -tmp17; -double tmp24 = -tmp18; -double tmp25 = airDensity(3+_OFF); -double tmp26 = cp(2+_OFF); -double tmp27 = airDensity(1+_OFF); -double tmp28 = x(3+_OFF); -double tmp29 = tmp27 + tmp28; -double tmp30 = -0.006500000000000001*tmp7*tmp29; -double tmp31 = 1 + tmp30; -double tmp32 = std::pow(tmp31,4.2561); -double tmp33 = tmp8*tmp11; -double tmp34 = tmp13 + tmp33; -double tmp35 = -2*tmp15*tmp34; -double tmp36 = -(tmp8*tmp9); -double tmp37 = tmp36 + tmp21; -double tmp38 = -2*tmp14*tmp37; -double tmp39 = tmp16 + tmp17 + tmp24 + tmp20; -double tmp40 = -(tmp12*tmp39); -double tmp41 = x(8+_OFF); -double tmp42 = tmp35 + tmp38 + tmp40 + tmp41; -double tmp43 = std::pow(tmp42,2); -double tmp44 = -(tmp8*tmp11); -double tmp45 = tmp13 + tmp44; -double tmp46 = -2*tmp12*tmp45; -double tmp47 = tmp8*tmp10; -double tmp48 = tmp47 + tmp22; -double tmp49 = -2*tmp14*tmp48; -double tmp50 = tmp16 + tmp23 + tmp18 + tmp20; -double tmp51 = -(tmp15*tmp50); -double tmp52 = x(9+_OFF); -double tmp53 = tmp46 + tmp49 + tmp51 + tmp52; -double tmp54 = std::pow(tmp53,2); -double tmp55 = tmp8*tmp9; -double tmp56 = tmp55 + tmp21; -double tmp57 = -2*tmp12*tmp56; -double tmp58 = -(tmp8*tmp10); -double tmp59 = tmp58 + tmp22; -double tmp60 = -2*tmp15*tmp59; -double tmp61 = tmp16 + tmp23 + tmp24 + tmp19; -double tmp62 = -(tmp14*tmp61); -double tmp63 = x(10+_OFF); -double tmp64 = tmp57 + tmp60 + tmp62 + tmp63; -double tmp65 = std::pow(tmp64,2); -double tmp66 = tmp43 + tmp54 + tmp65; -double tmp67 = cBar(1+_OFF); -double tmp68 = mPitch(4+_OFF); -double tmp69 = x(12+_OFF); -double tmp70 = std::pow(tmp2,2); -double tmp71 = tmp5*tmp1*tmp0; -double tmp72 = -(tmp1*tmp70); -double tmp73 = std::pow(tmp3,2); -double tmp74 = -(tmp0*tmp73); -double tmp75 = 2*tmp2*tmp3*tmp4; -double tmp76 = std::pow(tmp4,2); -double tmp77 = -(tmp5*tmp76); -double tmp78 = tmp71 + tmp72 + tmp74 + tmp75 + tmp77; -double tmp79 = 1/tmp78; -double tmp80 = std::sqrt(tmp66); -double tmp81 = 0.000870170553428472*tmp7*tmp25*tmp67*tmp26*tmp68*tmp32*tmp80*tmp69; -double tmp82 = mPitch(1+_OFF); -double tmp83 = -tmp82; -double tmp84 = 2*tmp12*tmp56; -double tmp85 = 2*tmp15*tmp59; -double tmp86 = tmp14*tmp61; -double tmp87 = -tmp63; -double tmp88 = tmp84 + tmp85 + tmp86 + tmp87; -double tmp89 = std::atan2(tmp88,tmp42); -double tmp90 = mPitch(3+_OFF); -double tmp91 = -(tmp89*tmp90); -double tmp92 = 1/std::sqrt(tmp66); -double tmp93 = (tmp67*tmp68*tmp92*tmp69)/2.; -double tmp94 = mPitch(2+_OFF); -double tmp95 = z(3+_OFF); -double tmp96 = -(tmp94*tmp95); -double tmp97 = tmp83 + tmp91 + tmp93 + tmp96; -double tmp98 = 0.001740341106856944*tmp7*tmp25*tmp26*tmp32*tmp66*tmp97; -double tmp99 = tmp81 + tmp98; +double tmp6 = x(4+_OFF); +double tmp7 = x(6+_OFF); +double tmp8 = x(5+_OFF); +double tmp9 = x(7+_OFF); +double tmp10 = wind(1+_OFF); +double tmp11 = tmp8*tmp7; +double tmp12 = wind(3+_OFF); +double tmp13 = wind(2+_OFF); +double tmp14 = std::pow(tmp6,2); +double tmp15 = std::pow(tmp8,2); +double tmp16 = std::pow(tmp7,2); +double tmp17 = std::pow(tmp9,2); +double tmp18 = -tmp17; +double tmp19 = tmp8*tmp9; +double tmp20 = tmp7*tmp9; +double tmp21 = -tmp15; +double tmp22 = -tmp16; +double tmp23 = cp(2+_OFF); +double tmp24 = tmp6*tmp9; +double tmp25 = tmp11 + tmp24; +double tmp26 = -2*tmp13*tmp25; +double tmp27 = -(tmp6*tmp7); +double tmp28 = tmp27 + tmp19; +double tmp29 = -2*tmp12*tmp28; +double tmp30 = tmp14 + tmp15 + tmp22 + tmp18; +double tmp31 = -(tmp10*tmp30); +double tmp32 = x(8+_OFF); +double tmp33 = tmp26 + tmp29 + tmp31 + tmp32; +double tmp34 = std::pow(tmp33,2); +double tmp35 = -(tmp6*tmp9); +double tmp36 = tmp11 + tmp35; +double tmp37 = -2*tmp10*tmp36; +double tmp38 = tmp6*tmp8; +double tmp39 = tmp38 + tmp20; +double tmp40 = -2*tmp12*tmp39; +double tmp41 = tmp14 + tmp21 + tmp16 + tmp18; +double tmp42 = -(tmp13*tmp41); +double tmp43 = x(9+_OFF); +double tmp44 = tmp37 + tmp40 + tmp42 + tmp43; +double tmp45 = std::pow(tmp44,2); +double tmp46 = tmp6*tmp7; +double tmp47 = tmp46 + tmp19; +double tmp48 = -2*tmp10*tmp47; +double tmp49 = -(tmp6*tmp8); +double tmp50 = tmp49 + tmp20; +double tmp51 = -2*tmp13*tmp50; +double tmp52 = tmp14 + tmp21 + tmp22 + tmp17; +double tmp53 = -(tmp12*tmp52); +double tmp54 = x(10+_OFF); +double tmp55 = tmp48 + tmp51 + tmp53 + tmp54; +double tmp56 = std::pow(tmp55,2); +double tmp57 = tmp34 + tmp45 + tmp56; +double tmp58 = cBar(1+_OFF); +double tmp59 = mPitch(4+_OFF); +double tmp60 = x(12+_OFF); +double tmp61 = std::pow(tmp2,2); +double tmp62 = tmp5*tmp1*tmp0; +double tmp63 = -(tmp1*tmp61); +double tmp64 = std::pow(tmp3,2); +double tmp65 = -(tmp0*tmp64); +double tmp66 = 2*tmp2*tmp3*tmp4; +double tmp67 = std::pow(tmp4,2); +double tmp68 = -(tmp5*tmp67); +double tmp69 = tmp62 + tmp63 + tmp65 + tmp66 + tmp68; +double tmp70 = 1/tmp69; +double tmp71 = std::sqrt(tmp57); +double tmp72 = 0.25*tmp58*tmp23*tmp59*tmp71*tmp60; +double tmp73 = mPitch(1+_OFF); +double tmp74 = -tmp73; +double tmp75 = 2*tmp10*tmp47; +double tmp76 = 2*tmp13*tmp50; +double tmp77 = tmp12*tmp52; +double tmp78 = -tmp54; +double tmp79 = tmp75 + tmp76 + tmp77 + tmp78; +double tmp80 = std::atan2(tmp79,tmp33); +double tmp81 = mPitch(3+_OFF); +double tmp82 = -(tmp80*tmp81); +double tmp83 = 1/std::sqrt(tmp57); +double tmp84 = (tmp58*tmp59*tmp83*tmp60)/2.; +double tmp85 = mPitch(2+_OFF); +double tmp86 = z(3+_OFF); +double tmp87 = -(tmp85*tmp86); +double tmp88 = tmp74 + tmp82 + tmp84 + tmp87; +double tmp89 = 0.5*tmp23*tmp57*tmp88; +double tmp90 = tmp72 + tmp89; J(1+_OFF,1+_OFF) = 0; J(2+_OFF,1+_OFF) = 0; J(3+_OFF,1+_OFF) = 0; -J(4+_OFF,1+_OFF) = -((-(tmp0*tmp3) + tmp2*tmp4)*tmp79*tmp99); -J(5+_OFF,1+_OFF) = -((tmp5*tmp0 - tmp70)*tmp79*tmp99); -J(6+_OFF,1+_OFF) = -((tmp2*tmp3 - tmp5*tmp4)*tmp79*tmp99); +J(4+_OFF,1+_OFF) = -((-(tmp0*tmp3) + tmp2*tmp4)*tmp70*tmp90); +J(5+_OFF,1+_OFF) = -((tmp5*tmp0 - tmp61)*tmp70*tmp90); +J(6+_OFF,1+_OFF) = -((tmp2*tmp3 - tmp5*tmp4)*tmp70*tmp90); diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrCp.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrCp.cppready index a737182..158d11b 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrCp.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrCp.cppready @@ -1,257 +1,243 @@ -double tmp0 = airDensity(2+_OFF); -double tmp1 = 1/tmp0; -double tmp2 = x(4+_OFF); -double tmp3 = x(6+_OFF); -double tmp4 = x(5+_OFF); -double tmp5 = x(7+_OFF); -double tmp6 = wind(1+_OFF); -double tmp7 = tmp4*tmp3; -double tmp8 = wind(3+_OFF); -double tmp9 = wind(2+_OFF); -double tmp10 = std::pow(tmp2,2); -double tmp11 = std::pow(tmp4,2); -double tmp12 = std::pow(tmp3,2); -double tmp13 = std::pow(tmp5,2); -double tmp14 = -tmp13; -double tmp15 = tmp4*tmp5; -double tmp16 = tmp3*tmp5; -double tmp17 = -tmp11; -double tmp18 = -tmp12; -double tmp19 = cp(1+_OFF); -double tmp20 = z(1+_OFF); -double tmp21 = airDensity(3+_OFF); -double tmp22 = airDensity(1+_OFF); -double tmp23 = x(3+_OFF); -double tmp24 = tmp22 + tmp23; -double tmp25 = -0.006500000000000001*tmp1*tmp24; -double tmp26 = 1 + tmp25; -double tmp27 = std::pow(tmp26,4.2561); -double tmp28 = tmp2*tmp5; -double tmp29 = tmp7 + tmp28; -double tmp30 = -2*tmp9*tmp29; -double tmp31 = -(tmp2*tmp3); -double tmp32 = tmp31 + tmp15; -double tmp33 = -2*tmp8*tmp32; -double tmp34 = tmp10 + tmp11 + tmp18 + tmp14; -double tmp35 = -(tmp6*tmp34); -double tmp36 = x(8+_OFF); -double tmp37 = tmp30 + tmp33 + tmp35 + tmp36; -double tmp38 = std::pow(tmp37,2); -double tmp39 = -(tmp2*tmp5); -double tmp40 = tmp7 + tmp39; -double tmp41 = -2*tmp6*tmp40; -double tmp42 = tmp2*tmp4; -double tmp43 = tmp42 + tmp16; -double tmp44 = -2*tmp8*tmp43; -double tmp45 = tmp10 + tmp17 + tmp12 + tmp14; -double tmp46 = -(tmp9*tmp45); -double tmp47 = x(9+_OFF); -double tmp48 = tmp41 + tmp44 + tmp46 + tmp47; -double tmp49 = std::pow(tmp48,2); -double tmp50 = tmp2*tmp3; -double tmp51 = tmp50 + tmp15; -double tmp52 = -2*tmp6*tmp51; -double tmp53 = -(tmp2*tmp4); -double tmp54 = tmp53 + tmp16; -double tmp55 = -2*tmp9*tmp54; -double tmp56 = tmp10 + tmp17 + tmp18 + tmp13; -double tmp57 = -(tmp8*tmp56); -double tmp58 = x(10+_OFF); -double tmp59 = tmp52 + tmp55 + tmp57 + tmp58; -double tmp60 = std::pow(tmp59,2); -double tmp61 = tmp38 + tmp49 + tmp60; -double tmp62 = 1/M_PI; -double tmp63 = fThrust(2+_OFF); -double tmp64 = std::sqrt(tmp61); -double tmp65 = std::pow(tmp19,2); -double tmp66 = fThrust(1+_OFF); -double tmp67 = std::pow(tmp20,2); -double tmp68 = cp(4+_OFF); -double tmp69 = 1/tmp68; -double tmp70 = -tmp47; -double tmp71 = 2*tmp6*tmp51; -double tmp72 = 2*tmp9*tmp54; -double tmp73 = tmp8*tmp56; -double tmp74 = -tmp58; -double tmp75 = tmp71 + tmp72 + tmp73 + tmp74; -double tmp76 = std::pow(tmp75,2); -double tmp77 = tmp38 + tmp76; -double tmp78 = 1/std::sqrt(tmp77); -double tmp79 = std::atan2(tmp75,tmp37); -double tmp80 = 2*tmp6*tmp40; -double tmp81 = 2*tmp8*tmp43; -double tmp82 = tmp9*tmp45; -double tmp83 = tmp80 + tmp81 + tmp82 + tmp70; -double tmp84 = 1/std::sqrt(tmp61); -double tmp85 = tmp83*tmp84; -double tmp86 = std::asin(tmp85); -double tmp87 = -(tmp6*tmp10); -double tmp88 = -(tmp6*tmp11); -double tmp89 = 2*tmp8*tmp2*tmp3; -double tmp90 = -2*tmp9*tmp4*tmp3; -double tmp91 = tmp6*tmp12; -double tmp92 = -2*tmp9*tmp2*tmp5; -double tmp93 = -2*tmp8*tmp4*tmp5; -double tmp94 = tmp6*tmp13; -double tmp95 = tmp87 + tmp88 + tmp89 + tmp90 + tmp91 + tmp92 + tmp93 + tmp94 + tmp36; -double tmp96 = fLat(1+_OFF); -double tmp97 = tmp9*tmp10; -double tmp98 = 2*tmp8*tmp2*tmp4; -double tmp99 = -(tmp9*tmp11); -double tmp100 = 2*tmp6*tmp4*tmp3; -double tmp101 = tmp9*tmp12; -double tmp102 = -2*tmp6*tmp2*tmp5; -double tmp103 = 2*tmp8*tmp3*tmp5; -double tmp104 = -(tmp9*tmp13); -double tmp105 = tmp97 + tmp98 + tmp99 + tmp100 + tmp101 + tmp102 + tmp103 + tmp104 + tmp70; -double tmp106 = cp(2+_OFF); -double tmp107 = fLift(1+_OFF); -double tmp108 = fLift(2+_OFF); -double tmp109 = tmp79*tmp108; -double tmp110 = tmp107 + tmp109; -double tmp111 = tmp8*tmp10; -double tmp112 = -2*tmp9*tmp2*tmp4; -double tmp113 = -(tmp8*tmp11); -double tmp114 = 2*tmp6*tmp2*tmp3; -double tmp115 = -(tmp8*tmp12); -double tmp116 = 2*tmp6*tmp4*tmp5; -double tmp117 = 2*tmp9*tmp3*tmp5; -double tmp118 = tmp8*tmp13; -double tmp119 = tmp111 + tmp112 + tmp113 + tmp114 + tmp115 + tmp116 + tmp117 + tmp118 + tmp74; -double tmp120 = fDrag(1+_OFF); -double tmp121 = fDrag(2+_OFF); -double tmp122 = tmp79*tmp121; -double tmp123 = std::pow(tmp79,2); -double tmp124 = fDrag(3+_OFF); -double tmp125 = tmp123*tmp124; -double tmp126 = std::pow(tmp86,2); -double tmp127 = fDrag(4+_OFF); -double tmp128 = tmp126*tmp127; -double tmp129 = tmp120 + tmp122 + tmp125 + tmp128; -double tmp130 = std::pow(tmp83,2); -double tmp131 = 1/tmp61; -double tmp132 = -(tmp130*tmp131); -double tmp133 = 1 + tmp132; -double tmp134 = std::sqrt(tmp133); -double tmp135 = std::pow(M_PI,-2); -double tmp136 = fThrust(3+_OFF); -double tmp137 = tmp135*tmp136*tmp61; -double tmp138 = tmp62*tmp19*tmp63*tmp64*tmp20; -double tmp139 = tmp65*tmp66*tmp67; -double tmp140 = tmp137 + tmp138 + tmp139; -double tmp141 = std::pow(tmp68,-2); -double tmp142 = -(tmp9*tmp10); -double tmp143 = -2*tmp8*tmp2*tmp4; -double tmp144 = tmp9*tmp11; -double tmp145 = -2*tmp6*tmp4*tmp3; -double tmp146 = -(tmp9*tmp12); -double tmp147 = 2*tmp6*tmp2*tmp5; -double tmp148 = -2*tmp8*tmp3*tmp5; -double tmp149 = tmp9*tmp13; -double tmp150 = tmp142 + tmp143 + tmp144 + tmp145 + tmp146 + tmp147 + tmp148 + tmp149 + tmp47; -double tmp151 = -(tmp8*tmp10); -double tmp152 = 2*tmp9*tmp2*tmp4; -double tmp153 = tmp8*tmp11; -double tmp154 = -2*tmp6*tmp2*tmp3; -double tmp155 = tmp8*tmp12; -double tmp156 = -2*tmp6*tmp4*tmp5; -double tmp157 = -2*tmp9*tmp3*tmp5; -double tmp158 = -(tmp8*tmp13); -double tmp159 = tmp151 + tmp152 + tmp153 + tmp154 + tmp155 + tmp156 + tmp157 + tmp158 + tmp58; -double tmp160 = ibd(2+_OFF); -double tmp161 = ibd(3+_OFF); -double tmp162 = ibod(1+_OFF); -double tmp163 = ibod(2+_OFF); -double tmp164 = ibod(3+_OFF); -double tmp165 = ibd(1+_OFF); -double tmp166 = std::pow(tmp164,2); -double tmp167 = cp(3+_OFF); -double tmp168 = tmp165*tmp160*tmp161; -double tmp169 = std::pow(tmp162,2); -double tmp170 = -(tmp160*tmp169); -double tmp171 = std::pow(tmp163,2); -double tmp172 = -(tmp161*tmp171); -double tmp173 = 2*tmp162*tmp163*tmp164; -double tmp174 = -(tmp165*tmp166); -double tmp175 = tmp168 + tmp170 + tmp172 + tmp173 + tmp174; -double tmp176 = 1/tmp175; -double tmp177 = cBar(1+_OFF); -double tmp178 = x(13+_OFF); -double tmp179 = tmp160*tmp161; -double tmp180 = -tmp166; +double tmp0 = x(4+_OFF); +double tmp1 = x(6+_OFF); +double tmp2 = x(5+_OFF); +double tmp3 = x(7+_OFF); +double tmp4 = wind(1+_OFF); +double tmp5 = tmp2*tmp1; +double tmp6 = wind(3+_OFF); +double tmp7 = wind(2+_OFF); +double tmp8 = std::pow(tmp0,2); +double tmp9 = std::pow(tmp2,2); +double tmp10 = std::pow(tmp1,2); +double tmp11 = std::pow(tmp3,2); +double tmp12 = -tmp11; +double tmp13 = tmp2*tmp3; +double tmp14 = tmp1*tmp3; +double tmp15 = -tmp9; +double tmp16 = -tmp10; +double tmp17 = cp(1+_OFF); +double tmp18 = z(1+_OFF); +double tmp19 = tmp0*tmp3; +double tmp20 = tmp5 + tmp19; +double tmp21 = -2*tmp7*tmp20; +double tmp22 = -(tmp0*tmp1); +double tmp23 = tmp22 + tmp13; +double tmp24 = -2*tmp6*tmp23; +double tmp25 = tmp8 + tmp9 + tmp16 + tmp12; +double tmp26 = -(tmp4*tmp25); +double tmp27 = x(8+_OFF); +double tmp28 = tmp21 + tmp24 + tmp26 + tmp27; +double tmp29 = std::pow(tmp28,2); +double tmp30 = -(tmp0*tmp3); +double tmp31 = tmp5 + tmp30; +double tmp32 = -2*tmp4*tmp31; +double tmp33 = tmp0*tmp2; +double tmp34 = tmp33 + tmp14; +double tmp35 = -2*tmp6*tmp34; +double tmp36 = tmp8 + tmp15 + tmp10 + tmp12; +double tmp37 = -(tmp7*tmp36); +double tmp38 = x(9+_OFF); +double tmp39 = tmp32 + tmp35 + tmp37 + tmp38; +double tmp40 = std::pow(tmp39,2); +double tmp41 = tmp0*tmp1; +double tmp42 = tmp41 + tmp13; +double tmp43 = -2*tmp4*tmp42; +double tmp44 = -(tmp0*tmp2); +double tmp45 = tmp44 + tmp14; +double tmp46 = -2*tmp7*tmp45; +double tmp47 = tmp8 + tmp15 + tmp16 + tmp11; +double tmp48 = -(tmp6*tmp47); +double tmp49 = x(10+_OFF); +double tmp50 = tmp43 + tmp46 + tmp48 + tmp49; +double tmp51 = std::pow(tmp50,2); +double tmp52 = tmp29 + tmp40 + tmp51; +double tmp53 = 1/M_PI; +double tmp54 = fThrust(2+_OFF); +double tmp55 = std::sqrt(tmp52); +double tmp56 = std::pow(tmp17,2); +double tmp57 = fThrust(1+_OFF); +double tmp58 = std::pow(tmp18,2); +double tmp59 = cp(4+_OFF); +double tmp60 = 1/tmp59; +double tmp61 = 2*tmp4*tmp42; +double tmp62 = 2*tmp7*tmp45; +double tmp63 = tmp6*tmp47; +double tmp64 = -tmp49; +double tmp65 = tmp61 + tmp62 + tmp63 + tmp64; +double tmp66 = std::pow(tmp65,2); +double tmp67 = tmp29 + tmp66; +double tmp68 = 1/std::sqrt(tmp67); +double tmp69 = std::atan2(tmp65,tmp28); +double tmp70 = 1/std::sqrt(tmp52); +double tmp71 = tmp39*tmp70; +double tmp72 = std::asin(tmp71); +double tmp73 = -(tmp4*tmp8); +double tmp74 = -(tmp4*tmp9); +double tmp75 = 2*tmp6*tmp0*tmp1; +double tmp76 = -2*tmp7*tmp2*tmp1; +double tmp77 = tmp4*tmp10; +double tmp78 = -2*tmp7*tmp0*tmp3; +double tmp79 = -2*tmp6*tmp2*tmp3; +double tmp80 = tmp4*tmp11; +double tmp81 = tmp73 + tmp74 + tmp75 + tmp76 + tmp77 + tmp78 + tmp79 + tmp80 + tmp27; +double tmp82 = fLat(1+_OFF); +double tmp83 = tmp7*tmp8; +double tmp84 = 2*tmp6*tmp0*tmp2; +double tmp85 = -(tmp7*tmp9); +double tmp86 = 2*tmp4*tmp2*tmp1; +double tmp87 = tmp7*tmp10; +double tmp88 = -2*tmp4*tmp0*tmp3; +double tmp89 = 2*tmp6*tmp1*tmp3; +double tmp90 = -(tmp7*tmp11); +double tmp91 = -tmp38; +double tmp92 = tmp83 + tmp84 + tmp85 + tmp86 + tmp87 + tmp88 + tmp89 + tmp90 + tmp91; +double tmp93 = cp(2+_OFF); +double tmp94 = fLift(1+_OFF); +double tmp95 = fLift(2+_OFF); +double tmp96 = tmp69*tmp95; +double tmp97 = tmp94 + tmp96; +double tmp98 = tmp6*tmp8; +double tmp99 = -2*tmp7*tmp0*tmp2; +double tmp100 = -(tmp6*tmp9); +double tmp101 = 2*tmp4*tmp0*tmp1; +double tmp102 = -(tmp6*tmp10); +double tmp103 = 2*tmp4*tmp2*tmp3; +double tmp104 = 2*tmp7*tmp1*tmp3; +double tmp105 = tmp6*tmp11; +double tmp106 = tmp98 + tmp99 + tmp100 + tmp101 + tmp102 + tmp103 + tmp104 + tmp105 + tmp64; +double tmp107 = fDrag(1+_OFF); +double tmp108 = fDrag(2+_OFF); +double tmp109 = tmp69*tmp108; +double tmp110 = std::pow(tmp69,2); +double tmp111 = fDrag(3+_OFF); +double tmp112 = tmp110*tmp111; +double tmp113 = std::pow(tmp72,2); +double tmp114 = fDrag(4+_OFF); +double tmp115 = tmp113*tmp114; +double tmp116 = tmp107 + tmp109 + tmp112 + tmp115; +double tmp117 = 1/tmp52; +double tmp118 = -(tmp40*tmp117); +double tmp119 = 1 + tmp118; +double tmp120 = std::sqrt(tmp119); +double tmp121 = std::pow(M_PI,-2); +double tmp122 = fThrust(3+_OFF); +double tmp123 = tmp121*tmp122*tmp52; +double tmp124 = tmp53*tmp17*tmp54*tmp55*tmp18; +double tmp125 = tmp56*tmp57*tmp58; +double tmp126 = tmp123 + tmp124 + tmp125; +double tmp127 = std::pow(tmp59,-2); +double tmp128 = -(tmp7*tmp8); +double tmp129 = -2*tmp6*tmp0*tmp2; +double tmp130 = tmp7*tmp9; +double tmp131 = -2*tmp4*tmp2*tmp1; +double tmp132 = -(tmp7*tmp10); +double tmp133 = 2*tmp4*tmp0*tmp3; +double tmp134 = -2*tmp6*tmp1*tmp3; +double tmp135 = tmp7*tmp11; +double tmp136 = tmp128 + tmp129 + tmp130 + tmp131 + tmp132 + tmp133 + tmp134 + tmp135 + tmp38; +double tmp137 = -(tmp6*tmp8); +double tmp138 = 2*tmp7*tmp0*tmp2; +double tmp139 = tmp6*tmp9; +double tmp140 = -2*tmp4*tmp0*tmp1; +double tmp141 = tmp6*tmp10; +double tmp142 = -2*tmp4*tmp2*tmp3; +double tmp143 = -2*tmp7*tmp1*tmp3; +double tmp144 = -(tmp6*tmp11); +double tmp145 = tmp137 + tmp138 + tmp139 + tmp140 + tmp141 + tmp142 + tmp143 + tmp144 + tmp49; +double tmp146 = ibd(2+_OFF); +double tmp147 = ibd(3+_OFF); +double tmp148 = ibod(1+_OFF); +double tmp149 = ibod(2+_OFF); +double tmp150 = ibod(3+_OFF); +double tmp151 = ibd(1+_OFF); +double tmp152 = std::pow(tmp150,2); +double tmp153 = cp(3+_OFF); +double tmp154 = tmp151*tmp146*tmp147; +double tmp155 = std::pow(tmp148,2); +double tmp156 = -(tmp146*tmp155); +double tmp157 = std::pow(tmp149,2); +double tmp158 = -(tmp147*tmp157); +double tmp159 = 2*tmp148*tmp149*tmp150; +double tmp160 = -(tmp151*tmp152); +double tmp161 = tmp154 + tmp156 + tmp158 + tmp159 + tmp160; +double tmp162 = 1/tmp161; +double tmp163 = cBar(1+_OFF); +double tmp164 = x(13+_OFF); +double tmp165 = tmp146*tmp147; +double tmp166 = -tmp152; +double tmp167 = tmp165 + tmp166; +double tmp168 = mRoll(3+_OFF); +double tmp169 = x(11+_OFF); +double tmp170 = mRoll(4+_OFF); +double tmp171 = mRoll(2+_OFF); +double tmp172 = -(tmp72*tmp171); +double tmp173 = (tmp153*tmp168*tmp70*tmp169)/2.; +double tmp174 = -(tmp153*tmp170*tmp70*tmp164)/2.; +double tmp175 = mRoll(1+_OFF); +double tmp176 = z(2+_OFF); +double tmp177 = -(tmp175*tmp176); +double tmp178 = tmp172 + tmp173 + tmp174 + tmp177; +double tmp179 = -(tmp146*tmp148); +double tmp180 = tmp149*tmp150; double tmp181 = tmp179 + tmp180; -double tmp182 = mRoll(3+_OFF); -double tmp183 = x(11+_OFF); -double tmp184 = mRoll(4+_OFF); -double tmp185 = mRoll(2+_OFF); -double tmp186 = tmp86*tmp185; -double tmp187 = (tmp167*tmp182*tmp84*tmp183)/2.; -double tmp188 = -(tmp167*tmp184*tmp84*tmp178)/2.; -double tmp189 = mRoll(1+_OFF); -double tmp190 = z(2+_OFF); -double tmp191 = -(tmp189*tmp190); -double tmp192 = tmp186 + tmp187 + tmp188 + tmp191; -double tmp193 = -(tmp160*tmp162); -double tmp194 = tmp163*tmp164; -double tmp195 = tmp193 + tmp194; -double tmp196 = mYaw(3+_OFF); -double tmp197 = mYaw(2+_OFF); -double tmp198 = -(tmp86*tmp197); -double tmp199 = (tmp167*tmp196*tmp84*tmp178)/2.; -double tmp200 = mYaw(1+_OFF); -double tmp201 = z(4+_OFF); -double tmp202 = tmp200*tmp201; -double tmp203 = tmp198 + tmp199 + tmp202; -double tmp204 = -(tmp161*tmp163); -double tmp205 = tmp162*tmp164; +double tmp182 = mYaw(3+_OFF); +double tmp183 = mYaw(2+_OFF); +double tmp184 = tmp72*tmp183; +double tmp185 = (tmp153*tmp182*tmp70*tmp164)/2.; +double tmp186 = mYaw(1+_OFF); +double tmp187 = z(4+_OFF); +double tmp188 = tmp186*tmp187; +double tmp189 = tmp184 + tmp185 + tmp188; +double tmp190 = -(tmp147*tmp149); +double tmp191 = tmp148*tmp150; +double tmp192 = tmp190 + tmp191; +double tmp193 = mPitch(1+_OFF); +double tmp194 = -tmp193; +double tmp195 = mPitch(3+_OFF); +double tmp196 = -(tmp69*tmp195); +double tmp197 = mPitch(4+_OFF); +double tmp198 = x(12+_OFF); +double tmp199 = (tmp163*tmp197*tmp70*tmp198)/2.; +double tmp200 = mPitch(2+_OFF); +double tmp201 = z(3+_OFF); +double tmp202 = -(tmp200*tmp201); +double tmp203 = tmp194 + tmp196 + tmp199 + tmp202; +double tmp204 = (tmp168*tmp70*tmp169)/2.; +double tmp205 = -(tmp170*tmp70*tmp164)/2.; double tmp206 = tmp204 + tmp205; -double tmp207 = mPitch(1+_OFF); -double tmp208 = -tmp207; -double tmp209 = mPitch(3+_OFF); -double tmp210 = -(tmp79*tmp209); -double tmp211 = mPitch(4+_OFF); -double tmp212 = x(12+_OFF); -double tmp213 = (tmp177*tmp211*tmp84*tmp212)/2.; -double tmp214 = mPitch(2+_OFF); -double tmp215 = z(3+_OFF); -double tmp216 = -(tmp214*tmp215); -double tmp217 = tmp208 + tmp210 + tmp213 + tmp216; -double tmp218 = (tmp182*tmp84*tmp183)/2.; -double tmp219 = -(tmp184*tmp84*tmp178)/2.; -double tmp220 = tmp218 + tmp219; -double tmp221 = 0.001740341106856944*tmp1*tmp21*tmp106*tmp167*tmp27*tmp61*tmp220; -double tmp222 = 0.001740341106856944*tmp1*tmp21*tmp106*tmp27*tmp61*tmp192; -double tmp223 = tmp221 + tmp222; -double tmp224 = tmp162*tmp163; -double tmp225 = -(tmp165*tmp164); -double tmp226 = tmp224 + tmp225; -double tmp227 = 0.000870170553428472*tmp1*tmp21*tmp106*tmp167*tmp196*tmp27*tmp64*tmp178; -double tmp228 = 0.001740341106856944*tmp1*tmp21*tmp106*tmp27*tmp61*tmp203; -double tmp229 = tmp227 + tmp228; -double tmp230 = tmp165*tmp160; -double tmp231 = -tmp171; -double tmp232 = tmp230 + tmp231; -J(1+_OFF,1+_OFF) = -(tmp69*(0.003480682213713888*tmp1*tmp21*tmp65*tmp27*(tmp62*tmp63*tmp64*tmp20 + 2*tmp19*tmp66*tmp67) + 0.006961364427427776*tmp1*tmp21*tmp19*tmp27*tmp140)); -J(1+_OFF,2+_OFF) = -(tmp69*(-0.001740341106856944*tmp1*tmp21*tmp86*tmp96*tmp27*tmp95*tmp105*tmp78*tmp64 - 0.001740341106856944*tmp1*tmp21*tmp110*tmp27*tmp78*tmp119*tmp61 + 0.001740341106856944*tmp1*tmp21*tmp129*tmp27*tmp95*tmp78*tmp61*tmp134)); +double tmp207 = 0.5*tmp93*tmp153*tmp52*tmp206; +double tmp208 = 0.5*tmp93*tmp52*tmp178; +double tmp209 = tmp207 + tmp208; +double tmp210 = tmp148*tmp149; +double tmp211 = -(tmp151*tmp150); +double tmp212 = tmp210 + tmp211; +double tmp213 = 0.25*tmp93*tmp153*tmp182*tmp55*tmp164; +double tmp214 = 0.5*tmp93*tmp52*tmp189; +double tmp215 = tmp213 + tmp214; +double tmp216 = tmp151*tmp146; +double tmp217 = -tmp157; +double tmp218 = tmp216 + tmp217; +J(1+_OFF,1+_OFF) = -(tmp60*(1.*tmp56*(tmp53*tmp54*tmp55*tmp18 + 2*tmp17*tmp57*tmp58) + 2.*tmp17*tmp126)); +J(1+_OFF,2+_OFF) = -(tmp60*(0.5*tmp72*tmp82*tmp81*tmp92*tmp68*tmp55 - 0.5*tmp97*tmp68*tmp106*tmp52 + 0.5*tmp116*tmp81*tmp68*tmp52*tmp120)); J(1+_OFF,3+_OFF) = 0; -J(1+_OFF,4+_OFF) = tmp141*(-0.001740341106856944*tmp1*tmp21*tmp86*tmp106*tmp96*tmp27*tmp95*tmp105*tmp78*tmp64 - 0.001740341106856944*tmp1*tmp21*tmp106*tmp110*tmp27*tmp78*tmp119*tmp61 + 0.001740341106856944*tmp1*tmp21*tmp106*tmp129*tmp27*tmp95*tmp78*tmp61*tmp134 + 0.003480682213713888*tmp1*tmp21*tmp65*tmp27*tmp140); +J(1+_OFF,4+_OFF) = tmp127*(0.5*tmp72*tmp93*tmp82*tmp81*tmp92*tmp68*tmp55 - 0.5*tmp93*tmp97*tmp68*tmp106*tmp52 + 0.5*tmp93*tmp116*tmp81*tmp68*tmp52*tmp120 + 1.*tmp56*tmp126); J(2+_OFF,1+_OFF) = 0; -J(2+_OFF,2+_OFF) = -(tmp69*(0.001740341106856944*tmp1*tmp21*tmp129*tmp27*tmp150*tmp64 - 0.001740341106856944*tmp1*tmp21*tmp86*tmp96*tmp27*tmp61*tmp134)); +J(2+_OFF,2+_OFF) = -(tmp60*(0.5*tmp116*tmp136*tmp55 + 0.5*tmp72*tmp82*tmp52*tmp120)); J(2+_OFF,3+_OFF) = 0; -J(2+_OFF,4+_OFF) = tmp141*(0. + 0.001740341106856944*tmp1*tmp21*tmp106*tmp129*tmp27*tmp150*tmp64 - 0.001740341106856944*tmp1*tmp21*tmp86*tmp106*tmp96*tmp27*tmp61*tmp134); +J(2+_OFF,4+_OFF) = tmp127*(0. + 0.5*tmp93*tmp116*tmp136*tmp55 + 0.5*tmp72*tmp93*tmp82*tmp52*tmp120); J(3+_OFF,1+_OFF) = 0; -J(3+_OFF,2+_OFF) = -(tmp69*(-0.001740341106856944*tmp1*tmp21*tmp86*tmp96*tmp27*tmp105*tmp78*tmp159*tmp64 - 0.001740341106856944*tmp1*tmp21*tmp110*tmp27*tmp95*tmp78*tmp61 + 0.001740341106856944*tmp1*tmp21*tmp129*tmp27*tmp78*tmp159*tmp61*tmp134)); +J(3+_OFF,2+_OFF) = -(tmp60*(0.5*tmp72*tmp82*tmp92*tmp68*tmp145*tmp55 - 0.5*tmp97*tmp81*tmp68*tmp52 + 0.5*tmp116*tmp68*tmp145*tmp52*tmp120)); J(3+_OFF,3+_OFF) = 0; -J(3+_OFF,4+_OFF) = tmp141*(-0.001740341106856944*tmp1*tmp21*tmp86*tmp106*tmp96*tmp27*tmp105*tmp78*tmp159*tmp64 - 0.001740341106856944*tmp1*tmp21*tmp106*tmp110*tmp27*tmp95*tmp78*tmp61 + 0.001740341106856944*tmp1*tmp21*tmp106*tmp129*tmp27*tmp78*tmp159*tmp61*tmp134); +J(3+_OFF,4+_OFF) = tmp127*(0.5*tmp72*tmp93*tmp82*tmp92*tmp68*tmp145*tmp55 - 0.5*tmp93*tmp97*tmp81*tmp68*tmp52 + 0.5*tmp93*tmp116*tmp68*tmp145*tmp52*tmp120); J(4+_OFF,1+_OFF) = 0; -J(4+_OFF,2+_OFF) = -0.001740341106856944*tmp1*tmp21*tmp167*tmp181*tmp176*tmp27*tmp61*tmp192 - 0.001740341106856944*tmp1*tmp21*tmp177*tmp206*tmp176*tmp27*tmp61*tmp217 - 0.001740341106856944*tmp1*tmp21*tmp167*tmp195*tmp176*tmp27*tmp61*tmp203; -J(4+_OFF,3+_OFF) = -(tmp181*tmp176*tmp223) - tmp195*tmp176*tmp229; +J(4+_OFF,2+_OFF) = -0.5*tmp153*tmp167*tmp162*tmp52*tmp178 - 0.5*tmp163*tmp192*tmp162*tmp52*tmp203 - 0.5*tmp153*tmp181*tmp162*tmp52*tmp189; +J(4+_OFF,3+_OFF) = -(tmp167*tmp162*tmp209) - tmp181*tmp162*tmp215; J(4+_OFF,4+_OFF) = 0; J(5+_OFF,1+_OFF) = 0; -J(5+_OFF,2+_OFF) = -0.001740341106856944*tmp1*tmp21*tmp167*tmp206*tmp176*tmp27*tmp61*tmp192 - 0.001740341106856944*tmp1*tmp21*tmp177*(tmp165*tmp161 - tmp169)*tmp176*tmp27*tmp61*tmp217 - 0.001740341106856944*tmp1*tmp21*tmp167*tmp226*tmp176*tmp27*tmp61*tmp203; -J(5+_OFF,3+_OFF) = -(tmp206*tmp176*tmp223) - tmp226*tmp176*tmp229; +J(5+_OFF,2+_OFF) = -0.5*tmp153*tmp192*tmp162*tmp52*tmp178 - 0.5*tmp163*(tmp151*tmp147 - tmp155)*tmp162*tmp52*tmp203 - 0.5*tmp153*tmp212*tmp162*tmp52*tmp189; +J(5+_OFF,3+_OFF) = -(tmp192*tmp162*tmp209) - tmp212*tmp162*tmp215; J(5+_OFF,4+_OFF) = 0; J(6+_OFF,1+_OFF) = 0; -J(6+_OFF,2+_OFF) = -0.001740341106856944*tmp1*tmp21*tmp167*tmp195*tmp176*tmp27*tmp61*tmp192 - 0.001740341106856944*tmp1*tmp21*tmp177*tmp226*tmp176*tmp27*tmp61*tmp217 - 0.001740341106856944*tmp1*tmp21*tmp167*tmp232*tmp176*tmp27*tmp61*tmp203; -J(6+_OFF,3+_OFF) = -(tmp195*tmp176*tmp223) - tmp232*tmp176*tmp229; +J(6+_OFF,2+_OFF) = -0.5*tmp153*tmp181*tmp162*tmp52*tmp178 - 0.5*tmp163*tmp212*tmp162*tmp52*tmp203 - 0.5*tmp153*tmp218*tmp162*tmp52*tmp189; +J(6+_OFF,3+_OFF) = -(tmp181*tmp162*tmp209) - tmp218*tmp162*tmp215; J(6+_OFF,4+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFDrag.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFDrag.cppready index 26016cf..5424096 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFDrag.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFDrag.cppready @@ -1,130 +1,115 @@ -double tmp0 = airDensity(2+_OFF); -double tmp1 = 1/tmp0; -double tmp2 = wind(1+_OFF); -double tmp3 = x(4+_OFF); -double tmp4 = x(5+_OFF); -double tmp5 = x(6+_OFF); -double tmp6 = wind(2+_OFF); -double tmp7 = wind(3+_OFF); -double tmp8 = x(7+_OFF); +double tmp0 = wind(1+_OFF); +double tmp1 = x(4+_OFF); +double tmp2 = x(5+_OFF); +double tmp3 = x(6+_OFF); +double tmp4 = wind(2+_OFF); +double tmp5 = wind(3+_OFF); +double tmp6 = x(7+_OFF); +double tmp7 = std::pow(tmp1,2); +double tmp8 = std::pow(tmp2,2); double tmp9 = std::pow(tmp3,2); -double tmp10 = std::pow(tmp4,2); -double tmp11 = std::pow(tmp5,2); -double tmp12 = std::pow(tmp8,2); -double tmp13 = x(8+_OFF); -double tmp14 = tmp4*tmp8; -double tmp15 = -tmp11; -double tmp16 = tmp4*tmp5; -double tmp17 = tmp3*tmp8; -double tmp18 = tmp16 + tmp17; -double tmp19 = -2*tmp6*tmp18; -double tmp20 = -(tmp3*tmp5); -double tmp21 = tmp20 + tmp14; -double tmp22 = -2*tmp7*tmp21; -double tmp23 = -tmp12; -double tmp24 = tmp9 + tmp10 + tmp15 + tmp23; -double tmp25 = -(tmp2*tmp24); -double tmp26 = tmp19 + tmp22 + tmp25 + tmp13; -double tmp27 = std::pow(tmp26,2); -double tmp28 = tmp5*tmp8; -double tmp29 = -tmp10; -double tmp30 = tmp3*tmp5; -double tmp31 = tmp30 + tmp14; -double tmp32 = -(tmp3*tmp4); -double tmp33 = tmp32 + tmp28; -double tmp34 = tmp9 + tmp29 + tmp15 + tmp12; -double tmp35 = x(10+_OFF); -double tmp36 = -(tmp3*tmp8); -double tmp37 = tmp16 + tmp36; -double tmp38 = tmp3*tmp4; -double tmp39 = tmp38 + tmp28; -double tmp40 = tmp9 + tmp29 + tmp11 + tmp23; -double tmp41 = x(9+_OFF); -double tmp42 = -2*tmp2*tmp37; -double tmp43 = -2*tmp7*tmp39; -double tmp44 = -(tmp6*tmp40); -double tmp45 = tmp42 + tmp43 + tmp44 + tmp41; -double tmp46 = std::pow(tmp45,2); -double tmp47 = -2*tmp2*tmp31; -double tmp48 = -2*tmp6*tmp33; -double tmp49 = -(tmp7*tmp34); -double tmp50 = tmp47 + tmp48 + tmp49 + tmp35; -double tmp51 = std::pow(tmp50,2); -double tmp52 = tmp27 + tmp46 + tmp51; -double tmp53 = airDensity(3+_OFF); -double tmp54 = 2*tmp2*tmp31; -double tmp55 = 2*tmp6*tmp33; -double tmp56 = tmp7*tmp34; -double tmp57 = -tmp35; -double tmp58 = tmp54 + tmp55 + tmp56 + tmp57; -double tmp59 = cp(2+_OFF); -double tmp60 = cp(4+_OFF); -double tmp61 = 1/tmp60; -double tmp62 = airDensity(1+_OFF); -double tmp63 = x(3+_OFF); -double tmp64 = tmp62 + tmp63; -double tmp65 = -0.006500000000000001*tmp1*tmp64; -double tmp66 = 1 + tmp65; -double tmp67 = std::pow(tmp66,4.2561); -double tmp68 = -(tmp2*tmp9); -double tmp69 = -(tmp2*tmp10); -double tmp70 = 2*tmp7*tmp3*tmp5; -double tmp71 = -2*tmp6*tmp4*tmp5; -double tmp72 = tmp2*tmp11; -double tmp73 = -2*tmp6*tmp3*tmp8; -double tmp74 = -2*tmp7*tmp4*tmp8; -double tmp75 = tmp2*tmp12; -double tmp76 = tmp68 + tmp69 + tmp70 + tmp71 + tmp72 + tmp73 + tmp74 + tmp75 + tmp13; -double tmp77 = std::pow(tmp58,2); -double tmp78 = tmp27 + tmp77; -double tmp79 = 1/std::sqrt(tmp78); -double tmp80 = 2*tmp2*tmp37; -double tmp81 = 2*tmp7*tmp39; -double tmp82 = tmp6*tmp40; -double tmp83 = -tmp41; -double tmp84 = tmp80 + tmp81 + tmp82 + tmp83; -double tmp85 = std::pow(tmp84,2); -double tmp86 = 1/tmp52; -double tmp87 = -(tmp85*tmp86); -double tmp88 = 1 + tmp87; -double tmp89 = std::sqrt(tmp88); -double tmp90 = std::atan2(tmp58,tmp26); -double tmp91 = -(tmp6*tmp9); -double tmp92 = -2*tmp7*tmp3*tmp4; -double tmp93 = tmp6*tmp10; -double tmp94 = -2*tmp2*tmp4*tmp5; -double tmp95 = -(tmp6*tmp11); -double tmp96 = 2*tmp2*tmp3*tmp8; -double tmp97 = -2*tmp7*tmp5*tmp8; -double tmp98 = tmp6*tmp12; -double tmp99 = tmp91 + tmp92 + tmp93 + tmp94 + tmp95 + tmp96 + tmp97 + tmp98 + tmp41; -double tmp100 = std::sqrt(tmp52); -double tmp101 = std::pow(tmp90,2); -double tmp102 = 1/std::sqrt(tmp52); -double tmp103 = tmp84*tmp102; -double tmp104 = std::asin(tmp103); -double tmp105 = std::pow(tmp104,2); -double tmp106 = -(tmp7*tmp9); -double tmp107 = 2*tmp6*tmp3*tmp4; -double tmp108 = tmp7*tmp10; -double tmp109 = -2*tmp2*tmp3*tmp5; -double tmp110 = tmp7*tmp11; -double tmp111 = -2*tmp2*tmp4*tmp8; -double tmp112 = -2*tmp6*tmp5*tmp8; -double tmp113 = -(tmp7*tmp12); -double tmp114 = tmp106 + tmp107 + tmp108 + tmp109 + tmp110 + tmp111 + tmp112 + tmp113 + tmp35; -J(1+_OFF,1+_OFF) = -0.001740341106856944*tmp1*tmp53*tmp59*tmp61*tmp67*tmp76*tmp79*tmp52*tmp89; -J(1+_OFF,2+_OFF) = -0.001740341106856944*tmp1*tmp53*tmp90*tmp59*tmp61*tmp67*tmp76*tmp79*tmp52*tmp89; -J(1+_OFF,3+_OFF) = -0.001740341106856944*tmp1*tmp53*tmp101*tmp59*tmp61*tmp67*tmp76*tmp79*tmp52*tmp89; -J(1+_OFF,4+_OFF) = -0.001740341106856944*tmp1*tmp53*tmp105*tmp59*tmp61*tmp67*tmp76*tmp79*tmp52*tmp89; -J(2+_OFF,1+_OFF) = -0.001740341106856944*tmp1*tmp53*tmp59*tmp61*tmp67*tmp99*tmp100; -J(2+_OFF,2+_OFF) = -0.001740341106856944*tmp1*tmp53*tmp90*tmp59*tmp61*tmp67*tmp99*tmp100; -J(2+_OFF,3+_OFF) = -0.001740341106856944*tmp1*tmp53*tmp101*tmp59*tmp61*tmp67*tmp99*tmp100; -J(2+_OFF,4+_OFF) = -0.001740341106856944*tmp1*tmp53*tmp105*tmp59*tmp61*tmp67*tmp99*tmp100; -J(3+_OFF,1+_OFF) = -0.001740341106856944*tmp1*tmp53*tmp59*tmp61*tmp67*tmp79*tmp114*tmp52*tmp89; -J(3+_OFF,2+_OFF) = -0.001740341106856944*tmp1*tmp53*tmp90*tmp59*tmp61*tmp67*tmp79*tmp114*tmp52*tmp89; -J(3+_OFF,3+_OFF) = -0.001740341106856944*tmp1*tmp53*tmp101*tmp59*tmp61*tmp67*tmp79*tmp114*tmp52*tmp89; -J(3+_OFF,4+_OFF) = -0.001740341106856944*tmp1*tmp53*tmp105*tmp59*tmp61*tmp67*tmp79*tmp114*tmp52*tmp89; +double tmp10 = std::pow(tmp6,2); +double tmp11 = x(8+_OFF); +double tmp12 = tmp2*tmp6; +double tmp13 = -tmp9; +double tmp14 = tmp2*tmp3; +double tmp15 = tmp1*tmp6; +double tmp16 = tmp14 + tmp15; +double tmp17 = -2*tmp4*tmp16; +double tmp18 = -(tmp1*tmp3); +double tmp19 = tmp18 + tmp12; +double tmp20 = -2*tmp5*tmp19; +double tmp21 = -tmp10; +double tmp22 = tmp7 + tmp8 + tmp13 + tmp21; +double tmp23 = -(tmp0*tmp22); +double tmp24 = tmp17 + tmp20 + tmp23 + tmp11; +double tmp25 = std::pow(tmp24,2); +double tmp26 = tmp3*tmp6; +double tmp27 = -tmp8; +double tmp28 = tmp1*tmp3; +double tmp29 = tmp28 + tmp12; +double tmp30 = -(tmp1*tmp2); +double tmp31 = tmp30 + tmp26; +double tmp32 = tmp7 + tmp27 + tmp13 + tmp10; +double tmp33 = x(10+_OFF); +double tmp34 = -(tmp1*tmp6); +double tmp35 = tmp14 + tmp34; +double tmp36 = -2*tmp0*tmp35; +double tmp37 = tmp1*tmp2; +double tmp38 = tmp37 + tmp26; +double tmp39 = -2*tmp5*tmp38; +double tmp40 = tmp7 + tmp27 + tmp9 + tmp21; +double tmp41 = -(tmp4*tmp40); +double tmp42 = x(9+_OFF); +double tmp43 = tmp36 + tmp39 + tmp41 + tmp42; +double tmp44 = std::pow(tmp43,2); +double tmp45 = -2*tmp0*tmp29; +double tmp46 = -2*tmp4*tmp31; +double tmp47 = -(tmp5*tmp32); +double tmp48 = tmp45 + tmp46 + tmp47 + tmp33; +double tmp49 = std::pow(tmp48,2); +double tmp50 = tmp25 + tmp44 + tmp49; +double tmp51 = 2*tmp0*tmp29; +double tmp52 = 2*tmp4*tmp31; +double tmp53 = tmp5*tmp32; +double tmp54 = -tmp33; +double tmp55 = tmp51 + tmp52 + tmp53 + tmp54; +double tmp56 = cp(2+_OFF); +double tmp57 = cp(4+_OFF); +double tmp58 = 1/tmp57; +double tmp59 = -(tmp0*tmp7); +double tmp60 = -(tmp0*tmp8); +double tmp61 = 2*tmp5*tmp1*tmp3; +double tmp62 = -2*tmp4*tmp2*tmp3; +double tmp63 = tmp0*tmp9; +double tmp64 = -2*tmp4*tmp1*tmp6; +double tmp65 = -2*tmp5*tmp2*tmp6; +double tmp66 = tmp0*tmp10; +double tmp67 = tmp59 + tmp60 + tmp61 + tmp62 + tmp63 + tmp64 + tmp65 + tmp66 + tmp11; +double tmp68 = std::pow(tmp55,2); +double tmp69 = tmp25 + tmp68; +double tmp70 = 1/std::sqrt(tmp69); +double tmp71 = 1/tmp50; +double tmp72 = -(tmp44*tmp71); +double tmp73 = 1 + tmp72; +double tmp74 = std::sqrt(tmp73); +double tmp75 = std::atan2(tmp55,tmp24); +double tmp76 = -(tmp4*tmp7); +double tmp77 = -2*tmp5*tmp1*tmp2; +double tmp78 = tmp4*tmp8; +double tmp79 = -2*tmp0*tmp2*tmp3; +double tmp80 = -(tmp4*tmp9); +double tmp81 = 2*tmp0*tmp1*tmp6; +double tmp82 = -2*tmp5*tmp3*tmp6; +double tmp83 = tmp4*tmp10; +double tmp84 = tmp76 + tmp77 + tmp78 + tmp79 + tmp80 + tmp81 + tmp82 + tmp83 + tmp42; +double tmp85 = std::sqrt(tmp50); +double tmp86 = std::pow(tmp75,2); +double tmp87 = 1/std::sqrt(tmp50); +double tmp88 = tmp43*tmp87; +double tmp89 = std::asin(tmp88); +double tmp90 = std::pow(tmp89,2); +double tmp91 = -(tmp5*tmp7); +double tmp92 = 2*tmp4*tmp1*tmp2; +double tmp93 = tmp5*tmp8; +double tmp94 = -2*tmp0*tmp1*tmp3; +double tmp95 = tmp5*tmp9; +double tmp96 = -2*tmp0*tmp2*tmp6; +double tmp97 = -2*tmp4*tmp3*tmp6; +double tmp98 = -(tmp5*tmp10); +double tmp99 = tmp91 + tmp92 + tmp93 + tmp94 + tmp95 + tmp96 + tmp97 + tmp98 + tmp33; +J(1+_OFF,1+_OFF) = -0.5*tmp56*tmp58*tmp67*tmp70*tmp50*tmp74; +J(1+_OFF,2+_OFF) = -0.5*tmp75*tmp56*tmp58*tmp67*tmp70*tmp50*tmp74; +J(1+_OFF,3+_OFF) = -0.5*tmp86*tmp56*tmp58*tmp67*tmp70*tmp50*tmp74; +J(1+_OFF,4+_OFF) = -0.5*tmp90*tmp56*tmp58*tmp67*tmp70*tmp50*tmp74; +J(2+_OFF,1+_OFF) = -0.5*tmp56*tmp58*tmp84*tmp85; +J(2+_OFF,2+_OFF) = -0.5*tmp75*tmp56*tmp58*tmp84*tmp85; +J(2+_OFF,3+_OFF) = -0.5*tmp86*tmp56*tmp58*tmp84*tmp85; +J(2+_OFF,4+_OFF) = -0.5*tmp90*tmp56*tmp58*tmp84*tmp85; +J(3+_OFF,1+_OFF) = -0.5*tmp56*tmp58*tmp70*tmp99*tmp50*tmp74; +J(3+_OFF,2+_OFF) = -0.5*tmp75*tmp56*tmp58*tmp70*tmp99*tmp50*tmp74; +J(3+_OFF,3+_OFF) = -0.5*tmp86*tmp56*tmp58*tmp70*tmp99*tmp50*tmp74; +J(3+_OFF,4+_OFF) = -0.5*tmp90*tmp56*tmp58*tmp70*tmp99*tmp50*tmp74; J(4+_OFF,1+_OFF) = 0; J(4+_OFF,2+_OFF) = 0; J(4+_OFF,3+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFLat.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFLat.cppready index 796b55d..7823b2b 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFLat.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFLat.cppready @@ -13,83 +13,70 @@ double tmp11 = std::pow(tmp3,2); double tmp12 = -tmp11; double tmp13 = -(tmp0*tmp3); double tmp14 = tmp5 + tmp13; -double tmp15 = tmp0*tmp1; -double tmp16 = tmp2*tmp3; -double tmp17 = tmp15 + tmp16; -double tmp18 = -tmp9; -double tmp19 = tmp8 + tmp18 + tmp10 + tmp12; -double tmp20 = x(9+_OFF); -double tmp21 = tmp1*tmp3; -double tmp22 = -tmp10; -double tmp23 = airDensity(2+_OFF); -double tmp24 = 1/tmp23; -double tmp25 = x(8+_OFF); -double tmp26 = -tmp20; -double tmp27 = tmp0*tmp3; -double tmp28 = tmp5 + tmp27; -double tmp29 = -2*tmp4*tmp28; -double tmp30 = -(tmp0*tmp2); -double tmp31 = tmp30 + tmp21; -double tmp32 = -2*tmp6*tmp31; -double tmp33 = tmp8 + tmp9 + tmp22 + tmp12; -double tmp34 = -(tmp7*tmp33); -double tmp35 = tmp29 + tmp32 + tmp34 + tmp25; -double tmp36 = std::pow(tmp35,2); -double tmp37 = tmp0*tmp2; -double tmp38 = tmp37 + tmp21; -double tmp39 = -(tmp0*tmp1); -double tmp40 = tmp39 + tmp16; -double tmp41 = tmp8 + tmp18 + tmp22 + tmp11; -double tmp42 = x(10+_OFF); -double tmp43 = -2*tmp7*tmp14; -double tmp44 = -2*tmp6*tmp17; -double tmp45 = -(tmp4*tmp19); -double tmp46 = tmp43 + tmp44 + tmp45 + tmp20; -double tmp47 = std::pow(tmp46,2); -double tmp48 = -2*tmp7*tmp38; -double tmp49 = -2*tmp4*tmp40; -double tmp50 = -(tmp6*tmp41); -double tmp51 = tmp48 + tmp49 + tmp50 + tmp42; -double tmp52 = std::pow(tmp51,2); -double tmp53 = tmp36 + tmp47 + tmp52; -double tmp54 = airDensity(3+_OFF); -double tmp55 = 2*tmp7*tmp14; -double tmp56 = 2*tmp6*tmp17; -double tmp57 = tmp4*tmp19; -double tmp58 = tmp55 + tmp56 + tmp57 + tmp26; -double tmp59 = 1/std::sqrt(tmp53); -double tmp60 = tmp58*tmp59; -double tmp61 = std::asin(tmp60); -double tmp62 = cp(2+_OFF); -double tmp63 = cp(4+_OFF); -double tmp64 = 1/tmp63; -double tmp65 = airDensity(1+_OFF); -double tmp66 = x(3+_OFF); -double tmp67 = tmp65 + tmp66; -double tmp68 = -0.006500000000000001*tmp24*tmp67; -double tmp69 = 1 + tmp68; -double tmp70 = std::pow(tmp69,4.2561); -double tmp71 = tmp4*tmp8; -double tmp72 = 2*tmp6*tmp0*tmp1; -double tmp73 = -(tmp4*tmp9); -double tmp74 = 2*tmp7*tmp1*tmp2; -double tmp75 = tmp4*tmp10; -double tmp76 = -2*tmp7*tmp0*tmp3; -double tmp77 = 2*tmp6*tmp2*tmp3; -double tmp78 = -(tmp4*tmp11); -double tmp79 = tmp71 + tmp72 + tmp73 + tmp74 + tmp75 + tmp76 + tmp77 + tmp78 + tmp26; -double tmp80 = 2*tmp7*tmp38; -double tmp81 = 2*tmp4*tmp40; -double tmp82 = tmp6*tmp41; -double tmp83 = -tmp42; -double tmp84 = tmp80 + tmp81 + tmp82 + tmp83; -double tmp85 = std::pow(tmp84,2); -double tmp86 = tmp36 + tmp85; -double tmp87 = 1/std::sqrt(tmp86); -double tmp88 = std::sqrt(tmp53); -J(1+_OFF,1+_OFF) = 0.001740341106856944*tmp24*tmp54*tmp61*tmp62*tmp64*tmp70*(-(tmp7*tmp8) - tmp7*tmp9 + 2*tmp6*tmp0*tmp2 - 2*tmp4*tmp1*tmp2 + tmp7*tmp10 - 2*tmp4*tmp0*tmp3 - 2*tmp6*tmp1*tmp3 + tmp7*tmp11 + tmp25)*tmp79*tmp87*tmp88; -J(2+_OFF,1+_OFF) = 0.001740341106856944*tmp24*tmp54*tmp61*tmp62*tmp64*tmp70*tmp53*std::sqrt(1 - std::pow(tmp58,2)/tmp53); -J(3+_OFF,1+_OFF) = 0.001740341106856944*tmp24*tmp54*tmp61*tmp62*tmp64*tmp70*tmp79*tmp87*(-(tmp6*tmp8) + 2*tmp4*tmp0*tmp1 + tmp6*tmp9 - 2*tmp7*tmp0*tmp2 + tmp6*tmp10 - 2*tmp7*tmp1*tmp3 - 2*tmp4*tmp2*tmp3 - tmp6*tmp11 + tmp42)*tmp88; +double tmp15 = -2*tmp7*tmp14; +double tmp16 = tmp0*tmp1; +double tmp17 = tmp2*tmp3; +double tmp18 = tmp16 + tmp17; +double tmp19 = -2*tmp6*tmp18; +double tmp20 = -tmp9; +double tmp21 = tmp8 + tmp20 + tmp10 + tmp12; +double tmp22 = -(tmp4*tmp21); +double tmp23 = x(9+_OFF); +double tmp24 = tmp15 + tmp19 + tmp22 + tmp23; +double tmp25 = tmp1*tmp3; +double tmp26 = -tmp10; +double tmp27 = x(8+_OFF); +double tmp28 = tmp0*tmp3; +double tmp29 = tmp5 + tmp28; +double tmp30 = -2*tmp4*tmp29; +double tmp31 = -(tmp0*tmp2); +double tmp32 = tmp31 + tmp25; +double tmp33 = -2*tmp6*tmp32; +double tmp34 = tmp8 + tmp9 + tmp26 + tmp12; +double tmp35 = -(tmp7*tmp34); +double tmp36 = tmp30 + tmp33 + tmp35 + tmp27; +double tmp37 = std::pow(tmp36,2); +double tmp38 = tmp0*tmp2; +double tmp39 = tmp38 + tmp25; +double tmp40 = -(tmp0*tmp1); +double tmp41 = tmp40 + tmp17; +double tmp42 = tmp8 + tmp20 + tmp26 + tmp11; +double tmp43 = x(10+_OFF); +double tmp44 = std::pow(tmp24,2); +double tmp45 = -2*tmp7*tmp39; +double tmp46 = -2*tmp4*tmp41; +double tmp47 = -(tmp6*tmp42); +double tmp48 = tmp45 + tmp46 + tmp47 + tmp43; +double tmp49 = std::pow(tmp48,2); +double tmp50 = tmp37 + tmp44 + tmp49; +double tmp51 = 1/std::sqrt(tmp50); +double tmp52 = tmp24*tmp51; +double tmp53 = std::asin(tmp52); +double tmp54 = cp(2+_OFF); +double tmp55 = cp(4+_OFF); +double tmp56 = 1/tmp55; +double tmp57 = tmp4*tmp8; +double tmp58 = 2*tmp6*tmp0*tmp1; +double tmp59 = -(tmp4*tmp9); +double tmp60 = 2*tmp7*tmp1*tmp2; +double tmp61 = tmp4*tmp10; +double tmp62 = -2*tmp7*tmp0*tmp3; +double tmp63 = 2*tmp6*tmp2*tmp3; +double tmp64 = -(tmp4*tmp11); +double tmp65 = -tmp23; +double tmp66 = tmp57 + tmp58 + tmp59 + tmp60 + tmp61 + tmp62 + tmp63 + tmp64 + tmp65; +double tmp67 = 2*tmp7*tmp39; +double tmp68 = 2*tmp4*tmp41; +double tmp69 = tmp6*tmp42; +double tmp70 = -tmp43; +double tmp71 = tmp67 + tmp68 + tmp69 + tmp70; +double tmp72 = std::pow(tmp71,2); +double tmp73 = tmp37 + tmp72; +double tmp74 = 1/std::sqrt(tmp73); +double tmp75 = std::sqrt(tmp50); +J(1+_OFF,1+_OFF) = -0.5*tmp53*tmp54*tmp56*(-(tmp7*tmp8) - tmp7*tmp9 + 2*tmp6*tmp0*tmp2 - 2*tmp4*tmp1*tmp2 + tmp7*tmp10 - 2*tmp4*tmp0*tmp3 - 2*tmp6*tmp1*tmp3 + tmp7*tmp11 + tmp27)*tmp66*tmp74*tmp75; +J(2+_OFF,1+_OFF) = -0.5*tmp53*tmp54*tmp56*tmp50*std::sqrt(1 - tmp44/tmp50); +J(3+_OFF,1+_OFF) = -0.5*tmp53*tmp54*tmp56*tmp66*tmp74*(-(tmp6*tmp8) + 2*tmp4*tmp0*tmp1 + tmp6*tmp9 - 2*tmp7*tmp0*tmp2 + tmp6*tmp10 - 2*tmp7*tmp1*tmp3 - 2*tmp4*tmp2*tmp3 - tmp6*tmp11 + tmp43)*tmp75; J(4+_OFF,1+_OFF) = 0; J(5+_OFF,1+_OFF) = 0; J(6+_OFF,1+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFLift.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFLift.cppready index 5ca404f..ca6efb8 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFLift.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFLift.cppready @@ -1,99 +1,90 @@ -double tmp0 = airDensity(2+_OFF); -double tmp1 = 1/tmp0; -double tmp2 = x(4+_OFF); -double tmp3 = x(6+_OFF); -double tmp4 = x(5+_OFF); -double tmp5 = x(7+_OFF); -double tmp6 = wind(1+_OFF); -double tmp7 = tmp4*tmp5; -double tmp8 = wind(2+_OFF); -double tmp9 = wind(3+_OFF); -double tmp10 = std::pow(tmp2,2); -double tmp11 = std::pow(tmp4,2); +double tmp0 = x(4+_OFF); +double tmp1 = x(6+_OFF); +double tmp2 = x(5+_OFF); +double tmp3 = x(7+_OFF); +double tmp4 = wind(1+_OFF); +double tmp5 = tmp2*tmp3; +double tmp6 = wind(2+_OFF); +double tmp7 = wind(3+_OFF); +double tmp8 = std::pow(tmp0,2); +double tmp9 = std::pow(tmp2,2); +double tmp10 = std::pow(tmp1,2); +double tmp11 = -tmp10; double tmp12 = std::pow(tmp3,2); -double tmp13 = -tmp12; -double tmp14 = std::pow(tmp5,2); -double tmp15 = x(10+_OFF); -double tmp16 = -tmp15; -double tmp17 = tmp4*tmp3; -double tmp18 = tmp2*tmp5; -double tmp19 = tmp17 + tmp18; -double tmp20 = -2*tmp8*tmp19; -double tmp21 = -(tmp2*tmp3); -double tmp22 = tmp21 + tmp7; -double tmp23 = -2*tmp9*tmp22; -double tmp24 = -tmp14; -double tmp25 = tmp10 + tmp11 + tmp13 + tmp24; -double tmp26 = -(tmp6*tmp25); -double tmp27 = x(8+_OFF); -double tmp28 = tmp20 + tmp23 + tmp26 + tmp27; -double tmp29 = std::pow(tmp28,2); -double tmp30 = tmp3*tmp5; -double tmp31 = -tmp11; -double tmp32 = tmp2*tmp3; -double tmp33 = tmp32 + tmp7; -double tmp34 = -(tmp2*tmp4); -double tmp35 = tmp34 + tmp30; -double tmp36 = tmp10 + tmp31 + tmp13 + tmp14; -double tmp37 = airDensity(3+_OFF); -double tmp38 = 2*tmp6*tmp33; -double tmp39 = 2*tmp8*tmp35; -double tmp40 = tmp9*tmp36; -double tmp41 = tmp38 + tmp39 + tmp40 + tmp16; -double tmp42 = cp(2+_OFF); -double tmp43 = cp(4+_OFF); -double tmp44 = 1/tmp43; -double tmp45 = airDensity(1+_OFF); -double tmp46 = x(3+_OFF); -double tmp47 = tmp45 + tmp46; -double tmp48 = -0.006500000000000001*tmp1*tmp47; -double tmp49 = 1 + tmp48; -double tmp50 = std::pow(tmp49,4.2561); -double tmp51 = std::pow(tmp41,2); -double tmp52 = tmp29 + tmp51; -double tmp53 = 1/std::sqrt(tmp52); -double tmp54 = tmp9*tmp10; -double tmp55 = -2*tmp8*tmp2*tmp4; -double tmp56 = -(tmp9*tmp11); -double tmp57 = 2*tmp6*tmp2*tmp3; -double tmp58 = -(tmp9*tmp12); -double tmp59 = 2*tmp6*tmp4*tmp5; -double tmp60 = 2*tmp8*tmp3*tmp5; -double tmp61 = tmp9*tmp14; -double tmp62 = tmp54 + tmp55 + tmp56 + tmp57 + tmp58 + tmp59 + tmp60 + tmp61 + tmp16; -double tmp63 = -(tmp2*tmp5); -double tmp64 = tmp17 + tmp63; -double tmp65 = -2*tmp6*tmp64; -double tmp66 = tmp2*tmp4; -double tmp67 = tmp66 + tmp30; -double tmp68 = -2*tmp9*tmp67; -double tmp69 = tmp10 + tmp31 + tmp12 + tmp24; -double tmp70 = -(tmp8*tmp69); -double tmp71 = x(9+_OFF); -double tmp72 = tmp65 + tmp68 + tmp70 + tmp71; -double tmp73 = std::pow(tmp72,2); -double tmp74 = -2*tmp6*tmp33; -double tmp75 = -2*tmp8*tmp35; -double tmp76 = -(tmp9*tmp36); -double tmp77 = tmp74 + tmp75 + tmp76 + tmp15; -double tmp78 = std::pow(tmp77,2); -double tmp79 = tmp29 + tmp73 + tmp78; -double tmp80 = std::atan2(tmp41,tmp28); -double tmp81 = -(tmp6*tmp10); -double tmp82 = -(tmp6*tmp11); -double tmp83 = 2*tmp9*tmp2*tmp3; -double tmp84 = -2*tmp8*tmp4*tmp3; -double tmp85 = tmp6*tmp12; -double tmp86 = -2*tmp8*tmp2*tmp5; -double tmp87 = -2*tmp9*tmp4*tmp5; -double tmp88 = tmp6*tmp14; -double tmp89 = tmp81 + tmp82 + tmp83 + tmp84 + tmp85 + tmp86 + tmp87 + tmp88 + tmp27; -J(1+_OFF,1+_OFF) = 0.001740341106856944*tmp1*tmp37*tmp42*tmp44*tmp50*tmp53*tmp62*tmp79; -J(1+_OFF,2+_OFF) = 0.001740341106856944*tmp1*tmp37*tmp80*tmp42*tmp44*tmp50*tmp53*tmp62*tmp79; +double tmp13 = x(10+_OFF); +double tmp14 = -tmp13; +double tmp15 = tmp2*tmp1; +double tmp16 = tmp0*tmp3; +double tmp17 = tmp15 + tmp16; +double tmp18 = -2*tmp6*tmp17; +double tmp19 = -(tmp0*tmp1); +double tmp20 = tmp19 + tmp5; +double tmp21 = -2*tmp7*tmp20; +double tmp22 = -tmp12; +double tmp23 = tmp8 + tmp9 + tmp11 + tmp22; +double tmp24 = -(tmp4*tmp23); +double tmp25 = x(8+_OFF); +double tmp26 = tmp18 + tmp21 + tmp24 + tmp25; +double tmp27 = std::pow(tmp26,2); +double tmp28 = tmp1*tmp3; +double tmp29 = -tmp9; +double tmp30 = tmp0*tmp1; +double tmp31 = tmp30 + tmp5; +double tmp32 = -(tmp0*tmp2); +double tmp33 = tmp32 + tmp28; +double tmp34 = tmp8 + tmp29 + tmp11 + tmp12; +double tmp35 = 2*tmp4*tmp31; +double tmp36 = 2*tmp6*tmp33; +double tmp37 = tmp7*tmp34; +double tmp38 = tmp35 + tmp36 + tmp37 + tmp14; +double tmp39 = cp(2+_OFF); +double tmp40 = cp(4+_OFF); +double tmp41 = 1/tmp40; +double tmp42 = std::pow(tmp38,2); +double tmp43 = tmp27 + tmp42; +double tmp44 = 1/std::sqrt(tmp43); +double tmp45 = tmp7*tmp8; +double tmp46 = -2*tmp6*tmp0*tmp2; +double tmp47 = -(tmp7*tmp9); +double tmp48 = 2*tmp4*tmp0*tmp1; +double tmp49 = -(tmp7*tmp10); +double tmp50 = 2*tmp4*tmp2*tmp3; +double tmp51 = 2*tmp6*tmp1*tmp3; +double tmp52 = tmp7*tmp12; +double tmp53 = tmp45 + tmp46 + tmp47 + tmp48 + tmp49 + tmp50 + tmp51 + tmp52 + tmp14; +double tmp54 = -(tmp0*tmp3); +double tmp55 = tmp15 + tmp54; +double tmp56 = -2*tmp4*tmp55; +double tmp57 = tmp0*tmp2; +double tmp58 = tmp57 + tmp28; +double tmp59 = -2*tmp7*tmp58; +double tmp60 = tmp8 + tmp29 + tmp10 + tmp22; +double tmp61 = -(tmp6*tmp60); +double tmp62 = x(9+_OFF); +double tmp63 = tmp56 + tmp59 + tmp61 + tmp62; +double tmp64 = std::pow(tmp63,2); +double tmp65 = -2*tmp4*tmp31; +double tmp66 = -2*tmp6*tmp33; +double tmp67 = -(tmp7*tmp34); +double tmp68 = tmp65 + tmp66 + tmp67 + tmp13; +double tmp69 = std::pow(tmp68,2); +double tmp70 = tmp27 + tmp64 + tmp69; +double tmp71 = std::atan2(tmp38,tmp26); +double tmp72 = -(tmp4*tmp8); +double tmp73 = -(tmp4*tmp9); +double tmp74 = 2*tmp7*tmp0*tmp1; +double tmp75 = -2*tmp6*tmp2*tmp1; +double tmp76 = tmp4*tmp10; +double tmp77 = -2*tmp6*tmp0*tmp3; +double tmp78 = -2*tmp7*tmp2*tmp3; +double tmp79 = tmp4*tmp12; +double tmp80 = tmp72 + tmp73 + tmp74 + tmp75 + tmp76 + tmp77 + tmp78 + tmp79 + tmp25; +J(1+_OFF,1+_OFF) = 0.5*tmp39*tmp41*tmp44*tmp53*tmp70; +J(1+_OFF,2+_OFF) = 0.5*tmp71*tmp39*tmp41*tmp44*tmp53*tmp70; J(2+_OFF,1+_OFF) = 0; J(2+_OFF,2+_OFF) = 0; -J(3+_OFF,1+_OFF) = 0.001740341106856944*tmp1*tmp37*tmp42*tmp44*tmp50*tmp89*tmp53*tmp79; -J(3+_OFF,2+_OFF) = 0.001740341106856944*tmp1*tmp37*tmp80*tmp42*tmp44*tmp50*tmp89*tmp53*tmp79; +J(3+_OFF,1+_OFF) = 0.5*tmp39*tmp41*tmp80*tmp44*tmp70; +J(3+_OFF,2+_OFF) = 0.5*tmp71*tmp39*tmp41*tmp80*tmp44*tmp70; J(4+_OFF,1+_OFF) = 0; J(4+_OFF,2+_OFF) = 0; J(5+_OFF,1+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFThrust.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFThrust.cppready index 452520f..6ab2414 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFThrust.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrFThrust.cppready @@ -1,70 +1,61 @@ -double tmp0 = airDensity(2+_OFF); -double tmp1 = 1/tmp0; -double tmp2 = airDensity(3+_OFF); -double tmp3 = cp(1+_OFF); -double tmp4 = cp(4+_OFF); -double tmp5 = 1/tmp4; -double tmp6 = airDensity(1+_OFF); -double tmp7 = x(3+_OFF); -double tmp8 = tmp6 + tmp7; -double tmp9 = -0.006500000000000001*tmp1*tmp8; -double tmp10 = 1 + tmp9; -double tmp11 = std::pow(tmp10,4.2561); -double tmp12 = x(4+_OFF); -double tmp13 = x(6+_OFF); -double tmp14 = x(5+_OFF); -double tmp15 = x(7+_OFF); -double tmp16 = wind(1+_OFF); -double tmp17 = tmp14*tmp13; -double tmp18 = wind(3+_OFF); -double tmp19 = wind(2+_OFF); -double tmp20 = std::pow(tmp12,2); -double tmp21 = std::pow(tmp14,2); -double tmp22 = std::pow(tmp13,2); -double tmp23 = std::pow(tmp15,2); -double tmp24 = -tmp23; -double tmp25 = tmp14*tmp15; -double tmp26 = tmp13*tmp15; -double tmp27 = -tmp21; -double tmp28 = -tmp22; -double tmp29 = z(1+_OFF); -double tmp30 = tmp12*tmp15; -double tmp31 = tmp17 + tmp30; -double tmp32 = -2*tmp19*tmp31; -double tmp33 = -(tmp12*tmp13); -double tmp34 = tmp33 + tmp25; -double tmp35 = -2*tmp18*tmp34; -double tmp36 = tmp20 + tmp21 + tmp28 + tmp24; -double tmp37 = -(tmp16*tmp36); -double tmp38 = x(8+_OFF); -double tmp39 = tmp32 + tmp35 + tmp37 + tmp38; -double tmp40 = std::pow(tmp39,2); -double tmp41 = -(tmp12*tmp15); -double tmp42 = tmp17 + tmp41; -double tmp43 = -2*tmp16*tmp42; -double tmp44 = tmp12*tmp14; -double tmp45 = tmp44 + tmp26; -double tmp46 = -2*tmp18*tmp45; -double tmp47 = tmp20 + tmp27 + tmp22 + tmp24; -double tmp48 = -(tmp19*tmp47); -double tmp49 = x(9+_OFF); -double tmp50 = tmp43 + tmp46 + tmp48 + tmp49; -double tmp51 = std::pow(tmp50,2); -double tmp52 = tmp12*tmp13; -double tmp53 = tmp52 + tmp25; -double tmp54 = -2*tmp16*tmp53; -double tmp55 = -(tmp12*tmp14); -double tmp56 = tmp55 + tmp26; -double tmp57 = -2*tmp19*tmp56; -double tmp58 = tmp20 + tmp27 + tmp28 + tmp23; -double tmp59 = -(tmp18*tmp58); -double tmp60 = x(10+_OFF); -double tmp61 = tmp54 + tmp57 + tmp59 + tmp60; -double tmp62 = std::pow(tmp61,2); -double tmp63 = tmp40 + tmp51 + tmp62; -J(1+_OFF,1+_OFF) = -0.003480682213713888*tmp1*tmp2*std::pow(tmp3,4)*tmp5*tmp11*std::pow(tmp29,2); -J(1+_OFF,2+_OFF) = -0.0011079355592892124*tmp1*tmp2*std::pow(tmp3,3)*tmp5*tmp11*std::sqrt(tmp63)*tmp29; -J(1+_OFF,3+_OFF) = -0.00035266684177632363*tmp1*tmp2*std::pow(tmp3,2)*tmp5*tmp11*tmp63; +double tmp0 = cp(1+_OFF); +double tmp1 = cp(4+_OFF); +double tmp2 = 1/tmp1; +double tmp3 = x(4+_OFF); +double tmp4 = x(6+_OFF); +double tmp5 = x(5+_OFF); +double tmp6 = x(7+_OFF); +double tmp7 = wind(1+_OFF); +double tmp8 = tmp5*tmp4; +double tmp9 = wind(3+_OFF); +double tmp10 = wind(2+_OFF); +double tmp11 = std::pow(tmp3,2); +double tmp12 = std::pow(tmp5,2); +double tmp13 = std::pow(tmp4,2); +double tmp14 = std::pow(tmp6,2); +double tmp15 = -tmp14; +double tmp16 = tmp5*tmp6; +double tmp17 = tmp4*tmp6; +double tmp18 = -tmp12; +double tmp19 = -tmp13; +double tmp20 = z(1+_OFF); +double tmp21 = tmp3*tmp6; +double tmp22 = tmp8 + tmp21; +double tmp23 = -2*tmp10*tmp22; +double tmp24 = -(tmp3*tmp4); +double tmp25 = tmp24 + tmp16; +double tmp26 = -2*tmp9*tmp25; +double tmp27 = tmp11 + tmp12 + tmp19 + tmp15; +double tmp28 = -(tmp7*tmp27); +double tmp29 = x(8+_OFF); +double tmp30 = tmp23 + tmp26 + tmp28 + tmp29; +double tmp31 = std::pow(tmp30,2); +double tmp32 = -(tmp3*tmp6); +double tmp33 = tmp8 + tmp32; +double tmp34 = -2*tmp7*tmp33; +double tmp35 = tmp3*tmp5; +double tmp36 = tmp35 + tmp17; +double tmp37 = -2*tmp9*tmp36; +double tmp38 = tmp11 + tmp18 + tmp13 + tmp15; +double tmp39 = -(tmp10*tmp38); +double tmp40 = x(9+_OFF); +double tmp41 = tmp34 + tmp37 + tmp39 + tmp40; +double tmp42 = std::pow(tmp41,2); +double tmp43 = tmp3*tmp4; +double tmp44 = tmp43 + tmp16; +double tmp45 = -2*tmp7*tmp44; +double tmp46 = -(tmp3*tmp5); +double tmp47 = tmp46 + tmp17; +double tmp48 = -2*tmp10*tmp47; +double tmp49 = tmp11 + tmp18 + tmp19 + tmp14; +double tmp50 = -(tmp9*tmp49); +double tmp51 = x(10+_OFF); +double tmp52 = tmp45 + tmp48 + tmp50 + tmp51; +double tmp53 = std::pow(tmp52,2); +double tmp54 = tmp31 + tmp42 + tmp53; +J(1+_OFF,1+_OFF) = -1.*std::pow(tmp0,4)*tmp2*std::pow(tmp20,2); +J(1+_OFF,2+_OFF) = -0.3183098861837907*std::pow(tmp0,3)*tmp2*std::sqrt(tmp54)*tmp20; +J(1+_OFF,3+_OFF) = -0.10132118364233778*std::pow(tmp0,2)*tmp2*tmp54; J(2+_OFF,1+_OFF) = 0; J(2+_OFF,2+_OFF) = 0; J(2+_OFF,3+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrIbd.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrIbd.cppready index aaab919..637af48 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrIbd.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrIbd.cppready @@ -17,157 +17,143 @@ double tmp15 = 1/tmp14; double tmp16 = x(11+_OFF); double tmp17 = x(12+_OFF); double tmp18 = x(13+_OFF); -double tmp19 = airDensity(2+_OFF); -double tmp20 = 1/tmp19; -double tmp21 = x(4+_OFF); -double tmp22 = x(6+_OFF); -double tmp23 = x(5+_OFF); -double tmp24 = x(7+_OFF); -double tmp25 = wind(1+_OFF); -double tmp26 = tmp23*tmp22; -double tmp27 = wind(3+_OFF); -double tmp28 = wind(2+_OFF); -double tmp29 = std::pow(tmp21,2); -double tmp30 = std::pow(tmp23,2); -double tmp31 = std::pow(tmp22,2); -double tmp32 = std::pow(tmp24,2); -double tmp33 = -tmp32; -double tmp34 = tmp23*tmp24; -double tmp35 = tmp22*tmp24; -double tmp36 = -tmp30; -double tmp37 = -tmp31; -double tmp38 = -(tmp21*tmp24); -double tmp39 = tmp26 + tmp38; -double tmp40 = tmp21*tmp23; -double tmp41 = tmp40 + tmp35; -double tmp42 = tmp29 + tmp36 + tmp31 + tmp33; -double tmp43 = x(9+_OFF); -double tmp44 = tmp21*tmp24; -double tmp45 = tmp26 + tmp44; -double tmp46 = -2*tmp28*tmp45; -double tmp47 = -(tmp21*tmp22); -double tmp48 = tmp47 + tmp34; -double tmp49 = -2*tmp27*tmp48; -double tmp50 = tmp29 + tmp30 + tmp37 + tmp33; -double tmp51 = -(tmp25*tmp50); -double tmp52 = x(8+_OFF); -double tmp53 = tmp46 + tmp49 + tmp51 + tmp52; -double tmp54 = std::pow(tmp53,2); -double tmp55 = -2*tmp25*tmp39; -double tmp56 = -2*tmp27*tmp41; -double tmp57 = -(tmp28*tmp42); -double tmp58 = tmp55 + tmp56 + tmp57 + tmp43; -double tmp59 = std::pow(tmp58,2); -double tmp60 = tmp21*tmp22; -double tmp61 = tmp60 + tmp34; -double tmp62 = -2*tmp25*tmp61; -double tmp63 = -(tmp21*tmp23); -double tmp64 = tmp63 + tmp35; -double tmp65 = -2*tmp28*tmp64; -double tmp66 = tmp29 + tmp36 + tmp37 + tmp32; -double tmp67 = -(tmp27*tmp66); -double tmp68 = x(10+_OFF); -double tmp69 = tmp62 + tmp65 + tmp67 + tmp68; -double tmp70 = std::pow(tmp69,2); -double tmp71 = tmp54 + tmp59 + tmp70; -double tmp72 = cp(3+_OFF); -double tmp73 = 1/std::sqrt(tmp71); -double tmp74 = -(tmp2*tmp3); -double tmp75 = tmp1*tmp4; -double tmp76 = tmp74 + tmp75; -double tmp77 = tmp0*tmp2; -double tmp78 = -tmp12; -double tmp79 = tmp77 + tmp78; -double tmp80 = std::pow(tmp14,-2); -double tmp81 = std::pow(tmp18,2); -double tmp82 = airDensity(3+_OFF); -double tmp83 = cp(2+_OFF); -double tmp84 = airDensity(1+_OFF); -double tmp85 = x(3+_OFF); -double tmp86 = tmp84 + tmp85; -double tmp87 = -0.006500000000000001*tmp20*tmp86; -double tmp88 = 1 + tmp87; -double tmp89 = std::pow(tmp88,4.2561); -double tmp90 = cBar(1+_OFF); -double tmp91 = -(tmp0*tmp1); -double tmp92 = tmp3*tmp4; -double tmp93 = tmp91 + tmp92; -double tmp94 = std::pow(tmp16,2); -double tmp95 = std::pow(tmp17,2); -double tmp96 = 2*tmp25*tmp39; -double tmp97 = 2*tmp27*tmp41; -double tmp98 = tmp28*tmp42; -double tmp99 = -tmp43; -double tmp100 = tmp96 + tmp97 + tmp98 + tmp99; -double tmp101 = tmp100*tmp73; -double tmp102 = std::asin(tmp101); -double tmp103 = -(tmp1*tmp16*tmp17); -double tmp104 = -(tmp4*tmp95); -double tmp105 = tmp3*tmp16*tmp18; -double tmp106 = tmp0*tmp17*tmp18; -double tmp107 = -(tmp2*tmp17*tmp18); -double tmp108 = tmp4*tmp81; -double tmp109 = mRoll(2+_OFF); -double tmp110 = tmp102*tmp109; -double tmp111 = mRoll(3+_OFF); -double tmp112 = (tmp72*tmp111*tmp73*tmp16)/2.; -double tmp113 = mRoll(4+_OFF); -double tmp114 = -(tmp72*tmp113*tmp73*tmp18)/2.; -double tmp115 = mRoll(1+_OFF); -double tmp116 = z(2+_OFF); -double tmp117 = -(tmp115*tmp116); -double tmp118 = tmp110 + tmp112 + tmp114 + tmp117; -double tmp119 = 0.001740341106856944*tmp20*tmp82*tmp83*tmp72*tmp89*tmp71*tmp118; -double tmp120 = tmp103 + tmp104 + tmp105 + tmp106 + tmp107 + tmp108 + tmp119; -double tmp121 = tmp5*tmp2; -double tmp122 = -tmp7; -double tmp123 = tmp121 + tmp122; -double tmp124 = tmp1*tmp94; -double tmp125 = tmp4*tmp16*tmp17; -double tmp126 = -(tmp5*tmp16*tmp18); -double tmp127 = tmp2*tmp16*tmp18; -double tmp128 = -(tmp3*tmp17*tmp18); -double tmp129 = -(tmp1*tmp81); -double tmp130 = mPitch(1+_OFF); -double tmp131 = -tmp130; -double tmp132 = 2*tmp25*tmp61; -double tmp133 = 2*tmp28*tmp64; -double tmp134 = tmp27*tmp66; -double tmp135 = -tmp68; -double tmp136 = tmp132 + tmp133 + tmp134 + tmp135; -double tmp137 = std::atan2(tmp136,tmp53); -double tmp138 = mPitch(3+_OFF); -double tmp139 = -(tmp137*tmp138); -double tmp140 = mPitch(4+_OFF); -double tmp141 = (tmp90*tmp140*tmp73*tmp17)/2.; -double tmp142 = mPitch(2+_OFF); -double tmp143 = z(3+_OFF); -double tmp144 = -(tmp142*tmp143); -double tmp145 = tmp131 + tmp139 + tmp141 + tmp144; -double tmp146 = 0.001740341106856944*tmp20*tmp82*tmp90*tmp83*tmp89*tmp71*tmp145; -double tmp147 = tmp124 + tmp125 + tmp126 + tmp127 + tmp128 + tmp129 + tmp146; -double tmp148 = -(tmp3*tmp94); -double tmp149 = tmp5*tmp16*tmp17; -double tmp150 = -(tmp0*tmp16*tmp17); -double tmp151 = tmp3*tmp95; -double tmp152 = -(tmp4*tmp16*tmp18); -double tmp153 = tmp1*tmp17*tmp18; -double tmp154 = mYaw(2+_OFF); -double tmp155 = -(tmp102*tmp154); -double tmp156 = mYaw(3+_OFF); -double tmp157 = (tmp72*tmp156*tmp73*tmp18)/2.; -double tmp158 = mYaw(1+_OFF); -double tmp159 = z(4+_OFF); -double tmp160 = tmp158*tmp159; -double tmp161 = tmp155 + tmp157 + tmp160; -double tmp162 = 0.001740341106856944*tmp20*tmp82*tmp83*tmp72*tmp89*tmp71*tmp161; -double tmp163 = tmp148 + tmp149 + tmp150 + tmp151 + tmp152 + tmp153 + tmp162; -double tmp164 = tmp5*tmp0; -double tmp165 = -tmp9; -double tmp166 = tmp164 + tmp165; -double tmp167 = tmp1*tmp3; -double tmp168 = -(tmp5*tmp4); -double tmp169 = tmp167 + tmp168; +double tmp19 = x(4+_OFF); +double tmp20 = x(6+_OFF); +double tmp21 = x(5+_OFF); +double tmp22 = x(7+_OFF); +double tmp23 = wind(1+_OFF); +double tmp24 = tmp21*tmp20; +double tmp25 = wind(3+_OFF); +double tmp26 = wind(2+_OFF); +double tmp27 = std::pow(tmp19,2); +double tmp28 = std::pow(tmp21,2); +double tmp29 = std::pow(tmp20,2); +double tmp30 = std::pow(tmp22,2); +double tmp31 = -tmp30; +double tmp32 = tmp21*tmp22; +double tmp33 = tmp20*tmp22; +double tmp34 = -tmp28; +double tmp35 = -tmp29; +double tmp36 = -(tmp19*tmp22); +double tmp37 = tmp24 + tmp36; +double tmp38 = -2*tmp23*tmp37; +double tmp39 = tmp19*tmp21; +double tmp40 = tmp39 + tmp33; +double tmp41 = -2*tmp25*tmp40; +double tmp42 = tmp27 + tmp34 + tmp29 + tmp31; +double tmp43 = -(tmp26*tmp42); +double tmp44 = x(9+_OFF); +double tmp45 = tmp38 + tmp41 + tmp43 + tmp44; +double tmp46 = tmp19*tmp22; +double tmp47 = tmp24 + tmp46; +double tmp48 = -2*tmp26*tmp47; +double tmp49 = -(tmp19*tmp20); +double tmp50 = tmp49 + tmp32; +double tmp51 = -2*tmp25*tmp50; +double tmp52 = tmp27 + tmp28 + tmp35 + tmp31; +double tmp53 = -(tmp23*tmp52); +double tmp54 = x(8+_OFF); +double tmp55 = tmp48 + tmp51 + tmp53 + tmp54; +double tmp56 = std::pow(tmp55,2); +double tmp57 = std::pow(tmp45,2); +double tmp58 = tmp19*tmp20; +double tmp59 = tmp58 + tmp32; +double tmp60 = -2*tmp23*tmp59; +double tmp61 = -(tmp19*tmp21); +double tmp62 = tmp61 + tmp33; +double tmp63 = -2*tmp26*tmp62; +double tmp64 = tmp27 + tmp34 + tmp35 + tmp30; +double tmp65 = -(tmp25*tmp64); +double tmp66 = x(10+_OFF); +double tmp67 = tmp60 + tmp63 + tmp65 + tmp66; +double tmp68 = std::pow(tmp67,2); +double tmp69 = tmp56 + tmp57 + tmp68; +double tmp70 = cp(3+_OFF); +double tmp71 = 1/std::sqrt(tmp69); +double tmp72 = -(tmp2*tmp3); +double tmp73 = tmp1*tmp4; +double tmp74 = tmp72 + tmp73; +double tmp75 = tmp0*tmp2; +double tmp76 = -tmp12; +double tmp77 = tmp75 + tmp76; +double tmp78 = std::pow(tmp14,-2); +double tmp79 = std::pow(tmp18,2); +double tmp80 = cp(2+_OFF); +double tmp81 = cBar(1+_OFF); +double tmp82 = -(tmp0*tmp1); +double tmp83 = tmp3*tmp4; +double tmp84 = tmp82 + tmp83; +double tmp85 = std::pow(tmp16,2); +double tmp86 = std::pow(tmp17,2); +double tmp87 = tmp45*tmp71; +double tmp88 = std::asin(tmp87); +double tmp89 = -(tmp1*tmp16*tmp17); +double tmp90 = -(tmp4*tmp86); +double tmp91 = tmp3*tmp16*tmp18; +double tmp92 = tmp0*tmp17*tmp18; +double tmp93 = -(tmp2*tmp17*tmp18); +double tmp94 = tmp4*tmp79; +double tmp95 = mRoll(2+_OFF); +double tmp96 = -(tmp88*tmp95); +double tmp97 = mRoll(3+_OFF); +double tmp98 = (tmp70*tmp97*tmp71*tmp16)/2.; +double tmp99 = mRoll(4+_OFF); +double tmp100 = -(tmp70*tmp99*tmp71*tmp18)/2.; +double tmp101 = mRoll(1+_OFF); +double tmp102 = z(2+_OFF); +double tmp103 = -(tmp101*tmp102); +double tmp104 = tmp96 + tmp98 + tmp100 + tmp103; +double tmp105 = 0.5*tmp80*tmp70*tmp69*tmp104; +double tmp106 = tmp89 + tmp90 + tmp91 + tmp92 + tmp93 + tmp94 + tmp105; +double tmp107 = tmp5*tmp2; +double tmp108 = -tmp7; +double tmp109 = tmp107 + tmp108; +double tmp110 = tmp1*tmp85; +double tmp111 = tmp4*tmp16*tmp17; +double tmp112 = -(tmp5*tmp16*tmp18); +double tmp113 = tmp2*tmp16*tmp18; +double tmp114 = -(tmp3*tmp17*tmp18); +double tmp115 = -(tmp1*tmp79); +double tmp116 = mPitch(1+_OFF); +double tmp117 = -tmp116; +double tmp118 = 2*tmp23*tmp59; +double tmp119 = 2*tmp26*tmp62; +double tmp120 = tmp25*tmp64; +double tmp121 = -tmp66; +double tmp122 = tmp118 + tmp119 + tmp120 + tmp121; +double tmp123 = std::atan2(tmp122,tmp55); +double tmp124 = mPitch(3+_OFF); +double tmp125 = -(tmp123*tmp124); +double tmp126 = mPitch(4+_OFF); +double tmp127 = (tmp81*tmp126*tmp71*tmp17)/2.; +double tmp128 = mPitch(2+_OFF); +double tmp129 = z(3+_OFF); +double tmp130 = -(tmp128*tmp129); +double tmp131 = tmp117 + tmp125 + tmp127 + tmp130; +double tmp132 = 0.5*tmp81*tmp80*tmp69*tmp131; +double tmp133 = tmp110 + tmp111 + tmp112 + tmp113 + tmp114 + tmp115 + tmp132; +double tmp134 = -(tmp3*tmp85); +double tmp135 = tmp5*tmp16*tmp17; +double tmp136 = -(tmp0*tmp16*tmp17); +double tmp137 = tmp3*tmp86; +double tmp138 = -(tmp4*tmp16*tmp18); +double tmp139 = tmp1*tmp17*tmp18; +double tmp140 = mYaw(2+_OFF); +double tmp141 = tmp88*tmp140; +double tmp142 = mYaw(3+_OFF); +double tmp143 = (tmp70*tmp142*tmp71*tmp18)/2.; +double tmp144 = mYaw(1+_OFF); +double tmp145 = z(4+_OFF); +double tmp146 = tmp144*tmp145; +double tmp147 = tmp141 + tmp143 + tmp146; +double tmp148 = 0.5*tmp80*tmp70*tmp69*tmp147; +double tmp149 = tmp134 + tmp135 + tmp136 + tmp137 + tmp138 + tmp139 + tmp148; +double tmp150 = tmp5*tmp0; +double tmp151 = -tmp9; +double tmp152 = tmp150 + tmp151; +double tmp153 = tmp1*tmp3; +double tmp154 = -(tmp5*tmp4); +double tmp155 = tmp153 + tmp154; J(1+_OFF,1+_OFF) = 0; J(1+_OFF,2+_OFF) = 0; J(1+_OFF,3+_OFF) = 0; @@ -177,12 +163,12 @@ J(2+_OFF,3+_OFF) = 0; J(3+_OFF,1+_OFF) = 0; J(3+_OFF,2+_OFF) = 0; J(3+_OFF,3+_OFF) = 0; -J(4+_OFF,1+_OFF) = -(tmp93*tmp15*tmp16*tmp17) + tmp76*tmp15*tmp16*tmp18 + std::pow(tmp79,2)*tmp80*tmp120 + tmp76*tmp79*tmp80*tmp147 + tmp93*tmp79*tmp80*tmp163; -J(4+_OFF,2+_OFF) = tmp93*tmp15*tmp16*tmp17 - tmp79*tmp15*tmp17*tmp18 + tmp123*tmp79*tmp80*tmp120 - tmp2*tmp15*tmp120 + tmp123*tmp76*tmp80*tmp147 + tmp123*tmp93*tmp80*tmp163 + tmp1*tmp15*tmp163; -J(4+_OFF,3+_OFF) = -(tmp76*tmp15*tmp16*tmp18) + tmp79*tmp15*tmp17*tmp18 + tmp166*tmp79*tmp80*tmp120 - tmp0*tmp15*tmp120 + tmp166*tmp76*tmp80*tmp147 + tmp3*tmp15*tmp147 + tmp166*tmp93*tmp80*tmp163; -J(5+_OFF,1+_OFF) = -(tmp169*tmp15*tmp16*tmp17) + tmp123*tmp15*tmp16*tmp18 + tmp76*tmp79*tmp80*tmp120 + tmp123*tmp79*tmp80*tmp147 - tmp2*tmp15*tmp147 + tmp169*tmp79*tmp80*tmp163 + tmp4*tmp15*tmp163; -J(5+_OFF,2+_OFF) = tmp169*tmp15*tmp16*tmp17 - tmp76*tmp15*tmp17*tmp18 + tmp123*tmp76*tmp80*tmp120 + std::pow(tmp123,2)*tmp80*tmp147 + tmp123*tmp169*tmp80*tmp163; -J(5+_OFF,3+_OFF) = -(tmp123*tmp15*tmp16*tmp18) + tmp76*tmp15*tmp17*tmp18 + tmp166*tmp76*tmp80*tmp120 + tmp3*tmp15*tmp120 + tmp123*tmp166*tmp80*tmp147 - tmp5*tmp15*tmp147 + tmp166*tmp169*tmp80*tmp163; -J(6+_OFF,1+_OFF) = -(tmp166*tmp15*tmp16*tmp17) + tmp169*tmp15*tmp16*tmp18 + tmp93*tmp79*tmp80*tmp120 + tmp169*tmp79*tmp80*tmp147 + tmp4*tmp15*tmp147 + tmp166*tmp79*tmp80*tmp163 - tmp0*tmp15*tmp163; -J(6+_OFF,2+_OFF) = tmp166*tmp15*tmp16*tmp17 - tmp93*tmp15*tmp17*tmp18 + tmp123*tmp93*tmp80*tmp120 + tmp1*tmp15*tmp120 + tmp123*tmp169*tmp80*tmp147 + tmp123*tmp166*tmp80*tmp163 - tmp5*tmp15*tmp163; -J(6+_OFF,3+_OFF) = -(tmp169*tmp15*tmp16*tmp18) + tmp93*tmp15*tmp17*tmp18 + tmp166*tmp93*tmp80*tmp120 + tmp166*tmp169*tmp80*tmp147 + std::pow(tmp166,2)*tmp80*tmp163; +J(4+_OFF,1+_OFF) = -(tmp84*tmp15*tmp16*tmp17) + tmp74*tmp15*tmp16*tmp18 + std::pow(tmp77,2)*tmp78*tmp106 + tmp74*tmp77*tmp78*tmp133 + tmp84*tmp77*tmp78*tmp149; +J(4+_OFF,2+_OFF) = tmp84*tmp15*tmp16*tmp17 - tmp77*tmp15*tmp17*tmp18 + tmp109*tmp77*tmp78*tmp106 - tmp2*tmp15*tmp106 + tmp109*tmp74*tmp78*tmp133 + tmp109*tmp84*tmp78*tmp149 + tmp1*tmp15*tmp149; +J(4+_OFF,3+_OFF) = -(tmp74*tmp15*tmp16*tmp18) + tmp77*tmp15*tmp17*tmp18 + tmp152*tmp77*tmp78*tmp106 - tmp0*tmp15*tmp106 + tmp152*tmp74*tmp78*tmp133 + tmp3*tmp15*tmp133 + tmp152*tmp84*tmp78*tmp149; +J(5+_OFF,1+_OFF) = -(tmp155*tmp15*tmp16*tmp17) + tmp109*tmp15*tmp16*tmp18 + tmp74*tmp77*tmp78*tmp106 + tmp109*tmp77*tmp78*tmp133 - tmp2*tmp15*tmp133 + tmp155*tmp77*tmp78*tmp149 + tmp4*tmp15*tmp149; +J(5+_OFF,2+_OFF) = tmp155*tmp15*tmp16*tmp17 - tmp74*tmp15*tmp17*tmp18 + tmp109*tmp74*tmp78*tmp106 + std::pow(tmp109,2)*tmp78*tmp133 + tmp109*tmp155*tmp78*tmp149; +J(5+_OFF,3+_OFF) = -(tmp109*tmp15*tmp16*tmp18) + tmp74*tmp15*tmp17*tmp18 + tmp152*tmp74*tmp78*tmp106 + tmp3*tmp15*tmp106 + tmp109*tmp152*tmp78*tmp133 - tmp5*tmp15*tmp133 + tmp152*tmp155*tmp78*tmp149; +J(6+_OFF,1+_OFF) = -(tmp152*tmp15*tmp16*tmp17) + tmp155*tmp15*tmp16*tmp18 + tmp84*tmp77*tmp78*tmp106 + tmp155*tmp77*tmp78*tmp133 + tmp4*tmp15*tmp133 + tmp152*tmp77*tmp78*tmp149 - tmp0*tmp15*tmp149; +J(6+_OFF,2+_OFF) = tmp152*tmp15*tmp16*tmp17 - tmp84*tmp15*tmp17*tmp18 + tmp109*tmp84*tmp78*tmp106 + tmp1*tmp15*tmp106 + tmp109*tmp155*tmp78*tmp133 + tmp109*tmp152*tmp78*tmp149 - tmp5*tmp15*tmp149; +J(6+_OFF,3+_OFF) = -(tmp155*tmp15*tmp16*tmp18) + tmp84*tmp15*tmp17*tmp18 + tmp152*tmp84*tmp78*tmp106 + tmp152*tmp155*tmp78*tmp133 + std::pow(tmp152,2)*tmp78*tmp149; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrIbod.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrIbod.cppready index 24859de..35e6169 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrIbod.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrIbod.cppready @@ -21,171 +21,157 @@ double tmp19 = tmp0*tmp1; double tmp20 = -tmp6; double tmp21 = tmp19 + tmp20; double tmp22 = std::pow(tmp18,2); -double tmp23 = airDensity(2+_OFF); -double tmp24 = 1/tmp23; -double tmp25 = x(4+_OFF); -double tmp26 = x(6+_OFF); -double tmp27 = x(5+_OFF); -double tmp28 = x(7+_OFF); -double tmp29 = wind(1+_OFF); -double tmp30 = tmp27*tmp26; -double tmp31 = wind(3+_OFF); -double tmp32 = wind(2+_OFF); -double tmp33 = std::pow(tmp25,2); -double tmp34 = std::pow(tmp27,2); -double tmp35 = std::pow(tmp26,2); -double tmp36 = std::pow(tmp28,2); -double tmp37 = -tmp36; -double tmp38 = tmp27*tmp28; -double tmp39 = tmp26*tmp28; -double tmp40 = -tmp34; -double tmp41 = -tmp35; -double tmp42 = -(tmp25*tmp28); -double tmp43 = tmp30 + tmp42; -double tmp44 = tmp25*tmp27; -double tmp45 = tmp44 + tmp39; -double tmp46 = tmp33 + tmp40 + tmp35 + tmp37; -double tmp47 = x(9+_OFF); -double tmp48 = tmp25*tmp28; -double tmp49 = tmp30 + tmp48; -double tmp50 = -2*tmp32*tmp49; -double tmp51 = -(tmp25*tmp26); -double tmp52 = tmp51 + tmp38; -double tmp53 = -2*tmp31*tmp52; -double tmp54 = tmp33 + tmp34 + tmp41 + tmp37; -double tmp55 = -(tmp29*tmp54); -double tmp56 = x(8+_OFF); -double tmp57 = tmp50 + tmp53 + tmp55 + tmp56; -double tmp58 = std::pow(tmp57,2); -double tmp59 = -2*tmp29*tmp43; -double tmp60 = -2*tmp31*tmp45; -double tmp61 = -(tmp32*tmp46); -double tmp62 = tmp59 + tmp60 + tmp61 + tmp47; -double tmp63 = std::pow(tmp62,2); -double tmp64 = tmp25*tmp26; -double tmp65 = tmp64 + tmp38; -double tmp66 = -2*tmp29*tmp65; -double tmp67 = -(tmp25*tmp27); -double tmp68 = tmp67 + tmp39; -double tmp69 = -2*tmp32*tmp68; -double tmp70 = tmp33 + tmp40 + tmp41 + tmp36; -double tmp71 = -(tmp31*tmp70); -double tmp72 = x(10+_OFF); -double tmp73 = tmp66 + tmp69 + tmp71 + tmp72; -double tmp74 = std::pow(tmp73,2); -double tmp75 = tmp58 + tmp63 + tmp74; -double tmp76 = cp(3+_OFF); -double tmp77 = 1/std::sqrt(tmp75); -double tmp78 = -(tmp1*tmp3); -double tmp79 = tmp2*tmp4; -double tmp80 = tmp78 + tmp79; -double tmp81 = -2*tmp0*tmp2; -double tmp82 = 2*tmp3*tmp4; -double tmp83 = tmp81 + tmp82; -double tmp84 = std::pow(tmp14,-2); -double tmp85 = std::pow(tmp17,2); -double tmp86 = airDensity(3+_OFF); -double tmp87 = cp(2+_OFF); -double tmp88 = airDensity(1+_OFF); -double tmp89 = x(3+_OFF); -double tmp90 = tmp88 + tmp89; -double tmp91 = -0.006500000000000001*tmp24*tmp90; -double tmp92 = 1 + tmp91; -double tmp93 = std::pow(tmp92,4.2561); -double tmp94 = cBar(1+_OFF); -double tmp95 = tmp2*tmp85; -double tmp96 = tmp4*tmp17*tmp16; -double tmp97 = -(tmp5*tmp17*tmp18); -double tmp98 = tmp1*tmp17*tmp18; -double tmp99 = -(tmp3*tmp16*tmp18); -double tmp100 = -(tmp2*tmp22); -double tmp101 = mPitch(1+_OFF); -double tmp102 = -tmp101; -double tmp103 = 2*tmp29*tmp65; -double tmp104 = 2*tmp32*tmp68; -double tmp105 = tmp31*tmp70; -double tmp106 = -tmp72; -double tmp107 = tmp103 + tmp104 + tmp105 + tmp106; -double tmp108 = std::atan2(tmp107,tmp57); -double tmp109 = mPitch(3+_OFF); -double tmp110 = -(tmp108*tmp109); -double tmp111 = mPitch(4+_OFF); -double tmp112 = (tmp94*tmp111*tmp77*tmp16)/2.; -double tmp113 = mPitch(2+_OFF); -double tmp114 = z(3+_OFF); -double tmp115 = -(tmp113*tmp114); -double tmp116 = tmp102 + tmp110 + tmp112 + tmp115; -double tmp117 = 0.001740341106856944*tmp24*tmp86*tmp94*tmp87*tmp93*tmp75*tmp116; -double tmp118 = tmp95 + tmp96 + tmp97 + tmp98 + tmp99 + tmp100 + tmp117; -double tmp119 = -(tmp0*tmp2); -double tmp120 = tmp3*tmp4; -double tmp121 = tmp119 + tmp120; -double tmp122 = std::pow(tmp16,2); -double tmp123 = 2*tmp29*tmp43; -double tmp124 = 2*tmp31*tmp45; -double tmp125 = tmp32*tmp46; -double tmp126 = -tmp47; -double tmp127 = tmp123 + tmp124 + tmp125 + tmp126; -double tmp128 = tmp127*tmp77; -double tmp129 = std::asin(tmp128); -double tmp130 = -(tmp3*tmp85); -double tmp131 = tmp5*tmp17*tmp16; -double tmp132 = -(tmp0*tmp17*tmp16); -double tmp133 = tmp3*tmp122; -double tmp134 = -(tmp4*tmp17*tmp18); -double tmp135 = tmp2*tmp16*tmp18; -double tmp136 = mYaw(2+_OFF); -double tmp137 = -(tmp129*tmp136); -double tmp138 = mYaw(3+_OFF); -double tmp139 = (tmp76*tmp138*tmp77*tmp18)/2.; -double tmp140 = mYaw(1+_OFF); -double tmp141 = z(4+_OFF); -double tmp142 = tmp140*tmp141; -double tmp143 = tmp137 + tmp139 + tmp142; -double tmp144 = 0.001740341106856944*tmp24*tmp86*tmp87*tmp76*tmp93*tmp75*tmp143; -double tmp145 = tmp130 + tmp131 + tmp132 + tmp133 + tmp134 + tmp135 + tmp144; -double tmp146 = -(tmp2*tmp17*tmp16); -double tmp147 = -(tmp4*tmp122); -double tmp148 = tmp3*tmp17*tmp18; -double tmp149 = tmp0*tmp16*tmp18; -double tmp150 = -(tmp1*tmp16*tmp18); -double tmp151 = tmp4*tmp22; -double tmp152 = mRoll(2+_OFF); -double tmp153 = tmp129*tmp152; -double tmp154 = mRoll(3+_OFF); -double tmp155 = (tmp76*tmp154*tmp77*tmp17)/2.; -double tmp156 = mRoll(4+_OFF); -double tmp157 = -(tmp76*tmp156*tmp77*tmp18)/2.; -double tmp158 = mRoll(1+_OFF); -double tmp159 = z(2+_OFF); -double tmp160 = -(tmp158*tmp159); -double tmp161 = tmp153 + tmp155 + tmp157 + tmp160; -double tmp162 = 0.001740341106856944*tmp24*tmp86*tmp87*tmp76*tmp93*tmp75*tmp161; -double tmp163 = tmp146 + tmp147 + tmp148 + tmp149 + tmp150 + tmp151 + tmp162; -double tmp164 = -2*tmp1*tmp3; -double tmp165 = 2*tmp2*tmp4; -double tmp166 = tmp164 + tmp165; -double tmp167 = 2*tmp2*tmp3; -double tmp168 = -2*tmp5*tmp4; -double tmp169 = tmp167 + tmp168; -double tmp170 = -tmp22; -double tmp171 = tmp85 + tmp170; -double tmp172 = tmp5*tmp1; -double tmp173 = -tmp8; -double tmp174 = tmp172 + tmp173; -double tmp175 = tmp2*tmp3; -double tmp176 = -(tmp5*tmp4); -double tmp177 = tmp175 + tmp176; -double tmp178 = -(tmp3*tmp15*tmp145); -double tmp179 = -tmp85; -double tmp180 = tmp179 + tmp122; -double tmp181 = -tmp122; -double tmp182 = tmp181 + tmp22; -double tmp183 = tmp5*tmp0; -double tmp184 = -tmp10; -double tmp185 = tmp183 + tmp184; -double tmp186 = -(tmp4*tmp15*tmp163); -double tmp187 = -(tmp2*tmp15*tmp118); +double tmp23 = x(4+_OFF); +double tmp24 = x(6+_OFF); +double tmp25 = x(5+_OFF); +double tmp26 = x(7+_OFF); +double tmp27 = wind(1+_OFF); +double tmp28 = tmp25*tmp24; +double tmp29 = wind(3+_OFF); +double tmp30 = wind(2+_OFF); +double tmp31 = std::pow(tmp23,2); +double tmp32 = std::pow(tmp25,2); +double tmp33 = std::pow(tmp24,2); +double tmp34 = std::pow(tmp26,2); +double tmp35 = -tmp34; +double tmp36 = tmp25*tmp26; +double tmp37 = tmp24*tmp26; +double tmp38 = -tmp32; +double tmp39 = -tmp33; +double tmp40 = -(tmp23*tmp26); +double tmp41 = tmp28 + tmp40; +double tmp42 = -2*tmp27*tmp41; +double tmp43 = tmp23*tmp25; +double tmp44 = tmp43 + tmp37; +double tmp45 = -2*tmp29*tmp44; +double tmp46 = tmp31 + tmp38 + tmp33 + tmp35; +double tmp47 = -(tmp30*tmp46); +double tmp48 = x(9+_OFF); +double tmp49 = tmp42 + tmp45 + tmp47 + tmp48; +double tmp50 = tmp23*tmp26; +double tmp51 = tmp28 + tmp50; +double tmp52 = -2*tmp30*tmp51; +double tmp53 = -(tmp23*tmp24); +double tmp54 = tmp53 + tmp36; +double tmp55 = -2*tmp29*tmp54; +double tmp56 = tmp31 + tmp32 + tmp39 + tmp35; +double tmp57 = -(tmp27*tmp56); +double tmp58 = x(8+_OFF); +double tmp59 = tmp52 + tmp55 + tmp57 + tmp58; +double tmp60 = std::pow(tmp59,2); +double tmp61 = std::pow(tmp49,2); +double tmp62 = tmp23*tmp24; +double tmp63 = tmp62 + tmp36; +double tmp64 = -2*tmp27*tmp63; +double tmp65 = -(tmp23*tmp25); +double tmp66 = tmp65 + tmp37; +double tmp67 = -2*tmp30*tmp66; +double tmp68 = tmp31 + tmp38 + tmp39 + tmp34; +double tmp69 = -(tmp29*tmp68); +double tmp70 = x(10+_OFF); +double tmp71 = tmp64 + tmp67 + tmp69 + tmp70; +double tmp72 = std::pow(tmp71,2); +double tmp73 = tmp60 + tmp61 + tmp72; +double tmp74 = cp(3+_OFF); +double tmp75 = 1/std::sqrt(tmp73); +double tmp76 = -(tmp1*tmp3); +double tmp77 = tmp2*tmp4; +double tmp78 = tmp76 + tmp77; +double tmp79 = -2*tmp0*tmp2; +double tmp80 = 2*tmp3*tmp4; +double tmp81 = tmp79 + tmp80; +double tmp82 = std::pow(tmp14,-2); +double tmp83 = std::pow(tmp17,2); +double tmp84 = cp(2+_OFF); +double tmp85 = cBar(1+_OFF); +double tmp86 = tmp2*tmp83; +double tmp87 = tmp4*tmp17*tmp16; +double tmp88 = -(tmp5*tmp17*tmp18); +double tmp89 = tmp1*tmp17*tmp18; +double tmp90 = -(tmp3*tmp16*tmp18); +double tmp91 = -(tmp2*tmp22); +double tmp92 = mPitch(1+_OFF); +double tmp93 = -tmp92; +double tmp94 = 2*tmp27*tmp63; +double tmp95 = 2*tmp30*tmp66; +double tmp96 = tmp29*tmp68; +double tmp97 = -tmp70; +double tmp98 = tmp94 + tmp95 + tmp96 + tmp97; +double tmp99 = std::atan2(tmp98,tmp59); +double tmp100 = mPitch(3+_OFF); +double tmp101 = -(tmp99*tmp100); +double tmp102 = mPitch(4+_OFF); +double tmp103 = (tmp85*tmp102*tmp75*tmp16)/2.; +double tmp104 = mPitch(2+_OFF); +double tmp105 = z(3+_OFF); +double tmp106 = -(tmp104*tmp105); +double tmp107 = tmp93 + tmp101 + tmp103 + tmp106; +double tmp108 = 0.5*tmp85*tmp84*tmp73*tmp107; +double tmp109 = tmp86 + tmp87 + tmp88 + tmp89 + tmp90 + tmp91 + tmp108; +double tmp110 = -(tmp0*tmp2); +double tmp111 = tmp3*tmp4; +double tmp112 = tmp110 + tmp111; +double tmp113 = std::pow(tmp16,2); +double tmp114 = tmp49*tmp75; +double tmp115 = std::asin(tmp114); +double tmp116 = -(tmp3*tmp83); +double tmp117 = tmp5*tmp17*tmp16; +double tmp118 = -(tmp0*tmp17*tmp16); +double tmp119 = tmp3*tmp113; +double tmp120 = -(tmp4*tmp17*tmp18); +double tmp121 = tmp2*tmp16*tmp18; +double tmp122 = mYaw(2+_OFF); +double tmp123 = tmp115*tmp122; +double tmp124 = mYaw(3+_OFF); +double tmp125 = (tmp74*tmp124*tmp75*tmp18)/2.; +double tmp126 = mYaw(1+_OFF); +double tmp127 = z(4+_OFF); +double tmp128 = tmp126*tmp127; +double tmp129 = tmp123 + tmp125 + tmp128; +double tmp130 = 0.5*tmp84*tmp74*tmp73*tmp129; +double tmp131 = tmp116 + tmp117 + tmp118 + tmp119 + tmp120 + tmp121 + tmp130; +double tmp132 = -(tmp2*tmp17*tmp16); +double tmp133 = -(tmp4*tmp113); +double tmp134 = tmp3*tmp17*tmp18; +double tmp135 = tmp0*tmp16*tmp18; +double tmp136 = -(tmp1*tmp16*tmp18); +double tmp137 = tmp4*tmp22; +double tmp138 = mRoll(2+_OFF); +double tmp139 = -(tmp115*tmp138); +double tmp140 = mRoll(3+_OFF); +double tmp141 = (tmp74*tmp140*tmp75*tmp17)/2.; +double tmp142 = mRoll(4+_OFF); +double tmp143 = -(tmp74*tmp142*tmp75*tmp18)/2.; +double tmp144 = mRoll(1+_OFF); +double tmp145 = z(2+_OFF); +double tmp146 = -(tmp144*tmp145); +double tmp147 = tmp139 + tmp141 + tmp143 + tmp146; +double tmp148 = 0.5*tmp84*tmp74*tmp73*tmp147; +double tmp149 = tmp132 + tmp133 + tmp134 + tmp135 + tmp136 + tmp137 + tmp148; +double tmp150 = -2*tmp1*tmp3; +double tmp151 = 2*tmp2*tmp4; +double tmp152 = tmp150 + tmp151; +double tmp153 = 2*tmp2*tmp3; +double tmp154 = -2*tmp5*tmp4; +double tmp155 = tmp153 + tmp154; +double tmp156 = -tmp22; +double tmp157 = tmp83 + tmp156; +double tmp158 = tmp5*tmp1; +double tmp159 = -tmp8; +double tmp160 = tmp158 + tmp159; +double tmp161 = tmp2*tmp3; +double tmp162 = -(tmp5*tmp4); +double tmp163 = tmp161 + tmp162; +double tmp164 = -(tmp3*tmp15*tmp131); +double tmp165 = -tmp83; +double tmp166 = tmp165 + tmp113; +double tmp167 = -tmp113; +double tmp168 = tmp167 + tmp22; +double tmp169 = tmp5*tmp0; +double tmp170 = -tmp10; +double tmp171 = tmp169 + tmp170; +double tmp172 = -(tmp4*tmp15*tmp149); +double tmp173 = -(tmp2*tmp15*tmp109); J(1+_OFF,1+_OFF) = 0; J(1+_OFF,2+_OFF) = 0; J(1+_OFF,3+_OFF) = 0; @@ -195,12 +181,12 @@ J(2+_OFF,3+_OFF) = 0; J(3+_OFF,1+_OFF) = 0; J(3+_OFF,2+_OFF) = 0; J(3+_OFF,3+_OFF) = 0; -J(4+_OFF,1+_OFF) = tmp21*tmp15*tmp17*tmp16 - tmp121*tmp15*tmp16*tmp18 - tmp80*tmp15*tmp171 + tmp83*tmp21*tmp84*tmp163 + tmp80*tmp83*tmp84*tmp118 - tmp4*tmp15*tmp118 + tmp121*tmp83*tmp84*tmp145 + tmp0*tmp15*tmp145; -J(4+_OFF,2+_OFF) = -(tmp121*tmp15*tmp180) - tmp21*tmp15*tmp17*tmp18 + tmp80*tmp15*tmp16*tmp18 + tmp166*tmp21*tmp84*tmp163 + tmp80*tmp166*tmp84*tmp118 + tmp1*tmp15*tmp118 + tmp166*tmp121*tmp84*tmp145 - tmp4*tmp15*tmp145; -J(4+_OFF,3+_OFF) = -(tmp80*tmp15*tmp17*tmp16) + tmp121*tmp15*tmp17*tmp18 - tmp21*tmp15*tmp182 + tmp169*tmp21*tmp84*tmp163 + 2*tmp4*tmp15*tmp163 + tmp169*tmp80*tmp84*tmp118 + tmp187 + tmp169*tmp121*tmp84*tmp145 + tmp178; -J(5+_OFF,1+_OFF) = tmp80*tmp15*tmp17*tmp16 - tmp177*tmp15*tmp16*tmp18 - tmp174*tmp15*tmp171 + tmp80*tmp83*tmp84*tmp163 + tmp186 + tmp174*tmp83*tmp84*tmp118 + 2*tmp2*tmp15*tmp118 + tmp177*tmp83*tmp84*tmp145 + tmp178; -J(5+_OFF,2+_OFF) = -(tmp177*tmp15*tmp180) - tmp80*tmp15*tmp17*tmp18 + tmp174*tmp15*tmp16*tmp18 + tmp80*tmp166*tmp84*tmp163 + tmp1*tmp15*tmp163 + tmp174*tmp166*tmp84*tmp118 + tmp177*tmp166*tmp84*tmp145 - tmp2*tmp15*tmp145; -J(5+_OFF,3+_OFF) = -(tmp174*tmp15*tmp17*tmp16) + tmp177*tmp15*tmp17*tmp18 - tmp80*tmp15*tmp182 + tmp169*tmp80*tmp84*tmp163 - tmp2*tmp15*tmp163 + tmp174*tmp169*tmp84*tmp118 + tmp169*tmp177*tmp84*tmp145 + tmp5*tmp15*tmp145; -J(6+_OFF,1+_OFF) = tmp121*tmp15*tmp17*tmp16 - tmp185*tmp15*tmp16*tmp18 - tmp177*tmp15*tmp171 + tmp121*tmp83*tmp84*tmp163 + tmp0*tmp15*tmp163 + tmp177*tmp83*tmp84*tmp118 - tmp3*tmp15*tmp118 + tmp185*tmp83*tmp84*tmp145; -J(6+_OFF,2+_OFF) = -(tmp185*tmp15*tmp180) - tmp121*tmp15*tmp17*tmp18 + tmp177*tmp15*tmp16*tmp18 + tmp166*tmp121*tmp84*tmp163 + tmp186 + tmp177*tmp166*tmp84*tmp118 + tmp187 + tmp185*tmp166*tmp84*tmp145 + 2*tmp3*tmp15*tmp145; -J(6+_OFF,3+_OFF) = -(tmp177*tmp15*tmp17*tmp16) + tmp185*tmp15*tmp17*tmp18 - tmp121*tmp15*tmp182 + tmp169*tmp121*tmp84*tmp163 - tmp3*tmp15*tmp163 + tmp169*tmp177*tmp84*tmp118 + tmp5*tmp15*tmp118 + tmp185*tmp169*tmp84*tmp145; +J(4+_OFF,1+_OFF) = tmp21*tmp15*tmp17*tmp16 - tmp112*tmp15*tmp16*tmp18 - tmp78*tmp15*tmp157 + tmp81*tmp21*tmp82*tmp149 + tmp78*tmp81*tmp82*tmp109 - tmp4*tmp15*tmp109 + tmp112*tmp81*tmp82*tmp131 + tmp0*tmp15*tmp131; +J(4+_OFF,2+_OFF) = -(tmp112*tmp15*tmp166) - tmp21*tmp15*tmp17*tmp18 + tmp78*tmp15*tmp16*tmp18 + tmp152*tmp21*tmp82*tmp149 + tmp78*tmp152*tmp82*tmp109 + tmp1*tmp15*tmp109 + tmp152*tmp112*tmp82*tmp131 - tmp4*tmp15*tmp131; +J(4+_OFF,3+_OFF) = -(tmp78*tmp15*tmp17*tmp16) + tmp112*tmp15*tmp17*tmp18 - tmp21*tmp15*tmp168 + tmp155*tmp21*tmp82*tmp149 + 2*tmp4*tmp15*tmp149 + tmp155*tmp78*tmp82*tmp109 + tmp173 + tmp155*tmp112*tmp82*tmp131 + tmp164; +J(5+_OFF,1+_OFF) = tmp78*tmp15*tmp17*tmp16 - tmp163*tmp15*tmp16*tmp18 - tmp160*tmp15*tmp157 + tmp78*tmp81*tmp82*tmp149 + tmp172 + tmp160*tmp81*tmp82*tmp109 + 2*tmp2*tmp15*tmp109 + tmp163*tmp81*tmp82*tmp131 + tmp164; +J(5+_OFF,2+_OFF) = -(tmp163*tmp15*tmp166) - tmp78*tmp15*tmp17*tmp18 + tmp160*tmp15*tmp16*tmp18 + tmp78*tmp152*tmp82*tmp149 + tmp1*tmp15*tmp149 + tmp160*tmp152*tmp82*tmp109 + tmp163*tmp152*tmp82*tmp131 - tmp2*tmp15*tmp131; +J(5+_OFF,3+_OFF) = -(tmp160*tmp15*tmp17*tmp16) + tmp163*tmp15*tmp17*tmp18 - tmp78*tmp15*tmp168 + tmp155*tmp78*tmp82*tmp149 - tmp2*tmp15*tmp149 + tmp160*tmp155*tmp82*tmp109 + tmp155*tmp163*tmp82*tmp131 + tmp5*tmp15*tmp131; +J(6+_OFF,1+_OFF) = tmp112*tmp15*tmp17*tmp16 - tmp171*tmp15*tmp16*tmp18 - tmp163*tmp15*tmp157 + tmp112*tmp81*tmp82*tmp149 + tmp0*tmp15*tmp149 + tmp163*tmp81*tmp82*tmp109 - tmp3*tmp15*tmp109 + tmp171*tmp81*tmp82*tmp131; +J(6+_OFF,2+_OFF) = -(tmp171*tmp15*tmp166) - tmp112*tmp15*tmp17*tmp18 + tmp163*tmp15*tmp16*tmp18 + tmp152*tmp112*tmp82*tmp149 + tmp172 + tmp163*tmp152*tmp82*tmp109 + tmp173 + tmp171*tmp152*tmp82*tmp131 + 2*tmp3*tmp15*tmp131; +J(6+_OFF,3+_OFF) = -(tmp163*tmp15*tmp17*tmp16) + tmp171*tmp15*tmp17*tmp18 - tmp112*tmp15*tmp168 + tmp155*tmp112*tmp82*tmp149 - tmp3*tmp15*tmp149 + tmp155*tmp163*tmp82*tmp109 + tmp5*tmp15*tmp109 + tmp171*tmp155*tmp82*tmp131; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMPitch.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMPitch.cppready index a3de75b..d2e2fe6 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMPitch.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMPitch.cppready @@ -4,97 +4,88 @@ double tmp2 = ibod(1+_OFF); double tmp3 = ibod(2+_OFF); double tmp4 = ibod(3+_OFF); double tmp5 = ibd(1+_OFF); -double tmp6 = airDensity(2+_OFF); -double tmp7 = 1/tmp6; -double tmp8 = x(4+_OFF); -double tmp9 = x(6+_OFF); -double tmp10 = x(5+_OFF); -double tmp11 = x(7+_OFF); -double tmp12 = wind(1+_OFF); -double tmp13 = tmp10*tmp9; -double tmp14 = wind(3+_OFF); -double tmp15 = wind(2+_OFF); -double tmp16 = std::pow(tmp8,2); -double tmp17 = std::pow(tmp10,2); -double tmp18 = std::pow(tmp9,2); -double tmp19 = std::pow(tmp11,2); -double tmp20 = -tmp19; -double tmp21 = tmp10*tmp11; -double tmp22 = tmp9*tmp11; -double tmp23 = -tmp17; -double tmp24 = -tmp18; -double tmp25 = airDensity(3+_OFF); -double tmp26 = cBar(1+_OFF); -double tmp27 = cp(2+_OFF); -double tmp28 = -(tmp0*tmp3); -double tmp29 = tmp2*tmp4; -double tmp30 = tmp28 + tmp29; -double tmp31 = tmp5*tmp1*tmp0; -double tmp32 = std::pow(tmp2,2); -double tmp33 = -(tmp1*tmp32); -double tmp34 = std::pow(tmp3,2); -double tmp35 = -(tmp0*tmp34); -double tmp36 = 2*tmp2*tmp3*tmp4; -double tmp37 = std::pow(tmp4,2); -double tmp38 = -(tmp5*tmp37); -double tmp39 = tmp31 + tmp33 + tmp35 + tmp36 + tmp38; -double tmp40 = 1/tmp39; -double tmp41 = airDensity(1+_OFF); -double tmp42 = x(3+_OFF); -double tmp43 = tmp41 + tmp42; -double tmp44 = -0.006500000000000001*tmp7*tmp43; -double tmp45 = 1 + tmp44; -double tmp46 = std::pow(tmp45,4.2561); -double tmp47 = tmp8*tmp11; -double tmp48 = tmp13 + tmp47; -double tmp49 = -2*tmp15*tmp48; -double tmp50 = -(tmp8*tmp9); -double tmp51 = tmp50 + tmp21; -double tmp52 = -2*tmp14*tmp51; -double tmp53 = tmp16 + tmp17 + tmp24 + tmp20; -double tmp54 = -(tmp12*tmp53); -double tmp55 = x(8+_OFF); -double tmp56 = tmp49 + tmp52 + tmp54 + tmp55; -double tmp57 = std::pow(tmp56,2); -double tmp58 = -(tmp8*tmp11); -double tmp59 = tmp13 + tmp58; -double tmp60 = -2*tmp12*tmp59; -double tmp61 = tmp8*tmp10; -double tmp62 = tmp61 + tmp22; -double tmp63 = -2*tmp14*tmp62; -double tmp64 = tmp16 + tmp23 + tmp18 + tmp20; -double tmp65 = -(tmp15*tmp64); -double tmp66 = x(9+_OFF); -double tmp67 = tmp60 + tmp63 + tmp65 + tmp66; -double tmp68 = std::pow(tmp67,2); -double tmp69 = tmp8*tmp9; -double tmp70 = tmp69 + tmp21; -double tmp71 = -2*tmp12*tmp70; -double tmp72 = -(tmp8*tmp10); -double tmp73 = tmp72 + tmp22; -double tmp74 = -2*tmp15*tmp73; -double tmp75 = tmp16 + tmp23 + tmp24 + tmp19; -double tmp76 = -(tmp14*tmp75); -double tmp77 = x(10+_OFF); -double tmp78 = tmp71 + tmp74 + tmp76 + tmp77; -double tmp79 = std::pow(tmp78,2); -double tmp80 = tmp57 + tmp68 + tmp79; -double tmp81 = tmp5*tmp0; -double tmp82 = -tmp32; -double tmp83 = tmp81 + tmp82; -double tmp84 = z(3+_OFF); -double tmp85 = 2*tmp12*tmp70; -double tmp86 = 2*tmp15*tmp73; -double tmp87 = tmp14*tmp75; -double tmp88 = -tmp77; -double tmp89 = tmp85 + tmp86 + tmp87 + tmp88; -double tmp90 = std::atan2(tmp89,tmp56); -double tmp91 = std::pow(tmp26,2); -double tmp92 = std::sqrt(tmp80); -double tmp93 = x(12+_OFF); -double tmp94 = tmp2*tmp3; -double tmp95 = -(tmp5*tmp4); -double tmp96 = tmp94 + tmp95; +double tmp6 = x(4+_OFF); +double tmp7 = x(6+_OFF); +double tmp8 = x(5+_OFF); +double tmp9 = x(7+_OFF); +double tmp10 = wind(1+_OFF); +double tmp11 = tmp8*tmp7; +double tmp12 = wind(3+_OFF); +double tmp13 = wind(2+_OFF); +double tmp14 = std::pow(tmp6,2); +double tmp15 = std::pow(tmp8,2); +double tmp16 = std::pow(tmp7,2); +double tmp17 = std::pow(tmp9,2); +double tmp18 = -tmp17; +double tmp19 = tmp8*tmp9; +double tmp20 = tmp7*tmp9; +double tmp21 = -tmp15; +double tmp22 = -tmp16; +double tmp23 = cBar(1+_OFF); +double tmp24 = cp(2+_OFF); +double tmp25 = -(tmp0*tmp3); +double tmp26 = tmp2*tmp4; +double tmp27 = tmp25 + tmp26; +double tmp28 = tmp5*tmp1*tmp0; +double tmp29 = std::pow(tmp2,2); +double tmp30 = -(tmp1*tmp29); +double tmp31 = std::pow(tmp3,2); +double tmp32 = -(tmp0*tmp31); +double tmp33 = 2*tmp2*tmp3*tmp4; +double tmp34 = std::pow(tmp4,2); +double tmp35 = -(tmp5*tmp34); +double tmp36 = tmp28 + tmp30 + tmp32 + tmp33 + tmp35; +double tmp37 = 1/tmp36; +double tmp38 = tmp6*tmp9; +double tmp39 = tmp11 + tmp38; +double tmp40 = -2*tmp13*tmp39; +double tmp41 = -(tmp6*tmp7); +double tmp42 = tmp41 + tmp19; +double tmp43 = -2*tmp12*tmp42; +double tmp44 = tmp14 + tmp15 + tmp22 + tmp18; +double tmp45 = -(tmp10*tmp44); +double tmp46 = x(8+_OFF); +double tmp47 = tmp40 + tmp43 + tmp45 + tmp46; +double tmp48 = std::pow(tmp47,2); +double tmp49 = -(tmp6*tmp9); +double tmp50 = tmp11 + tmp49; +double tmp51 = -2*tmp10*tmp50; +double tmp52 = tmp6*tmp8; +double tmp53 = tmp52 + tmp20; +double tmp54 = -2*tmp12*tmp53; +double tmp55 = tmp14 + tmp21 + tmp16 + tmp18; +double tmp56 = -(tmp13*tmp55); +double tmp57 = x(9+_OFF); +double tmp58 = tmp51 + tmp54 + tmp56 + tmp57; +double tmp59 = std::pow(tmp58,2); +double tmp60 = tmp6*tmp7; +double tmp61 = tmp60 + tmp19; +double tmp62 = -2*tmp10*tmp61; +double tmp63 = -(tmp6*tmp8); +double tmp64 = tmp63 + tmp20; +double tmp65 = -2*tmp13*tmp64; +double tmp66 = tmp14 + tmp21 + tmp22 + tmp17; +double tmp67 = -(tmp12*tmp66); +double tmp68 = x(10+_OFF); +double tmp69 = tmp62 + tmp65 + tmp67 + tmp68; +double tmp70 = std::pow(tmp69,2); +double tmp71 = tmp48 + tmp59 + tmp70; +double tmp72 = tmp5*tmp0; +double tmp73 = -tmp29; +double tmp74 = tmp72 + tmp73; +double tmp75 = z(3+_OFF); +double tmp76 = 2*tmp10*tmp61; +double tmp77 = 2*tmp13*tmp64; +double tmp78 = tmp12*tmp66; +double tmp79 = -tmp68; +double tmp80 = tmp76 + tmp77 + tmp78 + tmp79; +double tmp81 = std::atan2(tmp80,tmp47); +double tmp82 = std::pow(tmp23,2); +double tmp83 = std::sqrt(tmp71); +double tmp84 = x(12+_OFF); +double tmp85 = tmp2*tmp3; +double tmp86 = -(tmp5*tmp4); +double tmp87 = tmp85 + tmp86; J(1+_OFF,1+_OFF) = 0; J(1+_OFF,2+_OFF) = 0; J(1+_OFF,3+_OFF) = 0; @@ -107,15 +98,15 @@ J(3+_OFF,1+_OFF) = 0; J(3+_OFF,2+_OFF) = 0; J(3+_OFF,3+_OFF) = 0; J(3+_OFF,4+_OFF) = 0; -J(4+_OFF,1+_OFF) = 0.001740341106856944*tmp7*tmp25*tmp26*tmp27*tmp30*tmp40*tmp46*tmp80; -J(4+_OFF,2+_OFF) = 0.001740341106856944*tmp7*tmp25*tmp26*tmp27*tmp30*tmp40*tmp46*tmp80*tmp84; -J(4+_OFF,3+_OFF) = 0.001740341106856944*tmp7*tmp25*tmp90*tmp26*tmp27*tmp30*tmp40*tmp46*tmp80; -J(4+_OFF,4+_OFF) = -0.000870170553428472*tmp7*tmp25*tmp91*tmp27*tmp30*tmp40*tmp46*tmp92*tmp93; -J(5+_OFF,1+_OFF) = 0.001740341106856944*tmp7*tmp25*tmp26*tmp27*tmp83*tmp40*tmp46*tmp80; -J(5+_OFF,2+_OFF) = 0.001740341106856944*tmp7*tmp25*tmp26*tmp27*tmp83*tmp40*tmp46*tmp80*tmp84; -J(5+_OFF,3+_OFF) = 0.001740341106856944*tmp7*tmp25*tmp90*tmp26*tmp27*tmp83*tmp40*tmp46*tmp80; -J(5+_OFF,4+_OFF) = -0.000870170553428472*tmp7*tmp25*tmp91*tmp27*tmp83*tmp40*tmp46*tmp92*tmp93; -J(6+_OFF,1+_OFF) = 0.001740341106856944*tmp7*tmp25*tmp26*tmp27*tmp96*tmp40*tmp46*tmp80; -J(6+_OFF,2+_OFF) = 0.001740341106856944*tmp7*tmp25*tmp26*tmp27*tmp96*tmp40*tmp46*tmp80*tmp84; -J(6+_OFF,3+_OFF) = 0.001740341106856944*tmp7*tmp25*tmp90*tmp26*tmp27*tmp96*tmp40*tmp46*tmp80; -J(6+_OFF,4+_OFF) = -0.000870170553428472*tmp7*tmp25*tmp91*tmp27*tmp96*tmp40*tmp46*tmp92*tmp93; +J(4+_OFF,1+_OFF) = 0.5*tmp23*tmp24*tmp27*tmp37*tmp71; +J(4+_OFF,2+_OFF) = 0.5*tmp23*tmp24*tmp27*tmp37*tmp71*tmp75; +J(4+_OFF,3+_OFF) = 0.5*tmp81*tmp23*tmp24*tmp27*tmp37*tmp71; +J(4+_OFF,4+_OFF) = -0.25*tmp82*tmp24*tmp27*tmp37*tmp83*tmp84; +J(5+_OFF,1+_OFF) = 0.5*tmp23*tmp24*tmp74*tmp37*tmp71; +J(5+_OFF,2+_OFF) = 0.5*tmp23*tmp24*tmp74*tmp37*tmp71*tmp75; +J(5+_OFF,3+_OFF) = 0.5*tmp81*tmp23*tmp24*tmp74*tmp37*tmp71; +J(5+_OFF,4+_OFF) = -0.25*tmp82*tmp24*tmp74*tmp37*tmp83*tmp84; +J(6+_OFF,1+_OFF) = 0.5*tmp23*tmp24*tmp87*tmp37*tmp71; +J(6+_OFF,2+_OFF) = 0.5*tmp23*tmp24*tmp87*tmp37*tmp71*tmp75; +J(6+_OFF,3+_OFF) = 0.5*tmp81*tmp23*tmp24*tmp87*tmp37*tmp71; +J(6+_OFF,4+_OFF) = -0.25*tmp82*tmp24*tmp87*tmp37*tmp83*tmp84; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMRoll.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMRoll.cppready index b47476a..490fca7 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMRoll.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMRoll.cppready @@ -5,99 +5,85 @@ double tmp3 = ibod(2+_OFF); double tmp4 = ibod(3+_OFF); double tmp5 = ibd(1+_OFF); double tmp6 = std::pow(tmp4,2); -double tmp7 = airDensity(2+_OFF); -double tmp8 = 1/tmp7; -double tmp9 = x(4+_OFF); -double tmp10 = x(6+_OFF); -double tmp11 = x(5+_OFF); -double tmp12 = x(7+_OFF); -double tmp13 = wind(1+_OFF); -double tmp14 = tmp11*tmp10; -double tmp15 = wind(3+_OFF); -double tmp16 = wind(2+_OFF); -double tmp17 = std::pow(tmp9,2); -double tmp18 = std::pow(tmp11,2); -double tmp19 = std::pow(tmp10,2); -double tmp20 = std::pow(tmp12,2); -double tmp21 = -tmp20; -double tmp22 = tmp11*tmp12; -double tmp23 = tmp10*tmp12; -double tmp24 = -tmp18; -double tmp25 = -tmp19; -double tmp26 = airDensity(3+_OFF); -double tmp27 = -(tmp9*tmp12); -double tmp28 = tmp14 + tmp27; -double tmp29 = tmp9*tmp11; -double tmp30 = tmp29 + tmp23; -double tmp31 = tmp17 + tmp24 + tmp19 + tmp21; +double tmp7 = x(4+_OFF); +double tmp8 = x(6+_OFF); +double tmp9 = x(5+_OFF); +double tmp10 = x(7+_OFF); +double tmp11 = wind(1+_OFF); +double tmp12 = tmp9*tmp8; +double tmp13 = wind(3+_OFF); +double tmp14 = wind(2+_OFF); +double tmp15 = std::pow(tmp7,2); +double tmp16 = std::pow(tmp9,2); +double tmp17 = std::pow(tmp8,2); +double tmp18 = std::pow(tmp10,2); +double tmp19 = -tmp18; +double tmp20 = tmp9*tmp10; +double tmp21 = tmp8*tmp10; +double tmp22 = -tmp16; +double tmp23 = -tmp17; +double tmp24 = -(tmp7*tmp10); +double tmp25 = tmp12 + tmp24; +double tmp26 = -2*tmp11*tmp25; +double tmp27 = tmp7*tmp9; +double tmp28 = tmp27 + tmp21; +double tmp29 = -2*tmp13*tmp28; +double tmp30 = tmp15 + tmp22 + tmp17 + tmp19; +double tmp31 = -(tmp14*tmp30); double tmp32 = x(9+_OFF); -double tmp33 = tmp9*tmp12; -double tmp34 = tmp14 + tmp33; -double tmp35 = -2*tmp16*tmp34; -double tmp36 = -(tmp9*tmp10); -double tmp37 = tmp36 + tmp22; -double tmp38 = -2*tmp15*tmp37; -double tmp39 = tmp17 + tmp18 + tmp25 + tmp21; -double tmp40 = -(tmp13*tmp39); -double tmp41 = x(8+_OFF); -double tmp42 = tmp35 + tmp38 + tmp40 + tmp41; -double tmp43 = std::pow(tmp42,2); -double tmp44 = -2*tmp13*tmp28; -double tmp45 = -2*tmp15*tmp30; -double tmp46 = -(tmp16*tmp31); -double tmp47 = tmp44 + tmp45 + tmp46 + tmp32; -double tmp48 = std::pow(tmp47,2); -double tmp49 = tmp9*tmp10; -double tmp50 = tmp49 + tmp22; -double tmp51 = -2*tmp13*tmp50; -double tmp52 = -(tmp9*tmp11); -double tmp53 = tmp52 + tmp23; -double tmp54 = -2*tmp16*tmp53; -double tmp55 = tmp17 + tmp24 + tmp25 + tmp20; -double tmp56 = -(tmp15*tmp55); -double tmp57 = x(10+_OFF); -double tmp58 = tmp51 + tmp54 + tmp56 + tmp57; -double tmp59 = std::pow(tmp58,2); -double tmp60 = tmp43 + tmp48 + tmp59; -double tmp61 = cp(2+_OFF); -double tmp62 = cp(3+_OFF); -double tmp63 = tmp0*tmp1; -double tmp64 = -tmp6; -double tmp65 = tmp63 + tmp64; -double tmp66 = tmp5*tmp0*tmp1; -double tmp67 = std::pow(tmp2,2); -double tmp68 = -(tmp0*tmp67); -double tmp69 = std::pow(tmp3,2); -double tmp70 = -(tmp1*tmp69); -double tmp71 = 2*tmp2*tmp3*tmp4; -double tmp72 = -(tmp5*tmp6); -double tmp73 = tmp66 + tmp68 + tmp70 + tmp71 + tmp72; -double tmp74 = 1/tmp73; -double tmp75 = airDensity(1+_OFF); -double tmp76 = x(3+_OFF); -double tmp77 = tmp75 + tmp76; -double tmp78 = -0.006500000000000001*tmp8*tmp77; -double tmp79 = 1 + tmp78; -double tmp80 = std::pow(tmp79,4.2561); -double tmp81 = std::pow(tmp62,2); -double tmp82 = std::sqrt(tmp60); -double tmp83 = z(2+_OFF); -double tmp84 = 2*tmp13*tmp28; -double tmp85 = 2*tmp15*tmp30; -double tmp86 = tmp16*tmp31; -double tmp87 = -tmp32; -double tmp88 = tmp84 + tmp85 + tmp86 + tmp87; -double tmp89 = 1/std::sqrt(tmp60); -double tmp90 = tmp88*tmp89; -double tmp91 = std::asin(tmp90); -double tmp92 = -(tmp1*tmp3); -double tmp93 = tmp2*tmp4; -double tmp94 = tmp92 + tmp93; -double tmp95 = x(11+_OFF); -double tmp96 = x(13+_OFF); -double tmp97 = -(tmp0*tmp2); -double tmp98 = tmp3*tmp4; -double tmp99 = tmp97 + tmp98; +double tmp33 = tmp26 + tmp29 + tmp31 + tmp32; +double tmp34 = tmp7*tmp10; +double tmp35 = tmp12 + tmp34; +double tmp36 = -2*tmp14*tmp35; +double tmp37 = -(tmp7*tmp8); +double tmp38 = tmp37 + tmp20; +double tmp39 = -2*tmp13*tmp38; +double tmp40 = tmp15 + tmp16 + tmp23 + tmp19; +double tmp41 = -(tmp11*tmp40); +double tmp42 = x(8+_OFF); +double tmp43 = tmp36 + tmp39 + tmp41 + tmp42; +double tmp44 = std::pow(tmp43,2); +double tmp45 = std::pow(tmp33,2); +double tmp46 = tmp7*tmp8; +double tmp47 = tmp46 + tmp20; +double tmp48 = -2*tmp11*tmp47; +double tmp49 = -(tmp7*tmp9); +double tmp50 = tmp49 + tmp21; +double tmp51 = -2*tmp14*tmp50; +double tmp52 = tmp15 + tmp22 + tmp23 + tmp18; +double tmp53 = -(tmp13*tmp52); +double tmp54 = x(10+_OFF); +double tmp55 = tmp48 + tmp51 + tmp53 + tmp54; +double tmp56 = std::pow(tmp55,2); +double tmp57 = tmp44 + tmp45 + tmp56; +double tmp58 = cp(2+_OFF); +double tmp59 = cp(3+_OFF); +double tmp60 = tmp0*tmp1; +double tmp61 = -tmp6; +double tmp62 = tmp60 + tmp61; +double tmp63 = tmp5*tmp0*tmp1; +double tmp64 = std::pow(tmp2,2); +double tmp65 = -(tmp0*tmp64); +double tmp66 = std::pow(tmp3,2); +double tmp67 = -(tmp1*tmp66); +double tmp68 = 2*tmp2*tmp3*tmp4; +double tmp69 = -(tmp5*tmp6); +double tmp70 = tmp63 + tmp65 + tmp67 + tmp68 + tmp69; +double tmp71 = 1/tmp70; +double tmp72 = std::pow(tmp59,2); +double tmp73 = std::sqrt(tmp57); +double tmp74 = z(2+_OFF); +double tmp75 = 1/std::sqrt(tmp57); +double tmp76 = tmp33*tmp75; +double tmp77 = std::asin(tmp76); +double tmp78 = -(tmp1*tmp3); +double tmp79 = tmp2*tmp4; +double tmp80 = tmp78 + tmp79; +double tmp81 = x(11+_OFF); +double tmp82 = x(13+_OFF); +double tmp83 = -(tmp0*tmp2); +double tmp84 = tmp3*tmp4; +double tmp85 = tmp83 + tmp84; J(1+_OFF,1+_OFF) = 0; J(1+_OFF,2+_OFF) = 0; J(1+_OFF,3+_OFF) = 0; @@ -110,15 +96,15 @@ J(3+_OFF,1+_OFF) = 0; J(3+_OFF,2+_OFF) = 0; J(3+_OFF,3+_OFF) = 0; J(3+_OFF,4+_OFF) = 0; -J(4+_OFF,1+_OFF) = 0.001740341106856944*tmp8*tmp26*tmp61*tmp62*tmp65*tmp74*tmp80*tmp60*tmp83; -J(4+_OFF,2+_OFF) = -0.001740341106856944*tmp8*tmp26*tmp91*tmp61*tmp62*tmp65*tmp74*tmp80*tmp60; -J(4+_OFF,3+_OFF) = -0.000870170553428472*tmp8*tmp26*tmp61*tmp81*tmp65*tmp74*tmp80*tmp82*tmp95; -J(4+_OFF,4+_OFF) = 0.000870170553428472*tmp8*tmp26*tmp61*tmp81*tmp65*tmp74*tmp80*tmp82*tmp96; -J(5+_OFF,1+_OFF) = 0.001740341106856944*tmp8*tmp26*tmp61*tmp62*tmp94*tmp74*tmp80*tmp60*tmp83; -J(5+_OFF,2+_OFF) = -0.001740341106856944*tmp8*tmp26*tmp91*tmp61*tmp62*tmp94*tmp74*tmp80*tmp60; -J(5+_OFF,3+_OFF) = -0.000870170553428472*tmp8*tmp26*tmp61*tmp81*tmp94*tmp74*tmp80*tmp82*tmp95; -J(5+_OFF,4+_OFF) = 0.000870170553428472*tmp8*tmp26*tmp61*tmp81*tmp94*tmp74*tmp80*tmp82*tmp96; -J(6+_OFF,1+_OFF) = 0.001740341106856944*tmp8*tmp26*tmp61*tmp62*tmp99*tmp74*tmp80*tmp60*tmp83; -J(6+_OFF,2+_OFF) = -0.001740341106856944*tmp8*tmp26*tmp91*tmp61*tmp62*tmp99*tmp74*tmp80*tmp60; -J(6+_OFF,3+_OFF) = -0.000870170553428472*tmp8*tmp26*tmp61*tmp81*tmp99*tmp74*tmp80*tmp82*tmp95; -J(6+_OFF,4+_OFF) = 0.000870170553428472*tmp8*tmp26*tmp61*tmp81*tmp99*tmp74*tmp80*tmp82*tmp96; +J(4+_OFF,1+_OFF) = 0.5*tmp58*tmp59*tmp62*tmp71*tmp57*tmp74; +J(4+_OFF,2+_OFF) = 0.5*tmp77*tmp58*tmp59*tmp62*tmp71*tmp57; +J(4+_OFF,3+_OFF) = -0.25*tmp58*tmp72*tmp62*tmp71*tmp73*tmp81; +J(4+_OFF,4+_OFF) = 0.25*tmp58*tmp72*tmp62*tmp71*tmp73*tmp82; +J(5+_OFF,1+_OFF) = 0.5*tmp58*tmp59*tmp80*tmp71*tmp57*tmp74; +J(5+_OFF,2+_OFF) = 0.5*tmp77*tmp58*tmp59*tmp80*tmp71*tmp57; +J(5+_OFF,3+_OFF) = -0.25*tmp58*tmp72*tmp80*tmp71*tmp73*tmp81; +J(5+_OFF,4+_OFF) = 0.25*tmp58*tmp72*tmp80*tmp71*tmp73*tmp82; +J(6+_OFF,1+_OFF) = 0.5*tmp58*tmp59*tmp85*tmp71*tmp57*tmp74; +J(6+_OFF,2+_OFF) = 0.5*tmp77*tmp58*tmp59*tmp85*tmp71*tmp57; +J(6+_OFF,3+_OFF) = -0.25*tmp58*tmp72*tmp85*tmp71*tmp73*tmp81; +J(6+_OFF,4+_OFF) = 0.25*tmp58*tmp72*tmp85*tmp71*tmp73*tmp82; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMYaw.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMYaw.cppready index 326994e..b0cc942 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMYaw.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrMYaw.cppready @@ -4,99 +4,85 @@ double tmp2 = ibd(3+_OFF); double tmp3 = ibod(2+_OFF); double tmp4 = ibod(3+_OFF); double tmp5 = ibd(1+_OFF); -double tmp6 = airDensity(2+_OFF); -double tmp7 = 1/tmp6; -double tmp8 = x(4+_OFF); -double tmp9 = x(6+_OFF); -double tmp10 = x(5+_OFF); -double tmp11 = x(7+_OFF); -double tmp12 = wind(1+_OFF); -double tmp13 = tmp10*tmp9; -double tmp14 = wind(3+_OFF); -double tmp15 = wind(2+_OFF); -double tmp16 = std::pow(tmp8,2); -double tmp17 = std::pow(tmp10,2); -double tmp18 = std::pow(tmp9,2); -double tmp19 = std::pow(tmp11,2); -double tmp20 = -tmp19; -double tmp21 = tmp10*tmp11; -double tmp22 = tmp9*tmp11; -double tmp23 = -tmp17; -double tmp24 = -tmp18; -double tmp25 = airDensity(3+_OFF); -double tmp26 = -(tmp8*tmp11); -double tmp27 = tmp13 + tmp26; -double tmp28 = tmp8*tmp10; -double tmp29 = tmp28 + tmp22; -double tmp30 = tmp16 + tmp23 + tmp18 + tmp20; +double tmp6 = x(4+_OFF); +double tmp7 = x(6+_OFF); +double tmp8 = x(5+_OFF); +double tmp9 = x(7+_OFF); +double tmp10 = wind(1+_OFF); +double tmp11 = tmp8*tmp7; +double tmp12 = wind(3+_OFF); +double tmp13 = wind(2+_OFF); +double tmp14 = std::pow(tmp6,2); +double tmp15 = std::pow(tmp8,2); +double tmp16 = std::pow(tmp7,2); +double tmp17 = std::pow(tmp9,2); +double tmp18 = -tmp17; +double tmp19 = tmp8*tmp9; +double tmp20 = tmp7*tmp9; +double tmp21 = -tmp15; +double tmp22 = -tmp16; +double tmp23 = -(tmp6*tmp9); +double tmp24 = tmp11 + tmp23; +double tmp25 = -2*tmp10*tmp24; +double tmp26 = tmp6*tmp8; +double tmp27 = tmp26 + tmp20; +double tmp28 = -2*tmp12*tmp27; +double tmp29 = tmp14 + tmp21 + tmp16 + tmp18; +double tmp30 = -(tmp13*tmp29); double tmp31 = x(9+_OFF); -double tmp32 = tmp8*tmp11; -double tmp33 = tmp13 + tmp32; -double tmp34 = -2*tmp15*tmp33; -double tmp35 = -(tmp8*tmp9); -double tmp36 = tmp35 + tmp21; -double tmp37 = -2*tmp14*tmp36; -double tmp38 = tmp16 + tmp17 + tmp24 + tmp20; -double tmp39 = -(tmp12*tmp38); -double tmp40 = x(8+_OFF); -double tmp41 = tmp34 + tmp37 + tmp39 + tmp40; -double tmp42 = std::pow(tmp41,2); -double tmp43 = -2*tmp12*tmp27; -double tmp44 = -2*tmp14*tmp29; -double tmp45 = -(tmp15*tmp30); -double tmp46 = tmp43 + tmp44 + tmp45 + tmp31; -double tmp47 = std::pow(tmp46,2); -double tmp48 = tmp8*tmp9; -double tmp49 = tmp48 + tmp21; -double tmp50 = -2*tmp12*tmp49; -double tmp51 = -(tmp8*tmp10); -double tmp52 = tmp51 + tmp22; -double tmp53 = -2*tmp15*tmp52; -double tmp54 = tmp16 + tmp23 + tmp24 + tmp19; -double tmp55 = -(tmp14*tmp54); -double tmp56 = x(10+_OFF); -double tmp57 = tmp50 + tmp53 + tmp55 + tmp56; -double tmp58 = std::pow(tmp57,2); -double tmp59 = tmp42 + tmp47 + tmp58; -double tmp60 = cp(2+_OFF); -double tmp61 = cp(3+_OFF); -double tmp62 = -(tmp0*tmp1); -double tmp63 = tmp3*tmp4; -double tmp64 = tmp62 + tmp63; -double tmp65 = tmp5*tmp0*tmp2; -double tmp66 = std::pow(tmp1,2); -double tmp67 = -(tmp0*tmp66); -double tmp68 = std::pow(tmp3,2); -double tmp69 = -(tmp2*tmp68); -double tmp70 = 2*tmp1*tmp3*tmp4; -double tmp71 = std::pow(tmp4,2); -double tmp72 = -(tmp5*tmp71); -double tmp73 = tmp65 + tmp67 + tmp69 + tmp70 + tmp72; -double tmp74 = 1/tmp73; -double tmp75 = airDensity(1+_OFF); -double tmp76 = x(3+_OFF); -double tmp77 = tmp75 + tmp76; -double tmp78 = -0.006500000000000001*tmp7*tmp77; -double tmp79 = 1 + tmp78; -double tmp80 = std::pow(tmp79,4.2561); -double tmp81 = z(4+_OFF); -double tmp82 = 2*tmp12*tmp27; -double tmp83 = 2*tmp14*tmp29; -double tmp84 = tmp15*tmp30; -double tmp85 = -tmp31; -double tmp86 = tmp82 + tmp83 + tmp84 + tmp85; -double tmp87 = 1/std::sqrt(tmp59); -double tmp88 = tmp86*tmp87; -double tmp89 = std::asin(tmp88); -double tmp90 = tmp1*tmp3; -double tmp91 = -(tmp5*tmp4); -double tmp92 = tmp90 + tmp91; -double tmp93 = std::pow(tmp61,2); -double tmp94 = std::sqrt(tmp59); -double tmp95 = x(13+_OFF); -double tmp96 = tmp5*tmp0; -double tmp97 = -tmp68; -double tmp98 = tmp96 + tmp97; +double tmp32 = tmp25 + tmp28 + tmp30 + tmp31; +double tmp33 = tmp6*tmp9; +double tmp34 = tmp11 + tmp33; +double tmp35 = -2*tmp13*tmp34; +double tmp36 = -(tmp6*tmp7); +double tmp37 = tmp36 + tmp19; +double tmp38 = -2*tmp12*tmp37; +double tmp39 = tmp14 + tmp15 + tmp22 + tmp18; +double tmp40 = -(tmp10*tmp39); +double tmp41 = x(8+_OFF); +double tmp42 = tmp35 + tmp38 + tmp40 + tmp41; +double tmp43 = std::pow(tmp42,2); +double tmp44 = std::pow(tmp32,2); +double tmp45 = tmp6*tmp7; +double tmp46 = tmp45 + tmp19; +double tmp47 = -2*tmp10*tmp46; +double tmp48 = -(tmp6*tmp8); +double tmp49 = tmp48 + tmp20; +double tmp50 = -2*tmp13*tmp49; +double tmp51 = tmp14 + tmp21 + tmp22 + tmp17; +double tmp52 = -(tmp12*tmp51); +double tmp53 = x(10+_OFF); +double tmp54 = tmp47 + tmp50 + tmp52 + tmp53; +double tmp55 = std::pow(tmp54,2); +double tmp56 = tmp43 + tmp44 + tmp55; +double tmp57 = cp(2+_OFF); +double tmp58 = cp(3+_OFF); +double tmp59 = -(tmp0*tmp1); +double tmp60 = tmp3*tmp4; +double tmp61 = tmp59 + tmp60; +double tmp62 = tmp5*tmp0*tmp2; +double tmp63 = std::pow(tmp1,2); +double tmp64 = -(tmp0*tmp63); +double tmp65 = std::pow(tmp3,2); +double tmp66 = -(tmp2*tmp65); +double tmp67 = 2*tmp1*tmp3*tmp4; +double tmp68 = std::pow(tmp4,2); +double tmp69 = -(tmp5*tmp68); +double tmp70 = tmp62 + tmp64 + tmp66 + tmp67 + tmp69; +double tmp71 = 1/tmp70; +double tmp72 = z(4+_OFF); +double tmp73 = 1/std::sqrt(tmp56); +double tmp74 = tmp32*tmp73; +double tmp75 = std::asin(tmp74); +double tmp76 = tmp1*tmp3; +double tmp77 = -(tmp5*tmp4); +double tmp78 = tmp76 + tmp77; +double tmp79 = std::pow(tmp58,2); +double tmp80 = std::sqrt(tmp56); +double tmp81 = x(13+_OFF); +double tmp82 = tmp5*tmp0; +double tmp83 = -tmp65; +double tmp84 = tmp82 + tmp83; J(1+_OFF,1+_OFF) = 0; J(1+_OFF,2+_OFF) = 0; J(1+_OFF,3+_OFF) = 0; @@ -106,12 +92,12 @@ J(2+_OFF,3+_OFF) = 0; J(3+_OFF,1+_OFF) = 0; J(3+_OFF,2+_OFF) = 0; J(3+_OFF,3+_OFF) = 0; -J(4+_OFF,1+_OFF) = -0.001740341106856944*tmp7*tmp25*tmp60*tmp61*tmp64*tmp74*tmp80*tmp59*tmp81; -J(4+_OFF,2+_OFF) = 0.001740341106856944*tmp7*tmp25*tmp89*tmp60*tmp61*tmp64*tmp74*tmp80*tmp59; -J(4+_OFF,3+_OFF) = -0.000870170553428472*tmp7*tmp25*tmp60*tmp93*tmp64*tmp74*tmp80*tmp94*tmp95; -J(5+_OFF,1+_OFF) = -0.001740341106856944*tmp7*tmp25*tmp60*tmp61*tmp92*tmp74*tmp80*tmp59*tmp81; -J(5+_OFF,2+_OFF) = 0.001740341106856944*tmp7*tmp25*tmp89*tmp60*tmp61*tmp92*tmp74*tmp80*tmp59; -J(5+_OFF,3+_OFF) = -0.000870170553428472*tmp7*tmp25*tmp60*tmp93*tmp92*tmp74*tmp80*tmp94*tmp95; -J(6+_OFF,1+_OFF) = -0.001740341106856944*tmp7*tmp25*tmp60*tmp61*tmp98*tmp74*tmp80*tmp59*tmp81; -J(6+_OFF,2+_OFF) = 0.001740341106856944*tmp7*tmp25*tmp89*tmp60*tmp61*tmp98*tmp74*tmp80*tmp59; -J(6+_OFF,3+_OFF) = -0.000870170553428472*tmp7*tmp25*tmp60*tmp93*tmp98*tmp74*tmp80*tmp94*tmp95; +J(4+_OFF,1+_OFF) = -0.5*tmp57*tmp58*tmp61*tmp71*tmp56*tmp72; +J(4+_OFF,2+_OFF) = -0.5*tmp75*tmp57*tmp58*tmp61*tmp71*tmp56; +J(4+_OFF,3+_OFF) = -0.25*tmp57*tmp79*tmp61*tmp71*tmp80*tmp81; +J(5+_OFF,1+_OFF) = -0.5*tmp57*tmp58*tmp78*tmp71*tmp56*tmp72; +J(5+_OFF,2+_OFF) = -0.5*tmp75*tmp57*tmp58*tmp78*tmp71*tmp56; +J(5+_OFF,3+_OFF) = -0.25*tmp57*tmp79*tmp78*tmp71*tmp80*tmp81; +J(6+_OFF,1+_OFF) = -0.5*tmp57*tmp58*tmp84*tmp71*tmp56*tmp72; +J(6+_OFF,2+_OFF) = -0.5*tmp75*tmp57*tmp58*tmp84*tmp71*tmp56; +J(6+_OFF,3+_OFF) = -0.25*tmp57*tmp79*tmp84*tmp71*tmp80*tmp81; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrPose.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrPose.cppready index dca8ab5..5b3af21 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrPose.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrPose.cppready @@ -1,208 +1,18 @@ -double tmp0 = x(4+_OFF); -double tmp1 = x(5+_OFF); -double tmp2 = x(6+_OFF); -double tmp3 = x(7+_OFF); -double tmp4 = wind(2+_OFF); -double tmp5 = tmp1*tmp2; -double tmp6 = wind(3+_OFF); -double tmp7 = wind(1+_OFF); -double tmp8 = std::pow(tmp0,2); -double tmp9 = std::pow(tmp1,2); -double tmp10 = std::pow(tmp2,2); -double tmp11 = std::pow(tmp3,2); -double tmp12 = -tmp11; -double tmp13 = -(tmp0*tmp3); -double tmp14 = tmp5 + tmp13; -double tmp15 = tmp0*tmp1; -double tmp16 = tmp2*tmp3; -double tmp17 = tmp15 + tmp16; -double tmp18 = -tmp9; -double tmp19 = tmp8 + tmp18 + tmp10 + tmp12; -double tmp20 = x(9+_OFF); -double tmp21 = tmp1*tmp3; -double tmp22 = -tmp10; -double tmp23 = airDensity(2+_OFF); -double tmp24 = x(8+_OFF); -double tmp25 = -tmp20; -double tmp26 = tmp0*tmp3; -double tmp27 = tmp5 + tmp26; -double tmp28 = -2*tmp4*tmp27; -double tmp29 = -(tmp0*tmp2); -double tmp30 = tmp29 + tmp21; -double tmp31 = -2*tmp6*tmp30; -double tmp32 = tmp8 + tmp9 + tmp22 + tmp12; -double tmp33 = -(tmp7*tmp32); -double tmp34 = tmp28 + tmp31 + tmp33 + tmp24; -double tmp35 = std::pow(tmp34,2); -double tmp36 = tmp0*tmp2; -double tmp37 = tmp36 + tmp21; -double tmp38 = -(tmp0*tmp1); -double tmp39 = tmp38 + tmp16; -double tmp40 = tmp8 + tmp18 + tmp22 + tmp11; -double tmp41 = x(10+_OFF); -double tmp42 = -2*tmp7*tmp14; -double tmp43 = -2*tmp6*tmp17; -double tmp44 = -(tmp4*tmp19); -double tmp45 = tmp42 + tmp43 + tmp44 + tmp20; -double tmp46 = std::pow(tmp45,2); -double tmp47 = -2*tmp7*tmp37; -double tmp48 = -2*tmp4*tmp39; -double tmp49 = -(tmp6*tmp40); -double tmp50 = tmp47 + tmp48 + tmp49 + tmp41; -double tmp51 = std::pow(tmp50,2); -double tmp52 = tmp35 + tmp46 + tmp51; -double tmp53 = std::pow(tmp23,-2); -double tmp54 = airDensity(3+_OFF); -double tmp55 = cp(2+_OFF); -double tmp56 = 2*tmp7*tmp37; -double tmp57 = 2*tmp4*tmp39; -double tmp58 = tmp6*tmp40; -double tmp59 = -tmp41; -double tmp60 = tmp56 + tmp57 + tmp58 + tmp59; -double tmp61 = 1/tmp23; -double tmp62 = airDensity(1+_OFF); -double tmp63 = x(3+_OFF); -double tmp64 = tmp62 + tmp63; -double tmp65 = -0.006500000000000001*tmp61*tmp64; -double tmp66 = 1 + tmp65; -double tmp67 = std::pow(tmp66,3.2561); -double tmp68 = std::pow(tmp60,2); -double tmp69 = tmp35 + tmp68; -double tmp70 = 1/std::sqrt(tmp69); -double tmp71 = std::atan2(tmp60,tmp34); -double tmp72 = 2*tmp7*tmp14; -double tmp73 = 2*tmp6*tmp17; -double tmp74 = tmp4*tmp19; -double tmp75 = tmp72 + tmp73 + tmp74 + tmp25; -double tmp76 = 1/std::sqrt(tmp52); -double tmp77 = tmp75*tmp76; -double tmp78 = std::asin(tmp77); -double tmp79 = -(tmp7*tmp8); -double tmp80 = -(tmp7*tmp9); -double tmp81 = 2*tmp6*tmp0*tmp2; -double tmp82 = -2*tmp4*tmp1*tmp2; -double tmp83 = tmp7*tmp10; -double tmp84 = -2*tmp4*tmp0*tmp3; -double tmp85 = -2*tmp6*tmp1*tmp3; -double tmp86 = tmp7*tmp11; -double tmp87 = tmp79 + tmp80 + tmp81 + tmp82 + tmp83 + tmp84 + tmp85 + tmp86 + tmp24; -double tmp88 = cp(1+_OFF); -double tmp89 = std::sqrt(tmp52); -double tmp90 = std::pow(tmp88,2); -double tmp91 = z(1+_OFF); -double tmp92 = cp(4+_OFF); -double tmp93 = 1/tmp92; -double tmp94 = fDrag(1+_OFF); -double tmp95 = fDrag(2+_OFF); -double tmp96 = tmp71*tmp95; -double tmp97 = std::pow(tmp71,2); -double tmp98 = fDrag(3+_OFF); -double tmp99 = tmp97*tmp98; -double tmp100 = std::pow(tmp78,2); -double tmp101 = fDrag(4+_OFF); -double tmp102 = tmp100*tmp101; -double tmp103 = tmp94 + tmp96 + tmp99 + tmp102; -double tmp104 = fLat(1+_OFF); -double tmp105 = std::pow(tmp75,2); -double tmp106 = 1/tmp52; -double tmp107 = -(tmp105*tmp106); -double tmp108 = 1 + tmp107; -double tmp109 = std::sqrt(tmp108); -double tmp110 = tmp4*tmp8; -double tmp111 = 2*tmp6*tmp0*tmp1; -double tmp112 = -(tmp4*tmp9); -double tmp113 = 2*tmp7*tmp1*tmp2; -double tmp114 = tmp4*tmp10; -double tmp115 = -2*tmp7*tmp0*tmp3; -double tmp116 = 2*tmp6*tmp2*tmp3; -double tmp117 = -(tmp4*tmp11); -double tmp118 = tmp110 + tmp111 + tmp112 + tmp113 + tmp114 + tmp115 + tmp116 + tmp117 + tmp25; -double tmp119 = fLift(1+_OFF); -double tmp120 = fLift(2+_OFF); -double tmp121 = tmp71*tmp120; -double tmp122 = tmp119 + tmp121; -double tmp123 = -(tmp6*tmp8); -double tmp124 = 2*tmp4*tmp0*tmp1; -double tmp125 = tmp6*tmp9; -double tmp126 = -2*tmp7*tmp0*tmp2; -double tmp127 = tmp6*tmp10; -double tmp128 = -2*tmp7*tmp1*tmp3; -double tmp129 = -2*tmp4*tmp2*tmp3; -double tmp130 = -(tmp6*tmp11); -double tmp131 = tmp123 + tmp124 + tmp125 + tmp126 + tmp127 + tmp128 + tmp129 + tmp130 + tmp41; -double tmp132 = ibd(2+_OFF); -double tmp133 = ibd(3+_OFF); -double tmp134 = ibod(1+_OFF); -double tmp135 = ibod(2+_OFF); -double tmp136 = ibod(3+_OFF); -double tmp137 = ibd(1+_OFF); -double tmp138 = std::pow(tmp136,2); -double tmp139 = cp(3+_OFF); -double tmp140 = tmp137*tmp132*tmp133; -double tmp141 = std::pow(tmp134,2); -double tmp142 = -(tmp132*tmp141); -double tmp143 = std::pow(tmp135,2); -double tmp144 = -(tmp133*tmp143); -double tmp145 = 2*tmp134*tmp135*tmp136; -double tmp146 = -(tmp137*tmp138); -double tmp147 = tmp140 + tmp142 + tmp144 + tmp145 + tmp146; -double tmp148 = 1/tmp147; -double tmp149 = cBar(1+_OFF); -double tmp150 = x(13+_OFF); -double tmp151 = -(tmp133*tmp135); -double tmp152 = tmp134*tmp136; -double tmp153 = tmp151 + tmp152; -double tmp154 = mRoll(2+_OFF); -double tmp155 = tmp78*tmp154; -double tmp156 = mRoll(3+_OFF); -double tmp157 = x(11+_OFF); -double tmp158 = (tmp139*tmp156*tmp76*tmp157)/2.; -double tmp159 = mRoll(4+_OFF); -double tmp160 = -(tmp139*tmp159*tmp76*tmp150)/2.; -double tmp161 = mRoll(1+_OFF); -double tmp162 = z(2+_OFF); -double tmp163 = -(tmp161*tmp162); -double tmp164 = tmp155 + tmp158 + tmp160 + tmp163; -double tmp165 = mPitch(1+_OFF); -double tmp166 = -tmp165; -double tmp167 = mPitch(3+_OFF); -double tmp168 = -(tmp71*tmp167); -double tmp169 = mPitch(4+_OFF); -double tmp170 = x(12+_OFF); -double tmp171 = (tmp149*tmp169*tmp76*tmp170)/2.; -double tmp172 = mPitch(2+_OFF); -double tmp173 = z(3+_OFF); -double tmp174 = -(tmp172*tmp173); -double tmp175 = tmp166 + tmp168 + tmp171 + tmp174; -double tmp176 = mYaw(2+_OFF); -double tmp177 = -(tmp78*tmp176); -double tmp178 = mYaw(3+_OFF); -double tmp179 = (tmp139*tmp178*tmp76*tmp150)/2.; -double tmp180 = mYaw(1+_OFF); -double tmp181 = z(4+_OFF); -double tmp182 = tmp180*tmp181; -double tmp183 = tmp177 + tmp179 + tmp182; -double tmp184 = -(tmp132*tmp134); -double tmp185 = tmp135*tmp136; -double tmp186 = tmp184 + tmp185; -double tmp187 = tmp134*tmp135; -double tmp188 = -(tmp137*tmp136); -double tmp189 = tmp187 + tmp188; J(1+_OFF,1+_OFF) = 0; J(1+_OFF,2+_OFF) = 0; -J(1+_OFF,3+_OFF) = -(tmp93*(0.00004814592760180996*tmp53*tmp54*tmp78*tmp55*tmp104*tmp67*tmp87*tmp118*tmp70*tmp89 + 0.00004814592760180996*tmp53*tmp54*tmp55*tmp122*tmp67*tmp70*(tmp6*tmp8 - 2*tmp4*tmp0*tmp1 - tmp6*tmp9 + 2*tmp7*tmp0*tmp2 - tmp6*tmp10 + 2*tmp7*tmp1*tmp3 + 2*tmp4*tmp2*tmp3 + tmp6*tmp11 + tmp59)*tmp52 - 0.00004814592760180996*tmp53*tmp54*tmp55*tmp103*tmp67*tmp87*tmp70*tmp52*tmp109 - 0.00009629185520361992*tmp53*tmp54*tmp90*tmp67*((fThrust(3+_OFF)*tmp52)/std::pow(M_PI,2) + (tmp88*fThrust(2+_OFF)*tmp89*tmp91)/M_PI + tmp90*fThrust(1+_OFF)*std::pow(tmp91,2)))); +J(1+_OFF,3+_OFF) = 0; J(2+_OFF,1+_OFF) = 0; J(2+_OFF,2+_OFF) = 0; -J(2+_OFF,3+_OFF) = -(tmp93*(-0.00004814592760180996*tmp53*tmp54*tmp55*tmp103*tmp67*(-(tmp4*tmp8) - 2*tmp6*tmp0*tmp1 + tmp4*tmp9 - 2*tmp7*tmp1*tmp2 - tmp4*tmp10 + 2*tmp7*tmp0*tmp3 - 2*tmp6*tmp2*tmp3 + tmp4*tmp11 + tmp20)*tmp89 + 0.00004814592760180996*tmp53*tmp54*tmp78*tmp55*tmp104*tmp67*tmp52*tmp109)); +J(2+_OFF,3+_OFF) = 0; J(3+_OFF,1+_OFF) = 0; J(3+_OFF,2+_OFF) = 0; -J(3+_OFF,3+_OFF) = -(tmp93*(0.00004814592760180996*tmp53*tmp54*tmp78*tmp55*tmp104*tmp67*tmp118*tmp70*tmp131*tmp89 + 0.00004814592760180996*tmp53*tmp54*tmp55*tmp122*tmp67*tmp87*tmp70*tmp52 - 0.00004814592760180996*tmp53*tmp54*tmp55*tmp103*tmp67*tmp70*tmp131*tmp52*tmp109)); +J(3+_OFF,3+_OFF) = 0; J(4+_OFF,1+_OFF) = 0; J(4+_OFF,2+_OFF) = 0; -J(4+_OFF,3+_OFF) = 0.00004814592760180996*tmp53*tmp54*tmp55*tmp139*(tmp132*tmp133 - tmp138)*tmp148*tmp67*tmp52*tmp164 + 0.00004814592760180996*tmp53*tmp54*tmp149*tmp55*tmp153*tmp148*tmp67*tmp52*tmp175 + 0.00004814592760180996*tmp53*tmp54*tmp55*tmp139*tmp186*tmp148*tmp67*tmp52*tmp183; +J(4+_OFF,3+_OFF) = 0; J(5+_OFF,1+_OFF) = 0; J(5+_OFF,2+_OFF) = 0; -J(5+_OFF,3+_OFF) = 0.00004814592760180996*tmp53*tmp54*tmp55*tmp139*tmp153*tmp148*tmp67*tmp52*tmp164 + 0.00004814592760180996*tmp53*tmp54*tmp149*tmp55*(tmp137*tmp133 - tmp141)*tmp148*tmp67*tmp52*tmp175 + 0.00004814592760180996*tmp53*tmp54*tmp55*tmp139*tmp189*tmp148*tmp67*tmp52*tmp183; +J(5+_OFF,3+_OFF) = 0; J(6+_OFF,1+_OFF) = 0; J(6+_OFF,2+_OFF) = 0; -J(6+_OFF,3+_OFF) = 0.00004814592760180996*tmp53*tmp54*tmp55*tmp139*tmp186*tmp148*tmp67*tmp52*tmp164 + 0.00004814592760180996*tmp53*tmp54*tmp149*tmp55*tmp189*tmp148*tmp67*tmp52*tmp175 + 0.00004814592760180996*tmp53*tmp54*tmp55*tmp139*(tmp137*tmp132 - tmp143)*tmp148*tmp67*tmp52*tmp183; +J(6+_OFF,3+_OFF) = 0; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrQ.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrQ.cppready index 49158ae..b3cfa18 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrQ.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrQ.cppready @@ -11,434 +11,420 @@ double tmp9 = std::pow(tmp2,2); double tmp10 = std::pow(tmp0,2); double tmp11 = -tmp10; double tmp12 = std::pow(tmp3,2); -double tmp13 = airDensity(2+_OFF); -double tmp14 = 1/tmp13; -double tmp15 = tmp2*tmp0; -double tmp16 = tmp1*tmp3; -double tmp17 = tmp15 + tmp16; -double tmp18 = -2*tmp6*tmp17; -double tmp19 = -(tmp1*tmp0); -double tmp20 = tmp19 + tmp5; -double tmp21 = -2*tmp7*tmp20; -double tmp22 = -tmp12; -double tmp23 = tmp8 + tmp9 + tmp11 + tmp22; -double tmp24 = -(tmp4*tmp23); -double tmp25 = x(8+_OFF); -double tmp26 = tmp18 + tmp21 + tmp24 + tmp25; -double tmp27 = tmp1*tmp0; -double tmp28 = tmp27 + tmp5; -double tmp29 = 2*tmp4*tmp28; -double tmp30 = -(tmp1*tmp2); -double tmp31 = tmp0*tmp3; -double tmp32 = tmp30 + tmp31; -double tmp33 = 2*tmp6*tmp32; -double tmp34 = -tmp9; -double tmp35 = tmp8 + tmp34 + tmp11 + tmp12; -double tmp36 = tmp7*tmp35; -double tmp37 = x(10+_OFF); -double tmp38 = -tmp37; -double tmp39 = tmp29 + tmp33 + tmp36 + tmp38; -double tmp40 = airDensity(3+_OFF); -double tmp41 = -(tmp1*tmp3); -double tmp42 = tmp15 + tmp41; -double tmp43 = tmp1*tmp2; -double tmp44 = tmp43 + tmp31; -double tmp45 = tmp8 + tmp34 + tmp10 + tmp22; +double tmp13 = tmp2*tmp0; +double tmp14 = tmp1*tmp3; +double tmp15 = tmp13 + tmp14; +double tmp16 = -2*tmp6*tmp15; +double tmp17 = -(tmp1*tmp0); +double tmp18 = tmp17 + tmp5; +double tmp19 = -2*tmp7*tmp18; +double tmp20 = -tmp12; +double tmp21 = tmp8 + tmp9 + tmp11 + tmp20; +double tmp22 = -(tmp4*tmp21); +double tmp23 = x(8+_OFF); +double tmp24 = tmp16 + tmp19 + tmp22 + tmp23; +double tmp25 = tmp1*tmp0; +double tmp26 = tmp25 + tmp5; +double tmp27 = 2*tmp4*tmp26; +double tmp28 = -(tmp1*tmp2); +double tmp29 = tmp0*tmp3; +double tmp30 = tmp28 + tmp29; +double tmp31 = 2*tmp6*tmp30; +double tmp32 = -tmp9; +double tmp33 = tmp8 + tmp32 + tmp11 + tmp12; +double tmp34 = tmp7*tmp33; +double tmp35 = x(10+_OFF); +double tmp36 = -tmp35; +double tmp37 = tmp27 + tmp31 + tmp34 + tmp36; +double tmp38 = -(tmp1*tmp3); +double tmp39 = tmp13 + tmp38; +double tmp40 = -2*tmp4*tmp39; +double tmp41 = tmp1*tmp2; +double tmp42 = tmp41 + tmp29; +double tmp43 = -2*tmp7*tmp42; +double tmp44 = tmp8 + tmp32 + tmp10 + tmp20; +double tmp45 = -(tmp6*tmp44); double tmp46 = x(9+_OFF); -double tmp47 = std::pow(tmp26,2); -double tmp48 = -2*tmp4*tmp42; -double tmp49 = -2*tmp7*tmp44; -double tmp50 = -(tmp6*tmp45); -double tmp51 = tmp48 + tmp49 + tmp50 + tmp46; -double tmp52 = -2*tmp4*tmp28; -double tmp53 = -2*tmp6*tmp32; -double tmp54 = -(tmp7*tmp35); -double tmp55 = tmp52 + tmp53 + tmp54 + tmp37; -double tmp56 = cp(2+_OFF); -double tmp57 = airDensity(1+_OFF); -double tmp58 = x(3+_OFF); -double tmp59 = tmp57 + tmp58; -double tmp60 = -0.006500000000000001*tmp14*tmp59; -double tmp61 = 1 + tmp60; -double tmp62 = std::pow(tmp61,4.2561); -double tmp63 = -tmp46; -double tmp64 = std::pow(tmp39,2); -double tmp65 = tmp47 + tmp64; -double tmp66 = 1/std::sqrt(tmp65); -double tmp67 = -2*tmp4*tmp1; -double tmp68 = 2*tmp7*tmp0; -double tmp69 = -2*tmp6*tmp3; +double tmp47 = tmp40 + tmp43 + tmp45 + tmp46; +double tmp48 = std::pow(tmp24,2); +double tmp49 = -2*tmp4*tmp26; +double tmp50 = -2*tmp6*tmp30; +double tmp51 = -(tmp7*tmp33); +double tmp52 = tmp49 + tmp50 + tmp51 + tmp35; +double tmp53 = cp(2+_OFF); +double tmp54 = std::pow(tmp37,2); +double tmp55 = tmp48 + tmp54; +double tmp56 = 1/std::sqrt(tmp55); +double tmp57 = -2*tmp4*tmp1; +double tmp58 = 2*tmp7*tmp0; +double tmp59 = -2*tmp6*tmp3; +double tmp60 = tmp57 + tmp58 + tmp59; +double tmp61 = 2*tmp60*tmp24; +double tmp62 = -2*tmp6*tmp1; +double tmp63 = -2*tmp7*tmp2; +double tmp64 = 2*tmp4*tmp3; +double tmp65 = tmp62 + tmp63 + tmp64; +double tmp66 = 2*tmp65*tmp47; +double tmp67 = -2*tmp7*tmp1; +double tmp68 = 2*tmp6*tmp2; +double tmp69 = -2*tmp4*tmp0; double tmp70 = tmp67 + tmp68 + tmp69; -double tmp71 = 2*tmp70*tmp26; -double tmp72 = -2*tmp6*tmp1; -double tmp73 = -2*tmp7*tmp2; -double tmp74 = 2*tmp4*tmp3; -double tmp75 = tmp72 + tmp73 + tmp74; -double tmp76 = 2*tmp75*tmp51; -double tmp77 = -2*tmp7*tmp1; -double tmp78 = 2*tmp6*tmp2; -double tmp79 = -2*tmp4*tmp0; -double tmp80 = tmp77 + tmp78 + tmp79; -double tmp81 = 2*tmp80*tmp55; -double tmp82 = tmp71 + tmp76 + tmp81; -double tmp83 = std::pow(tmp51,2); -double tmp84 = std::pow(tmp55,2); -double tmp85 = tmp47 + tmp83 + tmp84; -double tmp86 = 1/std::sqrt(tmp85); -double tmp87 = 2*tmp4*tmp42; -double tmp88 = 2*tmp7*tmp44; -double tmp89 = tmp6*tmp45; -double tmp90 = tmp87 + tmp88 + tmp89 + tmp63; -double tmp91 = tmp90*tmp86; -double tmp92 = std::asin(tmp91); -double tmp93 = fLat(1+_OFF); -double tmp94 = -(tmp4*tmp8); -double tmp95 = -(tmp4*tmp9); -double tmp96 = 2*tmp7*tmp1*tmp0; -double tmp97 = -2*tmp6*tmp2*tmp0; -double tmp98 = tmp4*tmp10; -double tmp99 = -2*tmp6*tmp1*tmp3; -double tmp100 = -2*tmp7*tmp2*tmp3; -double tmp101 = tmp4*tmp12; -double tmp102 = tmp94 + tmp95 + tmp96 + tmp97 + tmp98 + tmp99 + tmp100 + tmp101 + tmp25; -double tmp103 = tmp6*tmp8; -double tmp104 = 2*tmp7*tmp1*tmp2; -double tmp105 = -(tmp6*tmp9); -double tmp106 = 2*tmp4*tmp2*tmp0; -double tmp107 = tmp6*tmp10; -double tmp108 = -2*tmp4*tmp1*tmp3; -double tmp109 = 2*tmp7*tmp0*tmp3; -double tmp110 = -(tmp6*tmp12); -double tmp111 = tmp103 + tmp104 + tmp105 + tmp106 + tmp107 + tmp108 + tmp109 + tmp110 + tmp63; -double tmp112 = std::sqrt(tmp85); -double tmp113 = fLift(1+_OFF); -double tmp114 = std::atan2(tmp39,tmp26); -double tmp115 = fLift(2+_OFF); -double tmp116 = tmp114*tmp115; -double tmp117 = tmp113 + tmp116; -double tmp118 = 2*tmp7*tmp1; -double tmp119 = -2*tmp6*tmp2; -double tmp120 = 2*tmp4*tmp0; -double tmp121 = tmp118 + tmp119 + tmp120; -double tmp122 = 2*tmp121*tmp39; -double tmp123 = tmp71 + tmp122; -double tmp124 = std::pow(tmp65,-1.5); -double tmp125 = tmp7*tmp8; -double tmp126 = -2*tmp6*tmp1*tmp2; -double tmp127 = -(tmp7*tmp9); -double tmp128 = 2*tmp4*tmp1*tmp0; -double tmp129 = -(tmp7*tmp10); -double tmp130 = 2*tmp4*tmp2*tmp3; -double tmp131 = 2*tmp6*tmp0*tmp3; -double tmp132 = tmp7*tmp12; -double tmp133 = tmp125 + tmp126 + tmp127 + tmp128 + tmp129 + tmp130 + tmp131 + tmp132 + tmp38; -double tmp134 = 1/tmp65; -double tmp135 = 2*tmp6*tmp1; -double tmp136 = 2*tmp7*tmp2; -double tmp137 = -2*tmp4*tmp3; -double tmp138 = tmp135 + tmp136 + tmp137; -double tmp139 = std::pow(tmp90,2); -double tmp140 = 1/tmp85; -double tmp141 = fDrag(1+_OFF); -double tmp142 = fDrag(2+_OFF); -double tmp143 = tmp114*tmp142; -double tmp144 = std::pow(tmp114,2); -double tmp145 = fDrag(3+_OFF); -double tmp146 = tmp144*tmp145; -double tmp147 = std::pow(tmp92,2); -double tmp148 = fDrag(4+_OFF); -double tmp149 = tmp147*tmp148; -double tmp150 = tmp141 + tmp143 + tmp146 + tmp149; -double tmp151 = -(tmp139*tmp140); -double tmp152 = 1 + tmp151; -double tmp153 = std::sqrt(tmp152); -double tmp154 = 1/std::sqrt(tmp152); -double tmp155 = tmp121*tmp26*tmp134; -double tmp156 = tmp70*tmp134*tmp55; -double tmp157 = tmp155 + tmp156; -double tmp158 = std::pow(tmp85,-1.5); -double tmp159 = -(tmp90*tmp82*tmp158)/2.; -double tmp160 = tmp138*tmp86; -double tmp161 = tmp159 + tmp160; -double tmp162 = cp(1+_OFF); -double tmp163 = gravity(1+_OFF); -double tmp164 = cp(4+_OFF); -double tmp165 = 1/tmp164; -double tmp166 = -2*tmp4*tmp2; -double tmp167 = -2*tmp6*tmp0; -double tmp168 = -2*tmp7*tmp3; -double tmp169 = tmp166 + tmp167 + tmp168; -double tmp170 = 2*tmp169*tmp26; -double tmp171 = 2*tmp80*tmp51; -double tmp172 = 2*tmp138*tmp55; -double tmp173 = tmp170 + tmp171 + tmp172; -double tmp174 = 2*tmp75*tmp39; -double tmp175 = tmp170 + tmp174; -double tmp176 = std::pow(tmp85,-2); -double tmp177 = tmp75*tmp26*tmp134; -double tmp178 = tmp169*tmp134*tmp55; -double tmp179 = tmp177 + tmp178; -double tmp180 = -(tmp90*tmp173*tmp158)/2.; -double tmp181 = tmp121*tmp86; -double tmp182 = tmp180 + tmp181; -double tmp183 = std::pow(tmp162,2); -double tmp184 = std::pow(M_PI,-2); -double tmp185 = fThrust(3+_OFF); -double tmp186 = 1/M_PI; -double tmp187 = fThrust(2+_OFF); -double tmp188 = z(1+_OFF); -double tmp189 = 2*tmp121*tmp26; -double tmp190 = 2*tmp169*tmp51; -double tmp191 = 2*tmp70*tmp55; -double tmp192 = tmp189 + tmp190 + tmp191; -double tmp193 = 2*tmp4*tmp1; -double tmp194 = -2*tmp7*tmp0; -double tmp195 = 2*tmp6*tmp3; -double tmp196 = tmp193 + tmp194 + tmp195; -double tmp197 = 2*tmp196*tmp39; -double tmp198 = tmp189 + tmp197; -double tmp199 = 2*tmp4*tmp2; -double tmp200 = 2*tmp6*tmp0; -double tmp201 = 2*tmp7*tmp3; -double tmp202 = tmp199 + tmp200 + tmp201; -double tmp203 = tmp196*tmp26*tmp134; -double tmp204 = tmp121*tmp134*tmp55; -double tmp205 = tmp203 + tmp204; -double tmp206 = -(tmp90*tmp192*tmp158)/2.; -double tmp207 = tmp202*tmp86; -double tmp208 = tmp206 + tmp207; -double tmp209 = 2*tmp75*tmp26; -double tmp210 = 2*tmp196*tmp51; -double tmp211 = 2*tmp169*tmp55; -double tmp212 = tmp209 + tmp210 + tmp211; -double tmp213 = 2*tmp202*tmp39; -double tmp214 = tmp209 + tmp213; -double tmp215 = tmp202*tmp26*tmp134; -double tmp216 = tmp75*tmp134*tmp55; -double tmp217 = tmp215 + tmp216; -double tmp218 = -(tmp90*tmp212*tmp158)/2.; -double tmp219 = tmp70*tmp86; -double tmp220 = tmp218 + tmp219; -double tmp221 = 2*tmp163*tmp2; -double tmp222 = tmp139*tmp82*tmp176; -double tmp223 = -2*tmp138*tmp90*tmp140; -double tmp224 = tmp222 + tmp223; -double tmp225 = -(tmp6*tmp8); -double tmp226 = -2*tmp7*tmp1*tmp2; -double tmp227 = tmp6*tmp9; -double tmp228 = -2*tmp4*tmp2*tmp0; -double tmp229 = -(tmp6*tmp10); -double tmp230 = 2*tmp4*tmp1*tmp3; -double tmp231 = -2*tmp7*tmp0*tmp3; -double tmp232 = tmp6*tmp12; -double tmp233 = tmp225 + tmp226 + tmp227 + tmp228 + tmp229 + tmp230 + tmp231 + tmp232 + tmp46; -double tmp234 = tmp142*tmp157; -double tmp235 = 2*tmp114*tmp145*tmp157; -double tmp236 = 2*tmp92*tmp148*tmp154*tmp161; -double tmp237 = tmp234 + tmp235 + tmp236; -double tmp238 = tmp139*tmp173*tmp176; -double tmp239 = -2*tmp121*tmp90*tmp140; -double tmp240 = tmp238 + tmp239; -double tmp241 = tmp142*tmp179; -double tmp242 = 2*tmp114*tmp145*tmp179; -double tmp243 = 2*tmp92*tmp148*tmp154*tmp182; -double tmp244 = tmp241 + tmp242 + tmp243; -double tmp245 = 2*tmp163*tmp3; -double tmp246 = tmp139*tmp192*tmp176; -double tmp247 = -2*tmp202*tmp90*tmp140; -double tmp248 = tmp246 + tmp247; -double tmp249 = tmp142*tmp205; -double tmp250 = 2*tmp114*tmp145*tmp205; -double tmp251 = 2*tmp92*tmp148*tmp154*tmp208; -double tmp252 = tmp249 + tmp250 + tmp251; -double tmp253 = tmp139*tmp212*tmp176; -double tmp254 = -2*tmp70*tmp90*tmp140; -double tmp255 = tmp253 + tmp254; -double tmp256 = tmp142*tmp217; -double tmp257 = 2*tmp114*tmp145*tmp217; -double tmp258 = 2*tmp92*tmp148*tmp154*tmp220; -double tmp259 = tmp256 + tmp257 + tmp258; -double tmp260 = 2*tmp163*tmp1; -double tmp261 = -(tmp7*tmp8); -double tmp262 = 2*tmp6*tmp1*tmp2; -double tmp263 = tmp7*tmp9; -double tmp264 = -2*tmp4*tmp1*tmp0; -double tmp265 = tmp7*tmp10; -double tmp266 = -2*tmp4*tmp2*tmp3; -double tmp267 = -2*tmp6*tmp0*tmp3; -double tmp268 = -(tmp7*tmp12); -double tmp269 = tmp261 + tmp262 + tmp263 + tmp264 + tmp265 + tmp266 + tmp267 + tmp268 + tmp37; -double tmp270 = -2*tmp163*tmp0; -double tmp271 = -0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp70*tmp111*tmp66*tmp112; -double tmp272 = -0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp121*tmp66*tmp85; -double tmp273 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp70*tmp66*tmp85*tmp153; -double tmp274 = -0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp169*tmp111*tmp66*tmp112; -double tmp275 = -0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp75*tmp66*tmp85; -double tmp276 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp169*tmp66*tmp85*tmp153; -double tmp277 = ibd(2+_OFF); -double tmp278 = ibd(3+_OFF); -double tmp279 = ibod(1+_OFF); -double tmp280 = ibod(2+_OFF); -double tmp281 = ibod(3+_OFF); -double tmp282 = ibd(1+_OFF); -double tmp283 = std::pow(tmp281,2); -double tmp284 = cp(3+_OFF); -double tmp285 = mRoll(2+_OFF); -double tmp286 = mRoll(3+_OFF); -double tmp287 = x(11+_OFF); -double tmp288 = mRoll(4+_OFF); -double tmp289 = x(13+_OFF); -double tmp290 = tmp282*tmp277*tmp278; -double tmp291 = std::pow(tmp279,2); -double tmp292 = -(tmp277*tmp291); -double tmp293 = std::pow(tmp280,2); -double tmp294 = -(tmp278*tmp293); -double tmp295 = 2*tmp279*tmp280*tmp281; -double tmp296 = -(tmp282*tmp283); -double tmp297 = tmp290 + tmp292 + tmp294 + tmp295 + tmp296; -double tmp298 = 1/tmp297; -double tmp299 = cBar(1+_OFF); -double tmp300 = mPitch(3+_OFF); -double tmp301 = mPitch(4+_OFF); -double tmp302 = x(12+_OFF); -double tmp303 = mYaw(2+_OFF); -double tmp304 = mYaw(3+_OFF); -double tmp305 = tmp277*tmp278; -double tmp306 = -tmp283; -double tmp307 = tmp305 + tmp306; -double tmp308 = tmp92*tmp285; -double tmp309 = (tmp284*tmp286*tmp86*tmp287)/2.; -double tmp310 = -(tmp284*tmp288*tmp86*tmp289)/2.; -double tmp311 = mRoll(1+_OFF); -double tmp312 = z(2+_OFF); -double tmp313 = -(tmp311*tmp312); -double tmp314 = tmp308 + tmp309 + tmp310 + tmp313; -double tmp315 = -(tmp278*tmp280); -double tmp316 = tmp279*tmp281; -double tmp317 = tmp315 + tmp316; -double tmp318 = mPitch(1+_OFF); -double tmp319 = -tmp318; -double tmp320 = -(tmp114*tmp300); -double tmp321 = (tmp299*tmp301*tmp86*tmp302)/2.; -double tmp322 = mPitch(2+_OFF); -double tmp323 = z(3+_OFF); -double tmp324 = -(tmp322*tmp323); -double tmp325 = tmp319 + tmp320 + tmp321 + tmp324; -double tmp326 = -(tmp277*tmp279); -double tmp327 = tmp280*tmp281; -double tmp328 = tmp326 + tmp327; -double tmp329 = -(tmp92*tmp303); -double tmp330 = (tmp284*tmp304*tmp86*tmp289)/2.; -double tmp331 = mYaw(1+_OFF); -double tmp332 = z(4+_OFF); -double tmp333 = tmp331*tmp332; -double tmp334 = tmp329 + tmp330 + tmp333; -double tmp335 = tmp285*tmp154*tmp161; -double tmp336 = -(tmp284*tmp286*tmp82*tmp158*tmp287)/4.; -double tmp337 = (tmp284*tmp288*tmp82*tmp158*tmp289)/4.; -double tmp338 = tmp335 + tmp336 + tmp337; -double tmp339 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp85*tmp338; -double tmp340 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp82*tmp314; -double tmp341 = tmp339 + tmp340; -double tmp342 = -(tmp300*tmp157); -double tmp343 = -(tmp299*tmp301*tmp82*tmp158*tmp302)/4.; -double tmp344 = tmp342 + tmp343; -double tmp345 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp85*tmp344; -double tmp346 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp82*tmp325; -double tmp347 = tmp345 + tmp346; -double tmp348 = -(tmp303*tmp154*tmp161); -double tmp349 = -(tmp284*tmp304*tmp82*tmp158*tmp289)/4.; -double tmp350 = tmp348 + tmp349; -double tmp351 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp85*tmp350; -double tmp352 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp82*tmp334; -double tmp353 = tmp351 + tmp352; -double tmp354 = tmp285*tmp154*tmp182; -double tmp355 = -(tmp284*tmp286*tmp173*tmp158*tmp287)/4.; -double tmp356 = (tmp284*tmp288*tmp173*tmp158*tmp289)/4.; -double tmp357 = tmp354 + tmp355 + tmp356; -double tmp358 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp85*tmp357; -double tmp359 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp173*tmp314; -double tmp360 = tmp358 + tmp359; -double tmp361 = tmp282*tmp278; -double tmp362 = -tmp291; -double tmp363 = tmp361 + tmp362; -double tmp364 = -(tmp300*tmp179); -double tmp365 = -(tmp299*tmp301*tmp173*tmp158*tmp302)/4.; -double tmp366 = tmp364 + tmp365; -double tmp367 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp85*tmp366; -double tmp368 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp173*tmp325; -double tmp369 = tmp367 + tmp368; -double tmp370 = tmp279*tmp280; -double tmp371 = -(tmp282*tmp281); -double tmp372 = tmp370 + tmp371; -double tmp373 = -(tmp303*tmp154*tmp182); -double tmp374 = -(tmp284*tmp304*tmp173*tmp158*tmp289)/4.; -double tmp375 = tmp373 + tmp374; -double tmp376 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp85*tmp375; -double tmp377 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp173*tmp334; -double tmp378 = tmp376 + tmp377; -double tmp379 = tmp285*tmp154*tmp208; -double tmp380 = -(tmp284*tmp286*tmp192*tmp158*tmp287)/4.; -double tmp381 = (tmp284*tmp288*tmp192*tmp158*tmp289)/4.; -double tmp382 = tmp379 + tmp380 + tmp381; -double tmp383 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp85*tmp382; -double tmp384 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp192*tmp314; -double tmp385 = tmp383 + tmp384; -double tmp386 = -(tmp300*tmp205); -double tmp387 = -(tmp299*tmp301*tmp192*tmp158*tmp302)/4.; -double tmp388 = tmp386 + tmp387; -double tmp389 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp85*tmp388; -double tmp390 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp192*tmp325; -double tmp391 = tmp389 + tmp390; -double tmp392 = -(tmp303*tmp154*tmp208); -double tmp393 = -(tmp284*tmp304*tmp192*tmp158*tmp289)/4.; -double tmp394 = tmp392 + tmp393; -double tmp395 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp85*tmp394; -double tmp396 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp192*tmp334; -double tmp397 = tmp395 + tmp396; -double tmp398 = tmp285*tmp154*tmp220; -double tmp399 = -(tmp284*tmp286*tmp212*tmp158*tmp287)/4.; -double tmp400 = (tmp284*tmp288*tmp212*tmp158*tmp289)/4.; -double tmp401 = tmp398 + tmp399 + tmp400; -double tmp402 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp85*tmp401; -double tmp403 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp212*tmp314; -double tmp404 = tmp402 + tmp403; -double tmp405 = -(tmp300*tmp217); -double tmp406 = -(tmp299*tmp301*tmp212*tmp158*tmp302)/4.; -double tmp407 = tmp405 + tmp406; -double tmp408 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp85*tmp407; -double tmp409 = 0.001740341106856944*tmp14*tmp40*tmp299*tmp56*tmp62*tmp212*tmp325; -double tmp410 = tmp408 + tmp409; -double tmp411 = -(tmp303*tmp154*tmp220); -double tmp412 = -(tmp284*tmp304*tmp212*tmp158*tmp289)/4.; -double tmp413 = tmp411 + tmp412; -double tmp414 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp85*tmp413; -double tmp415 = 0.001740341106856944*tmp14*tmp40*tmp56*tmp284*tmp62*tmp212*tmp334; -double tmp416 = tmp414 + tmp415; -double tmp417 = tmp282*tmp277; -double tmp418 = -tmp293; -double tmp419 = tmp417 + tmp418; -J(1+_OFF,1+_OFF) = tmp270 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp66*tmp133*tmp82 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp66*tmp82*tmp86 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp123*tmp124*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp138*tmp102*tmp66*tmp112 + tmp271 + tmp272 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp123*tmp124*tmp133*tmp85 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp66*tmp133*tmp157*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp102*tmp66*tmp85*tmp224*tmp154 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp102*tmp66*tmp82*tmp153 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp102*tmp123*tmp124*tmp85*tmp153 + tmp273 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp102*tmp111*tmp66*tmp112*tmp154*tmp161 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp102*tmp66*tmp85*tmp153*tmp237 + 0.003480682213713888*tmp14*tmp40*tmp183*tmp62*(tmp184*tmp185*tmp82 + (tmp186*tmp162*tmp187*tmp82*tmp86*tmp188)/2.)); -J(1+_OFF,2+_OFF) = tmp245 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp66*tmp133*tmp173 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp66*tmp173*tmp86 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp175*tmp124*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp121*tmp102*tmp66*tmp112 + tmp274 + tmp275 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp175*tmp124*tmp133*tmp85 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp66*tmp133*tmp179*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp102*tmp66*tmp85*tmp240*tmp154 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp102*tmp66*tmp173*tmp153 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp102*tmp175*tmp124*tmp85*tmp153 + tmp276 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp102*tmp111*tmp66*tmp112*tmp154*tmp182 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp102*tmp66*tmp85*tmp153*tmp244 + 0.003480682213713888*tmp14*tmp40*tmp183*tmp62*(tmp184*tmp185*tmp173 + (tmp186*tmp162*tmp187*tmp173*tmp86*tmp188)/2.)); -J(1+_OFF,3+_OFF) = -2*tmp163*tmp1 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp66*tmp133*tmp192 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp66*tmp192*tmp86 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp198*tmp124*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp202*tmp102*tmp66*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp121*tmp111*tmp66*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp196*tmp66*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp198*tmp124*tmp133*tmp85 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp66*tmp133*tmp205*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp102*tmp66*tmp85*tmp248*tmp154 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp102*tmp66*tmp192*tmp153 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp102*tmp198*tmp124*tmp85*tmp153 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp121*tmp66*tmp85*tmp153 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp102*tmp111*tmp66*tmp112*tmp154*tmp208 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp102*tmp66*tmp85*tmp153*tmp252 + 0.003480682213713888*tmp14*tmp40*tmp183*tmp62*(tmp184*tmp185*tmp192 + (tmp186*tmp162*tmp187*tmp192*tmp86*tmp188)/2.)); -J(1+_OFF,4+_OFF) = tmp221 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp66*tmp133*tmp212 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp66*tmp212*tmp86 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp102*tmp111*tmp214*tmp124*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp70*tmp102*tmp66*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp75*tmp111*tmp66*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp202*tmp66*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp214*tmp124*tmp133*tmp85 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp66*tmp133*tmp217*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp102*tmp66*tmp85*tmp255*tmp154 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp102*tmp66*tmp212*tmp153 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp102*tmp214*tmp124*tmp85*tmp153 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp75*tmp66*tmp85*tmp153 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp102*tmp111*tmp66*tmp112*tmp154*tmp220 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp102*tmp66*tmp85*tmp153*tmp259 + 0.003480682213713888*tmp14*tmp40*tmp183*tmp62*(tmp184*tmp185*tmp212 + (tmp186*tmp162*tmp187*tmp212*tmp86*tmp188)/2.)); -J(2+_OFF,1+_OFF) = tmp221 - tmp165*(0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp233*tmp82*tmp86 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp75*tmp112 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp85*tmp224*tmp154 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp82*tmp153 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp85*tmp161 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp233*tmp112*tmp237); -J(2+_OFF,2+_OFF) = tmp260 - tmp165*(0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp233*tmp173*tmp86 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp80*tmp112 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp85*tmp240*tmp154 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp173*tmp153 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp85*tmp182 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp233*tmp112*tmp244); -J(2+_OFF,3+_OFF) = tmp245 - tmp165*(0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp233*tmp192*tmp86 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp169*tmp112 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp85*tmp248*tmp154 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp192*tmp153 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp85*tmp208 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp233*tmp112*tmp252); -J(2+_OFF,4+_OFF) = 2*tmp163*tmp0 - tmp165*(0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp233*tmp212*tmp86 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp196*tmp112 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp85*tmp255*tmp154 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp212*tmp153 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp85*tmp220 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp233*tmp112*tmp259); -J(3+_OFF,1+_OFF) = tmp260 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp66*tmp82 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp66*tmp269*tmp82*tmp86 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp80*tmp111*tmp66*tmp112 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp123*tmp124*tmp269*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp138*tmp66*tmp269*tmp112 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp123*tmp124*tmp85 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp70*tmp66*tmp85 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp102*tmp66*tmp157*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp66*tmp269*tmp85*tmp224*tmp154 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp66*tmp269*tmp82*tmp153 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp80*tmp66*tmp85*tmp153 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp123*tmp124*tmp269*tmp85*tmp153 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp111*tmp66*tmp269*tmp112*tmp154*tmp161 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp66*tmp269*tmp85*tmp153*tmp237); -J(3+_OFF,2+_OFF) = -2*tmp163*tmp2 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp66*tmp173 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp66*tmp269*tmp173*tmp86 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp138*tmp111*tmp66*tmp112 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp175*tmp124*tmp269*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp121*tmp66*tmp269*tmp112 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp175*tmp124*tmp85 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp169*tmp66*tmp85 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp102*tmp66*tmp179*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp66*tmp269*tmp85*tmp240*tmp154 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp66*tmp269*tmp173*tmp153 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp138*tmp66*tmp85*tmp153 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp175*tmp124*tmp269*tmp85*tmp153 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp111*tmp66*tmp269*tmp112*tmp154*tmp182 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp66*tmp269*tmp85*tmp153*tmp244); -J(3+_OFF,3+_OFF) = tmp270 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp66*tmp192 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp66*tmp269*tmp192*tmp86 + tmp271 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp198*tmp124*tmp269*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp202*tmp66*tmp269*tmp112 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp198*tmp124*tmp85 + tmp272 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp102*tmp66*tmp205*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp66*tmp269*tmp85*tmp248*tmp154 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp66*tmp269*tmp192*tmp153 + tmp273 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp198*tmp124*tmp269*tmp85*tmp153 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp111*tmp66*tmp269*tmp112*tmp154*tmp208 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp66*tmp269*tmp85*tmp153*tmp252); -J(3+_OFF,4+_OFF) = tmp245 - tmp165*(-0.001740341106856944*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp66*tmp212 - 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp66*tmp269*tmp212*tmp86 + tmp274 + 0.000870170553428472*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp111*tmp214*tmp124*tmp269*tmp112 - 0.001740341106856944*tmp14*tmp40*tmp92*tmp56*tmp93*tmp62*tmp70*tmp66*tmp269*tmp112 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp117*tmp62*tmp102*tmp214*tmp124*tmp85 + tmp275 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp115*tmp62*tmp102*tmp66*tmp217*tmp85 + 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp66*tmp269*tmp85*tmp255*tmp154 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp150*tmp62*tmp66*tmp269*tmp212*tmp153 + tmp276 - 0.000870170553428472*tmp14*tmp40*tmp56*tmp150*tmp62*tmp214*tmp124*tmp269*tmp85*tmp153 - 0.001740341106856944*tmp14*tmp40*tmp56*tmp93*tmp62*tmp111*tmp66*tmp269*tmp112*tmp154*tmp220 + 0.001740341106856944*tmp14*tmp40*tmp56*tmp62*tmp66*tmp269*tmp85*tmp153*tmp259); -J(4+_OFF,1+_OFF) = -(tmp307*tmp298*tmp341) - tmp317*tmp298*tmp347 - tmp328*tmp298*tmp353; -J(4+_OFF,2+_OFF) = -(tmp307*tmp298*tmp360) - tmp317*tmp298*tmp369 - tmp328*tmp298*tmp378; -J(4+_OFF,3+_OFF) = -(tmp307*tmp298*tmp385) - tmp317*tmp298*tmp391 - tmp328*tmp298*tmp397; -J(4+_OFF,4+_OFF) = -(tmp307*tmp298*tmp404) - tmp317*tmp298*tmp410 - tmp328*tmp298*tmp416; -J(5+_OFF,1+_OFF) = -(tmp317*tmp298*tmp341) - tmp363*tmp298*tmp347 - tmp372*tmp298*tmp353; -J(5+_OFF,2+_OFF) = -(tmp317*tmp298*tmp360) - tmp363*tmp298*tmp369 - tmp372*tmp298*tmp378; -J(5+_OFF,3+_OFF) = -(tmp317*tmp298*tmp385) - tmp363*tmp298*tmp391 - tmp372*tmp298*tmp397; -J(5+_OFF,4+_OFF) = -(tmp317*tmp298*tmp404) - tmp363*tmp298*tmp410 - tmp372*tmp298*tmp416; -J(6+_OFF,1+_OFF) = -(tmp328*tmp298*tmp341) - tmp372*tmp298*tmp347 - tmp419*tmp298*tmp353; -J(6+_OFF,2+_OFF) = -(tmp328*tmp298*tmp360) - tmp372*tmp298*tmp369 - tmp419*tmp298*tmp378; -J(6+_OFF,3+_OFF) = -(tmp328*tmp298*tmp385) - tmp372*tmp298*tmp391 - tmp419*tmp298*tmp397; -J(6+_OFF,4+_OFF) = -(tmp328*tmp298*tmp404) - tmp372*tmp298*tmp410 - tmp419*tmp298*tmp416; +double tmp71 = 2*tmp70*tmp52; +double tmp72 = tmp61 + tmp66 + tmp71; +double tmp73 = std::pow(tmp47,2); +double tmp74 = std::pow(tmp52,2); +double tmp75 = tmp48 + tmp73 + tmp74; +double tmp76 = 1/std::sqrt(tmp75); +double tmp77 = tmp47*tmp76; +double tmp78 = std::asin(tmp77); +double tmp79 = fLat(1+_OFF); +double tmp80 = -(tmp4*tmp8); +double tmp81 = -(tmp4*tmp9); +double tmp82 = 2*tmp7*tmp1*tmp0; +double tmp83 = -2*tmp6*tmp2*tmp0; +double tmp84 = tmp4*tmp10; +double tmp85 = -2*tmp6*tmp1*tmp3; +double tmp86 = -2*tmp7*tmp2*tmp3; +double tmp87 = tmp4*tmp12; +double tmp88 = tmp80 + tmp81 + tmp82 + tmp83 + tmp84 + tmp85 + tmp86 + tmp87 + tmp23; +double tmp89 = tmp6*tmp8; +double tmp90 = 2*tmp7*tmp1*tmp2; +double tmp91 = -(tmp6*tmp9); +double tmp92 = 2*tmp4*tmp2*tmp0; +double tmp93 = tmp6*tmp10; +double tmp94 = -2*tmp4*tmp1*tmp3; +double tmp95 = 2*tmp7*tmp0*tmp3; +double tmp96 = -(tmp6*tmp12); +double tmp97 = -tmp46; +double tmp98 = tmp89 + tmp90 + tmp91 + tmp92 + tmp93 + tmp94 + tmp95 + tmp96 + tmp97; +double tmp99 = std::sqrt(tmp75); +double tmp100 = fLift(1+_OFF); +double tmp101 = std::atan2(tmp37,tmp24); +double tmp102 = fLift(2+_OFF); +double tmp103 = tmp101*tmp102; +double tmp104 = tmp100 + tmp103; +double tmp105 = 2*tmp7*tmp1; +double tmp106 = -2*tmp6*tmp2; +double tmp107 = 2*tmp4*tmp0; +double tmp108 = tmp105 + tmp106 + tmp107; +double tmp109 = 2*tmp108*tmp37; +double tmp110 = tmp61 + tmp109; +double tmp111 = std::pow(tmp55,-1.5); +double tmp112 = tmp7*tmp8; +double tmp113 = -2*tmp6*tmp1*tmp2; +double tmp114 = -(tmp7*tmp9); +double tmp115 = 2*tmp4*tmp1*tmp0; +double tmp116 = -(tmp7*tmp10); +double tmp117 = 2*tmp4*tmp2*tmp3; +double tmp118 = 2*tmp6*tmp0*tmp3; +double tmp119 = tmp7*tmp12; +double tmp120 = tmp112 + tmp113 + tmp114 + tmp115 + tmp116 + tmp117 + tmp118 + tmp119 + tmp36; +double tmp121 = 1/tmp55; +double tmp122 = 1/tmp75; +double tmp123 = fDrag(1+_OFF); +double tmp124 = fDrag(2+_OFF); +double tmp125 = tmp101*tmp124; +double tmp126 = std::pow(tmp101,2); +double tmp127 = fDrag(3+_OFF); +double tmp128 = tmp126*tmp127; +double tmp129 = std::pow(tmp78,2); +double tmp130 = fDrag(4+_OFF); +double tmp131 = tmp129*tmp130; +double tmp132 = tmp123 + tmp125 + tmp128 + tmp131; +double tmp133 = -(tmp73*tmp122); +double tmp134 = 1 + tmp133; +double tmp135 = std::sqrt(tmp134); +double tmp136 = 1/std::sqrt(tmp134); +double tmp137 = tmp108*tmp24*tmp121; +double tmp138 = tmp60*tmp121*tmp52; +double tmp139 = tmp137 + tmp138; +double tmp140 = std::pow(tmp75,-1.5); +double tmp141 = -(tmp47*tmp72*tmp140)/2.; +double tmp142 = tmp65*tmp76; +double tmp143 = tmp141 + tmp142; +double tmp144 = cp(1+_OFF); +double tmp145 = gravity(1+_OFF); +double tmp146 = cp(4+_OFF); +double tmp147 = 1/tmp146; +double tmp148 = 2*tmp6*tmp1; +double tmp149 = 2*tmp7*tmp2; +double tmp150 = -2*tmp4*tmp3; +double tmp151 = tmp148 + tmp149 + tmp150; +double tmp152 = -2*tmp4*tmp2; +double tmp153 = -2*tmp6*tmp0; +double tmp154 = -2*tmp7*tmp3; +double tmp155 = tmp152 + tmp153 + tmp154; +double tmp156 = 2*tmp155*tmp24; +double tmp157 = 2*tmp70*tmp47; +double tmp158 = 2*tmp151*tmp52; +double tmp159 = tmp156 + tmp157 + tmp158; +double tmp160 = 2*tmp65*tmp37; +double tmp161 = tmp156 + tmp160; +double tmp162 = std::pow(tmp75,-2); +double tmp163 = tmp65*tmp24*tmp121; +double tmp164 = tmp155*tmp121*tmp52; +double tmp165 = tmp163 + tmp164; +double tmp166 = -(tmp47*tmp159*tmp140)/2.; +double tmp167 = tmp70*tmp76; +double tmp168 = tmp166 + tmp167; +double tmp169 = std::pow(tmp144,2); +double tmp170 = std::pow(M_PI,-2); +double tmp171 = fThrust(3+_OFF); +double tmp172 = 1/M_PI; +double tmp173 = fThrust(2+_OFF); +double tmp174 = z(1+_OFF); +double tmp175 = 2*tmp108*tmp24; +double tmp176 = 2*tmp155*tmp47; +double tmp177 = 2*tmp60*tmp52; +double tmp178 = tmp175 + tmp176 + tmp177; +double tmp179 = 2*tmp4*tmp1; +double tmp180 = -2*tmp7*tmp0; +double tmp181 = 2*tmp6*tmp3; +double tmp182 = tmp179 + tmp180 + tmp181; +double tmp183 = 2*tmp182*tmp37; +double tmp184 = tmp175 + tmp183; +double tmp185 = tmp182*tmp24*tmp121; +double tmp186 = tmp108*tmp121*tmp52; +double tmp187 = tmp185 + tmp186; +double tmp188 = -(tmp47*tmp178*tmp140)/2.; +double tmp189 = tmp155*tmp76; +double tmp190 = tmp188 + tmp189; +double tmp191 = 2*tmp65*tmp24; +double tmp192 = 2*tmp182*tmp47; +double tmp193 = 2*tmp155*tmp52; +double tmp194 = tmp191 + tmp192 + tmp193; +double tmp195 = 2*tmp4*tmp2; +double tmp196 = 2*tmp6*tmp0; +double tmp197 = 2*tmp7*tmp3; +double tmp198 = tmp195 + tmp196 + tmp197; +double tmp199 = 2*tmp198*tmp37; +double tmp200 = tmp191 + tmp199; +double tmp201 = tmp198*tmp24*tmp121; +double tmp202 = tmp65*tmp121*tmp52; +double tmp203 = tmp201 + tmp202; +double tmp204 = -(tmp47*tmp194*tmp140)/2.; +double tmp205 = tmp182*tmp76; +double tmp206 = tmp204 + tmp205; +double tmp207 = 2*tmp145*tmp2; +double tmp208 = tmp73*tmp72*tmp162; +double tmp209 = -2*tmp65*tmp47*tmp122; +double tmp210 = tmp208 + tmp209; +double tmp211 = -(tmp6*tmp8); +double tmp212 = -2*tmp7*tmp1*tmp2; +double tmp213 = tmp6*tmp9; +double tmp214 = -2*tmp4*tmp2*tmp0; +double tmp215 = -(tmp6*tmp10); +double tmp216 = 2*tmp4*tmp1*tmp3; +double tmp217 = -2*tmp7*tmp0*tmp3; +double tmp218 = tmp6*tmp12; +double tmp219 = tmp211 + tmp212 + tmp213 + tmp214 + tmp215 + tmp216 + tmp217 + tmp218 + tmp46; +double tmp220 = tmp124*tmp139; +double tmp221 = 2*tmp101*tmp127*tmp139; +double tmp222 = 2*tmp78*tmp130*tmp136*tmp143; +double tmp223 = tmp220 + tmp221 + tmp222; +double tmp224 = tmp73*tmp159*tmp162; +double tmp225 = -2*tmp70*tmp47*tmp122; +double tmp226 = tmp224 + tmp225; +double tmp227 = tmp124*tmp165; +double tmp228 = 2*tmp101*tmp127*tmp165; +double tmp229 = 2*tmp78*tmp130*tmp136*tmp168; +double tmp230 = tmp227 + tmp228 + tmp229; +double tmp231 = 2*tmp145*tmp3; +double tmp232 = tmp73*tmp178*tmp162; +double tmp233 = -2*tmp155*tmp47*tmp122; +double tmp234 = tmp232 + tmp233; +double tmp235 = tmp124*tmp187; +double tmp236 = 2*tmp101*tmp127*tmp187; +double tmp237 = 2*tmp78*tmp130*tmp136*tmp190; +double tmp238 = tmp235 + tmp236 + tmp237; +double tmp239 = tmp73*tmp194*tmp162; +double tmp240 = -2*tmp182*tmp47*tmp122; +double tmp241 = tmp239 + tmp240; +double tmp242 = tmp124*tmp203; +double tmp243 = 2*tmp101*tmp127*tmp203; +double tmp244 = 2*tmp78*tmp130*tmp136*tmp206; +double tmp245 = tmp242 + tmp243 + tmp244; +double tmp246 = 2*tmp145*tmp1; +double tmp247 = -(tmp7*tmp8); +double tmp248 = 2*tmp6*tmp1*tmp2; +double tmp249 = tmp7*tmp9; +double tmp250 = -2*tmp4*tmp1*tmp0; +double tmp251 = tmp7*tmp10; +double tmp252 = -2*tmp4*tmp2*tmp3; +double tmp253 = -2*tmp6*tmp0*tmp3; +double tmp254 = -(tmp7*tmp12); +double tmp255 = tmp247 + tmp248 + tmp249 + tmp250 + tmp251 + tmp252 + tmp253 + tmp254 + tmp35; +double tmp256 = -2*tmp145*tmp0; +double tmp257 = 0.5*tmp78*tmp53*tmp79*tmp60*tmp98*tmp56*tmp99; +double tmp258 = -0.5*tmp53*tmp104*tmp108*tmp56*tmp75; +double tmp259 = 0.5*tmp53*tmp132*tmp60*tmp56*tmp75*tmp135; +double tmp260 = 0.5*tmp78*tmp53*tmp79*tmp155*tmp98*tmp56*tmp99; +double tmp261 = -0.5*tmp53*tmp104*tmp65*tmp56*tmp75; +double tmp262 = 0.5*tmp53*tmp132*tmp155*tmp56*tmp75*tmp135; +double tmp263 = ibd(2+_OFF); +double tmp264 = ibd(3+_OFF); +double tmp265 = ibod(1+_OFF); +double tmp266 = ibod(2+_OFF); +double tmp267 = ibod(3+_OFF); +double tmp268 = ibd(1+_OFF); +double tmp269 = std::pow(tmp267,2); +double tmp270 = cp(3+_OFF); +double tmp271 = mRoll(2+_OFF); +double tmp272 = mRoll(3+_OFF); +double tmp273 = x(11+_OFF); +double tmp274 = mRoll(4+_OFF); +double tmp275 = x(13+_OFF); +double tmp276 = tmp268*tmp263*tmp264; +double tmp277 = std::pow(tmp265,2); +double tmp278 = -(tmp263*tmp277); +double tmp279 = std::pow(tmp266,2); +double tmp280 = -(tmp264*tmp279); +double tmp281 = 2*tmp265*tmp266*tmp267; +double tmp282 = -(tmp268*tmp269); +double tmp283 = tmp276 + tmp278 + tmp280 + tmp281 + tmp282; +double tmp284 = 1/tmp283; +double tmp285 = cBar(1+_OFF); +double tmp286 = mPitch(3+_OFF); +double tmp287 = mPitch(4+_OFF); +double tmp288 = x(12+_OFF); +double tmp289 = mYaw(2+_OFF); +double tmp290 = mYaw(3+_OFF); +double tmp291 = tmp263*tmp264; +double tmp292 = -tmp269; +double tmp293 = tmp291 + tmp292; +double tmp294 = -(tmp78*tmp271); +double tmp295 = (tmp270*tmp272*tmp76*tmp273)/2.; +double tmp296 = -(tmp270*tmp274*tmp76*tmp275)/2.; +double tmp297 = mRoll(1+_OFF); +double tmp298 = z(2+_OFF); +double tmp299 = -(tmp297*tmp298); +double tmp300 = tmp294 + tmp295 + tmp296 + tmp299; +double tmp301 = -(tmp264*tmp266); +double tmp302 = tmp265*tmp267; +double tmp303 = tmp301 + tmp302; +double tmp304 = mPitch(1+_OFF); +double tmp305 = -tmp304; +double tmp306 = -(tmp101*tmp286); +double tmp307 = (tmp285*tmp287*tmp76*tmp288)/2.; +double tmp308 = mPitch(2+_OFF); +double tmp309 = z(3+_OFF); +double tmp310 = -(tmp308*tmp309); +double tmp311 = tmp305 + tmp306 + tmp307 + tmp310; +double tmp312 = -(tmp263*tmp265); +double tmp313 = tmp266*tmp267; +double tmp314 = tmp312 + tmp313; +double tmp315 = tmp78*tmp289; +double tmp316 = (tmp270*tmp290*tmp76*tmp275)/2.; +double tmp317 = mYaw(1+_OFF); +double tmp318 = z(4+_OFF); +double tmp319 = tmp317*tmp318; +double tmp320 = tmp315 + tmp316 + tmp319; +double tmp321 = -(tmp271*tmp136*tmp143); +double tmp322 = -(tmp270*tmp272*tmp72*tmp140*tmp273)/4.; +double tmp323 = (tmp270*tmp274*tmp72*tmp140*tmp275)/4.; +double tmp324 = tmp321 + tmp322 + tmp323; +double tmp325 = 0.5*tmp53*tmp270*tmp75*tmp324; +double tmp326 = 0.5*tmp53*tmp270*tmp72*tmp300; +double tmp327 = tmp325 + tmp326; +double tmp328 = -(tmp286*tmp139); +double tmp329 = -(tmp285*tmp287*tmp72*tmp140*tmp288)/4.; +double tmp330 = tmp328 + tmp329; +double tmp331 = 0.5*tmp285*tmp53*tmp75*tmp330; +double tmp332 = 0.5*tmp285*tmp53*tmp72*tmp311; +double tmp333 = tmp331 + tmp332; +double tmp334 = tmp289*tmp136*tmp143; +double tmp335 = -(tmp270*tmp290*tmp72*tmp140*tmp275)/4.; +double tmp336 = tmp334 + tmp335; +double tmp337 = 0.5*tmp53*tmp270*tmp75*tmp336; +double tmp338 = 0.5*tmp53*tmp270*tmp72*tmp320; +double tmp339 = tmp337 + tmp338; +double tmp340 = -(tmp271*tmp136*tmp168); +double tmp341 = -(tmp270*tmp272*tmp159*tmp140*tmp273)/4.; +double tmp342 = (tmp270*tmp274*tmp159*tmp140*tmp275)/4.; +double tmp343 = tmp340 + tmp341 + tmp342; +double tmp344 = 0.5*tmp53*tmp270*tmp75*tmp343; +double tmp345 = 0.5*tmp53*tmp270*tmp159*tmp300; +double tmp346 = tmp344 + tmp345; +double tmp347 = tmp268*tmp264; +double tmp348 = -tmp277; +double tmp349 = tmp347 + tmp348; +double tmp350 = -(tmp286*tmp165); +double tmp351 = -(tmp285*tmp287*tmp159*tmp140*tmp288)/4.; +double tmp352 = tmp350 + tmp351; +double tmp353 = 0.5*tmp285*tmp53*tmp75*tmp352; +double tmp354 = 0.5*tmp285*tmp53*tmp159*tmp311; +double tmp355 = tmp353 + tmp354; +double tmp356 = tmp265*tmp266; +double tmp357 = -(tmp268*tmp267); +double tmp358 = tmp356 + tmp357; +double tmp359 = tmp289*tmp136*tmp168; +double tmp360 = -(tmp270*tmp290*tmp159*tmp140*tmp275)/4.; +double tmp361 = tmp359 + tmp360; +double tmp362 = 0.5*tmp53*tmp270*tmp75*tmp361; +double tmp363 = 0.5*tmp53*tmp270*tmp159*tmp320; +double tmp364 = tmp362 + tmp363; +double tmp365 = -(tmp271*tmp136*tmp190); +double tmp366 = -(tmp270*tmp272*tmp178*tmp140*tmp273)/4.; +double tmp367 = (tmp270*tmp274*tmp178*tmp140*tmp275)/4.; +double tmp368 = tmp365 + tmp366 + tmp367; +double tmp369 = 0.5*tmp53*tmp270*tmp75*tmp368; +double tmp370 = 0.5*tmp53*tmp270*tmp178*tmp300; +double tmp371 = tmp369 + tmp370; +double tmp372 = -(tmp286*tmp187); +double tmp373 = -(tmp285*tmp287*tmp178*tmp140*tmp288)/4.; +double tmp374 = tmp372 + tmp373; +double tmp375 = 0.5*tmp285*tmp53*tmp75*tmp374; +double tmp376 = 0.5*tmp285*tmp53*tmp178*tmp311; +double tmp377 = tmp375 + tmp376; +double tmp378 = tmp289*tmp136*tmp190; +double tmp379 = -(tmp270*tmp290*tmp178*tmp140*tmp275)/4.; +double tmp380 = tmp378 + tmp379; +double tmp381 = 0.5*tmp53*tmp270*tmp75*tmp380; +double tmp382 = 0.5*tmp53*tmp270*tmp178*tmp320; +double tmp383 = tmp381 + tmp382; +double tmp384 = -(tmp271*tmp136*tmp206); +double tmp385 = -(tmp270*tmp272*tmp194*tmp140*tmp273)/4.; +double tmp386 = (tmp270*tmp274*tmp194*tmp140*tmp275)/4.; +double tmp387 = tmp384 + tmp385 + tmp386; +double tmp388 = 0.5*tmp53*tmp270*tmp75*tmp387; +double tmp389 = 0.5*tmp53*tmp270*tmp194*tmp300; +double tmp390 = tmp388 + tmp389; +double tmp391 = -(tmp286*tmp203); +double tmp392 = -(tmp285*tmp287*tmp194*tmp140*tmp288)/4.; +double tmp393 = tmp391 + tmp392; +double tmp394 = 0.5*tmp285*tmp53*tmp75*tmp393; +double tmp395 = 0.5*tmp285*tmp53*tmp194*tmp311; +double tmp396 = tmp394 + tmp395; +double tmp397 = tmp289*tmp136*tmp206; +double tmp398 = -(tmp270*tmp290*tmp194*tmp140*tmp275)/4.; +double tmp399 = tmp397 + tmp398; +double tmp400 = 0.5*tmp53*tmp270*tmp75*tmp399; +double tmp401 = 0.5*tmp53*tmp270*tmp194*tmp320; +double tmp402 = tmp400 + tmp401; +double tmp403 = tmp268*tmp263; +double tmp404 = -tmp279; +double tmp405 = tmp403 + tmp404; +J(1+_OFF,1+_OFF) = tmp256 - tmp147*(-0.5*tmp53*tmp104*tmp56*tmp120*tmp72 + 0.25*tmp78*tmp53*tmp79*tmp88*tmp98*tmp56*tmp72*tmp76 - 0.25*tmp78*tmp53*tmp79*tmp88*tmp98*tmp110*tmp111*tmp99 + 0.5*tmp78*tmp53*tmp79*tmp151*tmp88*tmp56*tmp99 + tmp257 + tmp258 + 0.25*tmp53*tmp104*tmp110*tmp111*tmp120*tmp75 - 0.5*tmp53*tmp102*tmp56*tmp120*tmp139*tmp75 + 0.25*tmp53*tmp132*tmp88*tmp56*tmp75*tmp210*tmp136 + 0.5*tmp53*tmp132*tmp88*tmp56*tmp72*tmp135 - 0.25*tmp53*tmp132*tmp88*tmp110*tmp111*tmp75*tmp135 + tmp259 + 0.5*tmp53*tmp79*tmp88*tmp98*tmp56*tmp99*tmp136*tmp143 + 0.5*tmp53*tmp88*tmp56*tmp75*tmp135*tmp223 + 1.*tmp169*(tmp170*tmp171*tmp72 + (tmp172*tmp144*tmp173*tmp72*tmp76*tmp174)/2.)); +J(1+_OFF,2+_OFF) = tmp231 - tmp147*(-0.5*tmp53*tmp104*tmp56*tmp120*tmp159 + 0.25*tmp78*tmp53*tmp79*tmp88*tmp98*tmp56*tmp159*tmp76 - 0.25*tmp78*tmp53*tmp79*tmp88*tmp98*tmp161*tmp111*tmp99 + 0.5*tmp78*tmp53*tmp79*tmp108*tmp88*tmp56*tmp99 + tmp260 + tmp261 + 0.25*tmp53*tmp104*tmp161*tmp111*tmp120*tmp75 - 0.5*tmp53*tmp102*tmp56*tmp120*tmp165*tmp75 + 0.25*tmp53*tmp132*tmp88*tmp56*tmp75*tmp226*tmp136 + 0.5*tmp53*tmp132*tmp88*tmp56*tmp159*tmp135 - 0.25*tmp53*tmp132*tmp88*tmp161*tmp111*tmp75*tmp135 + tmp262 + 0.5*tmp53*tmp79*tmp88*tmp98*tmp56*tmp99*tmp136*tmp168 + 0.5*tmp53*tmp88*tmp56*tmp75*tmp135*tmp230 + 1.*tmp169*(tmp170*tmp171*tmp159 + (tmp172*tmp144*tmp173*tmp159*tmp76*tmp174)/2.)); +J(1+_OFF,3+_OFF) = -2*tmp145*tmp1 - tmp147*(-0.5*tmp53*tmp104*tmp56*tmp120*tmp178 + 0.25*tmp78*tmp53*tmp79*tmp88*tmp98*tmp56*tmp178*tmp76 - 0.25*tmp78*tmp53*tmp79*tmp88*tmp98*tmp184*tmp111*tmp99 + 0.5*tmp78*tmp53*tmp79*tmp198*tmp88*tmp56*tmp99 + 0.5*tmp78*tmp53*tmp79*tmp108*tmp98*tmp56*tmp99 - 0.5*tmp53*tmp104*tmp182*tmp56*tmp75 + 0.25*tmp53*tmp104*tmp184*tmp111*tmp120*tmp75 - 0.5*tmp53*tmp102*tmp56*tmp120*tmp187*tmp75 + 0.25*tmp53*tmp132*tmp88*tmp56*tmp75*tmp234*tmp136 + 0.5*tmp53*tmp132*tmp88*tmp56*tmp178*tmp135 - 0.25*tmp53*tmp132*tmp88*tmp184*tmp111*tmp75*tmp135 + 0.5*tmp53*tmp132*tmp108*tmp56*tmp75*tmp135 + 0.5*tmp53*tmp79*tmp88*tmp98*tmp56*tmp99*tmp136*tmp190 + 0.5*tmp53*tmp88*tmp56*tmp75*tmp135*tmp238 + 1.*tmp169*(tmp170*tmp171*tmp178 + (tmp172*tmp144*tmp173*tmp178*tmp76*tmp174)/2.)); +J(1+_OFF,4+_OFF) = tmp207 - tmp147*(-0.5*tmp53*tmp104*tmp56*tmp120*tmp194 + 0.25*tmp78*tmp53*tmp79*tmp88*tmp98*tmp56*tmp194*tmp76 - 0.25*tmp78*tmp53*tmp79*tmp88*tmp98*tmp200*tmp111*tmp99 + 0.5*tmp78*tmp53*tmp79*tmp60*tmp88*tmp56*tmp99 + 0.5*tmp78*tmp53*tmp79*tmp65*tmp98*tmp56*tmp99 - 0.5*tmp53*tmp104*tmp198*tmp56*tmp75 + 0.25*tmp53*tmp104*tmp200*tmp111*tmp120*tmp75 - 0.5*tmp53*tmp102*tmp56*tmp120*tmp203*tmp75 + 0.25*tmp53*tmp132*tmp88*tmp56*tmp75*tmp241*tmp136 + 0.5*tmp53*tmp132*tmp88*tmp56*tmp194*tmp135 - 0.25*tmp53*tmp132*tmp88*tmp200*tmp111*tmp75*tmp135 + 0.5*tmp53*tmp132*tmp65*tmp56*tmp75*tmp135 + 0.5*tmp53*tmp79*tmp88*tmp98*tmp56*tmp99*tmp136*tmp206 + 0.5*tmp53*tmp88*tmp56*tmp75*tmp135*tmp245 + 1.*tmp169*(tmp170*tmp171*tmp194 + (tmp172*tmp144*tmp173*tmp194*tmp76*tmp174)/2.)); +J(2+_OFF,1+_OFF) = tmp207 - tmp147*(0.25*tmp53*tmp132*tmp219*tmp72*tmp76 + 0.5*tmp53*tmp132*tmp65*tmp99 + 0.25*tmp78*tmp53*tmp79*tmp75*tmp210*tmp136 + 0.5*tmp78*tmp53*tmp79*tmp72*tmp135 + 0.5*tmp53*tmp79*tmp75*tmp143 + 0.5*tmp53*tmp219*tmp99*tmp223); +J(2+_OFF,2+_OFF) = tmp246 - tmp147*(0.25*tmp53*tmp132*tmp219*tmp159*tmp76 + 0.5*tmp53*tmp132*tmp70*tmp99 + 0.25*tmp78*tmp53*tmp79*tmp75*tmp226*tmp136 + 0.5*tmp78*tmp53*tmp79*tmp159*tmp135 + 0.5*tmp53*tmp79*tmp75*tmp168 + 0.5*tmp53*tmp219*tmp99*tmp230); +J(2+_OFF,3+_OFF) = tmp231 - tmp147*(0.25*tmp53*tmp132*tmp219*tmp178*tmp76 + 0.5*tmp53*tmp132*tmp155*tmp99 + 0.25*tmp78*tmp53*tmp79*tmp75*tmp234*tmp136 + 0.5*tmp78*tmp53*tmp79*tmp178*tmp135 + 0.5*tmp53*tmp79*tmp75*tmp190 + 0.5*tmp53*tmp219*tmp99*tmp238); +J(2+_OFF,4+_OFF) = 2*tmp145*tmp0 - tmp147*(0.25*tmp53*tmp132*tmp219*tmp194*tmp76 + 0.5*tmp53*tmp132*tmp182*tmp99 + 0.25*tmp78*tmp53*tmp79*tmp75*tmp241*tmp136 + 0.5*tmp78*tmp53*tmp79*tmp194*tmp135 + 0.5*tmp53*tmp79*tmp75*tmp206 + 0.5*tmp53*tmp219*tmp99*tmp245); +J(3+_OFF,1+_OFF) = tmp246 - tmp147*(-0.5*tmp53*tmp104*tmp88*tmp56*tmp72 + 0.25*tmp78*tmp53*tmp79*tmp98*tmp56*tmp255*tmp72*tmp76 + 0.5*tmp78*tmp53*tmp79*tmp70*tmp98*tmp56*tmp99 - 0.25*tmp78*tmp53*tmp79*tmp98*tmp110*tmp111*tmp255*tmp99 + 0.5*tmp78*tmp53*tmp79*tmp151*tmp56*tmp255*tmp99 + 0.25*tmp53*tmp104*tmp88*tmp110*tmp111*tmp75 - 0.5*tmp53*tmp104*tmp60*tmp56*tmp75 - 0.5*tmp53*tmp102*tmp88*tmp56*tmp139*tmp75 + 0.25*tmp53*tmp132*tmp56*tmp255*tmp75*tmp210*tmp136 + 0.5*tmp53*tmp132*tmp56*tmp255*tmp72*tmp135 + 0.5*tmp53*tmp132*tmp70*tmp56*tmp75*tmp135 - 0.25*tmp53*tmp132*tmp110*tmp111*tmp255*tmp75*tmp135 + 0.5*tmp53*tmp79*tmp98*tmp56*tmp255*tmp99*tmp136*tmp143 + 0.5*tmp53*tmp56*tmp255*tmp75*tmp135*tmp223); +J(3+_OFF,2+_OFF) = -2*tmp145*tmp2 - tmp147*(-0.5*tmp53*tmp104*tmp88*tmp56*tmp159 + 0.25*tmp78*tmp53*tmp79*tmp98*tmp56*tmp255*tmp159*tmp76 + 0.5*tmp78*tmp53*tmp79*tmp151*tmp98*tmp56*tmp99 - 0.25*tmp78*tmp53*tmp79*tmp98*tmp161*tmp111*tmp255*tmp99 + 0.5*tmp78*tmp53*tmp79*tmp108*tmp56*tmp255*tmp99 + 0.25*tmp53*tmp104*tmp88*tmp161*tmp111*tmp75 - 0.5*tmp53*tmp104*tmp155*tmp56*tmp75 - 0.5*tmp53*tmp102*tmp88*tmp56*tmp165*tmp75 + 0.25*tmp53*tmp132*tmp56*tmp255*tmp75*tmp226*tmp136 + 0.5*tmp53*tmp132*tmp56*tmp255*tmp159*tmp135 + 0.5*tmp53*tmp132*tmp151*tmp56*tmp75*tmp135 - 0.25*tmp53*tmp132*tmp161*tmp111*tmp255*tmp75*tmp135 + 0.5*tmp53*tmp79*tmp98*tmp56*tmp255*tmp99*tmp136*tmp168 + 0.5*tmp53*tmp56*tmp255*tmp75*tmp135*tmp230); +J(3+_OFF,3+_OFF) = tmp256 - tmp147*(-0.5*tmp53*tmp104*tmp88*tmp56*tmp178 + 0.25*tmp78*tmp53*tmp79*tmp98*tmp56*tmp255*tmp178*tmp76 + tmp257 - 0.25*tmp78*tmp53*tmp79*tmp98*tmp184*tmp111*tmp255*tmp99 + 0.5*tmp78*tmp53*tmp79*tmp198*tmp56*tmp255*tmp99 + 0.25*tmp53*tmp104*tmp88*tmp184*tmp111*tmp75 + tmp258 - 0.5*tmp53*tmp102*tmp88*tmp56*tmp187*tmp75 + 0.25*tmp53*tmp132*tmp56*tmp255*tmp75*tmp234*tmp136 + 0.5*tmp53*tmp132*tmp56*tmp255*tmp178*tmp135 + tmp259 - 0.25*tmp53*tmp132*tmp184*tmp111*tmp255*tmp75*tmp135 + 0.5*tmp53*tmp79*tmp98*tmp56*tmp255*tmp99*tmp136*tmp190 + 0.5*tmp53*tmp56*tmp255*tmp75*tmp135*tmp238); +J(3+_OFF,4+_OFF) = tmp231 - tmp147*(-0.5*tmp53*tmp104*tmp88*tmp56*tmp194 + 0.25*tmp78*tmp53*tmp79*tmp98*tmp56*tmp255*tmp194*tmp76 + tmp260 - 0.25*tmp78*tmp53*tmp79*tmp98*tmp200*tmp111*tmp255*tmp99 + 0.5*tmp78*tmp53*tmp79*tmp60*tmp56*tmp255*tmp99 + 0.25*tmp53*tmp104*tmp88*tmp200*tmp111*tmp75 + tmp261 - 0.5*tmp53*tmp102*tmp88*tmp56*tmp203*tmp75 + 0.25*tmp53*tmp132*tmp56*tmp255*tmp75*tmp241*tmp136 + 0.5*tmp53*tmp132*tmp56*tmp255*tmp194*tmp135 + tmp262 - 0.25*tmp53*tmp132*tmp200*tmp111*tmp255*tmp75*tmp135 + 0.5*tmp53*tmp79*tmp98*tmp56*tmp255*tmp99*tmp136*tmp206 + 0.5*tmp53*tmp56*tmp255*tmp75*tmp135*tmp245); +J(4+_OFF,1+_OFF) = -(tmp293*tmp284*tmp327) - tmp303*tmp284*tmp333 - tmp314*tmp284*tmp339; +J(4+_OFF,2+_OFF) = -(tmp293*tmp284*tmp346) - tmp303*tmp284*tmp355 - tmp314*tmp284*tmp364; +J(4+_OFF,3+_OFF) = -(tmp293*tmp284*tmp371) - tmp303*tmp284*tmp377 - tmp314*tmp284*tmp383; +J(4+_OFF,4+_OFF) = -(tmp293*tmp284*tmp390) - tmp303*tmp284*tmp396 - tmp314*tmp284*tmp402; +J(5+_OFF,1+_OFF) = -(tmp303*tmp284*tmp327) - tmp349*tmp284*tmp333 - tmp358*tmp284*tmp339; +J(5+_OFF,2+_OFF) = -(tmp303*tmp284*tmp346) - tmp349*tmp284*tmp355 - tmp358*tmp284*tmp364; +J(5+_OFF,3+_OFF) = -(tmp303*tmp284*tmp371) - tmp349*tmp284*tmp377 - tmp358*tmp284*tmp383; +J(5+_OFF,4+_OFF) = -(tmp303*tmp284*tmp390) - tmp349*tmp284*tmp396 - tmp358*tmp284*tmp402; +J(6+_OFF,1+_OFF) = -(tmp314*tmp284*tmp327) - tmp358*tmp284*tmp333 - tmp405*tmp284*tmp339; +J(6+_OFF,2+_OFF) = -(tmp314*tmp284*tmp346) - tmp358*tmp284*tmp355 - tmp405*tmp284*tmp364; +J(6+_OFF,3+_OFF) = -(tmp314*tmp284*tmp371) - tmp358*tmp284*tmp377 - tmp405*tmp284*tmp383; +J(6+_OFF,4+_OFF) = -(tmp314*tmp284*tmp390) - tmp358*tmp284*tmp396 - tmp405*tmp284*tmp402; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrV.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrV.cppready index 2f3b05a..9258b1b 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrV.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrV.cppready @@ -11,304 +11,290 @@ double tmp9 = std::pow(tmp2,2); double tmp10 = std::pow(tmp1,2); double tmp11 = -tmp10; double tmp12 = std::pow(tmp3,2); -double tmp13 = airDensity(2+_OFF); -double tmp14 = 1/tmp13; -double tmp15 = tmp2*tmp1; -double tmp16 = tmp0*tmp3; -double tmp17 = tmp15 + tmp16; -double tmp18 = -2*tmp6*tmp17; -double tmp19 = -(tmp0*tmp1); -double tmp20 = tmp19 + tmp5; -double tmp21 = -2*tmp7*tmp20; -double tmp22 = -tmp12; -double tmp23 = tmp8 + tmp9 + tmp11 + tmp22; -double tmp24 = -(tmp4*tmp23); -double tmp25 = x(8+_OFF); -double tmp26 = tmp18 + tmp21 + tmp24 + tmp25; -double tmp27 = tmp0*tmp1; -double tmp28 = tmp27 + tmp5; -double tmp29 = 2*tmp4*tmp28; -double tmp30 = -(tmp0*tmp2); -double tmp31 = tmp1*tmp3; -double tmp32 = tmp30 + tmp31; -double tmp33 = 2*tmp6*tmp32; -double tmp34 = -tmp9; -double tmp35 = tmp8 + tmp34 + tmp11 + tmp12; -double tmp36 = tmp7*tmp35; -double tmp37 = x(10+_OFF); -double tmp38 = -tmp37; -double tmp39 = tmp29 + tmp33 + tmp36 + tmp38; -double tmp40 = airDensity(3+_OFF); -double tmp41 = std::pow(tmp26,2); -double tmp42 = -(tmp0*tmp3); -double tmp43 = tmp15 + tmp42; -double tmp44 = tmp0*tmp2; -double tmp45 = tmp44 + tmp31; -double tmp46 = tmp8 + tmp34 + tmp10 + tmp22; +double tmp13 = tmp2*tmp1; +double tmp14 = tmp0*tmp3; +double tmp15 = tmp13 + tmp14; +double tmp16 = -2*tmp6*tmp15; +double tmp17 = -(tmp0*tmp1); +double tmp18 = tmp17 + tmp5; +double tmp19 = -2*tmp7*tmp18; +double tmp20 = -tmp12; +double tmp21 = tmp8 + tmp9 + tmp11 + tmp20; +double tmp22 = -(tmp4*tmp21); +double tmp23 = x(8+_OFF); +double tmp24 = tmp16 + tmp19 + tmp22 + tmp23; +double tmp25 = tmp0*tmp1; +double tmp26 = tmp25 + tmp5; +double tmp27 = 2*tmp4*tmp26; +double tmp28 = -(tmp0*tmp2); +double tmp29 = tmp1*tmp3; +double tmp30 = tmp28 + tmp29; +double tmp31 = 2*tmp6*tmp30; +double tmp32 = -tmp9; +double tmp33 = tmp8 + tmp32 + tmp11 + tmp12; +double tmp34 = tmp7*tmp33; +double tmp35 = x(10+_OFF); +double tmp36 = -tmp35; +double tmp37 = tmp27 + tmp31 + tmp34 + tmp36; +double tmp38 = std::pow(tmp24,2); +double tmp39 = -(tmp0*tmp3); +double tmp40 = tmp13 + tmp39; +double tmp41 = -2*tmp4*tmp40; +double tmp42 = tmp0*tmp2; +double tmp43 = tmp42 + tmp29; +double tmp44 = -2*tmp7*tmp43; +double tmp45 = tmp8 + tmp32 + tmp10 + tmp20; +double tmp46 = -(tmp6*tmp45); double tmp47 = x(9+_OFF); -double tmp48 = cp(2+_OFF); -double tmp49 = airDensity(1+_OFF); -double tmp50 = x(3+_OFF); -double tmp51 = tmp49 + tmp50; -double tmp52 = -0.006500000000000001*tmp14*tmp51; -double tmp53 = 1 + tmp52; -double tmp54 = std::pow(tmp53,4.2561); -double tmp55 = -tmp47; -double tmp56 = std::pow(tmp39,2); -double tmp57 = tmp41 + tmp56; -double tmp58 = 1/std::sqrt(tmp57); -double tmp59 = -2*tmp4*tmp43; -double tmp60 = -2*tmp7*tmp45; -double tmp61 = -(tmp6*tmp46); -double tmp62 = tmp59 + tmp60 + tmp61 + tmp47; -double tmp63 = std::pow(tmp62,2); -double tmp64 = -2*tmp4*tmp28; -double tmp65 = -2*tmp6*tmp32; -double tmp66 = -(tmp7*tmp35); -double tmp67 = tmp64 + tmp65 + tmp66 + tmp37; -double tmp68 = std::pow(tmp67,2); -double tmp69 = tmp41 + tmp63 + tmp68; -double tmp70 = 1/std::sqrt(tmp69); -double tmp71 = 2*tmp4*tmp43; -double tmp72 = 2*tmp7*tmp45; -double tmp73 = tmp6*tmp46; -double tmp74 = tmp71 + tmp72 + tmp73 + tmp55; -double tmp75 = tmp74*tmp70; -double tmp76 = std::asin(tmp75); -double tmp77 = fLat(1+_OFF); -double tmp78 = -(tmp4*tmp8); -double tmp79 = -(tmp4*tmp9); -double tmp80 = 2*tmp7*tmp0*tmp1; -double tmp81 = -2*tmp6*tmp2*tmp1; -double tmp82 = tmp4*tmp10; -double tmp83 = -2*tmp6*tmp0*tmp3; -double tmp84 = -2*tmp7*tmp2*tmp3; -double tmp85 = tmp4*tmp12; -double tmp86 = tmp78 + tmp79 + tmp80 + tmp81 + tmp82 + tmp83 + tmp84 + tmp85 + tmp25; -double tmp87 = tmp6*tmp8; -double tmp88 = 2*tmp7*tmp0*tmp2; -double tmp89 = -(tmp6*tmp9); -double tmp90 = 2*tmp4*tmp2*tmp1; -double tmp91 = tmp6*tmp10; -double tmp92 = -2*tmp4*tmp0*tmp3; -double tmp93 = 2*tmp7*tmp1*tmp3; -double tmp94 = -(tmp6*tmp12); -double tmp95 = tmp87 + tmp88 + tmp89 + tmp90 + tmp91 + tmp92 + tmp93 + tmp94 + tmp55; -double tmp96 = std::sqrt(tmp69); -double tmp97 = fLift(1+_OFF); -double tmp98 = std::atan2(tmp39,tmp26); -double tmp99 = fLift(2+_OFF); -double tmp100 = tmp98*tmp99; -double tmp101 = tmp97 + tmp100; -double tmp102 = std::pow(tmp57,-1.5); -double tmp103 = tmp7*tmp8; -double tmp104 = -2*tmp6*tmp0*tmp2; -double tmp105 = -(tmp7*tmp9); -double tmp106 = 2*tmp4*tmp0*tmp1; -double tmp107 = -(tmp7*tmp10); -double tmp108 = 2*tmp4*tmp2*tmp3; -double tmp109 = 2*tmp6*tmp1*tmp3; -double tmp110 = tmp7*tmp12; -double tmp111 = tmp103 + tmp104 + tmp105 + tmp106 + tmp107 + tmp108 + tmp109 + tmp110 + tmp38; -double tmp112 = 1/tmp69; -double tmp113 = std::pow(tmp74,2); -double tmp114 = -(tmp113*tmp112); -double tmp115 = 1 + tmp114; -double tmp116 = 1/std::sqrt(tmp115); -double tmp117 = fDrag(1+_OFF); -double tmp118 = fDrag(2+_OFF); -double tmp119 = tmp98*tmp118; -double tmp120 = std::pow(tmp98,2); -double tmp121 = fDrag(3+_OFF); -double tmp122 = tmp120*tmp121; -double tmp123 = std::pow(tmp76,2); -double tmp124 = fDrag(4+_OFF); -double tmp125 = tmp123*tmp124; -double tmp126 = tmp117 + tmp119 + tmp122 + tmp125; -double tmp127 = std::sqrt(tmp115); -double tmp128 = 1/tmp57; -double tmp129 = cp(1+_OFF); -double tmp130 = cp(4+_OFF); -double tmp131 = 1/tmp130; -double tmp132 = std::pow(tmp69,-1.5); -double tmp133 = -(tmp74*tmp62*tmp132); -double tmp134 = -tmp70; -double tmp135 = tmp133 + tmp134; -double tmp136 = std::pow(tmp129,2); -double tmp137 = std::pow(M_PI,-2); -double tmp138 = fThrust(3+_OFF); -double tmp139 = 1/M_PI; -double tmp140 = fThrust(2+_OFF); -double tmp141 = z(1+_OFF); -double tmp142 = -(tmp6*tmp8); -double tmp143 = -2*tmp7*tmp0*tmp2; -double tmp144 = tmp6*tmp9; -double tmp145 = -2*tmp4*tmp2*tmp1; -double tmp146 = -(tmp6*tmp10); -double tmp147 = 2*tmp4*tmp0*tmp3; -double tmp148 = -2*tmp7*tmp1*tmp3; -double tmp149 = tmp6*tmp12; -double tmp150 = tmp142 + tmp143 + tmp144 + tmp145 + tmp146 + tmp147 + tmp148 + tmp149 + tmp47; -double tmp151 = tmp118*tmp128*tmp67; -double tmp152 = 2*tmp98*tmp121*tmp128*tmp67; -double tmp153 = -2*tmp76*tmp124*tmp26*tmp74*tmp132*tmp116; -double tmp154 = tmp151 + tmp152 + tmp153; -double tmp155 = std::pow(tmp69,-2); -double tmp156 = 2*tmp113*tmp62*tmp155; -double tmp157 = 2*tmp74*tmp112; -double tmp158 = tmp156 + tmp157; -double tmp159 = -(tmp118*tmp26*tmp128); -double tmp160 = -2*tmp98*tmp121*tmp26*tmp128; -double tmp161 = -2*tmp76*tmp124*tmp74*tmp67*tmp132*tmp116; -double tmp162 = tmp159 + tmp160 + tmp161; -double tmp163 = -(tmp7*tmp8); -double tmp164 = 2*tmp6*tmp0*tmp2; -double tmp165 = tmp7*tmp9; -double tmp166 = -2*tmp4*tmp0*tmp1; -double tmp167 = tmp7*tmp10; -double tmp168 = -2*tmp4*tmp2*tmp3; -double tmp169 = -2*tmp6*tmp1*tmp3; -double tmp170 = -(tmp7*tmp12); -double tmp171 = tmp163 + tmp164 + tmp165 + tmp166 + tmp167 + tmp168 + tmp169 + tmp170 + tmp37; -double tmp172 = -0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp95*tmp58*tmp96; -double tmp173 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp58*tmp69*tmp127; -double tmp174 = ibd(2+_OFF); -double tmp175 = ibd(3+_OFF); -double tmp176 = ibod(1+_OFF); -double tmp177 = ibod(2+_OFF); -double tmp178 = ibod(3+_OFF); -double tmp179 = ibd(1+_OFF); -double tmp180 = std::pow(tmp178,2); -double tmp181 = cp(3+_OFF); -double tmp182 = mRoll(2+_OFF); -double tmp183 = mRoll(3+_OFF); -double tmp184 = x(11+_OFF); -double tmp185 = mRoll(4+_OFF); -double tmp186 = x(13+_OFF); -double tmp187 = tmp179*tmp174*tmp175; -double tmp188 = std::pow(tmp176,2); -double tmp189 = -(tmp174*tmp188); -double tmp190 = std::pow(tmp177,2); -double tmp191 = -(tmp175*tmp190); -double tmp192 = 2*tmp176*tmp177*tmp178; -double tmp193 = -(tmp179*tmp180); -double tmp194 = tmp187 + tmp189 + tmp191 + tmp192 + tmp193; -double tmp195 = 1/tmp194; -double tmp196 = cBar(1+_OFF); -double tmp197 = mPitch(3+_OFF); -double tmp198 = mPitch(4+_OFF); -double tmp199 = x(12+_OFF); -double tmp200 = mYaw(2+_OFF); -double tmp201 = mYaw(3+_OFF); -double tmp202 = tmp174*tmp175; -double tmp203 = -tmp180; -double tmp204 = tmp202 + tmp203; -double tmp205 = tmp76*tmp182; -double tmp206 = (tmp181*tmp183*tmp70*tmp184)/2.; -double tmp207 = -(tmp181*tmp185*tmp70*tmp186)/2.; -double tmp208 = mRoll(1+_OFF); -double tmp209 = z(2+_OFF); -double tmp210 = -(tmp208*tmp209); -double tmp211 = tmp205 + tmp206 + tmp207 + tmp210; -double tmp212 = -(tmp175*tmp177); -double tmp213 = tmp176*tmp178; -double tmp214 = tmp212 + tmp213; -double tmp215 = mPitch(1+_OFF); -double tmp216 = -tmp215; -double tmp217 = -(tmp98*tmp197); -double tmp218 = (tmp196*tmp198*tmp70*tmp199)/2.; -double tmp219 = mPitch(2+_OFF); -double tmp220 = z(3+_OFF); -double tmp221 = -(tmp219*tmp220); -double tmp222 = tmp216 + tmp217 + tmp218 + tmp221; -double tmp223 = -(tmp174*tmp176); -double tmp224 = tmp177*tmp178; -double tmp225 = tmp223 + tmp224; -double tmp226 = -(tmp76*tmp200); -double tmp227 = (tmp181*tmp201*tmp70*tmp186)/2.; -double tmp228 = mYaw(1+_OFF); -double tmp229 = z(4+_OFF); -double tmp230 = tmp228*tmp229; -double tmp231 = tmp226 + tmp227 + tmp230; -double tmp232 = -(tmp182*tmp26*tmp74*tmp132*tmp116); -double tmp233 = -(tmp181*tmp183*tmp26*tmp132*tmp184)/2.; -double tmp234 = (tmp181*tmp185*tmp26*tmp132*tmp186)/2.; -double tmp235 = tmp232 + tmp233 + tmp234; -double tmp236 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp181*tmp54*tmp69*tmp235; -double tmp237 = 0.003480682213713888*tmp14*tmp40*tmp48*tmp181*tmp54*tmp26*tmp211; -double tmp238 = tmp236 + tmp237; -double tmp239 = -(tmp197*tmp128*tmp67); -double tmp240 = -(tmp196*tmp198*tmp26*tmp132*tmp199)/2.; -double tmp241 = tmp239 + tmp240; -double tmp242 = 0.001740341106856944*tmp14*tmp40*tmp196*tmp48*tmp54*tmp69*tmp241; -double tmp243 = 0.003480682213713888*tmp14*tmp40*tmp196*tmp48*tmp54*tmp26*tmp222; -double tmp244 = tmp242 + tmp243; -double tmp245 = tmp200*tmp26*tmp74*tmp132*tmp116; -double tmp246 = -(tmp181*tmp201*tmp26*tmp132*tmp186)/2.; -double tmp247 = tmp245 + tmp246; -double tmp248 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp181*tmp54*tmp69*tmp247; -double tmp249 = 0.003480682213713888*tmp14*tmp40*tmp48*tmp181*tmp54*tmp26*tmp231; +double tmp48 = tmp41 + tmp44 + tmp46 + tmp47; +double tmp49 = cp(2+_OFF); +double tmp50 = std::pow(tmp37,2); +double tmp51 = tmp38 + tmp50; +double tmp52 = 1/std::sqrt(tmp51); +double tmp53 = std::pow(tmp48,2); +double tmp54 = -2*tmp4*tmp26; +double tmp55 = -2*tmp6*tmp30; +double tmp56 = -(tmp7*tmp33); +double tmp57 = tmp54 + tmp55 + tmp56 + tmp35; +double tmp58 = std::pow(tmp57,2); +double tmp59 = tmp38 + tmp53 + tmp58; +double tmp60 = 1/std::sqrt(tmp59); +double tmp61 = tmp48*tmp60; +double tmp62 = std::asin(tmp61); +double tmp63 = fLat(1+_OFF); +double tmp64 = -(tmp4*tmp8); +double tmp65 = -(tmp4*tmp9); +double tmp66 = 2*tmp7*tmp0*tmp1; +double tmp67 = -2*tmp6*tmp2*tmp1; +double tmp68 = tmp4*tmp10; +double tmp69 = -2*tmp6*tmp0*tmp3; +double tmp70 = -2*tmp7*tmp2*tmp3; +double tmp71 = tmp4*tmp12; +double tmp72 = tmp64 + tmp65 + tmp66 + tmp67 + tmp68 + tmp69 + tmp70 + tmp71 + tmp23; +double tmp73 = tmp6*tmp8; +double tmp74 = 2*tmp7*tmp0*tmp2; +double tmp75 = -(tmp6*tmp9); +double tmp76 = 2*tmp4*tmp2*tmp1; +double tmp77 = tmp6*tmp10; +double tmp78 = -2*tmp4*tmp0*tmp3; +double tmp79 = 2*tmp7*tmp1*tmp3; +double tmp80 = -(tmp6*tmp12); +double tmp81 = -tmp47; +double tmp82 = tmp73 + tmp74 + tmp75 + tmp76 + tmp77 + tmp78 + tmp79 + tmp80 + tmp81; +double tmp83 = std::sqrt(tmp59); +double tmp84 = fLift(1+_OFF); +double tmp85 = std::atan2(tmp37,tmp24); +double tmp86 = fLift(2+_OFF); +double tmp87 = tmp85*tmp86; +double tmp88 = tmp84 + tmp87; +double tmp89 = std::pow(tmp51,-1.5); +double tmp90 = tmp7*tmp8; +double tmp91 = -2*tmp6*tmp0*tmp2; +double tmp92 = -(tmp7*tmp9); +double tmp93 = 2*tmp4*tmp0*tmp1; +double tmp94 = -(tmp7*tmp10); +double tmp95 = 2*tmp4*tmp2*tmp3; +double tmp96 = 2*tmp6*tmp1*tmp3; +double tmp97 = tmp7*tmp12; +double tmp98 = tmp90 + tmp91 + tmp92 + tmp93 + tmp94 + tmp95 + tmp96 + tmp97 + tmp36; +double tmp99 = 1/tmp59; +double tmp100 = -(tmp53*tmp99); +double tmp101 = 1 + tmp100; +double tmp102 = 1/std::sqrt(tmp101); +double tmp103 = fDrag(1+_OFF); +double tmp104 = fDrag(2+_OFF); +double tmp105 = tmp85*tmp104; +double tmp106 = std::pow(tmp85,2); +double tmp107 = fDrag(3+_OFF); +double tmp108 = tmp106*tmp107; +double tmp109 = std::pow(tmp62,2); +double tmp110 = fDrag(4+_OFF); +double tmp111 = tmp109*tmp110; +double tmp112 = tmp103 + tmp105 + tmp108 + tmp111; +double tmp113 = std::sqrt(tmp101); +double tmp114 = 1/tmp51; +double tmp115 = cp(1+_OFF); +double tmp116 = cp(4+_OFF); +double tmp117 = 1/tmp116; +double tmp118 = std::pow(tmp59,-1.5); +double tmp119 = -(tmp53*tmp118); +double tmp120 = tmp119 + tmp60; +double tmp121 = std::pow(tmp115,2); +double tmp122 = std::pow(M_PI,-2); +double tmp123 = fThrust(3+_OFF); +double tmp124 = 1/M_PI; +double tmp125 = fThrust(2+_OFF); +double tmp126 = z(1+_OFF); +double tmp127 = -(tmp6*tmp8); +double tmp128 = -2*tmp7*tmp0*tmp2; +double tmp129 = tmp6*tmp9; +double tmp130 = -2*tmp4*tmp2*tmp1; +double tmp131 = -(tmp6*tmp10); +double tmp132 = 2*tmp4*tmp0*tmp3; +double tmp133 = -2*tmp7*tmp1*tmp3; +double tmp134 = tmp6*tmp12; +double tmp135 = tmp127 + tmp128 + tmp129 + tmp130 + tmp131 + tmp132 + tmp133 + tmp134 + tmp47; +double tmp136 = tmp104*tmp114*tmp57; +double tmp137 = 2*tmp85*tmp107*tmp114*tmp57; +double tmp138 = -2*tmp62*tmp110*tmp24*tmp48*tmp118*tmp102; +double tmp139 = tmp136 + tmp137 + tmp138; +double tmp140 = std::pow(tmp48,3); +double tmp141 = std::pow(tmp59,-2); +double tmp142 = 2*tmp140*tmp141; +double tmp143 = -2*tmp48*tmp99; +double tmp144 = tmp142 + tmp143; +double tmp145 = -(tmp104*tmp24*tmp114); +double tmp146 = -2*tmp85*tmp107*tmp24*tmp114; +double tmp147 = -2*tmp62*tmp110*tmp48*tmp57*tmp118*tmp102; +double tmp148 = tmp145 + tmp146 + tmp147; +double tmp149 = -(tmp7*tmp8); +double tmp150 = 2*tmp6*tmp0*tmp2; +double tmp151 = tmp7*tmp9; +double tmp152 = -2*tmp4*tmp0*tmp1; +double tmp153 = tmp7*tmp10; +double tmp154 = -2*tmp4*tmp2*tmp3; +double tmp155 = -2*tmp6*tmp1*tmp3; +double tmp156 = -(tmp7*tmp12); +double tmp157 = tmp149 + tmp150 + tmp151 + tmp152 + tmp153 + tmp154 + tmp155 + tmp156 + tmp35; +double tmp158 = 0.5*tmp62*tmp49*tmp63*tmp82*tmp52*tmp83; +double tmp159 = 0.5*tmp49*tmp112*tmp52*tmp59*tmp113; +double tmp160 = ibd(2+_OFF); +double tmp161 = ibd(3+_OFF); +double tmp162 = ibod(1+_OFF); +double tmp163 = ibod(2+_OFF); +double tmp164 = ibod(3+_OFF); +double tmp165 = ibd(1+_OFF); +double tmp166 = std::pow(tmp164,2); +double tmp167 = cp(3+_OFF); +double tmp168 = mRoll(2+_OFF); +double tmp169 = mRoll(3+_OFF); +double tmp170 = x(11+_OFF); +double tmp171 = mRoll(4+_OFF); +double tmp172 = x(13+_OFF); +double tmp173 = tmp165*tmp160*tmp161; +double tmp174 = std::pow(tmp162,2); +double tmp175 = -(tmp160*tmp174); +double tmp176 = std::pow(tmp163,2); +double tmp177 = -(tmp161*tmp176); +double tmp178 = 2*tmp162*tmp163*tmp164; +double tmp179 = -(tmp165*tmp166); +double tmp180 = tmp173 + tmp175 + tmp177 + tmp178 + tmp179; +double tmp181 = 1/tmp180; +double tmp182 = cBar(1+_OFF); +double tmp183 = mPitch(3+_OFF); +double tmp184 = mPitch(4+_OFF); +double tmp185 = x(12+_OFF); +double tmp186 = mYaw(2+_OFF); +double tmp187 = mYaw(3+_OFF); +double tmp188 = tmp160*tmp161; +double tmp189 = -tmp166; +double tmp190 = tmp188 + tmp189; +double tmp191 = -(tmp62*tmp168); +double tmp192 = (tmp167*tmp169*tmp60*tmp170)/2.; +double tmp193 = -(tmp167*tmp171*tmp60*tmp172)/2.; +double tmp194 = mRoll(1+_OFF); +double tmp195 = z(2+_OFF); +double tmp196 = -(tmp194*tmp195); +double tmp197 = tmp191 + tmp192 + tmp193 + tmp196; +double tmp198 = -(tmp161*tmp163); +double tmp199 = tmp162*tmp164; +double tmp200 = tmp198 + tmp199; +double tmp201 = mPitch(1+_OFF); +double tmp202 = -tmp201; +double tmp203 = -(tmp85*tmp183); +double tmp204 = (tmp182*tmp184*tmp60*tmp185)/2.; +double tmp205 = mPitch(2+_OFF); +double tmp206 = z(3+_OFF); +double tmp207 = -(tmp205*tmp206); +double tmp208 = tmp202 + tmp203 + tmp204 + tmp207; +double tmp209 = -(tmp160*tmp162); +double tmp210 = tmp163*tmp164; +double tmp211 = tmp209 + tmp210; +double tmp212 = tmp62*tmp186; +double tmp213 = (tmp167*tmp187*tmp60*tmp172)/2.; +double tmp214 = mYaw(1+_OFF); +double tmp215 = z(4+_OFF); +double tmp216 = tmp214*tmp215; +double tmp217 = tmp212 + tmp213 + tmp216; +double tmp218 = tmp168*tmp24*tmp48*tmp118*tmp102; +double tmp219 = -(tmp167*tmp169*tmp24*tmp118*tmp170)/2.; +double tmp220 = (tmp167*tmp171*tmp24*tmp118*tmp172)/2.; +double tmp221 = tmp218 + tmp219 + tmp220; +double tmp222 = 0.5*tmp49*tmp167*tmp59*tmp221; +double tmp223 = 1.*tmp49*tmp167*tmp24*tmp197; +double tmp224 = tmp222 + tmp223; +double tmp225 = -(tmp183*tmp114*tmp57); +double tmp226 = -(tmp182*tmp184*tmp24*tmp118*tmp185)/2.; +double tmp227 = tmp225 + tmp226; +double tmp228 = 0.5*tmp182*tmp49*tmp59*tmp227; +double tmp229 = 1.*tmp182*tmp49*tmp24*tmp208; +double tmp230 = tmp228 + tmp229; +double tmp231 = -(tmp186*tmp24*tmp48*tmp118*tmp102); +double tmp232 = -(tmp167*tmp187*tmp24*tmp118*tmp172)/2.; +double tmp233 = tmp231 + tmp232; +double tmp234 = 0.5*tmp49*tmp167*tmp59*tmp233; +double tmp235 = 1.*tmp49*tmp167*tmp24*tmp217; +double tmp236 = tmp234 + tmp235; +double tmp237 = -(tmp168*tmp102*tmp120); +double tmp238 = -(tmp167*tmp169*tmp48*tmp118*tmp170)/2.; +double tmp239 = (tmp167*tmp171*tmp48*tmp118*tmp172)/2.; +double tmp240 = tmp237 + tmp238 + tmp239; +double tmp241 = 0.5*tmp49*tmp167*tmp59*tmp240; +double tmp242 = 1.*tmp49*tmp167*tmp48*tmp197; +double tmp243 = tmp241 + tmp242; +double tmp244 = tmp165*tmp161; +double tmp245 = -tmp174; +double tmp246 = tmp244 + tmp245; +double tmp247 = std::pow(tmp182,2); +double tmp248 = -0.25*tmp247*tmp49*tmp184*tmp48*tmp60*tmp185; +double tmp249 = 1.*tmp182*tmp49*tmp48*tmp208; double tmp250 = tmp248 + tmp249; -double tmp251 = tmp182*tmp116*tmp135; -double tmp252 = -(tmp181*tmp183*tmp62*tmp132*tmp184)/2.; -double tmp253 = (tmp181*tmp185*tmp62*tmp132*tmp186)/2.; -double tmp254 = tmp251 + tmp252 + tmp253; -double tmp255 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp181*tmp54*tmp69*tmp254; -double tmp256 = 0.003480682213713888*tmp14*tmp40*tmp48*tmp181*tmp54*tmp62*tmp211; -double tmp257 = tmp255 + tmp256; -double tmp258 = tmp179*tmp175; -double tmp259 = -tmp188; -double tmp260 = tmp258 + tmp259; -double tmp261 = std::pow(tmp196,2); -double tmp262 = -0.000870170553428472*tmp14*tmp40*tmp261*tmp48*tmp198*tmp54*tmp62*tmp70*tmp199; -double tmp263 = 0.003480682213713888*tmp14*tmp40*tmp196*tmp48*tmp54*tmp62*tmp222; -double tmp264 = tmp262 + tmp263; -double tmp265 = tmp176*tmp177; -double tmp266 = -(tmp179*tmp178); -double tmp267 = tmp265 + tmp266; -double tmp268 = -(tmp200*tmp116*tmp135); -double tmp269 = -(tmp181*tmp201*tmp62*tmp132*tmp186)/2.; -double tmp270 = tmp268 + tmp269; -double tmp271 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp181*tmp54*tmp69*tmp270; -double tmp272 = 0.003480682213713888*tmp14*tmp40*tmp48*tmp181*tmp54*tmp62*tmp231; -double tmp273 = tmp271 + tmp272; -double tmp274 = -(tmp182*tmp74*tmp67*tmp132*tmp116); -double tmp275 = -(tmp181*tmp183*tmp67*tmp132*tmp184)/2.; -double tmp276 = (tmp181*tmp185*tmp67*tmp132*tmp186)/2.; -double tmp277 = tmp274 + tmp275 + tmp276; -double tmp278 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp181*tmp54*tmp69*tmp277; -double tmp279 = 0.003480682213713888*tmp14*tmp40*tmp48*tmp181*tmp54*tmp67*tmp211; -double tmp280 = tmp278 + tmp279; -double tmp281 = tmp197*tmp26*tmp128; -double tmp282 = -(tmp196*tmp198*tmp67*tmp132*tmp199)/2.; -double tmp283 = tmp281 + tmp282; -double tmp284 = 0.001740341106856944*tmp14*tmp40*tmp196*tmp48*tmp54*tmp69*tmp283; -double tmp285 = 0.003480682213713888*tmp14*tmp40*tmp196*tmp48*tmp54*tmp67*tmp222; -double tmp286 = tmp284 + tmp285; -double tmp287 = tmp200*tmp74*tmp67*tmp132*tmp116; -double tmp288 = -(tmp181*tmp201*tmp67*tmp132*tmp186)/2.; -double tmp289 = tmp287 + tmp288; -double tmp290 = 0.001740341106856944*tmp14*tmp40*tmp48*tmp181*tmp54*tmp69*tmp289; -double tmp291 = 0.003480682213713888*tmp14*tmp40*tmp48*tmp181*tmp54*tmp67*tmp231; -double tmp292 = tmp290 + tmp291; -double tmp293 = tmp179*tmp174; -double tmp294 = -tmp190; -double tmp295 = tmp293 + tmp294; -J(1+_OFF,1+_OFF) = -(tmp131*(-0.003480682213713888*tmp14*tmp40*tmp48*tmp101*tmp54*tmp26*tmp58*tmp111 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp86*tmp26*tmp95*tmp58*tmp70 + 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp86*tmp26*tmp95*tmp102*tmp96 + tmp172 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp101*tmp54*tmp26*tmp102*tmp111*tmp69 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp99*tmp54*tmp102*tmp111*tmp67*tmp69 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp86*tmp26*tmp95*tmp74*tmp58*tmp112*tmp116 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp26*tmp113*tmp58*tmp112*tmp116 + 0.003480682213713888*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp26*tmp58*tmp127 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp26*tmp102*tmp69*tmp127 + tmp173 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp54*tmp86*tmp58*tmp69*tmp127*tmp154 + 0.003480682213713888*tmp14*tmp40*tmp136*tmp54*(2*tmp137*tmp138*tmp26 + tmp139*tmp129*tmp140*tmp26*tmp70*tmp141))); -J(1+_OFF,2+_OFF) = -(tmp131*(-0.003480682213713888*tmp14*tmp40*tmp48*tmp101*tmp54*tmp62*tmp58*tmp111 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp86*tmp95*tmp62*tmp58*tmp70 + 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp86*tmp58*tmp96 + 0.000870170553428472*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp58*tmp69*tmp158*tmp116 + 0.003480682213713888*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp62*tmp58*tmp127 + 0.003480682213713888*tmp14*tmp40*tmp76*tmp48*tmp124*tmp54*tmp86*tmp58*tmp69*tmp135 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp86*tmp95*tmp58*tmp96*tmp116*tmp135 + 0.003480682213713888*tmp14*tmp40*tmp136*tmp54*(2*tmp137*tmp138*tmp62 + tmp139*tmp129*tmp140*tmp62*tmp70*tmp141))); -J(1+_OFF,3+_OFF) = -(tmp131*(-0.003480682213713888*tmp14*tmp40*tmp48*tmp101*tmp54*tmp58*tmp111*tmp67 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp86*tmp95*tmp58*tmp67*tmp70 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp86*tmp95*tmp102*tmp39*tmp96 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp101*tmp54*tmp58*tmp69 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp99*tmp54*tmp26*tmp102*tmp111*tmp69 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp101*tmp54*tmp102*tmp111*tmp39*tmp69 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp86*tmp95*tmp74*tmp58*tmp67*tmp112*tmp116 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp113*tmp58*tmp67*tmp112*tmp116 + 0.003480682213713888*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp58*tmp67*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp86*tmp102*tmp39*tmp69*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp54*tmp86*tmp58*tmp69*tmp127*tmp162 + 0.003480682213713888*tmp14*tmp40*tmp136*tmp54*(2*tmp137*tmp138*tmp67 + tmp139*tmp129*tmp140*tmp67*tmp70*tmp141))); -J(2+_OFF,1+_OFF) = -(tmp131*(0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp26*tmp74*tmp70 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp26*tmp150*tmp70 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp26*tmp113*tmp112*tmp116 - 0.003480682213713888*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp26*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp54*tmp150*tmp96*tmp154)); -J(2+_OFF,2+_OFF) = -(tmp131*(0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp150*tmp62*tmp70 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp96 - 0.000870170553428472*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp69*tmp158*tmp116 - 0.003480682213713888*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp62*tmp127 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp69*tmp135 + 0.003480682213713888*tmp14*tmp40*tmp76*tmp48*tmp124*tmp54*tmp150*tmp96*tmp116*tmp135)); -J(2+_OFF,3+_OFF) = -(tmp131*(0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp74*tmp67*tmp70 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp150*tmp67*tmp70 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp113*tmp67*tmp112*tmp116 - 0.003480682213713888*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp67*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp54*tmp150*tmp96*tmp162)); -J(3+_OFF,1+_OFF) = -(tmp131*(-0.003480682213713888*tmp14*tmp40*tmp48*tmp101*tmp54*tmp86*tmp26*tmp58 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp26*tmp95*tmp58*tmp171*tmp70 + 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp26*tmp95*tmp102*tmp171*tmp96 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp101*tmp54*tmp86*tmp26*tmp102*tmp69 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp101*tmp54*tmp58*tmp69 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp99*tmp54*tmp86*tmp102*tmp67*tmp69 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp26*tmp95*tmp74*tmp58*tmp171*tmp112*tmp116 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp26*tmp113*tmp58*tmp171*tmp112*tmp116 + 0.003480682213713888*tmp14*tmp40*tmp48*tmp126*tmp54*tmp26*tmp58*tmp171*tmp127 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp26*tmp102*tmp171*tmp69*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp54*tmp58*tmp171*tmp69*tmp127*tmp154)); -J(3+_OFF,2+_OFF) = -(tmp131*(-0.003480682213713888*tmp14*tmp40*tmp48*tmp101*tmp54*tmp86*tmp62*tmp58 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp95*tmp62*tmp58*tmp171*tmp70 + 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp58*tmp171*tmp96 + 0.000870170553428472*tmp14*tmp40*tmp48*tmp126*tmp54*tmp58*tmp171*tmp69*tmp158*tmp116 + 0.003480682213713888*tmp14*tmp40*tmp48*tmp126*tmp54*tmp62*tmp58*tmp171*tmp127 + 0.003480682213713888*tmp14*tmp40*tmp76*tmp48*tmp124*tmp54*tmp58*tmp171*tmp69*tmp135 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp95*tmp58*tmp171*tmp96*tmp116*tmp135)); -J(3+_OFF,3+_OFF) = -(tmp131*(-0.003480682213713888*tmp14*tmp40*tmp48*tmp101*tmp54*tmp86*tmp58*tmp67 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp95*tmp58*tmp171*tmp67*tmp70 + tmp172 - 0.001740341106856944*tmp14*tmp40*tmp76*tmp48*tmp77*tmp54*tmp95*tmp102*tmp39*tmp171*tmp96 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp99*tmp54*tmp86*tmp26*tmp102*tmp69 - 0.001740341106856944*tmp14*tmp40*tmp48*tmp101*tmp54*tmp86*tmp102*tmp39*tmp69 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp77*tmp54*tmp95*tmp74*tmp58*tmp171*tmp67*tmp112*tmp116 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp113*tmp58*tmp171*tmp67*tmp112*tmp116 + 0.003480682213713888*tmp14*tmp40*tmp48*tmp126*tmp54*tmp58*tmp171*tmp67*tmp127 + tmp173 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp126*tmp54*tmp102*tmp39*tmp171*tmp69*tmp127 + 0.001740341106856944*tmp14*tmp40*tmp48*tmp54*tmp58*tmp171*tmp69*tmp127*tmp162)); -J(4+_OFF,1+_OFF) = -(tmp204*tmp195*tmp238) - tmp214*tmp195*tmp244 - tmp225*tmp195*tmp250; -J(4+_OFF,2+_OFF) = -(tmp204*tmp195*tmp257) - tmp214*tmp195*tmp264 - tmp225*tmp195*tmp273; -J(4+_OFF,3+_OFF) = -(tmp204*tmp195*tmp280) - tmp214*tmp195*tmp286 - tmp225*tmp195*tmp292; -J(5+_OFF,1+_OFF) = -(tmp214*tmp195*tmp238) - tmp260*tmp195*tmp244 - tmp267*tmp195*tmp250; -J(5+_OFF,2+_OFF) = -(tmp214*tmp195*tmp257) - tmp260*tmp195*tmp264 - tmp267*tmp195*tmp273; -J(5+_OFF,3+_OFF) = -(tmp214*tmp195*tmp280) - tmp260*tmp195*tmp286 - tmp267*tmp195*tmp292; -J(6+_OFF,1+_OFF) = -(tmp225*tmp195*tmp238) - tmp267*tmp195*tmp244 - tmp295*tmp195*tmp250; -J(6+_OFF,2+_OFF) = -(tmp225*tmp195*tmp257) - tmp267*tmp195*tmp264 - tmp295*tmp195*tmp273; -J(6+_OFF,3+_OFF) = -(tmp225*tmp195*tmp280) - tmp267*tmp195*tmp286 - tmp295*tmp195*tmp292; +double tmp251 = tmp162*tmp163; +double tmp252 = -(tmp165*tmp164); +double tmp253 = tmp251 + tmp252; +double tmp254 = tmp186*tmp102*tmp120; +double tmp255 = -(tmp167*tmp187*tmp48*tmp118*tmp172)/2.; +double tmp256 = tmp254 + tmp255; +double tmp257 = 0.5*tmp49*tmp167*tmp59*tmp256; +double tmp258 = 1.*tmp49*tmp167*tmp48*tmp217; +double tmp259 = tmp257 + tmp258; +double tmp260 = tmp168*tmp48*tmp57*tmp118*tmp102; +double tmp261 = -(tmp167*tmp169*tmp57*tmp118*tmp170)/2.; +double tmp262 = (tmp167*tmp171*tmp57*tmp118*tmp172)/2.; +double tmp263 = tmp260 + tmp261 + tmp262; +double tmp264 = 0.5*tmp49*tmp167*tmp59*tmp263; +double tmp265 = 1.*tmp49*tmp167*tmp57*tmp197; +double tmp266 = tmp264 + tmp265; +double tmp267 = tmp183*tmp24*tmp114; +double tmp268 = -(tmp182*tmp184*tmp57*tmp118*tmp185)/2.; +double tmp269 = tmp267 + tmp268; +double tmp270 = 0.5*tmp182*tmp49*tmp59*tmp269; +double tmp271 = 1.*tmp182*tmp49*tmp57*tmp208; +double tmp272 = tmp270 + tmp271; +double tmp273 = -(tmp186*tmp48*tmp57*tmp118*tmp102); +double tmp274 = -(tmp167*tmp187*tmp57*tmp118*tmp172)/2.; +double tmp275 = tmp273 + tmp274; +double tmp276 = 0.5*tmp49*tmp167*tmp59*tmp275; +double tmp277 = 1.*tmp49*tmp167*tmp57*tmp217; +double tmp278 = tmp276 + tmp277; +double tmp279 = tmp165*tmp160; +double tmp280 = -tmp176; +double tmp281 = tmp279 + tmp280; +J(1+_OFF,1+_OFF) = -(tmp117*(-1.*tmp49*tmp88*tmp24*tmp52*tmp98 + 0.5*tmp62*tmp49*tmp63*tmp72*tmp24*tmp82*tmp52*tmp60 - 0.5*tmp62*tmp49*tmp63*tmp72*tmp24*tmp82*tmp89*tmp83 + tmp158 + 0.5*tmp49*tmp88*tmp24*tmp89*tmp98*tmp59 - 0.5*tmp49*tmp86*tmp89*tmp98*tmp57*tmp59 - 0.5*tmp49*tmp63*tmp72*tmp24*tmp82*tmp48*tmp52*tmp99*tmp102 + 0.5*tmp49*tmp112*tmp72*tmp24*tmp53*tmp52*tmp99*tmp102 + 1.*tmp49*tmp112*tmp72*tmp24*tmp52*tmp113 - 0.5*tmp49*tmp112*tmp72*tmp24*tmp89*tmp59*tmp113 + tmp159 + 0.5*tmp49*tmp72*tmp52*tmp59*tmp113*tmp139 + 1.*tmp121*(2*tmp122*tmp123*tmp24 + tmp124*tmp115*tmp125*tmp24*tmp60*tmp126))); +J(1+_OFF,2+_OFF) = -(tmp117*(-1.*tmp49*tmp88*tmp48*tmp52*tmp98 + 0.5*tmp62*tmp49*tmp63*tmp72*tmp82*tmp48*tmp52*tmp60 - 0.5*tmp62*tmp49*tmp63*tmp72*tmp52*tmp83 + 0.25*tmp49*tmp112*tmp72*tmp52*tmp59*tmp144*tmp102 + 1.*tmp49*tmp112*tmp72*tmp48*tmp52*tmp113 + 1.*tmp62*tmp49*tmp110*tmp72*tmp52*tmp59*tmp120 + 0.5*tmp49*tmp63*tmp72*tmp82*tmp52*tmp83*tmp102*tmp120 + 1.*tmp121*(2*tmp122*tmp123*tmp48 + tmp124*tmp115*tmp125*tmp48*tmp60*tmp126))); +J(1+_OFF,3+_OFF) = -(tmp117*(-1.*tmp49*tmp88*tmp52*tmp98*tmp57 + 0.5*tmp62*tmp49*tmp63*tmp72*tmp82*tmp52*tmp57*tmp60 + 0.5*tmp62*tmp49*tmp63*tmp72*tmp82*tmp89*tmp37*tmp83 + 0.5*tmp49*tmp88*tmp52*tmp59 + 0.5*tmp49*tmp86*tmp24*tmp89*tmp98*tmp59 - 0.5*tmp49*tmp88*tmp89*tmp98*tmp37*tmp59 - 0.5*tmp49*tmp63*tmp72*tmp82*tmp48*tmp52*tmp57*tmp99*tmp102 + 0.5*tmp49*tmp112*tmp72*tmp53*tmp52*tmp57*tmp99*tmp102 + 1.*tmp49*tmp112*tmp72*tmp52*tmp57*tmp113 + 0.5*tmp49*tmp112*tmp72*tmp89*tmp37*tmp59*tmp113 + 0.5*tmp49*tmp72*tmp52*tmp59*tmp113*tmp148 + 1.*tmp121*(2*tmp122*tmp123*tmp57 + tmp124*tmp115*tmp125*tmp57*tmp60*tmp126))); +J(2+_OFF,1+_OFF) = -(tmp117*(0.5*tmp49*tmp112*tmp24*tmp135*tmp60 - 0.5*tmp49*tmp63*tmp24*tmp48*tmp60 + 0.5*tmp62*tmp49*tmp63*tmp24*tmp53*tmp99*tmp102 + 1.*tmp62*tmp49*tmp63*tmp24*tmp113 + 0.5*tmp49*tmp135*tmp83*tmp139)); +J(2+_OFF,2+_OFF) = -(tmp117*(0.5*tmp49*tmp112*tmp135*tmp48*tmp60 + 0.5*tmp49*tmp112*tmp83 + 0.25*tmp62*tmp49*tmp63*tmp59*tmp144*tmp102 + 1.*tmp62*tmp49*tmp63*tmp48*tmp113 + 0.5*tmp49*tmp63*tmp59*tmp120 + 1.*tmp62*tmp49*tmp110*tmp135*tmp83*tmp102*tmp120)); +J(2+_OFF,3+_OFF) = -(tmp117*(0.5*tmp49*tmp112*tmp135*tmp57*tmp60 - 0.5*tmp49*tmp63*tmp48*tmp57*tmp60 + 0.5*tmp62*tmp49*tmp63*tmp53*tmp57*tmp99*tmp102 + 1.*tmp62*tmp49*tmp63*tmp57*tmp113 + 0.5*tmp49*tmp135*tmp83*tmp148)); +J(3+_OFF,1+_OFF) = -(tmp117*(-1.*tmp49*tmp88*tmp72*tmp24*tmp52 + 0.5*tmp62*tmp49*tmp63*tmp24*tmp82*tmp52*tmp157*tmp60 - 0.5*tmp62*tmp49*tmp63*tmp24*tmp82*tmp89*tmp157*tmp83 + 0.5*tmp49*tmp88*tmp72*tmp24*tmp89*tmp59 - 0.5*tmp49*tmp88*tmp52*tmp59 - 0.5*tmp49*tmp86*tmp72*tmp89*tmp57*tmp59 - 0.5*tmp49*tmp63*tmp24*tmp82*tmp48*tmp52*tmp157*tmp99*tmp102 + 0.5*tmp49*tmp112*tmp24*tmp53*tmp52*tmp157*tmp99*tmp102 + 1.*tmp49*tmp112*tmp24*tmp52*tmp157*tmp113 - 0.5*tmp49*tmp112*tmp24*tmp89*tmp157*tmp59*tmp113 + 0.5*tmp49*tmp52*tmp157*tmp59*tmp113*tmp139)); +J(3+_OFF,2+_OFF) = -(tmp117*(-1.*tmp49*tmp88*tmp72*tmp48*tmp52 + 0.5*tmp62*tmp49*tmp63*tmp82*tmp48*tmp52*tmp157*tmp60 - 0.5*tmp62*tmp49*tmp63*tmp52*tmp157*tmp83 + 0.25*tmp49*tmp112*tmp52*tmp157*tmp59*tmp144*tmp102 + 1.*tmp49*tmp112*tmp48*tmp52*tmp157*tmp113 + 1.*tmp62*tmp49*tmp110*tmp52*tmp157*tmp59*tmp120 + 0.5*tmp49*tmp63*tmp82*tmp52*tmp157*tmp83*tmp102*tmp120)); +J(3+_OFF,3+_OFF) = -(tmp117*(-1.*tmp49*tmp88*tmp72*tmp52*tmp57 + 0.5*tmp62*tmp49*tmp63*tmp82*tmp52*tmp157*tmp57*tmp60 + tmp158 + 0.5*tmp62*tmp49*tmp63*tmp82*tmp89*tmp37*tmp157*tmp83 + 0.5*tmp49*tmp86*tmp72*tmp24*tmp89*tmp59 - 0.5*tmp49*tmp88*tmp72*tmp89*tmp37*tmp59 - 0.5*tmp49*tmp63*tmp82*tmp48*tmp52*tmp157*tmp57*tmp99*tmp102 + 0.5*tmp49*tmp112*tmp53*tmp52*tmp157*tmp57*tmp99*tmp102 + 1.*tmp49*tmp112*tmp52*tmp157*tmp57*tmp113 + tmp159 + 0.5*tmp49*tmp112*tmp89*tmp37*tmp157*tmp59*tmp113 + 0.5*tmp49*tmp52*tmp157*tmp59*tmp113*tmp148)); +J(4+_OFF,1+_OFF) = -(tmp190*tmp181*tmp224) - tmp200*tmp181*tmp230 - tmp211*tmp181*tmp236; +J(4+_OFF,2+_OFF) = -(tmp190*tmp181*tmp243) - tmp200*tmp181*tmp250 - tmp211*tmp181*tmp259; +J(4+_OFF,3+_OFF) = -(tmp190*tmp181*tmp266) - tmp200*tmp181*tmp272 - tmp211*tmp181*tmp278; +J(5+_OFF,1+_OFF) = -(tmp200*tmp181*tmp224) - tmp246*tmp181*tmp230 - tmp253*tmp181*tmp236; +J(5+_OFF,2+_OFF) = -(tmp200*tmp181*tmp243) - tmp246*tmp181*tmp250 - tmp253*tmp181*tmp259; +J(5+_OFF,3+_OFF) = -(tmp200*tmp181*tmp266) - tmp246*tmp181*tmp272 - tmp253*tmp181*tmp278; +J(6+_OFF,1+_OFF) = -(tmp211*tmp181*tmp224) - tmp253*tmp181*tmp230 - tmp281*tmp181*tmp236; +J(6+_OFF,2+_OFF) = -(tmp211*tmp181*tmp243) - tmp253*tmp181*tmp250 - tmp281*tmp181*tmp259; +J(6+_OFF,3+_OFF) = -(tmp211*tmp181*tmp266) - tmp253*tmp181*tmp272 - tmp281*tmp181*tmp278; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrW.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrW.cppready index 2c4919d..0d49085 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrW.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrW.cppready @@ -15,139 +15,130 @@ double tmp13 = 2*tmp2*tmp3*tmp4; double tmp14 = -(tmp5*tmp7); double tmp15 = tmp8 + tmp10 + tmp12 + tmp13 + tmp14; double tmp16 = 1/tmp15; -double tmp17 = airDensity(2+_OFF); -double tmp18 = 1/tmp17; -double tmp19 = x(4+_OFF); -double tmp20 = x(6+_OFF); -double tmp21 = x(5+_OFF); -double tmp22 = x(7+_OFF); -double tmp23 = wind(1+_OFF); -double tmp24 = tmp21*tmp20; -double tmp25 = wind(3+_OFF); -double tmp26 = wind(2+_OFF); -double tmp27 = std::pow(tmp19,2); -double tmp28 = std::pow(tmp21,2); -double tmp29 = std::pow(tmp20,2); -double tmp30 = std::pow(tmp22,2); -double tmp31 = -tmp30; -double tmp32 = tmp21*tmp22; -double tmp33 = tmp20*tmp22; -double tmp34 = -tmp28; -double tmp35 = -tmp29; -double tmp36 = x(12+_OFF); -double tmp37 = x(11+_OFF); -double tmp38 = tmp1*tmp0; -double tmp39 = -tmp7; -double tmp40 = tmp38 + tmp39; -double tmp41 = -(tmp1*tmp2); -double tmp42 = tmp3*tmp4; -double tmp43 = tmp41 + tmp42; -double tmp44 = -(tmp0*tmp3); -double tmp45 = tmp2*tmp4; -double tmp46 = tmp44 + tmp45; -double tmp47 = airDensity(3+_OFF); -double tmp48 = cp(2+_OFF); -double tmp49 = airDensity(1+_OFF); -double tmp50 = x(3+_OFF); -double tmp51 = tmp49 + tmp50; -double tmp52 = -0.006500000000000001*tmp18*tmp51; -double tmp53 = 1 + tmp52; -double tmp54 = std::pow(tmp53,4.2561); -double tmp55 = tmp19*tmp22; -double tmp56 = tmp24 + tmp55; -double tmp57 = -2*tmp26*tmp56; -double tmp58 = -(tmp19*tmp20); -double tmp59 = tmp58 + tmp32; -double tmp60 = -2*tmp25*tmp59; -double tmp61 = tmp27 + tmp28 + tmp35 + tmp31; -double tmp62 = -(tmp23*tmp61); -double tmp63 = x(8+_OFF); -double tmp64 = tmp57 + tmp60 + tmp62 + tmp63; -double tmp65 = std::pow(tmp64,2); -double tmp66 = -(tmp19*tmp22); -double tmp67 = tmp24 + tmp66; -double tmp68 = -2*tmp23*tmp67; -double tmp69 = tmp19*tmp21; -double tmp70 = tmp69 + tmp33; -double tmp71 = -2*tmp25*tmp70; -double tmp72 = tmp27 + tmp34 + tmp29 + tmp31; -double tmp73 = -(tmp26*tmp72); -double tmp74 = x(9+_OFF); -double tmp75 = tmp68 + tmp71 + tmp73 + tmp74; -double tmp76 = std::pow(tmp75,2); -double tmp77 = tmp19*tmp20; -double tmp78 = tmp77 + tmp32; -double tmp79 = -2*tmp23*tmp78; -double tmp80 = -(tmp19*tmp21); -double tmp81 = tmp80 + tmp33; -double tmp82 = -2*tmp26*tmp81; -double tmp83 = tmp27 + tmp34 + tmp35 + tmp30; -double tmp84 = -(tmp25*tmp83); -double tmp85 = x(10+_OFF); -double tmp86 = tmp79 + tmp82 + tmp84 + tmp85; -double tmp87 = std::pow(tmp86,2); -double tmp88 = tmp65 + tmp76 + tmp87; -double tmp89 = std::sqrt(tmp88); -double tmp90 = cp(3+_OFF); -double tmp91 = std::pow(tmp90,2); -double tmp92 = 2*tmp2*tmp37; -double tmp93 = tmp4*tmp36; -double tmp94 = -(tmp5*tmp6); -double tmp95 = tmp0*tmp6; -double tmp96 = tmp92 + tmp93 + tmp94 + tmp95; -double tmp97 = mRoll(3+_OFF); -double tmp98 = 0.000870170553428472*tmp18*tmp47*tmp48*tmp91*tmp97*tmp54*tmp89; -double tmp99 = -(tmp2*tmp36); -double tmp100 = tmp3*tmp6; -double tmp101 = tmp98 + tmp99 + tmp100; -double tmp102 = -2*tmp3*tmp37; -double tmp103 = tmp5*tmp36; -double tmp104 = -(tmp1*tmp36); -double tmp105 = -(tmp4*tmp6); -double tmp106 = tmp102 + tmp103 + tmp104 + tmp105; -double tmp107 = -(tmp2*tmp37); -double tmp108 = -2*tmp4*tmp36; -double tmp109 = tmp1*tmp6; -double tmp110 = -(tmp0*tmp6); -double tmp111 = tmp107 + tmp108 + tmp109 + tmp110; -double tmp112 = tmp2*tmp3; -double tmp113 = -(tmp5*tmp4); -double tmp114 = tmp112 + tmp113; -double tmp115 = tmp5*tmp37; -double tmp116 = -(tmp1*tmp37); -double tmp117 = 2*tmp3*tmp36; -double tmp118 = tmp2*tmp6; -double tmp119 = tmp115 + tmp116 + tmp117 + tmp118; -double tmp120 = tmp5*tmp0; -double tmp121 = -tmp9; -double tmp122 = tmp120 + tmp121; -double tmp123 = cBar(1+_OFF); -double tmp124 = std::pow(tmp123,2); -double tmp125 = mPitch(4+_OFF); -double tmp126 = 0.000870170553428472*tmp18*tmp47*tmp124*tmp48*tmp125*tmp54*tmp89; -double tmp127 = tmp4*tmp37; -double tmp128 = -(tmp3*tmp6); -double tmp129 = tmp126 + tmp127 + tmp128; -double tmp130 = mYaw(3+_OFF); -double tmp131 = 0.000870170553428472*tmp18*tmp47*tmp48*tmp91*tmp130*tmp54*tmp89; -double tmp132 = -(tmp4*tmp37); -double tmp133 = tmp2*tmp36; -double tmp134 = tmp131 + tmp132 + tmp133; -double tmp135 = -(tmp5*tmp37); -double tmp136 = tmp0*tmp37; -double tmp137 = -(tmp3*tmp36); -double tmp138 = -2*tmp2*tmp6; -double tmp139 = tmp135 + tmp136 + tmp137 + tmp138; -double tmp140 = mRoll(4+_OFF); -double tmp141 = -0.000870170553428472*tmp18*tmp47*tmp48*tmp91*tmp140*tmp54*tmp89; -double tmp142 = tmp3*tmp37; -double tmp143 = tmp1*tmp36; -double tmp144 = -(tmp0*tmp36); -double tmp145 = 2*tmp4*tmp6; -double tmp146 = tmp141 + tmp142 + tmp143 + tmp144 + tmp145; -double tmp147 = tmp5*tmp1; -double tmp148 = -tmp11; -double tmp149 = tmp147 + tmp148; +double tmp17 = x(4+_OFF); +double tmp18 = x(6+_OFF); +double tmp19 = x(5+_OFF); +double tmp20 = x(7+_OFF); +double tmp21 = wind(1+_OFF); +double tmp22 = tmp19*tmp18; +double tmp23 = wind(3+_OFF); +double tmp24 = wind(2+_OFF); +double tmp25 = std::pow(tmp17,2); +double tmp26 = std::pow(tmp19,2); +double tmp27 = std::pow(tmp18,2); +double tmp28 = std::pow(tmp20,2); +double tmp29 = -tmp28; +double tmp30 = tmp19*tmp20; +double tmp31 = tmp18*tmp20; +double tmp32 = -tmp26; +double tmp33 = -tmp27; +double tmp34 = x(12+_OFF); +double tmp35 = x(11+_OFF); +double tmp36 = tmp1*tmp0; +double tmp37 = -tmp7; +double tmp38 = tmp36 + tmp37; +double tmp39 = -(tmp1*tmp2); +double tmp40 = tmp3*tmp4; +double tmp41 = tmp39 + tmp40; +double tmp42 = -(tmp0*tmp3); +double tmp43 = tmp2*tmp4; +double tmp44 = tmp42 + tmp43; +double tmp45 = cp(2+_OFF); +double tmp46 = tmp17*tmp20; +double tmp47 = tmp22 + tmp46; +double tmp48 = -2*tmp24*tmp47; +double tmp49 = -(tmp17*tmp18); +double tmp50 = tmp49 + tmp30; +double tmp51 = -2*tmp23*tmp50; +double tmp52 = tmp25 + tmp26 + tmp33 + tmp29; +double tmp53 = -(tmp21*tmp52); +double tmp54 = x(8+_OFF); +double tmp55 = tmp48 + tmp51 + tmp53 + tmp54; +double tmp56 = std::pow(tmp55,2); +double tmp57 = -(tmp17*tmp20); +double tmp58 = tmp22 + tmp57; +double tmp59 = -2*tmp21*tmp58; +double tmp60 = tmp17*tmp19; +double tmp61 = tmp60 + tmp31; +double tmp62 = -2*tmp23*tmp61; +double tmp63 = tmp25 + tmp32 + tmp27 + tmp29; +double tmp64 = -(tmp24*tmp63); +double tmp65 = x(9+_OFF); +double tmp66 = tmp59 + tmp62 + tmp64 + tmp65; +double tmp67 = std::pow(tmp66,2); +double tmp68 = tmp17*tmp18; +double tmp69 = tmp68 + tmp30; +double tmp70 = -2*tmp21*tmp69; +double tmp71 = -(tmp17*tmp19); +double tmp72 = tmp71 + tmp31; +double tmp73 = -2*tmp24*tmp72; +double tmp74 = tmp25 + tmp32 + tmp33 + tmp28; +double tmp75 = -(tmp23*tmp74); +double tmp76 = x(10+_OFF); +double tmp77 = tmp70 + tmp73 + tmp75 + tmp76; +double tmp78 = std::pow(tmp77,2); +double tmp79 = tmp56 + tmp67 + tmp78; +double tmp80 = std::sqrt(tmp79); +double tmp81 = cp(3+_OFF); +double tmp82 = std::pow(tmp81,2); +double tmp83 = 2*tmp2*tmp35; +double tmp84 = tmp4*tmp34; +double tmp85 = -(tmp5*tmp6); +double tmp86 = tmp0*tmp6; +double tmp87 = tmp83 + tmp84 + tmp85 + tmp86; +double tmp88 = mRoll(3+_OFF); +double tmp89 = 0.25*tmp45*tmp82*tmp88*tmp80; +double tmp90 = -(tmp2*tmp34); +double tmp91 = tmp3*tmp6; +double tmp92 = tmp89 + tmp90 + tmp91; +double tmp93 = -2*tmp3*tmp35; +double tmp94 = tmp5*tmp34; +double tmp95 = -(tmp1*tmp34); +double tmp96 = -(tmp4*tmp6); +double tmp97 = tmp93 + tmp94 + tmp95 + tmp96; +double tmp98 = -(tmp2*tmp35); +double tmp99 = -2*tmp4*tmp34; +double tmp100 = tmp1*tmp6; +double tmp101 = -(tmp0*tmp6); +double tmp102 = tmp98 + tmp99 + tmp100 + tmp101; +double tmp103 = tmp2*tmp3; +double tmp104 = -(tmp5*tmp4); +double tmp105 = tmp103 + tmp104; +double tmp106 = tmp5*tmp35; +double tmp107 = -(tmp1*tmp35); +double tmp108 = 2*tmp3*tmp34; +double tmp109 = tmp2*tmp6; +double tmp110 = tmp106 + tmp107 + tmp108 + tmp109; +double tmp111 = tmp5*tmp0; +double tmp112 = -tmp9; +double tmp113 = tmp111 + tmp112; +double tmp114 = cBar(1+_OFF); +double tmp115 = std::pow(tmp114,2); +double tmp116 = mPitch(4+_OFF); +double tmp117 = 0.25*tmp115*tmp45*tmp116*tmp80; +double tmp118 = tmp4*tmp35; +double tmp119 = -(tmp3*tmp6); +double tmp120 = tmp117 + tmp118 + tmp119; +double tmp121 = mYaw(3+_OFF); +double tmp122 = 0.25*tmp45*tmp82*tmp121*tmp80; +double tmp123 = -(tmp4*tmp35); +double tmp124 = tmp2*tmp34; +double tmp125 = tmp122 + tmp123 + tmp124; +double tmp126 = -(tmp5*tmp35); +double tmp127 = tmp0*tmp35; +double tmp128 = -(tmp3*tmp34); +double tmp129 = -2*tmp2*tmp6; +double tmp130 = tmp126 + tmp127 + tmp128 + tmp129; +double tmp131 = mRoll(4+_OFF); +double tmp132 = -0.25*tmp45*tmp82*tmp131*tmp80; +double tmp133 = tmp3*tmp35; +double tmp134 = tmp1*tmp34; +double tmp135 = -(tmp0*tmp34); +double tmp136 = 2*tmp4*tmp6; +double tmp137 = tmp132 + tmp133 + tmp134 + tmp135 + tmp136; +double tmp138 = tmp5*tmp1; +double tmp139 = -tmp11; +double tmp140 = tmp138 + tmp139; J(1+_OFF,1+_OFF) = 0; J(1+_OFF,2+_OFF) = 0; J(1+_OFF,3+_OFF) = 0; @@ -157,12 +148,12 @@ J(2+_OFF,3+_OFF) = 0; J(3+_OFF,1+_OFF) = 0; J(3+_OFF,2+_OFF) = 0; J(3+_OFF,3+_OFF) = 0; -J(4+_OFF,1+_OFF) = -(tmp46*tmp16*tmp96) - tmp40*tmp16*tmp101 - tmp43*tmp16*tmp106; -J(4+_OFF,2+_OFF) = -(tmp40*tmp16*tmp111) - tmp43*tmp16*tmp119 - tmp46*tmp16*tmp129; -J(4+_OFF,3+_OFF) = -(tmp43*tmp16*tmp134) - tmp46*tmp16*tmp139 - tmp40*tmp16*tmp146; -J(5+_OFF,1+_OFF) = -(tmp122*tmp16*tmp96) - tmp46*tmp16*tmp101 - tmp114*tmp16*tmp106; -J(5+_OFF,2+_OFF) = -(tmp46*tmp16*tmp111) - tmp114*tmp16*tmp119 - tmp122*tmp16*tmp129; -J(5+_OFF,3+_OFF) = -(tmp114*tmp16*tmp134) - tmp122*tmp16*tmp139 - tmp46*tmp16*tmp146; -J(6+_OFF,1+_OFF) = -(tmp114*tmp16*tmp96) - tmp43*tmp16*tmp101 - tmp149*tmp16*tmp106; -J(6+_OFF,2+_OFF) = -(tmp43*tmp16*tmp111) - tmp149*tmp16*tmp119 - tmp114*tmp16*tmp129; -J(6+_OFF,3+_OFF) = -(tmp149*tmp16*tmp134) - tmp114*tmp16*tmp139 - tmp43*tmp16*tmp146; +J(4+_OFF,1+_OFF) = -(tmp44*tmp16*tmp87) - tmp38*tmp16*tmp92 - tmp41*tmp16*tmp97; +J(4+_OFF,2+_OFF) = -(tmp38*tmp16*tmp102) - tmp41*tmp16*tmp110 - tmp44*tmp16*tmp120; +J(4+_OFF,3+_OFF) = -(tmp41*tmp16*tmp125) - tmp44*tmp16*tmp130 - tmp38*tmp16*tmp137; +J(5+_OFF,1+_OFF) = -(tmp113*tmp16*tmp87) - tmp44*tmp16*tmp92 - tmp105*tmp16*tmp97; +J(5+_OFF,2+_OFF) = -(tmp44*tmp16*tmp102) - tmp105*tmp16*tmp110 - tmp113*tmp16*tmp120; +J(5+_OFF,3+_OFF) = -(tmp105*tmp16*tmp125) - tmp113*tmp16*tmp130 - tmp44*tmp16*tmp137; +J(6+_OFF,1+_OFF) = -(tmp105*tmp16*tmp87) - tmp41*tmp16*tmp92 - tmp140*tmp16*tmp97; +J(6+_OFF,2+_OFF) = -(tmp41*tmp16*tmp102) - tmp140*tmp16*tmp110 - tmp105*tmp16*tmp120; +J(6+_OFF,3+_OFF) = -(tmp140*tmp16*tmp125) - tmp105*tmp16*tmp130 - tmp41*tmp16*tmp137; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrWind.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrWind.cppready index 58acb05..b8f53c2 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrWind.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_JErrWind.cppready @@ -11,367 +11,353 @@ double tmp9 = std::pow(tmp2,2); double tmp10 = std::pow(tmp1,2); double tmp11 = -tmp10; double tmp12 = std::pow(tmp3,2); -double tmp13 = airDensity(2+_OFF); -double tmp14 = 1/tmp13; -double tmp15 = tmp2*tmp1; -double tmp16 = tmp0*tmp3; -double tmp17 = tmp15 + tmp16; -double tmp18 = -2*tmp6*tmp17; -double tmp19 = -(tmp0*tmp1); -double tmp20 = tmp19 + tmp5; -double tmp21 = -2*tmp7*tmp20; -double tmp22 = -tmp12; -double tmp23 = tmp8 + tmp9 + tmp11 + tmp22; -double tmp24 = -(tmp4*tmp23); -double tmp25 = x(8+_OFF); -double tmp26 = tmp18 + tmp21 + tmp24 + tmp25; -double tmp27 = tmp0*tmp1; -double tmp28 = tmp27 + tmp5; -double tmp29 = 2*tmp4*tmp28; -double tmp30 = -(tmp0*tmp2); -double tmp31 = tmp1*tmp3; -double tmp32 = tmp30 + tmp31; -double tmp33 = 2*tmp6*tmp32; -double tmp34 = -tmp9; -double tmp35 = tmp8 + tmp34 + tmp11 + tmp12; -double tmp36 = tmp7*tmp35; -double tmp37 = x(10+_OFF); -double tmp38 = -tmp37; -double tmp39 = tmp29 + tmp33 + tmp36 + tmp38; -double tmp40 = -(tmp0*tmp3); -double tmp41 = tmp15 + tmp40; -double tmp42 = airDensity(3+_OFF); -double tmp43 = tmp0*tmp2; -double tmp44 = tmp43 + tmp31; -double tmp45 = tmp8 + tmp34 + tmp10 + tmp22; +double tmp13 = tmp2*tmp1; +double tmp14 = tmp0*tmp3; +double tmp15 = tmp13 + tmp14; +double tmp16 = -2*tmp6*tmp15; +double tmp17 = -(tmp0*tmp1); +double tmp18 = tmp17 + tmp5; +double tmp19 = -2*tmp7*tmp18; +double tmp20 = -tmp12; +double tmp21 = tmp8 + tmp9 + tmp11 + tmp20; +double tmp22 = -(tmp4*tmp21); +double tmp23 = x(8+_OFF); +double tmp24 = tmp16 + tmp19 + tmp22 + tmp23; +double tmp25 = tmp0*tmp1; +double tmp26 = tmp25 + tmp5; +double tmp27 = 2*tmp4*tmp26; +double tmp28 = -(tmp0*tmp2); +double tmp29 = tmp1*tmp3; +double tmp30 = tmp28 + tmp29; +double tmp31 = 2*tmp6*tmp30; +double tmp32 = -tmp9; +double tmp33 = tmp8 + tmp32 + tmp11 + tmp12; +double tmp34 = tmp7*tmp33; +double tmp35 = x(10+_OFF); +double tmp36 = -tmp35; +double tmp37 = tmp27 + tmp31 + tmp34 + tmp36; +double tmp38 = -(tmp0*tmp3); +double tmp39 = tmp13 + tmp38; +double tmp40 = -2*tmp4*tmp39; +double tmp41 = tmp0*tmp2; +double tmp42 = tmp41 + tmp29; +double tmp43 = -2*tmp7*tmp42; +double tmp44 = tmp8 + tmp32 + tmp10 + tmp20; +double tmp45 = -(tmp6*tmp44); double tmp46 = x(9+_OFF); -double tmp47 = std::pow(tmp26,2); -double tmp48 = -2*tmp4*tmp41; -double tmp49 = -2*tmp7*tmp44; -double tmp50 = -(tmp6*tmp45); -double tmp51 = tmp48 + tmp49 + tmp50 + tmp46; -double tmp52 = -2*tmp4*tmp28; -double tmp53 = -2*tmp6*tmp32; -double tmp54 = -(tmp7*tmp35); -double tmp55 = tmp52 + tmp53 + tmp54 + tmp37; -double tmp56 = cp(2+_OFF); -double tmp57 = airDensity(1+_OFF); -double tmp58 = x(3+_OFF); -double tmp59 = tmp57 + tmp58; -double tmp60 = -0.006500000000000001*tmp14*tmp59; -double tmp61 = 1 + tmp60; -double tmp62 = std::pow(tmp61,4.2561); -double tmp63 = -tmp46; -double tmp64 = std::pow(tmp39,2); -double tmp65 = tmp47 + tmp64; +double tmp47 = tmp40 + tmp43 + tmp45 + tmp46; +double tmp48 = std::pow(tmp24,2); +double tmp49 = -2*tmp4*tmp26; +double tmp50 = -2*tmp6*tmp30; +double tmp51 = -(tmp7*tmp33); +double tmp52 = tmp49 + tmp50 + tmp51 + tmp35; +double tmp53 = cp(2+_OFF); +double tmp54 = std::pow(tmp37,2); +double tmp55 = tmp48 + tmp54; +double tmp56 = 1/std::sqrt(tmp55); +double tmp57 = -tmp8; +double tmp58 = tmp57 + tmp32 + tmp10 + tmp12; +double tmp59 = 2*tmp58*tmp24; +double tmp60 = -4*tmp39*tmp47; +double tmp61 = -4*tmp26*tmp52; +double tmp62 = tmp59 + tmp60 + tmp61; +double tmp63 = std::pow(tmp47,2); +double tmp64 = std::pow(tmp52,2); +double tmp65 = tmp48 + tmp63 + tmp64; double tmp66 = 1/std::sqrt(tmp65); -double tmp67 = -tmp8; -double tmp68 = tmp67 + tmp34 + tmp10 + tmp12; -double tmp69 = 2*tmp68*tmp26; -double tmp70 = -4*tmp41*tmp51; -double tmp71 = -4*tmp28*tmp55; -double tmp72 = tmp69 + tmp70 + tmp71; -double tmp73 = std::pow(tmp51,2); -double tmp74 = std::pow(tmp55,2); -double tmp75 = tmp47 + tmp73 + tmp74; -double tmp76 = 1/std::sqrt(tmp75); -double tmp77 = 2*tmp4*tmp41; -double tmp78 = 2*tmp7*tmp44; -double tmp79 = tmp6*tmp45; -double tmp80 = tmp77 + tmp78 + tmp79 + tmp63; -double tmp81 = tmp80*tmp76; -double tmp82 = std::asin(tmp81); -double tmp83 = fLat(1+_OFF); -double tmp84 = -(tmp4*tmp8); -double tmp85 = -(tmp4*tmp9); -double tmp86 = 2*tmp7*tmp0*tmp1; -double tmp87 = -2*tmp6*tmp2*tmp1; -double tmp88 = tmp4*tmp10; -double tmp89 = -2*tmp6*tmp0*tmp3; -double tmp90 = -2*tmp7*tmp2*tmp3; -double tmp91 = tmp4*tmp12; -double tmp92 = tmp84 + tmp85 + tmp86 + tmp87 + tmp88 + tmp89 + tmp90 + tmp91 + tmp25; -double tmp93 = tmp6*tmp8; -double tmp94 = 2*tmp7*tmp0*tmp2; -double tmp95 = -(tmp6*tmp9); -double tmp96 = 2*tmp4*tmp2*tmp1; -double tmp97 = tmp6*tmp10; -double tmp98 = -2*tmp4*tmp0*tmp3; -double tmp99 = 2*tmp7*tmp1*tmp3; -double tmp100 = -(tmp6*tmp12); -double tmp101 = tmp93 + tmp94 + tmp95 + tmp96 + tmp97 + tmp98 + tmp99 + tmp100 + tmp63; -double tmp102 = std::sqrt(tmp75); -double tmp103 = fLift(1+_OFF); -double tmp104 = std::atan2(tmp39,tmp26); -double tmp105 = fLift(2+_OFF); -double tmp106 = tmp104*tmp105; -double tmp107 = tmp103 + tmp106; -double tmp108 = 4*tmp28*tmp39; -double tmp109 = tmp69 + tmp108; -double tmp110 = std::pow(tmp65,-1.5); -double tmp111 = tmp7*tmp8; -double tmp112 = -2*tmp6*tmp0*tmp2; -double tmp113 = -(tmp7*tmp9); -double tmp114 = 2*tmp4*tmp0*tmp1; -double tmp115 = -(tmp7*tmp10); -double tmp116 = 2*tmp4*tmp2*tmp3; -double tmp117 = 2*tmp6*tmp1*tmp3; -double tmp118 = tmp7*tmp12; -double tmp119 = tmp111 + tmp112 + tmp113 + tmp114 + tmp115 + tmp116 + tmp117 + tmp118 + tmp38; -double tmp120 = 1/tmp65; -double tmp121 = std::pow(tmp80,2); -double tmp122 = 1/tmp75; -double tmp123 = fDrag(1+_OFF); -double tmp124 = fDrag(2+_OFF); -double tmp125 = tmp104*tmp124; -double tmp126 = std::pow(tmp104,2); -double tmp127 = fDrag(3+_OFF); -double tmp128 = tmp126*tmp127; -double tmp129 = std::pow(tmp82,2); -double tmp130 = fDrag(4+_OFF); -double tmp131 = tmp129*tmp130; -double tmp132 = tmp123 + tmp125 + tmp128 + tmp131; -double tmp133 = -(tmp121*tmp122); -double tmp134 = 1 + tmp133; -double tmp135 = std::sqrt(tmp134); -double tmp136 = 1/std::sqrt(tmp134); -double tmp137 = 2*tmp28*tmp26*tmp120; -double tmp138 = tmp68*tmp120*tmp55; -double tmp139 = tmp137 + tmp138; -double tmp140 = std::pow(tmp75,-1.5); -double tmp141 = -(tmp80*tmp72*tmp140)/2.; -double tmp142 = 2*tmp41*tmp76; -double tmp143 = tmp141 + tmp142; -double tmp144 = cp(1+_OFF); -double tmp145 = cp(4+_OFF); -double tmp146 = 1/tmp145; -double tmp147 = -4*tmp17*tmp26; -double tmp148 = tmp67 + tmp9 + tmp11 + tmp12; -double tmp149 = 2*tmp148*tmp51; -double tmp150 = -4*tmp32*tmp55; -double tmp151 = tmp147 + tmp149 + tmp150; -double tmp152 = -2*tmp0*tmp3; -double tmp153 = 4*tmp32*tmp39; -double tmp154 = tmp147 + tmp153; -double tmp155 = std::pow(tmp75,-2); -double tmp156 = -2*tmp2*tmp1; -double tmp157 = tmp156 + tmp152; -double tmp158 = 2*tmp32*tmp26*tmp120; -double tmp159 = -2*tmp17*tmp120*tmp55; -double tmp160 = tmp158 + tmp159; -double tmp161 = -(tmp80*tmp151*tmp140)/2.; -double tmp162 = tmp45*tmp76; -double tmp163 = tmp161 + tmp162; -double tmp164 = std::pow(tmp144,2); -double tmp165 = std::pow(M_PI,-2); -double tmp166 = fThrust(3+_OFF); -double tmp167 = 1/M_PI; -double tmp168 = fThrust(2+_OFF); -double tmp169 = z(1+_OFF); -double tmp170 = -4*tmp20*tmp26; -double tmp171 = -4*tmp44*tmp51; -double tmp172 = tmp67 + tmp9 + tmp10 + tmp22; -double tmp173 = 2*tmp172*tmp55; -double tmp174 = tmp170 + tmp171 + tmp173; -double tmp175 = 2*tmp1*tmp3; -double tmp176 = 2*tmp0*tmp1; -double tmp177 = 2*tmp35*tmp39; -double tmp178 = tmp170 + tmp177; -double tmp179 = -2*tmp2*tmp3; -double tmp180 = tmp176 + tmp179; -double tmp181 = tmp35*tmp26*tmp120; -double tmp182 = -2*tmp20*tmp120*tmp55; -double tmp183 = tmp181 + tmp182; -double tmp184 = -(tmp80*tmp174*tmp140)/2.; -double tmp185 = 2*tmp44*tmp76; -double tmp186 = tmp184 + tmp185; -double tmp187 = tmp121*tmp72*tmp155; -double tmp188 = -4*tmp41*tmp80*tmp122; -double tmp189 = tmp187 + tmp188; -double tmp190 = -(tmp6*tmp8); -double tmp191 = -2*tmp7*tmp0*tmp2; -double tmp192 = tmp6*tmp9; -double tmp193 = -2*tmp4*tmp2*tmp1; -double tmp194 = -(tmp6*tmp10); -double tmp195 = 2*tmp4*tmp0*tmp3; -double tmp196 = -2*tmp7*tmp1*tmp3; -double tmp197 = tmp6*tmp12; -double tmp198 = tmp190 + tmp191 + tmp192 + tmp193 + tmp194 + tmp195 + tmp196 + tmp197 + tmp46; -double tmp199 = tmp124*tmp139; -double tmp200 = 2*tmp104*tmp127*tmp139; -double tmp201 = 2*tmp82*tmp130*tmp136*tmp143; -double tmp202 = tmp199 + tmp200 + tmp201; -double tmp203 = tmp121*tmp151*tmp155; -double tmp204 = -2*tmp45*tmp80*tmp122; -double tmp205 = tmp203 + tmp204; -double tmp206 = tmp124*tmp160; -double tmp207 = 2*tmp104*tmp127*tmp160; -double tmp208 = 2*tmp82*tmp130*tmp136*tmp163; -double tmp209 = tmp206 + tmp207 + tmp208; -double tmp210 = -2*tmp0*tmp2; -double tmp211 = tmp121*tmp174*tmp155; -double tmp212 = -4*tmp44*tmp80*tmp122; -double tmp213 = tmp211 + tmp212; -double tmp214 = tmp124*tmp183; -double tmp215 = 2*tmp104*tmp127*tmp183; -double tmp216 = 2*tmp82*tmp130*tmp136*tmp186; -double tmp217 = tmp214 + tmp215 + tmp216; -double tmp218 = -(tmp7*tmp8); -double tmp219 = 2*tmp6*tmp0*tmp2; -double tmp220 = tmp7*tmp9; -double tmp221 = -2*tmp4*tmp0*tmp1; -double tmp222 = tmp7*tmp10; -double tmp223 = -2*tmp4*tmp2*tmp3; -double tmp224 = -2*tmp6*tmp1*tmp3; -double tmp225 = -(tmp7*tmp12); -double tmp226 = tmp218 + tmp219 + tmp220 + tmp221 + tmp222 + tmp223 + tmp224 + tmp225 + tmp37; -double tmp227 = 2*tmp2*tmp1; -double tmp228 = tmp227 + tmp152; -double tmp229 = -2*tmp0*tmp1; -double tmp230 = tmp229 + tmp179; -double tmp231 = 2*tmp0*tmp2; -double tmp232 = -2*tmp1*tmp3; -double tmp233 = tmp231 + tmp232; -double tmp234 = tmp231 + tmp175; -double tmp235 = ibd(2+_OFF); -double tmp236 = ibd(3+_OFF); -double tmp237 = ibod(1+_OFF); -double tmp238 = ibod(2+_OFF); -double tmp239 = ibod(3+_OFF); -double tmp240 = ibd(1+_OFF); -double tmp241 = std::pow(tmp239,2); -double tmp242 = cp(3+_OFF); -double tmp243 = mRoll(2+_OFF); -double tmp244 = mRoll(3+_OFF); -double tmp245 = x(11+_OFF); -double tmp246 = mRoll(4+_OFF); -double tmp247 = x(13+_OFF); -double tmp248 = tmp240*tmp235*tmp236; -double tmp249 = std::pow(tmp237,2); -double tmp250 = -(tmp235*tmp249); -double tmp251 = std::pow(tmp238,2); -double tmp252 = -(tmp236*tmp251); -double tmp253 = 2*tmp237*tmp238*tmp239; -double tmp254 = -(tmp240*tmp241); -double tmp255 = tmp248 + tmp250 + tmp252 + tmp253 + tmp254; -double tmp256 = 1/tmp255; -double tmp257 = cBar(1+_OFF); -double tmp258 = mPitch(3+_OFF); -double tmp259 = mPitch(4+_OFF); -double tmp260 = x(12+_OFF); -double tmp261 = mYaw(2+_OFF); -double tmp262 = mYaw(3+_OFF); -double tmp263 = tmp235*tmp236; -double tmp264 = -tmp241; -double tmp265 = tmp263 + tmp264; -double tmp266 = tmp82*tmp243; -double tmp267 = (tmp242*tmp244*tmp76*tmp245)/2.; -double tmp268 = -(tmp242*tmp246*tmp76*tmp247)/2.; -double tmp269 = mRoll(1+_OFF); -double tmp270 = z(2+_OFF); -double tmp271 = -(tmp269*tmp270); -double tmp272 = tmp266 + tmp267 + tmp268 + tmp271; -double tmp273 = -(tmp236*tmp238); -double tmp274 = tmp237*tmp239; -double tmp275 = tmp273 + tmp274; -double tmp276 = mPitch(1+_OFF); -double tmp277 = -tmp276; -double tmp278 = -(tmp104*tmp258); -double tmp279 = (tmp257*tmp259*tmp76*tmp260)/2.; -double tmp280 = mPitch(2+_OFF); -double tmp281 = z(3+_OFF); -double tmp282 = -(tmp280*tmp281); -double tmp283 = tmp277 + tmp278 + tmp279 + tmp282; -double tmp284 = -(tmp235*tmp237); -double tmp285 = tmp238*tmp239; -double tmp286 = tmp284 + tmp285; -double tmp287 = -(tmp82*tmp261); -double tmp288 = (tmp242*tmp262*tmp76*tmp247)/2.; -double tmp289 = mYaw(1+_OFF); -double tmp290 = z(4+_OFF); -double tmp291 = tmp289*tmp290; -double tmp292 = tmp287 + tmp288 + tmp291; -double tmp293 = tmp243*tmp136*tmp143; -double tmp294 = -(tmp242*tmp244*tmp72*tmp140*tmp245)/4.; -double tmp295 = (tmp242*tmp246*tmp72*tmp140*tmp247)/4.; -double tmp296 = tmp293 + tmp294 + tmp295; -double tmp297 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp75*tmp296; -double tmp298 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp72*tmp272; -double tmp299 = tmp297 + tmp298; -double tmp300 = -(tmp258*tmp139); -double tmp301 = -(tmp257*tmp259*tmp72*tmp140*tmp260)/4.; -double tmp302 = tmp300 + tmp301; -double tmp303 = 0.001740341106856944*tmp14*tmp42*tmp257*tmp56*tmp62*tmp75*tmp302; -double tmp304 = 0.001740341106856944*tmp14*tmp42*tmp257*tmp56*tmp62*tmp72*tmp283; -double tmp305 = tmp303 + tmp304; -double tmp306 = -(tmp261*tmp136*tmp143); -double tmp307 = -(tmp242*tmp262*tmp72*tmp140*tmp247)/4.; -double tmp308 = tmp306 + tmp307; -double tmp309 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp75*tmp308; -double tmp310 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp72*tmp292; -double tmp311 = tmp309 + tmp310; -double tmp312 = tmp243*tmp136*tmp163; -double tmp313 = -(tmp242*tmp244*tmp151*tmp140*tmp245)/4.; -double tmp314 = (tmp242*tmp246*tmp151*tmp140*tmp247)/4.; -double tmp315 = tmp312 + tmp313 + tmp314; -double tmp316 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp75*tmp315; -double tmp317 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp151*tmp272; -double tmp318 = tmp316 + tmp317; -double tmp319 = tmp240*tmp236; -double tmp320 = -tmp249; -double tmp321 = tmp319 + tmp320; -double tmp322 = -(tmp258*tmp160); -double tmp323 = -(tmp257*tmp259*tmp151*tmp140*tmp260)/4.; -double tmp324 = tmp322 + tmp323; -double tmp325 = 0.001740341106856944*tmp14*tmp42*tmp257*tmp56*tmp62*tmp75*tmp324; -double tmp326 = 0.001740341106856944*tmp14*tmp42*tmp257*tmp56*tmp62*tmp151*tmp283; -double tmp327 = tmp325 + tmp326; -double tmp328 = tmp237*tmp238; -double tmp329 = -(tmp240*tmp239); -double tmp330 = tmp328 + tmp329; -double tmp331 = -(tmp261*tmp136*tmp163); -double tmp332 = -(tmp242*tmp262*tmp151*tmp140*tmp247)/4.; -double tmp333 = tmp331 + tmp332; -double tmp334 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp75*tmp333; -double tmp335 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp151*tmp292; -double tmp336 = tmp334 + tmp335; -double tmp337 = tmp243*tmp136*tmp186; -double tmp338 = -(tmp242*tmp244*tmp174*tmp140*tmp245)/4.; -double tmp339 = (tmp242*tmp246*tmp174*tmp140*tmp247)/4.; -double tmp340 = tmp337 + tmp338 + tmp339; -double tmp341 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp75*tmp340; -double tmp342 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp174*tmp272; -double tmp343 = tmp341 + tmp342; -double tmp344 = -(tmp258*tmp183); -double tmp345 = -(tmp257*tmp259*tmp174*tmp140*tmp260)/4.; -double tmp346 = tmp344 + tmp345; -double tmp347 = 0.001740341106856944*tmp14*tmp42*tmp257*tmp56*tmp62*tmp75*tmp346; -double tmp348 = 0.001740341106856944*tmp14*tmp42*tmp257*tmp56*tmp62*tmp174*tmp283; -double tmp349 = tmp347 + tmp348; -double tmp350 = -(tmp261*tmp136*tmp186); -double tmp351 = -(tmp242*tmp262*tmp174*tmp140*tmp247)/4.; -double tmp352 = tmp350 + tmp351; -double tmp353 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp75*tmp352; -double tmp354 = 0.001740341106856944*tmp14*tmp42*tmp56*tmp242*tmp62*tmp174*tmp292; -double tmp355 = tmp353 + tmp354; -double tmp356 = tmp240*tmp235; -double tmp357 = -tmp251; -double tmp358 = tmp356 + tmp357; -J(1+_OFF,1+_OFF) = -(tmp146*(-0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp66*tmp119*tmp72 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp92*tmp101*tmp66*tmp72*tmp76 + 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp92*tmp101*tmp109*tmp110*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp228*tmp92*tmp66*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp68*tmp101*tmp66*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*(tmp176 + 2*tmp2*tmp3)*tmp66*tmp75 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp107*tmp62*tmp109*tmp110*tmp119*tmp75 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp105*tmp62*tmp66*tmp119*tmp139*tmp75 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp66*tmp75*tmp189*tmp136 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp66*tmp72*tmp135 - 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp109*tmp110*tmp75*tmp135 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp68*tmp66*tmp75*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp92*tmp101*tmp66*tmp102*tmp136*tmp143 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp92*tmp66*tmp75*tmp135*tmp202 + 0.003480682213713888*tmp14*tmp42*tmp164*tmp62*(tmp165*tmp166*tmp72 + (tmp167*tmp144*tmp168*tmp72*tmp76*tmp169)/2.))); -J(1+_OFF,2+_OFF) = -(tmp146*(-0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp66*tmp119*tmp151 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp92*tmp101*tmp66*tmp151*tmp76 + 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp92*tmp101*tmp154*tmp110*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp45*tmp92*tmp66*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp157*tmp101*tmp66*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*(tmp210 + tmp175)*tmp66*tmp75 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp107*tmp62*tmp154*tmp110*tmp119*tmp75 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp105*tmp62*tmp66*tmp119*tmp160*tmp75 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp66*tmp75*tmp205*tmp136 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp66*tmp151*tmp135 - 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp154*tmp110*tmp75*tmp135 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp157*tmp66*tmp75*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp92*tmp101*tmp66*tmp102*tmp136*tmp163 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp92*tmp66*tmp75*tmp135*tmp209 + 0.003480682213713888*tmp14*tmp42*tmp164*tmp62*(tmp165*tmp166*tmp151 + (tmp167*tmp144*tmp168*tmp151*tmp76*tmp169)/2.))); -J(1+_OFF,3+_OFF) = -(tmp146*(-0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp66*tmp119*tmp174 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp92*tmp101*tmp66*tmp174*tmp76 + 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp92*tmp101*tmp178*tmp110*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp234*tmp92*tmp66*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp180*tmp101*tmp66*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp35*tmp66*tmp75 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp107*tmp62*tmp178*tmp110*tmp119*tmp75 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp105*tmp62*tmp66*tmp119*tmp183*tmp75 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp66*tmp75*tmp213*tmp136 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp66*tmp174*tmp135 - 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp92*tmp178*tmp110*tmp75*tmp135 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp180*tmp66*tmp75*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp92*tmp101*tmp66*tmp102*tmp136*tmp186 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp92*tmp66*tmp75*tmp135*tmp217 + 0.003480682213713888*tmp14*tmp42*tmp164*tmp62*(tmp165*tmp166*tmp174 + (tmp167*tmp144*tmp168*tmp174*tmp76*tmp169)/2.))); -J(2+_OFF,1+_OFF) = -(tmp146*(0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp198*tmp72*tmp76 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*(tmp156 + 2*tmp0*tmp3)*tmp102 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp75*tmp189*tmp136 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp72*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp75*tmp143 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp198*tmp102*tmp202)); -J(2+_OFF,2+_OFF) = -(tmp146*(0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp198*tmp151*tmp76 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp148*tmp102 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp75*tmp205*tmp136 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp151*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp75*tmp163 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp198*tmp102*tmp209)); -J(2+_OFF,3+_OFF) = -(tmp146*(0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp198*tmp174*tmp76 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*(tmp210 + tmp232)*tmp102 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp75*tmp213*tmp136 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp174*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp75*tmp186 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp198*tmp102*tmp217)); -J(3+_OFF,1+_OFF) = -(tmp146*(-0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp92*tmp66*tmp72 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp101*tmp66*tmp226*tmp72*tmp76 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp230*tmp101*tmp66*tmp102 + 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp101*tmp109*tmp110*tmp226*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp228*tmp66*tmp226*tmp102 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp107*tmp62*tmp92*tmp109*tmp110*tmp75 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp68*tmp66*tmp75 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp105*tmp62*tmp92*tmp66*tmp139*tmp75 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp66*tmp226*tmp75*tmp189*tmp136 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp66*tmp226*tmp72*tmp135 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp230*tmp66*tmp75*tmp135 - 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp109*tmp110*tmp226*tmp75*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp101*tmp66*tmp226*tmp102*tmp136*tmp143 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp66*tmp226*tmp75*tmp135*tmp202)); -J(3+_OFF,2+_OFF) = -(tmp146*(-0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp92*tmp66*tmp151 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp101*tmp66*tmp226*tmp151*tmp76 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp233*tmp101*tmp66*tmp102 + 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp101*tmp154*tmp110*tmp226*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp45*tmp66*tmp226*tmp102 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp107*tmp62*tmp92*tmp154*tmp110*tmp75 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp157*tmp66*tmp75 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp105*tmp62*tmp92*tmp66*tmp160*tmp75 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp66*tmp226*tmp75*tmp205*tmp136 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp66*tmp226*tmp151*tmp135 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp233*tmp66*tmp75*tmp135 - 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp154*tmp110*tmp226*tmp75*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp101*tmp66*tmp226*tmp102*tmp136*tmp163 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp66*tmp226*tmp75*tmp135*tmp209)); -J(3+_OFF,3+_OFF) = -(tmp146*(-0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp92*tmp66*tmp174 - 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp101*tmp66*tmp226*tmp174*tmp76 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp172*tmp101*tmp66*tmp102 + 0.000870170553428472*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp101*tmp178*tmp110*tmp226*tmp102 - 0.001740341106856944*tmp14*tmp42*tmp82*tmp56*tmp83*tmp62*tmp234*tmp66*tmp226*tmp102 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp107*tmp62*tmp92*tmp178*tmp110*tmp75 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp107*tmp62*tmp180*tmp66*tmp75 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp105*tmp62*tmp92*tmp66*tmp183*tmp75 + 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp66*tmp226*tmp75*tmp213*tmp136 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp66*tmp226*tmp174*tmp135 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp132*tmp62*tmp172*tmp66*tmp75*tmp135 - 0.000870170553428472*tmp14*tmp42*tmp56*tmp132*tmp62*tmp178*tmp110*tmp226*tmp75*tmp135 - 0.001740341106856944*tmp14*tmp42*tmp56*tmp83*tmp62*tmp101*tmp66*tmp226*tmp102*tmp136*tmp186 + 0.001740341106856944*tmp14*tmp42*tmp56*tmp62*tmp66*tmp226*tmp75*tmp135*tmp217)); -J(4+_OFF,1+_OFF) = -(tmp265*tmp256*tmp299) - tmp275*tmp256*tmp305 - tmp286*tmp256*tmp311; -J(4+_OFF,2+_OFF) = -(tmp265*tmp256*tmp318) - tmp275*tmp256*tmp327 - tmp286*tmp256*tmp336; -J(4+_OFF,3+_OFF) = -(tmp265*tmp256*tmp343) - tmp275*tmp256*tmp349 - tmp286*tmp256*tmp355; -J(5+_OFF,1+_OFF) = -(tmp275*tmp256*tmp299) - tmp321*tmp256*tmp305 - tmp330*tmp256*tmp311; -J(5+_OFF,2+_OFF) = -(tmp275*tmp256*tmp318) - tmp321*tmp256*tmp327 - tmp330*tmp256*tmp336; -J(5+_OFF,3+_OFF) = -(tmp275*tmp256*tmp343) - tmp321*tmp256*tmp349 - tmp330*tmp256*tmp355; -J(6+_OFF,1+_OFF) = -(tmp286*tmp256*tmp299) - tmp330*tmp256*tmp305 - tmp358*tmp256*tmp311; -J(6+_OFF,2+_OFF) = -(tmp286*tmp256*tmp318) - tmp330*tmp256*tmp327 - tmp358*tmp256*tmp336; -J(6+_OFF,3+_OFF) = -(tmp286*tmp256*tmp343) - tmp330*tmp256*tmp349 - tmp358*tmp256*tmp355; +double tmp67 = tmp47*tmp66; +double tmp68 = std::asin(tmp67); +double tmp69 = fLat(1+_OFF); +double tmp70 = -(tmp4*tmp8); +double tmp71 = -(tmp4*tmp9); +double tmp72 = 2*tmp7*tmp0*tmp1; +double tmp73 = -2*tmp6*tmp2*tmp1; +double tmp74 = tmp4*tmp10; +double tmp75 = -2*tmp6*tmp0*tmp3; +double tmp76 = -2*tmp7*tmp2*tmp3; +double tmp77 = tmp4*tmp12; +double tmp78 = tmp70 + tmp71 + tmp72 + tmp73 + tmp74 + tmp75 + tmp76 + tmp77 + tmp23; +double tmp79 = tmp6*tmp8; +double tmp80 = 2*tmp7*tmp0*tmp2; +double tmp81 = -(tmp6*tmp9); +double tmp82 = 2*tmp4*tmp2*tmp1; +double tmp83 = tmp6*tmp10; +double tmp84 = -2*tmp4*tmp0*tmp3; +double tmp85 = 2*tmp7*tmp1*tmp3; +double tmp86 = -(tmp6*tmp12); +double tmp87 = -tmp46; +double tmp88 = tmp79 + tmp80 + tmp81 + tmp82 + tmp83 + tmp84 + tmp85 + tmp86 + tmp87; +double tmp89 = std::sqrt(tmp65); +double tmp90 = fLift(1+_OFF); +double tmp91 = std::atan2(tmp37,tmp24); +double tmp92 = fLift(2+_OFF); +double tmp93 = tmp91*tmp92; +double tmp94 = tmp90 + tmp93; +double tmp95 = 4*tmp26*tmp37; +double tmp96 = tmp59 + tmp95; +double tmp97 = std::pow(tmp55,-1.5); +double tmp98 = tmp7*tmp8; +double tmp99 = -2*tmp6*tmp0*tmp2; +double tmp100 = -(tmp7*tmp9); +double tmp101 = 2*tmp4*tmp0*tmp1; +double tmp102 = -(tmp7*tmp10); +double tmp103 = 2*tmp4*tmp2*tmp3; +double tmp104 = 2*tmp6*tmp1*tmp3; +double tmp105 = tmp7*tmp12; +double tmp106 = tmp98 + tmp99 + tmp100 + tmp101 + tmp102 + tmp103 + tmp104 + tmp105 + tmp36; +double tmp107 = 1/tmp55; +double tmp108 = 1/tmp65; +double tmp109 = fDrag(1+_OFF); +double tmp110 = fDrag(2+_OFF); +double tmp111 = tmp91*tmp110; +double tmp112 = std::pow(tmp91,2); +double tmp113 = fDrag(3+_OFF); +double tmp114 = tmp112*tmp113; +double tmp115 = std::pow(tmp68,2); +double tmp116 = fDrag(4+_OFF); +double tmp117 = tmp115*tmp116; +double tmp118 = tmp109 + tmp111 + tmp114 + tmp117; +double tmp119 = -(tmp63*tmp108); +double tmp120 = 1 + tmp119; +double tmp121 = std::sqrt(tmp120); +double tmp122 = 1/std::sqrt(tmp120); +double tmp123 = 2*tmp26*tmp24*tmp107; +double tmp124 = tmp58*tmp107*tmp52; +double tmp125 = tmp123 + tmp124; +double tmp126 = std::pow(tmp65,-1.5); +double tmp127 = -(tmp47*tmp62*tmp126)/2.; +double tmp128 = -2*tmp39*tmp66; +double tmp129 = tmp127 + tmp128; +double tmp130 = cp(1+_OFF); +double tmp131 = cp(4+_OFF); +double tmp132 = 1/tmp131; +double tmp133 = -4*tmp15*tmp24; +double tmp134 = tmp57 + tmp9 + tmp11 + tmp12; +double tmp135 = 2*tmp134*tmp47; +double tmp136 = -4*tmp30*tmp52; +double tmp137 = tmp133 + tmp135 + tmp136; +double tmp138 = -2*tmp0*tmp3; +double tmp139 = 4*tmp30*tmp37; +double tmp140 = tmp133 + tmp139; +double tmp141 = std::pow(tmp65,-2); +double tmp142 = -2*tmp2*tmp1; +double tmp143 = tmp142 + tmp138; +double tmp144 = 2*tmp30*tmp24*tmp107; +double tmp145 = -2*tmp15*tmp107*tmp52; +double tmp146 = tmp144 + tmp145; +double tmp147 = -(tmp47*tmp137*tmp126)/2.; +double tmp148 = tmp134*tmp66; +double tmp149 = tmp147 + tmp148; +double tmp150 = std::pow(tmp130,2); +double tmp151 = std::pow(M_PI,-2); +double tmp152 = fThrust(3+_OFF); +double tmp153 = 1/M_PI; +double tmp154 = fThrust(2+_OFF); +double tmp155 = z(1+_OFF); +double tmp156 = -4*tmp18*tmp24; +double tmp157 = -4*tmp42*tmp47; +double tmp158 = tmp57 + tmp9 + tmp10 + tmp20; +double tmp159 = 2*tmp158*tmp52; +double tmp160 = tmp156 + tmp157 + tmp159; +double tmp161 = 2*tmp1*tmp3; +double tmp162 = 2*tmp0*tmp1; +double tmp163 = 2*tmp33*tmp37; +double tmp164 = tmp156 + tmp163; +double tmp165 = -2*tmp2*tmp3; +double tmp166 = tmp162 + tmp165; +double tmp167 = tmp33*tmp24*tmp107; +double tmp168 = -2*tmp18*tmp107*tmp52; +double tmp169 = tmp167 + tmp168; +double tmp170 = -(tmp47*tmp160*tmp126)/2.; +double tmp171 = -2*tmp42*tmp66; +double tmp172 = tmp170 + tmp171; +double tmp173 = tmp63*tmp62*tmp141; +double tmp174 = 4*tmp39*tmp47*tmp108; +double tmp175 = tmp173 + tmp174; +double tmp176 = -(tmp6*tmp8); +double tmp177 = -2*tmp7*tmp0*tmp2; +double tmp178 = tmp6*tmp9; +double tmp179 = -2*tmp4*tmp2*tmp1; +double tmp180 = -(tmp6*tmp10); +double tmp181 = 2*tmp4*tmp0*tmp3; +double tmp182 = -2*tmp7*tmp1*tmp3; +double tmp183 = tmp6*tmp12; +double tmp184 = tmp176 + tmp177 + tmp178 + tmp179 + tmp180 + tmp181 + tmp182 + tmp183 + tmp46; +double tmp185 = tmp110*tmp125; +double tmp186 = 2*tmp91*tmp113*tmp125; +double tmp187 = 2*tmp68*tmp116*tmp122*tmp129; +double tmp188 = tmp185 + tmp186 + tmp187; +double tmp189 = tmp63*tmp137*tmp141; +double tmp190 = -2*tmp134*tmp47*tmp108; +double tmp191 = tmp189 + tmp190; +double tmp192 = tmp110*tmp146; +double tmp193 = 2*tmp91*tmp113*tmp146; +double tmp194 = 2*tmp68*tmp116*tmp122*tmp149; +double tmp195 = tmp192 + tmp193 + tmp194; +double tmp196 = -2*tmp0*tmp2; +double tmp197 = tmp63*tmp160*tmp141; +double tmp198 = 4*tmp42*tmp47*tmp108; +double tmp199 = tmp197 + tmp198; +double tmp200 = tmp110*tmp169; +double tmp201 = 2*tmp91*tmp113*tmp169; +double tmp202 = 2*tmp68*tmp116*tmp122*tmp172; +double tmp203 = tmp200 + tmp201 + tmp202; +double tmp204 = -(tmp7*tmp8); +double tmp205 = 2*tmp6*tmp0*tmp2; +double tmp206 = tmp7*tmp9; +double tmp207 = -2*tmp4*tmp0*tmp1; +double tmp208 = tmp7*tmp10; +double tmp209 = -2*tmp4*tmp2*tmp3; +double tmp210 = -2*tmp6*tmp1*tmp3; +double tmp211 = -(tmp7*tmp12); +double tmp212 = tmp204 + tmp205 + tmp206 + tmp207 + tmp208 + tmp209 + tmp210 + tmp211 + tmp35; +double tmp213 = 2*tmp2*tmp1; +double tmp214 = tmp213 + tmp138; +double tmp215 = -2*tmp0*tmp1; +double tmp216 = tmp215 + tmp165; +double tmp217 = 2*tmp0*tmp2; +double tmp218 = -2*tmp1*tmp3; +double tmp219 = tmp217 + tmp218; +double tmp220 = tmp217 + tmp161; +double tmp221 = ibd(2+_OFF); +double tmp222 = ibd(3+_OFF); +double tmp223 = ibod(1+_OFF); +double tmp224 = ibod(2+_OFF); +double tmp225 = ibod(3+_OFF); +double tmp226 = ibd(1+_OFF); +double tmp227 = std::pow(tmp225,2); +double tmp228 = cp(3+_OFF); +double tmp229 = mRoll(2+_OFF); +double tmp230 = mRoll(3+_OFF); +double tmp231 = x(11+_OFF); +double tmp232 = mRoll(4+_OFF); +double tmp233 = x(13+_OFF); +double tmp234 = tmp226*tmp221*tmp222; +double tmp235 = std::pow(tmp223,2); +double tmp236 = -(tmp221*tmp235); +double tmp237 = std::pow(tmp224,2); +double tmp238 = -(tmp222*tmp237); +double tmp239 = 2*tmp223*tmp224*tmp225; +double tmp240 = -(tmp226*tmp227); +double tmp241 = tmp234 + tmp236 + tmp238 + tmp239 + tmp240; +double tmp242 = 1/tmp241; +double tmp243 = cBar(1+_OFF); +double tmp244 = mPitch(3+_OFF); +double tmp245 = mPitch(4+_OFF); +double tmp246 = x(12+_OFF); +double tmp247 = mYaw(2+_OFF); +double tmp248 = mYaw(3+_OFF); +double tmp249 = tmp221*tmp222; +double tmp250 = -tmp227; +double tmp251 = tmp249 + tmp250; +double tmp252 = -(tmp68*tmp229); +double tmp253 = (tmp228*tmp230*tmp66*tmp231)/2.; +double tmp254 = -(tmp228*tmp232*tmp66*tmp233)/2.; +double tmp255 = mRoll(1+_OFF); +double tmp256 = z(2+_OFF); +double tmp257 = -(tmp255*tmp256); +double tmp258 = tmp252 + tmp253 + tmp254 + tmp257; +double tmp259 = -(tmp222*tmp224); +double tmp260 = tmp223*tmp225; +double tmp261 = tmp259 + tmp260; +double tmp262 = mPitch(1+_OFF); +double tmp263 = -tmp262; +double tmp264 = -(tmp91*tmp244); +double tmp265 = (tmp243*tmp245*tmp66*tmp246)/2.; +double tmp266 = mPitch(2+_OFF); +double tmp267 = z(3+_OFF); +double tmp268 = -(tmp266*tmp267); +double tmp269 = tmp263 + tmp264 + tmp265 + tmp268; +double tmp270 = -(tmp221*tmp223); +double tmp271 = tmp224*tmp225; +double tmp272 = tmp270 + tmp271; +double tmp273 = tmp68*tmp247; +double tmp274 = (tmp228*tmp248*tmp66*tmp233)/2.; +double tmp275 = mYaw(1+_OFF); +double tmp276 = z(4+_OFF); +double tmp277 = tmp275*tmp276; +double tmp278 = tmp273 + tmp274 + tmp277; +double tmp279 = -(tmp229*tmp122*tmp129); +double tmp280 = -(tmp228*tmp230*tmp62*tmp126*tmp231)/4.; +double tmp281 = (tmp228*tmp232*tmp62*tmp126*tmp233)/4.; +double tmp282 = tmp279 + tmp280 + tmp281; +double tmp283 = 0.5*tmp53*tmp228*tmp65*tmp282; +double tmp284 = 0.5*tmp53*tmp228*tmp62*tmp258; +double tmp285 = tmp283 + tmp284; +double tmp286 = -(tmp244*tmp125); +double tmp287 = -(tmp243*tmp245*tmp62*tmp126*tmp246)/4.; +double tmp288 = tmp286 + tmp287; +double tmp289 = 0.5*tmp243*tmp53*tmp65*tmp288; +double tmp290 = 0.5*tmp243*tmp53*tmp62*tmp269; +double tmp291 = tmp289 + tmp290; +double tmp292 = tmp247*tmp122*tmp129; +double tmp293 = -(tmp228*tmp248*tmp62*tmp126*tmp233)/4.; +double tmp294 = tmp292 + tmp293; +double tmp295 = 0.5*tmp53*tmp228*tmp65*tmp294; +double tmp296 = 0.5*tmp53*tmp228*tmp62*tmp278; +double tmp297 = tmp295 + tmp296; +double tmp298 = -(tmp229*tmp122*tmp149); +double tmp299 = -(tmp228*tmp230*tmp137*tmp126*tmp231)/4.; +double tmp300 = (tmp228*tmp232*tmp137*tmp126*tmp233)/4.; +double tmp301 = tmp298 + tmp299 + tmp300; +double tmp302 = 0.5*tmp53*tmp228*tmp65*tmp301; +double tmp303 = 0.5*tmp53*tmp228*tmp137*tmp258; +double tmp304 = tmp302 + tmp303; +double tmp305 = tmp226*tmp222; +double tmp306 = -tmp235; +double tmp307 = tmp305 + tmp306; +double tmp308 = -(tmp244*tmp146); +double tmp309 = -(tmp243*tmp245*tmp137*tmp126*tmp246)/4.; +double tmp310 = tmp308 + tmp309; +double tmp311 = 0.5*tmp243*tmp53*tmp65*tmp310; +double tmp312 = 0.5*tmp243*tmp53*tmp137*tmp269; +double tmp313 = tmp311 + tmp312; +double tmp314 = tmp223*tmp224; +double tmp315 = -(tmp226*tmp225); +double tmp316 = tmp314 + tmp315; +double tmp317 = tmp247*tmp122*tmp149; +double tmp318 = -(tmp228*tmp248*tmp137*tmp126*tmp233)/4.; +double tmp319 = tmp317 + tmp318; +double tmp320 = 0.5*tmp53*tmp228*tmp65*tmp319; +double tmp321 = 0.5*tmp53*tmp228*tmp137*tmp278; +double tmp322 = tmp320 + tmp321; +double tmp323 = -(tmp229*tmp122*tmp172); +double tmp324 = -(tmp228*tmp230*tmp160*tmp126*tmp231)/4.; +double tmp325 = (tmp228*tmp232*tmp160*tmp126*tmp233)/4.; +double tmp326 = tmp323 + tmp324 + tmp325; +double tmp327 = 0.5*tmp53*tmp228*tmp65*tmp326; +double tmp328 = 0.5*tmp53*tmp228*tmp160*tmp258; +double tmp329 = tmp327 + tmp328; +double tmp330 = -(tmp244*tmp169); +double tmp331 = -(tmp243*tmp245*tmp160*tmp126*tmp246)/4.; +double tmp332 = tmp330 + tmp331; +double tmp333 = 0.5*tmp243*tmp53*tmp65*tmp332; +double tmp334 = 0.5*tmp243*tmp53*tmp160*tmp269; +double tmp335 = tmp333 + tmp334; +double tmp336 = tmp247*tmp122*tmp172; +double tmp337 = -(tmp228*tmp248*tmp160*tmp126*tmp233)/4.; +double tmp338 = tmp336 + tmp337; +double tmp339 = 0.5*tmp53*tmp228*tmp65*tmp338; +double tmp340 = 0.5*tmp53*tmp228*tmp160*tmp278; +double tmp341 = tmp339 + tmp340; +double tmp342 = tmp226*tmp221; +double tmp343 = -tmp237; +double tmp344 = tmp342 + tmp343; +J(1+_OFF,1+_OFF) = -(tmp132*(-0.5*tmp53*tmp94*tmp56*tmp106*tmp62 + 0.25*tmp68*tmp53*tmp69*tmp78*tmp88*tmp56*tmp62*tmp66 - 0.25*tmp68*tmp53*tmp69*tmp78*tmp88*tmp96*tmp97*tmp89 + 0.5*tmp68*tmp53*tmp69*tmp214*tmp78*tmp56*tmp89 + 0.5*tmp68*tmp53*tmp69*tmp58*tmp88*tmp56*tmp89 - 0.5*tmp53*tmp94*(tmp162 + 2*tmp2*tmp3)*tmp56*tmp65 + 0.25*tmp53*tmp94*tmp96*tmp97*tmp106*tmp65 - 0.5*tmp53*tmp92*tmp56*tmp106*tmp125*tmp65 + 0.25*tmp53*tmp118*tmp78*tmp56*tmp65*tmp175*tmp122 + 0.5*tmp53*tmp118*tmp78*tmp56*tmp62*tmp121 - 0.25*tmp53*tmp118*tmp78*tmp96*tmp97*tmp65*tmp121 + 0.5*tmp53*tmp118*tmp58*tmp56*tmp65*tmp121 + 0.5*tmp53*tmp69*tmp78*tmp88*tmp56*tmp89*tmp122*tmp129 + 0.5*tmp53*tmp78*tmp56*tmp65*tmp121*tmp188 + 1.*tmp150*(tmp151*tmp152*tmp62 + (tmp153*tmp130*tmp154*tmp62*tmp66*tmp155)/2.))); +J(1+_OFF,2+_OFF) = -(tmp132*(-0.5*tmp53*tmp94*tmp56*tmp106*tmp137 + 0.25*tmp68*tmp53*tmp69*tmp78*tmp88*tmp56*tmp137*tmp66 - 0.25*tmp68*tmp53*tmp69*tmp78*tmp88*tmp140*tmp97*tmp89 + 0.5*tmp68*tmp53*tmp69*tmp44*tmp78*tmp56*tmp89 + 0.5*tmp68*tmp53*tmp69*tmp143*tmp88*tmp56*tmp89 - 0.5*tmp53*tmp94*(tmp196 + tmp161)*tmp56*tmp65 + 0.25*tmp53*tmp94*tmp140*tmp97*tmp106*tmp65 - 0.5*tmp53*tmp92*tmp56*tmp106*tmp146*tmp65 + 0.25*tmp53*tmp118*tmp78*tmp56*tmp65*tmp191*tmp122 + 0.5*tmp53*tmp118*tmp78*tmp56*tmp137*tmp121 - 0.25*tmp53*tmp118*tmp78*tmp140*tmp97*tmp65*tmp121 + 0.5*tmp53*tmp118*tmp143*tmp56*tmp65*tmp121 + 0.5*tmp53*tmp69*tmp78*tmp88*tmp56*tmp89*tmp122*tmp149 + 0.5*tmp53*tmp78*tmp56*tmp65*tmp121*tmp195 + 1.*tmp150*(tmp151*tmp152*tmp137 + (tmp153*tmp130*tmp154*tmp137*tmp66*tmp155)/2.))); +J(1+_OFF,3+_OFF) = -(tmp132*(-0.5*tmp53*tmp94*tmp56*tmp106*tmp160 + 0.25*tmp68*tmp53*tmp69*tmp78*tmp88*tmp56*tmp160*tmp66 - 0.25*tmp68*tmp53*tmp69*tmp78*tmp88*tmp164*tmp97*tmp89 + 0.5*tmp68*tmp53*tmp69*tmp220*tmp78*tmp56*tmp89 + 0.5*tmp68*tmp53*tmp69*tmp166*tmp88*tmp56*tmp89 - 0.5*tmp53*tmp94*tmp33*tmp56*tmp65 + 0.25*tmp53*tmp94*tmp164*tmp97*tmp106*tmp65 - 0.5*tmp53*tmp92*tmp56*tmp106*tmp169*tmp65 + 0.25*tmp53*tmp118*tmp78*tmp56*tmp65*tmp199*tmp122 + 0.5*tmp53*tmp118*tmp78*tmp56*tmp160*tmp121 - 0.25*tmp53*tmp118*tmp78*tmp164*tmp97*tmp65*tmp121 + 0.5*tmp53*tmp118*tmp166*tmp56*tmp65*tmp121 + 0.5*tmp53*tmp69*tmp78*tmp88*tmp56*tmp89*tmp122*tmp172 + 0.5*tmp53*tmp78*tmp56*tmp65*tmp121*tmp203 + 1.*tmp150*(tmp151*tmp152*tmp160 + (tmp153*tmp130*tmp154*tmp160*tmp66*tmp155)/2.))); +J(2+_OFF,1+_OFF) = -(tmp132*(0.25*tmp53*tmp118*tmp184*tmp62*tmp66 + 0.5*tmp53*tmp118*(tmp142 + 2*tmp0*tmp3)*tmp89 + 0.25*tmp68*tmp53*tmp69*tmp65*tmp175*tmp122 + 0.5*tmp68*tmp53*tmp69*tmp62*tmp121 + 0.5*tmp53*tmp69*tmp65*tmp129 + 0.5*tmp53*tmp184*tmp89*tmp188)); +J(2+_OFF,2+_OFF) = -(tmp132*(0.25*tmp53*tmp118*tmp184*tmp137*tmp66 + 0.5*tmp53*tmp118*tmp134*tmp89 + 0.25*tmp68*tmp53*tmp69*tmp65*tmp191*tmp122 + 0.5*tmp68*tmp53*tmp69*tmp137*tmp121 + 0.5*tmp53*tmp69*tmp65*tmp149 + 0.5*tmp53*tmp184*tmp89*tmp195)); +J(2+_OFF,3+_OFF) = -(tmp132*(0.25*tmp53*tmp118*tmp184*tmp160*tmp66 + 0.5*tmp53*tmp118*(tmp196 + tmp218)*tmp89 + 0.25*tmp68*tmp53*tmp69*tmp65*tmp199*tmp122 + 0.5*tmp68*tmp53*tmp69*tmp160*tmp121 + 0.5*tmp53*tmp69*tmp65*tmp172 + 0.5*tmp53*tmp184*tmp89*tmp203)); +J(3+_OFF,1+_OFF) = -(tmp132*(-0.5*tmp53*tmp94*tmp78*tmp56*tmp62 + 0.25*tmp68*tmp53*tmp69*tmp88*tmp56*tmp212*tmp62*tmp66 + 0.5*tmp68*tmp53*tmp69*tmp216*tmp88*tmp56*tmp89 - 0.25*tmp68*tmp53*tmp69*tmp88*tmp96*tmp97*tmp212*tmp89 + 0.5*tmp68*tmp53*tmp69*tmp214*tmp56*tmp212*tmp89 + 0.25*tmp53*tmp94*tmp78*tmp96*tmp97*tmp65 - 0.5*tmp53*tmp94*tmp58*tmp56*tmp65 - 0.5*tmp53*tmp92*tmp78*tmp56*tmp125*tmp65 + 0.25*tmp53*tmp118*tmp56*tmp212*tmp65*tmp175*tmp122 + 0.5*tmp53*tmp118*tmp56*tmp212*tmp62*tmp121 + 0.5*tmp53*tmp118*tmp216*tmp56*tmp65*tmp121 - 0.25*tmp53*tmp118*tmp96*tmp97*tmp212*tmp65*tmp121 + 0.5*tmp53*tmp69*tmp88*tmp56*tmp212*tmp89*tmp122*tmp129 + 0.5*tmp53*tmp56*tmp212*tmp65*tmp121*tmp188)); +J(3+_OFF,2+_OFF) = -(tmp132*(-0.5*tmp53*tmp94*tmp78*tmp56*tmp137 + 0.25*tmp68*tmp53*tmp69*tmp88*tmp56*tmp212*tmp137*tmp66 + 0.5*tmp68*tmp53*tmp69*tmp219*tmp88*tmp56*tmp89 - 0.25*tmp68*tmp53*tmp69*tmp88*tmp140*tmp97*tmp212*tmp89 + 0.5*tmp68*tmp53*tmp69*tmp44*tmp56*tmp212*tmp89 + 0.25*tmp53*tmp94*tmp78*tmp140*tmp97*tmp65 - 0.5*tmp53*tmp94*tmp143*tmp56*tmp65 - 0.5*tmp53*tmp92*tmp78*tmp56*tmp146*tmp65 + 0.25*tmp53*tmp118*tmp56*tmp212*tmp65*tmp191*tmp122 + 0.5*tmp53*tmp118*tmp56*tmp212*tmp137*tmp121 + 0.5*tmp53*tmp118*tmp219*tmp56*tmp65*tmp121 - 0.25*tmp53*tmp118*tmp140*tmp97*tmp212*tmp65*tmp121 + 0.5*tmp53*tmp69*tmp88*tmp56*tmp212*tmp89*tmp122*tmp149 + 0.5*tmp53*tmp56*tmp212*tmp65*tmp121*tmp195)); +J(3+_OFF,3+_OFF) = -(tmp132*(-0.5*tmp53*tmp94*tmp78*tmp56*tmp160 + 0.25*tmp68*tmp53*tmp69*tmp88*tmp56*tmp212*tmp160*tmp66 + 0.5*tmp68*tmp53*tmp69*tmp158*tmp88*tmp56*tmp89 - 0.25*tmp68*tmp53*tmp69*tmp88*tmp164*tmp97*tmp212*tmp89 + 0.5*tmp68*tmp53*tmp69*tmp220*tmp56*tmp212*tmp89 + 0.25*tmp53*tmp94*tmp78*tmp164*tmp97*tmp65 - 0.5*tmp53*tmp94*tmp166*tmp56*tmp65 - 0.5*tmp53*tmp92*tmp78*tmp56*tmp169*tmp65 + 0.25*tmp53*tmp118*tmp56*tmp212*tmp65*tmp199*tmp122 + 0.5*tmp53*tmp118*tmp56*tmp212*tmp160*tmp121 + 0.5*tmp53*tmp118*tmp158*tmp56*tmp65*tmp121 - 0.25*tmp53*tmp118*tmp164*tmp97*tmp212*tmp65*tmp121 + 0.5*tmp53*tmp69*tmp88*tmp56*tmp212*tmp89*tmp122*tmp172 + 0.5*tmp53*tmp56*tmp212*tmp65*tmp121*tmp203)); +J(4+_OFF,1+_OFF) = -(tmp251*tmp242*tmp285) - tmp261*tmp242*tmp291 - tmp272*tmp242*tmp297; +J(4+_OFF,2+_OFF) = -(tmp251*tmp242*tmp304) - tmp261*tmp242*tmp313 - tmp272*tmp242*tmp322; +J(4+_OFF,3+_OFF) = -(tmp251*tmp242*tmp329) - tmp261*tmp242*tmp335 - tmp272*tmp242*tmp341; +J(5+_OFF,1+_OFF) = -(tmp261*tmp242*tmp285) - tmp307*tmp242*tmp291 - tmp316*tmp242*tmp297; +J(5+_OFF,2+_OFF) = -(tmp261*tmp242*tmp304) - tmp307*tmp242*tmp313 - tmp316*tmp242*tmp322; +J(5+_OFF,3+_OFF) = -(tmp261*tmp242*tmp329) - tmp307*tmp242*tmp335 - tmp316*tmp242*tmp341; +J(6+_OFF,1+_OFF) = -(tmp272*tmp242*tmp285) - tmp316*tmp242*tmp291 - tmp344*tmp242*tmp297; +J(6+_OFF,2+_OFF) = -(tmp272*tmp242*tmp304) - tmp316*tmp242*tmp313 - tmp344*tmp242*tmp322; +J(6+_OFF,3+_OFF) = -(tmp272*tmp242*tmp329) - tmp316*tmp242*tmp335 - tmp344*tmp242*tmp341; diff --git a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_debug.cppready b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_debug.cppready index ff5c783..07f3bb9 100644 --- a/roamfree/ROAMfunctions/generated/PlaneDynamicModel_debug.cppready +++ b/roamfree/ROAMfunctions/generated/PlaneDynamicModel_debug.cppready @@ -39,50 +39,36 @@ double tmp37 = tmp27 + tmp31 + tmp34 + tmp36; double tmp38 = std::atan2(tmp37,tmp24); double tmp39 = -(tmp0*tmp3); double tmp40 = tmp13 + tmp39; -double tmp41 = tmp0*tmp2; -double tmp42 = tmp41 + tmp29; -double tmp43 = tmp8 + tmp32 + tmp10 + tmp20; -double tmp44 = x(9+_OFF); -double tmp45 = airDensity(2+_OFF); -double tmp46 = 1/tmp45; -double tmp47 = std::pow(tmp24,2); -double tmp48 = -2*tmp4*tmp40; -double tmp49 = -2*tmp7*tmp42; -double tmp50 = -(tmp6*tmp43); -double tmp51 = tmp48 + tmp49 + tmp50 + tmp44; -double tmp52 = std::pow(tmp51,2); -double tmp53 = -2*tmp4*tmp26; -double tmp54 = -2*tmp6*tmp30; -double tmp55 = -(tmp7*tmp33); -double tmp56 = tmp53 + tmp54 + tmp55 + tmp35; -double tmp57 = std::pow(tmp56,2); -double tmp58 = tmp47 + tmp52 + tmp57; -double tmp59 = airDensity(3+_OFF); -double tmp60 = 2*tmp4*tmp40; -double tmp61 = 2*tmp7*tmp42; -double tmp62 = tmp6*tmp43; -double tmp63 = -tmp44; -double tmp64 = tmp60 + tmp61 + tmp62 + tmp63; -double tmp65 = 1/std::sqrt(tmp58); -double tmp66 = tmp64*tmp65; -double tmp67 = std::asin(tmp66); -double tmp68 = cp(2+_OFF); -double tmp69 = airDensity(1+_OFF); -double tmp70 = x(3+_OFF); -double tmp71 = tmp69 + tmp70; -double tmp72 = -0.006500000000000001*tmp46*tmp71; -double tmp73 = 1 + tmp72; -double tmp74 = std::pow(tmp73,4.2561); -double tmp75 = cp(1+_OFF); -double tmp76 = std::pow(tmp75,2); -double tmp77 = z(1+_OFF); -double tmp78 = cp(3+_OFF); -double tmp79 = cBar(1+_OFF); -double tmp80 = x(13+_OFF); -dbg(1+_OFF) = 0.001740341106856944*tmp46*tmp59*tmp68*(fDrag(1+_OFF) + tmp38*fDrag(2+_OFF) + std::pow(tmp38,2)*fDrag(3+_OFF) + std::pow(tmp67,2)*fDrag(4+_OFF))*tmp74*tmp58; -dbg(2+_OFF) = -0.001740341106856944*tmp46*tmp59*tmp67*tmp68*fLat(1+_OFF)*tmp74*tmp58; -dbg(3+_OFF) = -0.001740341106856944*tmp46*tmp59*tmp68*(fLift(1+_OFF) + tmp38*fLift(2+_OFF))*tmp74*tmp58; -dbg(4+_OFF) = 0.003480682213713888*tmp46*tmp59*tmp76*tmp74*((fThrust(3+_OFF)*tmp58)/std::pow(M_PI,2) + (tmp75*fThrust(2+_OFF)*std::sqrt(tmp58)*tmp77)/M_PI + tmp76*fThrust(1+_OFF)*std::pow(tmp77,2)); -dbg(5+_OFF) = 0.001740341106856944*tmp46*tmp59*tmp68*tmp78*tmp74*tmp58*(tmp67*mRoll(2+_OFF) + (tmp78*mRoll(3+_OFF)*tmp65*x(11+_OFF))/2. - (tmp78*mRoll(4+_OFF)*tmp65*tmp80)/2. - mRoll(1+_OFF)*z(2+_OFF)); -dbg(6+_OFF) = 0.001740341106856944*tmp46*tmp59*tmp79*tmp68*tmp74*tmp58*(-mPitch(1+_OFF) - tmp38*mPitch(3+_OFF) + (tmp79*mPitch(4+_OFF)*tmp65*x(12+_OFF))/2. - mPitch(2+_OFF)*z(3+_OFF)); -dbg(7+_OFF) = 0.001740341106856944*tmp46*tmp59*tmp68*tmp78*tmp74*tmp58*(-(tmp67*mYaw(2+_OFF)) + (tmp78*mYaw(3+_OFF)*tmp65*tmp80)/2. + mYaw(1+_OFF)*z(4+_OFF)); +double tmp41 = -2*tmp4*tmp40; +double tmp42 = tmp0*tmp2; +double tmp43 = tmp42 + tmp29; +double tmp44 = -2*tmp7*tmp43; +double tmp45 = tmp8 + tmp32 + tmp10 + tmp20; +double tmp46 = -(tmp6*tmp45); +double tmp47 = x(9+_OFF); +double tmp48 = tmp41 + tmp44 + tmp46 + tmp47; +double tmp49 = std::pow(tmp24,2); +double tmp50 = std::pow(tmp48,2); +double tmp51 = -2*tmp4*tmp26; +double tmp52 = -2*tmp6*tmp30; +double tmp53 = -(tmp7*tmp33); +double tmp54 = tmp51 + tmp52 + tmp53 + tmp35; +double tmp55 = std::pow(tmp54,2); +double tmp56 = tmp49 + tmp50 + tmp55; +double tmp57 = 1/std::sqrt(tmp56); +double tmp58 = tmp48*tmp57; +double tmp59 = std::asin(tmp58); +double tmp60 = cp(2+_OFF); +double tmp61 = cp(1+_OFF); +double tmp62 = std::pow(tmp61,2); +double tmp63 = z(1+_OFF); +double tmp64 = cp(3+_OFF); +double tmp65 = cBar(1+_OFF); +double tmp66 = x(13+_OFF); +dbg(1+_OFF) = 0.5*tmp60*(fDrag(1+_OFF) + tmp38*fDrag(2+_OFF) + std::pow(tmp38,2)*fDrag(3+_OFF) + std::pow(tmp59,2)*fDrag(4+_OFF))*tmp56; +dbg(2+_OFF) = 0.5*tmp59*tmp60*fLat(1+_OFF)*tmp56; +dbg(3+_OFF) = -0.5*tmp60*(fLift(1+_OFF) + tmp38*fLift(2+_OFF))*tmp56; +dbg(4+_OFF) = 1.*tmp62*((fThrust(3+_OFF)*tmp56)/std::pow(M_PI,2) + (tmp61*fThrust(2+_OFF)*std::sqrt(tmp56)*tmp63)/M_PI + tmp62*fThrust(1+_OFF)*std::pow(tmp63,2)); +dbg(5+_OFF) = 0.5*tmp60*tmp64*tmp56*(-(tmp59*mRoll(2+_OFF)) + (tmp64*mRoll(3+_OFF)*tmp57*x(11+_OFF))/2. - (tmp64*mRoll(4+_OFF)*tmp57*tmp66)/2. - mRoll(1+_OFF)*z(2+_OFF)); +dbg(6+_OFF) = 0.5*tmp65*tmp60*tmp56*(-mPitch(1+_OFF) - tmp38*mPitch(3+_OFF) + (tmp65*mPitch(4+_OFF)*tmp57*x(12+_OFF))/2. - mPitch(2+_OFF)*z(3+_OFF)); +dbg(7+_OFF) = 0.5*tmp60*tmp64*tmp56*(tmp59*mYaw(2+_OFF) + (tmp64*mYaw(3+_OFF)*tmp57*tmp66)/2. + mYaw(1+_OFF)*z(4+_OFF));