(* Content-type: application/mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 6.0' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 145, 7] NotebookDataLength[ 125982, 2672] NotebookOptionsPosition[ 122597, 2552] NotebookOutlinePosition[ 123004, 2570] CellTagsIndexPosition[ 122961, 2567] WindowFrame->Normal ContainsDynamic->False*) (* Beginning of Notebook Content *) Notebook[{ Cell[CellGroupData[{ Cell["APPENDIX D", "Text", CellChangeTimes->{{3.3932364382196846`*^9, 3.3932364386302752`*^9}, { 3.393240852487669*^9, 3.393240879286846*^9}, 3.39324347908001*^9}, TextAlignment->Left, FontSize->16, FontWeight->"Bold"], Cell["\<\ A three parameter non-Weibullian kinetic model for simultaneous determination \ of two parameters with incremental values of the third.\ \>", "Text", CellChangeTimes->{{3.3932364382196846`*^9, 3.3932364386302752`*^9}, 3.393240852487669*^9, {3.3932408882161217`*^9, 3.393241008484394*^9}, 3.393241197240687*^9, 3.3932434843329887`*^9, {3.393251292323203*^9, 3.393251304419958*^9}, {3.393256470107287*^9, 3.393256603993466*^9}, { 3.393256635719528*^9, 3.393256798465938*^9}, {3.393256838475232*^9, 3.3932568555564938`*^9}, {3.393256893995077*^9, 3.3932569168712587`*^9}, { 3.3932569664386272`*^9, 3.393257056925153*^9}, 3.3932579467928553`*^9}, TextAlignment->Left, FontSize->16, FontWeight->"Bold"], Cell["\<\ Programmed by: Mark D. Normand and Maria G. Corradini Last modified: August 1, 2007\ \>", "Text", CellChangeTimes->{{3.3930872784630127`*^9, 3.3930872838908176`*^9}, 3.393208710262573*^9, {3.39324023689145*^9, 3.393240280808077*^9}, { 3.393251310117465*^9, 3.393251322253072*^9}, {3.393342705845125*^9, 3.393342709976535*^9}, 3.393769462731963*^9, {3.393845081139131*^9, 3.393845085683708*^9}, {3.3939712014265757`*^9, 3.3939712015927687`*^9}, 3.39419206883468*^9, {3.3949659773071413`*^9, 3.3949659790355053`*^9}}, TextAlignment->Left, FontSize->14] }, Open ]], Cell[CellGroupData[{ Cell["\<\ Assign the three parameters k1, c1 and c2 their original values. These are \ the values we are trying to recover.\ \>", "Text", CellChangeTimes->{{3.393252320078519*^9, 3.3932523356107483`*^9}, 3.3932532555890217`*^9, {3.393342731661628*^9, 3.393342736496944*^9}}, TextAlignment->Left, FontSize->14], Cell[BoxData[ RowBox[{ RowBox[{"k1", "=", "9."}], ";", RowBox[{"c1", "=", "0.01"}], ";", RowBox[{"c2", "=", "0.05"}], ";"}]], "Input", CellChangeTimes->{{3.393087288567542*^9, 3.393087294646283*^9}, { 3.393207623800317*^9, 3.3932076514801188`*^9}, {3.393251329935894*^9, 3.3932513335774937`*^9}, 3.3933428826810303`*^9}, FontSize->14] }, Open ]], Cell[CellGroupData[{ Cell["\<\ Assign the final time values, tCycle1, tCycle2 and tCycle3, for the three \ growth curves.\ \>", "Text", CellChangeTimes->{{3.3932364611726894`*^9, 3.393236462624778*^9}, { 3.39334277177721*^9, 3.393342775685718*^9}}, TextAlignment->Left, FontSize->14], Cell[BoxData[ RowBox[{ RowBox[{"tCycle1", "=", "39."}], ";", RowBox[{"tCycle2", "=", "35."}], ";", RowBox[{"tCycle3", "=", "31."}], ";"}]], "Input", CellChangeTimes->{{3.393087300294405*^9, 3.3930873131028223`*^9}, { 3.3932076550352306`*^9, 3.3932076693357935`*^9}, {3.393239734857284*^9, 3.393239742028068*^9}, {3.393971191129303*^9, 3.393971197542738*^9}}, FontSize->14] }, Open ]], Cell[CellGroupData[{ Cell["Define and plot the three temperature profile functions.", "Text", CellChangeTimes->{{3.3931678109056807`*^9, 3.393167827311077*^9}, 3.393252012141168*^9, 3.393252106930183*^9}, TextAlignment->Left, FontSize->14], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"T1", "[", "t_", "]"}], ":=", RowBox[{ RowBox[{ RowBox[{"22.5", "/", RowBox[{"(", RowBox[{"1", "+", RowBox[{"Exp", "[", RowBox[{".9", "*", RowBox[{"(", RowBox[{"5", "-", "t"}], ")"}]}], "]"}]}], ")"}]}], "/", RowBox[{"(", RowBox[{"1", "+", RowBox[{"Exp", "[", RowBox[{".9", "*", RowBox[{"(", RowBox[{"t", "-", "37.5"}], ")"}]}], "]"}]}], ")"}]}], "+", "10"}]}], ";"}]], "Input", CellChangeTimes->{3.3930896891494093`*^9, 3.393208470597952*^9}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"T2", "[", "t_", "]"}], ":=", RowBox[{ RowBox[{ RowBox[{"31.5", "/", RowBox[{"(", RowBox[{"1", "+", RowBox[{"Exp", "[", RowBox[{".9", "*", RowBox[{"(", RowBox[{"5", "-", "t"}], ")"}]}], "]"}]}], ")"}]}], "/", RowBox[{"(", RowBox[{"1", "+", RowBox[{"Exp", "[", RowBox[{".9", "*", RowBox[{"(", RowBox[{"t", "-", "33.5"}], ")"}]}], "]"}]}], ")"}]}], "+", "10"}]}], ";"}]], "Input", CellChangeTimes->{ 3.3930896756299696`*^9, {3.3932084565978208`*^9, 3.3932084576593475`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"T3", "[", "t_", "]"}], ":=", RowBox[{ RowBox[{ RowBox[{"40.", "/", RowBox[{"(", RowBox[{"1", "+", RowBox[{"Exp", "[", RowBox[{".9", "*", RowBox[{"(", RowBox[{"5", "-", "t"}], ")"}]}], "]"}]}], ")"}]}], "/", RowBox[{"(", RowBox[{"1", "+", RowBox[{"Exp", "[", RowBox[{".9", "*", RowBox[{"(", RowBox[{"t", "-", "30."}], ")"}]}], "]"}]}], ")"}]}], "+", "10"}]}], ";"}]], "Input", CellChangeTimes->{ 3.393089659667016*^9, 3.393208444690699*^9, {3.3933432895132713`*^9, 3.393343294478004*^9}}] }, Open ]], Cell[CellGroupData[{ Cell["\<\ Compute and save the three temperatures at times tCycle1, tCycle2 and tCycle3 \ using the three temperature profile functions.\ \>", "Text", CellChangeTimes->{{3.393322237848249*^9, 3.3933222418990507`*^9}, { 3.393325056163465*^9, 3.3933250652433043`*^9}, {3.393325526678794*^9, 3.393325542925816*^9}, {3.393326043888006*^9, 3.393326044481868*^9}, 3.393327194632271*^9, {3.3933303708437433`*^9, 3.393330378065383*^9}, { 3.393330985699769*^9, 3.393330989439679*^9}, {3.393339427103109*^9, 3.393339429086478*^9}, {3.393343390581909*^9, 3.393343395912416*^9}, { 3.393772085634657*^9, 3.3937720868834257`*^9}}, TextAlignment->Left, FontSize->14], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"tCycle1T1", "=", RowBox[{"T1", "[", "tCycle1", "]"}]}], ";", RowBox[{"Print", "[", RowBox[{"\"\\"", ",", "tCycle1T1"}], "]"}]}]], "Input", CellChangeTimes->{{3.393322100432173*^9, 3.3933221278763723`*^9}, 3.39332554916901*^9, {3.393325607619711*^9, 3.393325612349854*^9}, 3.393326084597148*^9, {3.393330385984529*^9, 3.3933304059236383`*^9}, { 3.393330996182164*^9, 3.393331003269291*^9}, {3.393331046968734*^9, 3.393331048972906*^9}, {3.393343414497768*^9, 3.393343423910994*^9}, 3.393769813117399*^9}], Cell[BoxData[ InterpretationBox[ RowBox[{"\<\"T1[tCycle1]=\"\>", "\[InvisibleSpace]", "14.632083365521076`"}], SequenceForm["T1[tCycle1]=", 14.632083365521076`], Editable->False]], "Print", CellChangeTimes->{3.393320121581217*^9, 3.3933221852294617`*^9, 3.393323123591468*^9, 3.3933252890246973`*^9, 3.3933254396472607`*^9, 3.3933257653010883`*^9, 3.393326611064291*^9, 3.393327059591311*^9, 3.393327201570022*^9, 3.393327837129407*^9, 3.3933286890721703`*^9, 3.393330481761557*^9, 3.393330838455962*^9, 3.3933310811866903`*^9, 3.393339336616654*^9, 3.3933399263090687`*^9, 3.393340379244706*^9, 3.393341226105783*^9, 3.393344461385172*^9, 3.3937702950934877`*^9, 3.393770866048617*^9, 3.393771713346058*^9, 3.393771783458276*^9, 3.393772596454111*^9, 3.393845172441408*^9, 3.393971207282737*^9, 3.3941924487354794`*^9, 3.39419282013765*^9, 3.394202920507824*^9, 3.3942030671062517`*^9, 3.3949660673828077`*^9, 3.3949665452600327`*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"tCycle2T2", "=", RowBox[{"T2", "[", "tCycle2", "]"}]}], ";", RowBox[{"Print", "[", RowBox[{"\"\\"", ",", "tCycle2T2"}], "]"}]}]], "Input", CellChangeTimes->{{3.39332215124137*^9, 3.3933221528608713`*^9}, { 3.393325557500794*^9, 3.393325579892871*^9}, 3.393325619031274*^9, 3.39332609024548*^9, {3.393330392021524*^9, 3.393330410491646*^9}, { 3.393330997885365*^9, 3.393331004684204*^9}, {3.393331050948956*^9, 3.393331053101078*^9}, {3.393343418645937*^9, 3.3933434289907627`*^9}, 3.3937698147576036`*^9}], Cell[BoxData[ InterpretationBox[ RowBox[{"\<\"T2[tCycle2]=\"\>", "\[InvisibleSpace]", "16.484916711717652`"}], SequenceForm["T2[tCycle2]=", 16.484916711717652`], Editable->False]], "Print", CellChangeTimes->{3.393320121694007*^9, 3.393322185357984*^9, 3.393323123750484*^9, 3.393325289185557*^9, 3.393325439912942*^9, 3.3933257654491453`*^9, 3.393326611145443*^9, 3.3933270598144608`*^9, 3.393327201651826*^9, 3.393327837210575*^9, 3.393328689155407*^9, 3.393330481869207*^9, 3.3933308385259132`*^9, 3.393331081294511*^9, 3.3933393367146387`*^9, 3.393339926410222*^9, 3.39334037936642*^9, 3.393341226211865*^9, 3.3933444614874783`*^9, 3.393770295188795*^9, 3.393770866185771*^9, 3.39377171345262*^9, 3.393771783553364*^9, 3.3937725965708017`*^9, 3.393845172544324*^9, 3.393971207510509*^9, 3.394192448843364*^9, 3.394192820242413*^9, 3.394202920586804*^9, 3.394203067226035*^9, 3.394966067490595*^9, 3.394966545328493*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"tCycle3T3", "=", RowBox[{"T3", "[", "tCycle3", "]"}]}], ";", RowBox[{"Print", "[", RowBox[{"\"\\"", ",", "tCycle3T3"}], "]"}]}]], "Input", CellChangeTimes->{{3.393322170793523*^9, 3.393322172397147*^9}, { 3.393325566670063*^9, 3.393325582959031*^9}, 3.393325626854475*^9, 3.3933261158418827`*^9, {3.3933303956527243`*^9, 3.393330414259577*^9}, 3.393331055262907*^9}], Cell[BoxData[ InterpretationBox[ RowBox[{"\<\"T3[tCycle3]=\"\>", "\[InvisibleSpace]", "21.562019894204518`"}], SequenceForm["T3[tCycle3]=", 21.562019894204518`], Editable->False]], "Print", CellChangeTimes->{3.3933201217909107`*^9, 3.393322185505349*^9, 3.393323123897531*^9, 3.393325289315895*^9, 3.393325440102467*^9, 3.3933257655674067`*^9, 3.393326611225205*^9, 3.393327059898323*^9, 3.393327201743946*^9, 3.3933278373035583`*^9, 3.3933286892366247`*^9, 3.393330481976028*^9, 3.393330838605731*^9, 3.393331081400239*^9, 3.393339336807788*^9, 3.393339926501018*^9, 3.393340379487528*^9, 3.39334122632506*^9, 3.3933444615771427`*^9, 3.3937702952597218`*^9, 3.393770866289915*^9, 3.393771713544785*^9, 3.393771783666697*^9, 3.393772596677479*^9, 3.393845172628944*^9, 3.3939712077450237`*^9, 3.39419244895129*^9, 3.394192820349308*^9, 3.394202920666326*^9, 3.394203067315728*^9, 3.394966067603559*^9, 3.3949665453951674`*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Define the three growth functions as function modules.", "Text", CellChangeTimes->{{3.393236469224267*^9, 3.393236470666341*^9}}, TextAlignment->Left, FontSize->14], Cell[BoxData[ RowBox[{ RowBox[{"GF1", "[", RowBox[{ RowBox[{"k1_", "?", "NumericQ"}], ",", RowBox[{"c1_", "?", "NumericQ"}], ",", RowBox[{"c2_", "?", "NumericQ"}], ",", RowBox[{"tFinal_", "?", "NumericQ"}]}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"k21", ",", "sfn1", ",", "t", ",", "T1", ",", "y1", ",", RowBox[{"y0", "=", "1."}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"T1", "[", "t_", "]"}], ":=", RowBox[{ RowBox[{ RowBox[{"22.5", "/", RowBox[{"(", RowBox[{"1", "+", RowBox[{"Exp", "[", RowBox[{".9", "*", RowBox[{"(", RowBox[{"5", "-", "t"}], ")"}]}], "]"}]}], ")"}]}], "/", RowBox[{"(", RowBox[{"1", "+", RowBox[{"Exp", "[", RowBox[{".9", "*", RowBox[{"(", RowBox[{"t", "-", "37.5"}], ")"}]}], "]"}]}], ")"}]}], "+", "10"}]}], ";", RowBox[{ RowBox[{"k21", "[", "t_", "]"}], ":=", RowBox[{"c1", "*", RowBox[{"Exp", "[", RowBox[{"c2", "*", RowBox[{"T1", "[", "t", "]"}]}], "]"}]}]}], ";", RowBox[{ RowBox[{"sfn1", "[", "t_", "]"}], "=", RowBox[{ RowBox[{"NDSolve", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ RowBox[{"y1", "'"}], "[", "t", "]"}], "\[Equal]", RowBox[{ RowBox[{"-", RowBox[{"Exp", "[", RowBox[{ RowBox[{"-", RowBox[{"k21", "[", "t", "]"}]}], "*", RowBox[{"(", RowBox[{ RowBox[{"-", RowBox[{"Log", "[", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "k1"}], "+", RowBox[{"y1", "[", "t", "]"}], "-", "y0"}], ")"}], "/", "k1"}], "]"}]}], "/", RowBox[{"k21", "[", "t", "]"}]}], ")"}]}], "]"}]}], "*", RowBox[{"k21", "[", "t", "]"}], "*", "k1"}]}], ",", RowBox[{ RowBox[{"y1", "[", "0.", "]"}], "\[Equal]", "1."}]}], "}"}], ",", RowBox[{"y1", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "0.001", ",", RowBox[{"tCycle1", "+", "1."}]}], "}"}]}], "]"}], "[", RowBox[{"[", RowBox[{"1", ",", "1", ",", "2"}], "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"sfn1", "[", "tFinal", "]"}]}]}], "]"}]}]], "Input", CellChangeTimes->{ 3.393089579682003*^9, {3.393089730338637*^9, 3.393089731239933*^9}, 3.393089880384392*^9, {3.3932076741927776`*^9, 3.3932077269386225`*^9}, 3.393208407387059*^9, {3.39320854465444*^9, 3.3932085881870365`*^9}, { 3.3932086234577537`*^9, 3.393208641854206*^9}, {3.3932414432291327`*^9, 3.39324144395172*^9}, {3.3933428713461447`*^9, 3.393342899936948*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"GF2", "[", RowBox[{ RowBox[{"k1_", "?", "NumericQ"}], ",", RowBox[{"c1_", "?", "NumericQ"}], ",", RowBox[{"c2_", "?", "NumericQ"}], ",", RowBox[{"tFinal_", "?", "NumericQ"}]}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"k22", ",", "sfn2", ",", "t", ",", "T2", ",", "y2", ",", RowBox[{"y0", "=", "1."}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"T2", "[", "t_", "]"}], ":=", RowBox[{ RowBox[{ RowBox[{"31.5", "/", RowBox[{"(", RowBox[{"1", "+", RowBox[{"Exp", "[", RowBox[{".9", "*", RowBox[{"(", RowBox[{"5", "-", "t"}], ")"}]}], "]"}]}], ")"}]}], "/", RowBox[{"(", RowBox[{"1", "+", RowBox[{"Exp", "[", RowBox[{".9", "*", RowBox[{"(", RowBox[{"t", "-", "33.5"}], ")"}]}], "]"}]}], ")"}]}], "+", "10"}]}], ";", RowBox[{ RowBox[{"k22", "[", "t_", "]"}], ":=", RowBox[{"c1", "*", RowBox[{"Exp", "[", RowBox[{"c2", "*", RowBox[{"T2", "[", "t", "]"}]}], "]"}]}]}], ";", RowBox[{ RowBox[{"sfn2", "[", "t_", "]"}], "=", RowBox[{ RowBox[{"NDSolve", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ RowBox[{"y2", "'"}], "[", "t", "]"}], "\[Equal]", RowBox[{ RowBox[{"-", RowBox[{"Exp", "[", RowBox[{ RowBox[{"-", RowBox[{"k22", "[", "t", "]"}]}], "*", RowBox[{"(", RowBox[{ RowBox[{"-", RowBox[{"Log", "[", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "k1"}], "+", RowBox[{"y2", "[", "t", "]"}], "-", "y0"}], ")"}], "/", "k1"}], "]"}]}], "/", RowBox[{"k22", "[", "t", "]"}]}], ")"}]}], "]"}]}], "*", RowBox[{"k22", "[", "t", "]"}], "*", "k1"}]}], ",", RowBox[{ RowBox[{"y2", "[", "0.", "]"}], "\[Equal]", "1."}]}], "}"}], ",", RowBox[{"y2", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "0.001", ",", RowBox[{"tCycle2", "+", "1."}]}], "}"}]}], "]"}], "[", RowBox[{"[", RowBox[{"1", ",", "1", ",", "2"}], "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"sfn2", "[", "tFinal", "]"}]}]}], "]"}]}]], "Input", CellChangeTimes->{ 3.3930896106164846`*^9, {3.393089734895189*^9, 3.3930897357664413`*^9}, { 3.393089887775019*^9, 3.3930899140628195`*^9}, 3.393089973868816*^9, { 3.3932077333678675`*^9, 3.393207778532811*^9}, {3.393208420445837*^9, 3.39320843549748*^9}, {3.393208603368867*^9, 3.3932086359657393`*^9}, { 3.393241464288898*^9, 3.393241465191568*^9}, {3.393342901135219*^9, 3.393342912166922*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"GF3", "[", RowBox[{ RowBox[{"k_", "?", "NumericQ"}], ",", RowBox[{"n_", "?", "NumericQ"}], ",", RowBox[{"Tc_", "?", "NumericQ"}], ",", RowBox[{"tFinal_", "?", "NumericQ"}]}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"b3", ",", "sfn3", ",", "t", ",", "T3", ",", "y3", ",", RowBox[{"y0", "=", "1."}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"T3", "[", "t_", "]"}], ":=", RowBox[{ RowBox[{ RowBox[{"40", "/", RowBox[{"(", RowBox[{"1", "+", RowBox[{"Exp", "[", RowBox[{".9", "*", RowBox[{"(", RowBox[{"5", "-", "t"}], ")"}]}], "]"}]}], ")"}]}], "/", RowBox[{"(", RowBox[{"1", "+", RowBox[{"Exp", "[", RowBox[{".9", "*", RowBox[{"(", RowBox[{"t", "-", "30"}], ")"}]}], "]"}]}], ")"}]}], "+", "10"}]}], ";", RowBox[{ RowBox[{"k23", "[", "t_", "]"}], ":=", RowBox[{"c1", "*", RowBox[{"Exp", "[", RowBox[{"c2", "*", RowBox[{"T3", "[", "t", "]"}]}], "]"}]}]}], ";", RowBox[{ RowBox[{"sfn3", "[", "t_", "]"}], "=", RowBox[{ RowBox[{"NDSolve", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ RowBox[{"y3", "'"}], "[", "t", "]"}], "\[Equal]", RowBox[{ RowBox[{"-", RowBox[{"Exp", "[", RowBox[{ RowBox[{"-", RowBox[{"k23", "[", "t", "]"}]}], "*", RowBox[{"(", RowBox[{ RowBox[{"-", RowBox[{"Log", "[", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "k1"}], "+", RowBox[{"y3", "[", "t", "]"}], "-", "y0"}], ")"}], "/", "k1"}], "]"}]}], "/", RowBox[{"k23", "[", "t", "]"}]}], ")"}]}], "]"}]}], "*", RowBox[{"k23", "[", "t", "]"}], "*", "k1"}]}], ",", RowBox[{ RowBox[{"y3", "[", "0.", "]"}], "\[Equal]", "1."}]}], "}"}], ",", RowBox[{"y3", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "0.001", ",", RowBox[{"tCycle3", "+", "1."}]}], "}"}]}], "]"}], "[", RowBox[{"[", RowBox[{"1", ",", "1", ",", "2"}], "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"sfn3", "[", "tFinal", "]"}]}]}], "]"}]}]], "Input", CellChangeTimes->{ 3.393089648651176*^9, {3.393089738981064*^9, 3.3930897400926623`*^9}, { 3.393089898560528*^9, 3.393089936304802*^9}, {3.3932077885672398`*^9, 3.393207796779048*^9}, {3.3932084320324974`*^9, 3.3932084396434417`*^9}, { 3.3932086595095935`*^9, 3.393208674791568*^9}, {3.39324147689463*^9, 3.393241477880495*^9}, {3.393342902613923*^9, 3.3933429154145412`*^9}}] }, Open ]], Cell[CellGroupData[{ Cell["\<\ Compute and save the three growth function values at each of the three final \ times (tCycle1, tCycle2 & tCycle3) using the original values for the \ parameters k1, c1 and c2. targetGF3 is the target growth function GF3 value \ at time tCycle3 using the original values of the three parameters k1, c1 and \ c2.\ \>", "Text", CellChangeTimes->{{3.3932364808710146`*^9, 3.3932364969941983`*^9}, { 3.393342952535915*^9, 3.3933429613476677`*^9}, {3.39334299214036*^9, 3.393343005410124*^9}, {3.39334315522622*^9, 3.393343155617288*^9}, 3.393845302533925*^9}, TextAlignment->Left, FontSize->14], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"gfCycle1", "=", RowBox[{"GF1", "[", RowBox[{"k1", ",", "c1", ",", "c2", ",", "tCycle1"}], "]"}]}], ";", RowBox[{"Print", "[", RowBox[{"\"\\"", ",", "gfCycle1"}], "]"}]}]], "Input", CellChangeTimes->{{3.393207807674715*^9, 3.393207812471613*^9}, { 3.393241488864401*^9, 3.3932414897120543`*^9}, {3.393343028282597*^9, 3.393343043796874*^9}, {3.393344387092203*^9, 3.393344388233645*^9}}], Cell[BoxData[ InterpretationBox[ RowBox[{"\<\"GF1[k1,c1,c2,tCycle1]=\"\>", "\[InvisibleSpace]", "8.372587761933206`"}], SequenceForm["GF1[k1,c1,c2,tCycle1]=", 8.372587761933206], Editable->False]], "Print", CellChangeTimes->{3.393344495943859*^9, 3.393770295415264*^9, 3.393770866491625*^9, 3.393771713724823*^9, 3.393771783877427*^9, 3.393772596904901*^9, 3.393845172827977*^9, 3.3939712099840918`*^9, 3.3941924492125473`*^9, 3.3941928205376472`*^9, 3.394202920939172*^9, 3.394203067510807*^9, 3.3949660678030443`*^9, 3.394966545552863*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"gfCycle2", "=", RowBox[{"GF2", "[", RowBox[{"k1", ",", "c1", ",", "c2", ",", "tCycle2"}], "]"}]}], ";", RowBox[{"Print", "[", RowBox[{"\"\\"", ",", "gfCycle2"}], "]"}]}]], "Input", CellChangeTimes->{{3.39320781535576*^9, 3.393207820192715*^9}, { 3.393241496383397*^9, 3.3932414971525393`*^9}, {3.393343049450053*^9, 3.393343068581353*^9}, {3.393344391352076*^9, 3.3933443922157707`*^9}}], Cell[BoxData[ InterpretationBox[ RowBox[{"\<\"GF2[k1,c1,c2,tCycle2]=\"\>", "\[InvisibleSpace]", "9.063248057848442`"}], SequenceForm["GF2[k1,c1,c2,tCycle2]=", 9.063248057848442], Editable->False]], "Print", CellChangeTimes->{3.393344496217073*^9, 3.3937702955002537`*^9, 3.393770866615046*^9, 3.393771713809127*^9, 3.3937717839810667`*^9, 3.393772597022079*^9, 3.393845172937667*^9, 3.3939712109044456`*^9, 3.394192449335432*^9, 3.3941928206426697`*^9, 3.394202921026807*^9, 3.3942030676052217`*^9, 3.394966067896758*^9, 3.394966545634348*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"gfCycle3", "=", RowBox[{"GF3", "[", RowBox[{"k1", ",", "c1", ",", "c2", ",", "tCycle3"}], "]"}]}], ";", RowBox[{"targetGF3", "=", "gfCycle3"}], ";", RowBox[{"Print", "[", RowBox[{"\"\\"", ",", "gfCycle3"}], "]"}]}]], "Input", CellChangeTimes->{{3.3932078234774384`*^9, 3.3932078288752003`*^9}, { 3.393241502847794*^9, 3.393241509313978*^9}, {3.3933431708298187`*^9, 3.393343222468656*^9}, {3.393344393022944*^9, 3.393344394621798*^9}}], Cell[BoxData[ InterpretationBox[ RowBox[{"\<\"GF3[k1,c1,c2,tCycle2]=\"\>", "\[InvisibleSpace]", "9.508375500830404`"}], SequenceForm["GF3[k1,c1,c2,tCycle2]=", 9.508375500830404], Editable->False]], "Print", CellChangeTimes->{3.39334449633535*^9, 3.393770295592989*^9, 3.393770866723485*^9, 3.393771713902278*^9, 3.393771784069207*^9, 3.393772597117241*^9, 3.393845173029621*^9, 3.393971211139544*^9, 3.394192449431486*^9, 3.394192820737627*^9, 3.394202921120071*^9, 3.3942030676919727`*^9, 3.394966067981474*^9, 3.394966545729063*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["\<\ Iterate values of the parameter k1 starting with k1=k1St up to k1=k1En with \ an increment of k1Inc. NOTICE THAT THE PROGRAM FINDS THE ORIGINAL GENERATION \ PARAMETER VALUES k1=9., c1=0.01 and c2=0.05.\ \>", "Text", CellChangeTimes->{{3.3932078655679617`*^9, 3.3932078819114623`*^9}, { 3.393251538651164*^9, 3.393251539163865*^9}, {3.3932533343034487`*^9, 3.393253335049089*^9}, {3.393253433806048*^9, 3.3932534405623693`*^9}}, TextAlignment->Left, FontSize->14], Cell[BoxData[ RowBox[{ RowBox[{"k1St", "=", "8.5"}], ";", RowBox[{"k1En", "=", "9.5"}], ";", RowBox[{"k1Inc", "=", "0.1"}], ";"}]], "Input", CellChangeTimes->{{3.3930900527622595`*^9, 3.393090056868163*^9}, { 3.39309023384264*^9, 3.3930902388898973`*^9}, {3.3932078617825184`*^9, 3.393207888070318*^9}, {3.3932361119705615`*^9, 3.3932361182495904`*^9}, { 3.3932362409059615`*^9, 3.3932362516714416`*^9}}], Cell["\<\ Stop iterating when the absolute value of the difference between the target \ and trial values of GF3 is less than tol.\ \>", "Text", CellChangeTimes->{3.39324334667719*^9}, TextAlignment->Left, FontSize->14], Cell[BoxData[ RowBox[{ RowBox[{"tol", "=", "0.0001"}], ";"}]], "Input", CellChangeTimes->{{3.393090125416731*^9, 3.393090125566947*^9}, 3.393251482958637*^9}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Do", "[", RowBox[{ RowBox[{ RowBox[{"Clear", "[", RowBox[{"c1", ",", "c2"}], "]"}], ";", RowBox[{"frResult", "=", RowBox[{"FindRoot", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"GF1", "[", RowBox[{"k1", ",", "c1", ",", "c2", ",", "tCycle1"}], "]"}], "==", "gfCycle1"}], ",", RowBox[{ RowBox[{"GF2", "[", RowBox[{"k1", ",", "c1", ",", "c2", ",", "tCycle2"}], "]"}], "\[Equal]", "gfCycle2"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"c1", ",", ".005", ",", ".015"}], "}"}], ",", RowBox[{"{", RowBox[{"c2", ",", "0.04", ",", "0.06"}], "}"}]}], "}"}], ",", RowBox[{"MaxIterations", "\[Rule]", "2000"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"c1", "=", RowBox[{"frResult", "[", RowBox[{"[", RowBox[{"1", ",", "2"}], "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"c2", "=", RowBox[{"frResult", "[", RowBox[{"[", RowBox[{"2", ",", "2"}], "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"trialGF3", "=", RowBox[{"GF3", "[", RowBox[{"k1", ",", "c1", ",", "c2", ",", "tCycle3"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"Print", "[", RowBox[{ "\"\\"", ",", "trialGF3", ",", "\"\< k1= \>\"", ",", "k1", ",", "\"\< c1= \>\"", ",", "c1", ",", "\"\< c2= \>\"", ",", "c2"}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Abs", "[", RowBox[{"targetGF3", "-", "trialGF3"}], "]"}], "<", "tol"}], ",", RowBox[{"Break", "[", "]"}]}], "]"}]}], "\[IndentingNewLine]", ",", RowBox[{"{", RowBox[{"k1", ",", "k1St", ",", "k1En", ",", "k1Inc"}], "}"}]}], "]"}]], "Input", CellChangeTimes->{{3.3930900796809664`*^9, 3.3930900928999743`*^9}, { 3.3932078993164897`*^9, 3.3932080178469276`*^9}, {3.393243347939351*^9, 3.3932433566283083`*^9}, {3.393251724380299*^9, 3.393251724566799*^9}, { 3.393344397571279*^9, 3.393344398330686*^9}, {3.3941928016381617`*^9, 3.3941928116020927`*^9}}], Cell[BoxData[ InterpretationBox[ RowBox[{"\<\"trialGF3= \"\>", "\[InvisibleSpace]", "9.374955270741838`", "\[InvisibleSpace]", "\<\" k1= \"\>", "\[InvisibleSpace]", "8.5`", "\[InvisibleSpace]", "\<\" c1= \"\>", "\[InvisibleSpace]", "0.008106777231250563`", "\[InvisibleSpace]", "\<\" c2= \"\>", "\[InvisibleSpace]", "0.06234276713208406`"}], SequenceForm[ "trialGF3= ", 9.374955270741838, " k1= ", 8.5, " c1= ", 0.008106777231250563, " c2= ", 0.06234276713208406], Editable->False]], "Print", CellChangeTimes->{3.3932433897204943`*^9, 3.393251698858222*^9, 3.3933445047623997`*^9, 3.393770296815781*^9, 3.393770867914894*^9, 3.393771714964653*^9, 3.393771785070855*^9, 3.393772598357132*^9, 3.393845174080491*^9, 3.3939712141662827`*^9, 3.394192450640855*^9, 3.394192821731637*^9, 3.394202922253996*^9, 3.394203068523162*^9, 3.39496606920227*^9, 3.394966546530669*^9}], Cell[BoxData[ InterpretationBox[ RowBox[{ RowBox[{"\<\"trialGF3= \"\>", "\[InvisibleSpace]", "9.41291228342613`"}], "\[InvisibleSpace]", "+", RowBox[{ RowBox[{"0.`", " ", "\[ImaginaryI]"}], "\[InvisibleSpace]", "\<\" k1= \"\>", "\[InvisibleSpace]", "8.6`", "\[InvisibleSpace]", "\<\" c1= \"\>", "\[InvisibleSpace]", "0.008721236508324829`", "\[InvisibleSpace]", "\<\" c2= \"\>", "\[InvisibleSpace]", "0.05874718442241053`"}]}], SequenceForm["trialGF3= ", Complex[9.41291228342613, 0.], " k1= ", 8.6, " c1= ", 0.008721236508324829, " c2= ", 0.05874718442241053], Editable->False]], "Print", CellChangeTimes->{3.3932433897204943`*^9, 3.393251698858222*^9, 3.3933445047623997`*^9, 3.393770296815781*^9, 3.393770867914894*^9, 3.393771714964653*^9, 3.393771785070855*^9, 3.393772598357132*^9, 3.393845174080491*^9, 3.3939712141662827`*^9, 3.394192450640855*^9, 3.394192821731637*^9, 3.394202922253996*^9, 3.394203068523162*^9, 3.39496606920227*^9, 3.394966547174789*^9}], Cell[BoxData[ InterpretationBox[ RowBox[{"\<\"trialGF3= \"\>", "\[InvisibleSpace]", "9.443798507103761`", "\[InvisibleSpace]", "\<\" k1= \"\>", "\[InvisibleSpace]", "8.7`", "\[InvisibleSpace]", "\<\" c1= \"\>", "\[InvisibleSpace]", "0.009185790768315522`", "\[InvisibleSpace]", "\<\" c2= \"\>", "\[InvisibleSpace]", "0.05590395836433495`"}], SequenceForm[ "trialGF3= ", 9.443798507103761, " k1= ", 8.7, " c1= ", 0.009185790768315522, " c2= ", 0.05590395836433495], Editable->False]], "Print", CellChangeTimes->{3.3932433897204943`*^9, 3.393251698858222*^9, 3.3933445047623997`*^9, 3.393770296815781*^9, 3.393770867914894*^9, 3.393771714964653*^9, 3.393771785070855*^9, 3.393772598357132*^9, 3.393845174080491*^9, 3.3939712141662827`*^9, 3.394192450640855*^9, 3.394192821731637*^9, 3.394202922253996*^9, 3.394203068523162*^9, 3.39496606920227*^9, 3.394966547895343*^9}], Cell[BoxData[ InterpretationBox[ RowBox[{"\<\"trialGF3= \"\>", "\[InvisibleSpace]", "9.469256946675872`", "\[InvisibleSpace]", "\<\" k1= \"\>", "\[InvisibleSpace]", "8.8`", "\[InvisibleSpace]", "\<\" c1= \"\>", "\[InvisibleSpace]", "0.009537500789499078`", "\[InvisibleSpace]", "\<\" c2= \"\>", "\[InvisibleSpace]", "0.05358438783944752`"}], SequenceForm[ "trialGF3= ", 9.469256946675872, " k1= ", 8.8, " c1= ", 0.009537500789499078, " c2= ", 0.05358438783944752], Editable->False]], "Print", CellChangeTimes->{3.3932433897204943`*^9, 3.393251698858222*^9, 3.3933445047623997`*^9, 3.393770296815781*^9, 3.393770867914894*^9, 3.393771714964653*^9, 3.393771785070855*^9, 3.393772598357132*^9, 3.393845174080491*^9, 3.3939712141662827`*^9, 3.394192450640855*^9, 3.394192821731637*^9, 3.394202922253996*^9, 3.394203068523162*^9, 3.39496606920227*^9, 3.394966548516726*^9}], Cell[BoxData[ InterpretationBox[ RowBox[{"\<\"trialGF3= \"\>", "\[InvisibleSpace]", "9.490486351315408`", "\[InvisibleSpace]", "\<\" k1= \"\>", "\[InvisibleSpace]", "8.9`", "\[InvisibleSpace]", "\<\" c1= \"\>", "\[InvisibleSpace]", "0.009802552900716471`", "\[InvisibleSpace]", "\<\" c2= \"\>", "\[InvisibleSpace]", "0.05164731568995164`"}], SequenceForm[ "trialGF3= ", 9.490486351315408, " k1= ", 8.9, " c1= ", 0.009802552900716471, " c2= ", 0.05164731568995164], Editable->False]], "Print", CellChangeTimes->{3.3932433897204943`*^9, 3.393251698858222*^9, 3.3933445047623997`*^9, 3.393770296815781*^9, 3.393770867914894*^9, 3.393771714964653*^9, 3.393771785070855*^9, 3.393772598357132*^9, 3.393845174080491*^9, 3.3939712141662827`*^9, 3.394192450640855*^9, 3.394192821731637*^9, 3.394202922253996*^9, 3.394203068523162*^9, 3.39496606920227*^9, 3.3949665495463963`*^9}], Cell[BoxData[ InterpretationBox[ RowBox[{"\<\"trialGF3= \"\>", "\[InvisibleSpace]", "9.508375500796651`", "\[InvisibleSpace]", "\<\" k1= \"\>", "\[InvisibleSpace]", "9.`", "\[InvisibleSpace]", "\<\" c1= \"\>", "\[InvisibleSpace]", "0.010000000000513947`", "\[InvisibleSpace]", "\<\" c2= \"\>", "\[InvisibleSpace]", "0.04999999999839932`"}], SequenceForm[ "trialGF3= ", 9.508375500796651, " k1= ", 9., " c1= ", 0.010000000000513947`, " c2= ", 0.04999999999839932], Editable->False]], "Print", CellChangeTimes->{3.3932433897204943`*^9, 3.393251698858222*^9, 3.3933445047623997`*^9, 3.393770296815781*^9, 3.393770867914894*^9, 3.393771714964653*^9, 3.393771785070855*^9, 3.393772598357132*^9, 3.393845174080491*^9, 3.3939712141662827`*^9, 3.394192450640855*^9, 3.394192821731637*^9, 3.394202922253996*^9, 3.394203068523162*^9, 3.39496606920227*^9, 3.394966550397151*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Plot the three temperature profile functions separately.", "Text", CellChangeTimes->{{3.3931678109056807`*^9, 3.393167827311077*^9}, 3.393252012141168*^9, 3.393252106930183*^9, 3.393343261412565*^9, { 3.3937708428372307`*^9, 3.3937708459690247`*^9}}, TextAlignment->Left, FontSize->14], Cell[BoxData[ RowBox[{ RowBox[{"tempCurveT1Plot", "=", RowBox[{"Plot", "[", RowBox[{ RowBox[{"T1", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "0.", ",", "tCycle1"}], "}"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0.", ",", "40."}], "}"}], ",", RowBox[{"{", RowBox[{"0.", ",", "60."}], "}"}]}], "}"}]}], ",", RowBox[{"AspectRatio", "\[Rule]", "1"}], ",", RowBox[{"PlotStyle", "\[Rule]", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"Thickness", "[", "0.01", "]"}], ",", "LightGray", ",", RowBox[{"Dashing", "[", "None", "]"}]}], "}"}], "}"}]}], ",", RowBox[{"PlotLabel", "\[Rule]", "\"\\""}], ",", RowBox[{"Frame", "\[Rule]", "True"}], ",", RowBox[{"RotateLabel", "\[Rule]", "True"}], ",", RowBox[{"BaseStyle", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"FontFamily", "\[Rule]", "\"\\""}], ",", RowBox[{"FontWeight", "\[Rule]", "\"\\""}], ",", RowBox[{"FontSize", "\[Rule]", "14"}]}], "}"}]}], ",", RowBox[{"FrameLabel", "\[Rule]", RowBox[{"{", RowBox[{"\"\<\>\"", ",", "\"\\""}], "}"}]}], ",", RowBox[{"FrameTicks", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "10", ",", "20", ",", "30", ",", "40"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "10", ",", "20", ",", "30", ",", "40", ",", "50", ",", "60"}], "}"}], ",", RowBox[{"{", "}"}], ",", RowBox[{"{", "}"}]}], "}"}]}]}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.3930899913038864`*^9, 3.3930900159693537`*^9}, { 3.3932360414291277`*^9, 3.3932360467267456`*^9}, 3.393251595379086*^9, { 3.3933435623814898`*^9, 3.393343669957779*^9}, 3.3933437372873793`*^9, { 3.3933439597152977`*^9, 3.393343960409959*^9}, {3.3933446635686903`*^9, 3.393344691588764*^9}, 3.3937701136047564`*^9, {3.393770451271509*^9, 3.393770462744796*^9}, 3.3937704988912354`*^9, {3.3937705986137238`*^9, 3.393770599347433*^9}, {3.393771334730516*^9, 3.393771340656417*^9}, 3.393771597031239*^9, {3.394192144117404*^9, 3.394192179502544*^9}, { 3.394192216620707*^9, 3.394192236464835*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"tempCurveT2Plot", "=", RowBox[{"Plot", "[", RowBox[{ RowBox[{"T2", "[", "t", "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "0.", ",", "tCycle2"}], "}"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0.", ",", "40."}], "}"}], ",", RowBox[{"{", RowBox[{"0.", ",", "60."}], "}"}]}], "}"}]}], ",", RowBox[{"AspectRatio", "\[Rule]", "1"}], ",", RowBox[{"PlotStyle", "\[Rule]", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"Thickness", "[", "0.01", "]"}], ",", "Gray", ",", RowBox[{"Dashing", "[", "None", "]"}]}], "}"}], "}"}]}], ",", RowBox[{"PlotLabel", "\[Rule]", "\"\\""}], ",", RowBox[{"Frame", "\[Rule]", "True"}], ",", RowBox[{"RotateLabel", "\[Rule]", "True"}], ",", RowBox[{"BaseStyle", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"FontFamily", "\[Rule]", "\"\\""}], ",", RowBox[{"FontWeight", "\[Rule]", "\"\\""}], ",", RowBox[{"FontSize", "\[Rule]", "14"}]}], "}"}]}], ",", RowBox[{"FrameLabel", "\[Rule]", RowBox[{"{", RowBox[{ "\"\