(* 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[ 156598, 4248] NotebookOptionsPosition[ 152277, 4117] NotebookOutlinePosition[ 152695, 4133] CellTagsIndexPosition[ 152652, 4130] WindowFrame->Normal ContainsDynamic->False*) (* Beginning of Notebook Content *) Notebook[{ Cell[BoxData[ StyleBox[ RowBox[{"Root", " ", "growth", " ", "grammar"}], "Title"]], "Input", Evaluatable->False, InitializationCell->True, CellChangeTimes->{{3.4521125582422733`*^9, 3.45211257012901*^9}, { 3.4521194496110506`*^9, 3.452119472082691*^9}, {3.452267721126402*^9, 3.4522677365581303`*^9}, {3.452268081123283*^9, 3.452268090346269*^9}, { 3.4522686242179685`*^9, 3.45226863042671*^9}, {3.452269026244027*^9, 3.452269032833305*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"\[Copyright]", " ", "Copyright", " ", "2005"}], "-", RowBox[{"2009", " ", "Plenum", " ", RowBox[{"software", ".", " ", "Guy"}], " ", "Yosiphon", " ", "and", " ", "Eric", " ", RowBox[{"Mjolsness", ".", " ", "All"}], " ", "rights", " ", RowBox[{"reserved", "."}]}]}]], "Input", Evaluatable->False, InitializationCell->True, CellChangeTimes->{{3.4521125582422733`*^9, 3.45211257012901*^9}}], Cell[CellGroupData[{ Cell["Prerequisite: load the package:", "Section", CellChangeTimes->{3.4521193824665103`*^9}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"<<", "Plenum.m"}], ";"}]], "Input"], Cell[BoxData["\<\"Plenum: version 23\"\>"], "Print", CellChangeTimes->{3.4521137977975855`*^9, 3.452119392941259*^9, 3.4521196643634253`*^9, 3.452268105888152*^9}], Cell[BoxData[ RowBox[{ RowBox[{"General", "::", "\<\"obspkg\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(\\\"Statistics`ContinuousDistributions`\\\"\\) is \ now obsolete. The legacy version being loaded may conflict with current \ Mathematica functionality. See the Compatibility Guide for updating \ information. \\!\\(\\*ButtonBox[\\\"\[RightSkeleton]\\\", \ ButtonStyle->\\\"Link\\\", ButtonFrame->None, \ ButtonData:>\\\"paclet:Compatibility/Tutorials/Statistics/\ ContinuousDistributions\\\", ButtonNote -> \ \\\"General::obspkg\\\"]\\)\"\>"}]], "Message", "MSG", CellChangeTimes->{3.4521137981881356`*^9, 3.452119393111499*^9, 3.4521196645136366`*^9, 3.4522681099138203`*^9}], Cell[BoxData[ RowBox[{ RowBox[{"General", "::", "\<\"obspkg\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(\\\"Statistics`DiscreteDistributions`\\\"\\) is now \ obsolete. The legacy version being loaded may conflict with current \ Mathematica functionality. See the Compatibility Guide for updating \ information. \\!\\(\\*ButtonBox[\\\"\[RightSkeleton]\\\", \ ButtonStyle->\\\"Link\\\", ButtonFrame->None, \ ButtonData:>\\\"paclet:Compatibility/Tutorials/Statistics/\ DiscreteDistributions\\\", ButtonNote -> \\\"General::obspkg\\\"]\\)\"\>"}]], \ "Message", "MSG", CellChangeTimes->{3.4521137981881356`*^9, 3.452119393111499*^9, 3.4521196645136366`*^9, 3.452268110995343*^9}], Cell[BoxData[ RowBox[{ RowBox[{"General", "::", "\<\"obspkg\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(\\\"Graphics`Graphics3D`\\\"\\) is now obsolete. The \ legacy version being loaded may conflict with current Mathematica \ functionality. See the Compatibility Guide for updating information. \ \\!\\(\\*ButtonBox[\\\"\[RightSkeleton]\\\", ButtonStyle->\\\"Link\\\", \ ButtonFrame->None, \ ButtonData:>\\\"paclet:Compatibility/Tutorials/Graphics/Graphics3D\\\", \ ButtonNote -> \\\"General::obspkg\\\"]\\)\"\>"}]], "Message", "MSG", CellChangeTimes->{3.4521137981881356`*^9, 3.452119393111499*^9, 3.4521196645136366`*^9, 3.4522681112957664`*^9}], Cell[BoxData[ RowBox[{ RowBox[{"General", "::", "\<\"stop\"\>"}], RowBox[{ ":", " "}], "\<\"Further output of \\!\\(General :: \\\"obspkg\\\"\\) will \ be suppressed during this calculation. \ \\!\\(\\*ButtonBox[\\\"\[RightSkeleton]\\\", ButtonStyle->\\\"Link\\\", \ ButtonFrame->None, ButtonData:>\\\"paclet:ref/message/General/stop\\\", \ ButtonNote -> \\\"General::stop\\\"]\\)\"\>"}]], "Message", "MSG", CellChangeTimes->{3.4521137981881356`*^9, 3.452119393111499*^9, 3.4521196645136366`*^9, 3.4522681115260906`*^9}], Cell[BoxData[ RowBox[{ RowBox[{"ListSurfacePlot3D", "::", "\<\"shdw\"\>"}], RowBox[{ ":", " "}], "\<\"Symbol \\!\\(\\\"ListSurfacePlot3D\\\"\\) appears in \ multiple contexts \\!\\({\\\"Graphics`Graphics3D`\\\", \\\"System`\\\"}\\); \ definitions in context \\!\\(\\\"Graphics`Graphics3D`\\\"\\) may shadow or be \ shadowed by other definitions. \\!\\(\\*ButtonBox[\\\"\[RightSkeleton]\\\", \ ButtonStyle->\\\"Link\\\", ButtonFrame->None, \ ButtonData:>\\\"paclet:ref/message/General/shdw\\\", ButtonNote -> \ \\\"Graphics`Graphics3D`ListSurfacePlot3D::shdw\\\"]\\)\"\>"}]], "Message", \ "MSG", CellChangeTimes->{3.4521137981881356`*^9, 3.452119393111499*^9, 3.4521196645136366`*^9, 3.4522681119566965`*^9}], Cell[BoxData[ RowBox[{ RowBox[{"General", "::", "\<\"newpkg\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(\\\"Statistics`MultinormalDistribution`\\\"\\) is \ now available as the \\!\\(\\\"Multivariate Statistics Package\\\"\\). See \ the Compatibility Guide for updating information. \\!\\(\\*ButtonBox[\\\"\ \[RightSkeleton]\\\", ButtonStyle->\\\"Link\\\", ButtonFrame->None, \ ButtonData:>\\\"paclet:Compatibility/Tutorials/Statistics/\ MultinormalDistribution\\\", ButtonNote -> \ \\\"General::newpkg\\\"]\\)\"\>"}]], "Message", "MSG", CellChangeTimes->{3.4521137981881356`*^9, 3.452119393111499*^9, 3.4521196645136366`*^9, 3.452268112487444*^9}], Cell[BoxData[ RowBox[{ RowBox[{"General", "::", "\<\"newpkg\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(\\\"Statistics`MultinormalDistribution`\\\"\\) is \ now available as the \\!\\(\\\"Multivariate Statistics Package\\\"\\). See \ the Compatibility Guide for updating information. \\!\\(\\*ButtonBox[\\\"\ \[RightSkeleton]\\\", ButtonStyle->\\\"Link\\\", ButtonFrame->None, \ ButtonData:>\\\"paclet:Compatibility/Tutorials/Statistics/\ MultinormalDistribution\\\", ButtonNote -> \ \\\"General::newpkg\\\"]\\)\"\>"}]], "Message", "MSG", CellChangeTimes->{3.4521137981881356`*^9, 3.452119393111499*^9, 3.4521196645136366`*^9, 3.4522681152112794`*^9}] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["Root growth grammar", "Section", CellChangeTimes->{ 3.4521193824665103`*^9, {3.4522686938860617`*^9, 3.452268701827243*^9}, 3.4522687345433083`*^9, {3.452269044770112*^9, 3.452269052511011*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ "The", " ", "following", " ", "definitions", " ", "are", " ", "described", " ", "in", " ", "detail", " ", RowBox[{"in", " ", ":", "\[IndentingNewLine]", "Mironova"}]}], ",", RowBox[{ RowBox[{"V", ".", "and"}], " ", "Likhoshvai"}], ",", RowBox[{ RowBox[{"V", ".", "A", ".", "and"}], " ", "Omelyanchuk"}], ",", RowBox[{ RowBox[{"N", ".", "A"}], " ", "and", " ", "Fadeev"}], ",", RowBox[{ RowBox[{"S", ".", "I", ".", "and"}], " ", "Yosiphon"}], ",", RowBox[{ RowBox[{"G", ".", "and"}], " ", "Mjolsness"}], ",", RowBox[{ RowBox[{"E", ".", "and"}], " ", "Kolchanov"}], ",", RowBox[{"N", ".", "A", "."}], ",", StyleBox[" ", FontSlant->"Italic"], StyleBox[ RowBox[{ "Acroptal", " ", "Auxin", " ", "Transport", " ", "Mediates", " ", "Patterning", " ", "along", " ", "the", " ", "Root", " ", "Longitudinal", " ", "Axis"}], FontSlant-> "Italic"]}], "\[IndentingNewLine]", "and", "\[IndentingNewLine]", RowBox[{ RowBox[{"Guy", " ", "Yosiphon"}], " ", ",", " ", StyleBox[ RowBox[{"Stochastic", " ", "Parameterized", " ", RowBox[{"Grammars", ":", "Formalization"}]}], FontSlant->"Italic"], StyleBox[",", FontSlant->"Italic"], StyleBox[ RowBox[{"Inference", " ", "and", " ", "Modeling", " ", "Applications"}], FontSlant->"Italic"], ",", RowBox[{"PhD", " ", "Thesis"}], ",", " ", RowBox[{"UC", " ", "Irvine"}], ",", " ", "2009."}], "\[IndentingNewLine]"}], "Input", Evaluatable->False, InitializationCell->True, CellChangeTimes->{{3.4521125582422733`*^9, 3.45211257012901*^9}, { 3.4522691133867254`*^9, 3.4522691277369304`*^9}, {3.4522692155205307`*^9, 3.4522692244631224`*^9}, {3.4522693633787174`*^9, 3.4522694110558476`*^9}, { 3.4522695542174215`*^9, 3.452269613681147*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"yIsActive", " ", "=", " ", "True"}], ";", " ", RowBox[{"(*", RowBox[{ RowBox[{"Change", " ", "here", " ", "to", " ", "False"}], " ", ",", " ", RowBox[{ "if", " ", "you", " ", "want", " ", "no", " ", "Y", " ", "effect"}]}], "*)"}]}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"gSetParamsIndex", " ", "=", " ", "2"}], ";"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"gGrowthModelMult", " ", "=", " ", "1"}], ";"}]], "Input"], Cell[BoxData[{ RowBox[{ RowBox[{"gShootID", " ", "=", " ", RowBox[{"-", "10000"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{"gGroundID", " ", "=", " ", RowBox[{"-", "20000"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]"}], RowBox[{"(*", "\[IndentingNewLine]", RowBox[{ RowBox[{"Remark", " ", "-", " ", RowBox[{ "it", " ", "is", " ", "assumed", " ", "that", " ", "the", " ", "rate", " ", "of", " ", "division", " ", "in", " ", "QC", " ", RowBox[{"is", " ", "~", "200"}], "h"}]}], " ", ",", " ", RowBox[{ "while", " ", "in", " ", "the", " ", "fastest", " ", "growing", " ", "region", " ", RowBox[{"its", " ", "~", "2"}], "h"}]}], " ", "\[IndentingNewLine]", "*)"}]}], "\[IndentingNewLine]", RowBox[{ RowBox[{"gCellCyleTime", " ", "=", " ", "10000"}], ";", RowBox[{"(*", RowBox[{ RowBox[{"10000", " ", "200"}], ",", "2000", ",", "20000"}], "*)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"growthConst", " ", "=", " ", RowBox[{"1", "/", "gCellCyleTime"}]}], ";", RowBox[{"(*", RowBox[{"1", ";", "0.00016", ";"}], "*)"}], "\[IndentingNewLine]", RowBox[{"(*", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"rate", " ", "of", " ", "growth", "\[IndentingNewLine]", "sec"}], " ", "=", " ", "43200"}], ";", RowBox[{"(*", RowBox[{"one", " ", "day"}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Solve", "[", RowBox[{ RowBox[{"0.5", SuperscriptBox["\[ExponentialE]", RowBox[{"r", " ", "sec"}]]}], " ", "\[Equal]", " ", "1"}], "]"}], "\[IndentingNewLine]", RowBox[{"{", RowBox[{"{", RowBox[{"r", "\[Rule]", "0.000016045073624072808`"}], "}"}], "}"}]}]}], "\[IndentingNewLine]", "\[IndentingNewLine]", "*)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"growthStopConst", " ", "=", " ", "10"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"limitCellLoc", " ", "=", " ", "20"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"stopGrowthConst", " ", "=", " ", "1"}], ";", RowBox[{"(*", RowBox[{"0.001", ",", "0.00025", ",", " ", "10"}], "*)"}], "\[IndentingNewLine]", RowBox[{"deathConst", " ", "=", " ", "0"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"gLimitCellRad", " ", "=", " ", "1"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"gDivideTemp", " ", "=", " ", "0.01"}], RowBox[{"(*", RowBox[{"0.1", ",", "0.001"}], "*)"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{"gSetParamsIndex", " ", "\[Equal]", " ", "1"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"pt", " ", "=", " ", "0.08"}], ";", "\[IndentingNewLine]", RowBox[{"k0", " ", "=", " ", "0.25"}], ";", "\[IndentingNewLine]", RowBox[{"kd", " ", "=", "0.0045"}], ";", "\[IndentingNewLine]", RowBox[{"\[Alpha]", " ", "=", " ", "1"}], ";", "\[IndentingNewLine]", RowBox[{"p1", " ", "=", " ", "2"}], ";", "\[IndentingNewLine]", RowBox[{"p2", " ", "=", " ", "10"}], ";", "\[IndentingNewLine]", RowBox[{"q11", " ", "=", " ", "1"}], ";", "\[IndentingNewLine]", RowBox[{"q12", " ", "=", " ", "100"}], ";", "\[IndentingNewLine]", RowBox[{"q2", " ", "=", " ", "3"}], ";"}], "\[IndentingNewLine]", ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"pt", " ", "=", " ", "0.0665"}], ";", "\[IndentingNewLine]", RowBox[{"k0", " ", "=", " ", "0.193"}], ";", "\[IndentingNewLine]", RowBox[{"kd", " ", "=", "0.0043"}], ";", "\[IndentingNewLine]", RowBox[{"\[Alpha]", " ", "=", " ", "0.8"}], ";", "\[IndentingNewLine]", RowBox[{"p1", " ", "=", " ", "2.13"}], ";", "\[IndentingNewLine]", RowBox[{"p2", " ", "=", " ", "4"}], ";", "\[IndentingNewLine]", RowBox[{"q11", " ", "=", " ", "1"}], ";", "\[IndentingNewLine]", RowBox[{"q12", " ", "=", " ", "6.73"}], ";", "\[IndentingNewLine]", RowBox[{"q2", " ", "=", " ", "3.21"}], ";"}]}], "\[IndentingNewLine]", "]"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"func", "[", "aux_", "]"}], ":=", RowBox[{ FractionBox[ SuperscriptBox[ RowBox[{"(", FractionBox["aux", "q11"], ")"}], "p1"], RowBox[{"1", "+", SuperscriptBox[ RowBox[{"(", FractionBox["aux", "q12"], ")"}], "p1"]}]], FractionBox["1", RowBox[{"1", "+", SuperscriptBox[ RowBox[{"(", FractionBox["aux", "q2"], ")"}], "p2"]}]]}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]"}], RowBox[{"(*", " ", RowBox[{ RowBox[{"gRangeParam", " ", "between", " ", "0.01"}], "-", "0.49"}], "*)"}]}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{"gRangeParam", " ", "=", " ", "0.2"}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]"}], RowBox[{"(*", " ", RowBox[{ RowBox[{ RowBox[{"auxin", " ", "dillution", "\[IndentingNewLine]", FractionBox[ RowBox[{ RowBox[{"\[DifferentialD]", " ", "auxin1"}], "*", "2", "*", "rad1"}], RowBox[{"\[DifferentialD]", "t"}]]}], " ", "=", " ", RowBox[{ RowBox[{ RowBox[{ RowBox[{"2", "rad1", FractionBox[ RowBox[{"\[DifferentialD]", " ", "auxin1"}], RowBox[{"\[DifferentialD]", "t"}]]}], "+", RowBox[{"2", "auxin1", FractionBox[ RowBox[{"\[DifferentialD]", " ", "rad1"}], RowBox[{"\[DifferentialD]", "t"}]]}]}], " ", "=", " ", RowBox[{"\[Sum]", "influxes"}]}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "therefore"}]}], " ", ",", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ FractionBox[ RowBox[{"\[DifferentialD]", " ", "auxin1"}], RowBox[{"\[DifferentialD]", "t"}]], " ", "=", " ", RowBox[{ RowBox[{ RowBox[{"-", FractionBox["auxin1", "rad1"]}], FractionBox[ RowBox[{"\[DifferentialD]", " ", "rad1"}], RowBox[{"\[DifferentialD]", "t"}]]}], " ", "+", " ", RowBox[{ FractionBox["1", RowBox[{"2", "rad1"}]], RowBox[{"\[Sum]", "influxes"}], "\[IndentingNewLine]", "\[IndentingNewLine]", "The", " ", FractionBox["1", RowBox[{"2", "rad1"}]], RowBox[{"\[Sum]", RowBox[{ "influxes", " ", "term", " ", "leaves", " ", "us", " ", "with", " ", "the", " ", "concentration", " ", "rules", " ", RowBox[{"(", RowBox[{ "the", " ", "rad1", " ", "cancels", " ", "out", " ", "all", " ", "the", " ", "multiplication", " ", "by", " ", "the", " ", "radgth", " ", "that", " ", "gets", " ", "the", " ", "real", " ", "quantity", " ", RowBox[{"influx", "."}]}], "\[IndentingNewLine]"}]}]}]}]}]}]}], "*)"}]}], "\[IndentingNewLine]", RowBox[{ RowBox[{"(*", "\[IndentingNewLine]", RowBox[{ RowBox[{"While", " ", "-", RowBox[{ FractionBox["auxin1", "rad1"], FractionBox[ RowBox[{"\[DifferentialD]", " ", "rad1"}], RowBox[{"\[DifferentialD]", "t"}]], " ", "term", " ", "is", " ", "obtained", " ", "by", " ", "getting", " ", "the", " ", "growth", " ", "rate", " ", RowBox[{"(", FractionBox[ RowBox[{"\[DifferentialD]", " ", "rad1"}], RowBox[{"\[DifferentialD]", "t"}]], ")"}], " ", "which", " ", "is", " ", "rad1", "*", "growthConst", " ", "for", " ", "exponential", " ", "growth", " ", "and", " ", "growthConst", " ", "for", " ", "linear", " ", RowBox[{ "growth", ".", "\[IndentingNewLine]", "\[IndentingNewLine]", "therefore"}]}], "\[IndentingNewLine]", "-", RowBox[{ FractionBox["auxin1", "rad1"], FractionBox[ RowBox[{"\[DifferentialD]", " ", "rad1"}], RowBox[{"\[DifferentialD]", "t"}]]}]}], " ", "=", " ", RowBox[{ RowBox[{ RowBox[{ RowBox[{"-", "auxin1"}], "*", "growthConst"}], " ", "-", " ", RowBox[{"in", " ", "exponential", " ", "growth"}]}], "\[IndentingNewLine]", "\t", RowBox[{ RowBox[{ RowBox[{"-", FractionBox["auxin1", "rad1"]}], FractionBox[ RowBox[{"\[DifferentialD]", " ", "rad1"}], RowBox[{"\[DifferentialD]", "t"}]]}], " ", "=", " ", RowBox[{ RowBox[{ RowBox[{"-", FractionBox["auxin1", "rad1"]}], "*", "growthConst"}], " ", "-", " ", RowBox[{"in", " ", "linear", " ", "growth"}]}]}]}]}], "\[IndentingNewLine]", "*)"}]}]}], "Input"], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"\[Beta]", " ", "=", "1.5"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"gSetParamsIndex", " ", "\[Equal]", " ", "1"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"pty", " ", "=", " ", RowBox[{"2", "pt"}]}], ";"}], "\[IndentingNewLine]", ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"pty", " ", "=", " ", "0.1"}], ";"}]}], "\[IndentingNewLine]", "]"}]}], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"yProdFunc", "[", "auxinDiff_", "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", "}"}], ",", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{"yIsActive", ",", RowBox[{"\[Beta]", "*", RowBox[{"grammarSigmoid", "[", RowBox[{ RowBox[{"auxinDiff", "-", "10"}], ",", "0.1"}], "]"}]}], ",", "0"}], "]"}]}], "\[IndentingNewLine]", "]"}]}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"auxinBindYFunc", "[", "a_", "]"}], ":=", " ", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"p1", ",", "p2"}], "}"}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{"yIsActive", ",", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"gSetParamsIndex", " ", "\[Equal]", " ", "1"}], ",", "\[IndentingNewLine]", RowBox[{ FractionBox[ SuperscriptBox[ RowBox[{"(", FractionBox["a", SubscriptBox["k", "y"]], ")"}], SubscriptBox["p", "y"]], RowBox[{"1", "+", SuperscriptBox[ RowBox[{"(", FractionBox["a", SubscriptBox["k", "y"]], ")"}], SubscriptBox["p", "y"]]}]], "/.", RowBox[{"{", RowBox[{ RowBox[{ SubscriptBox["k", "y"], "\[Rule]", " ", "100"}], ",", RowBox[{ SubscriptBox["p", "y"], "\[Rule]", " ", "1"}]}], "}"}]}], "\[IndentingNewLine]", ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"(", RowBox[{"0.0045", "+", FractionBox[ RowBox[{ RowBox[{ SubscriptBox["k", "deg"], "[", "0", "]"}], SuperscriptBox[ RowBox[{"(", FractionBox["a", RowBox[{ SubscriptBox["k", "deg"], "[", "1", "]"}]], ")"}], "p1"]}], RowBox[{"1", "+", SuperscriptBox[ RowBox[{"(", FractionBox["a", RowBox[{ SubscriptBox["k", "deg"], "[", "2", "]"}]], ")"}], "p2"]}]]}], ")"}], "/.", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["k", "deg"], "[", "0", "]"}], "->", " ", "0.3"}], ",", RowBox[{ RowBox[{ SubscriptBox["k", "deg"], "[", "1", "]"}], "->", " ", "3.5"}], ",", RowBox[{ RowBox[{ SubscriptBox["k", "deg"], "[", "2", "]"}], "->", " ", "0.5"}], ",", RowBox[{"p1", "->", " ", "4"}], ",", RowBox[{"p2", "->", " ", "1"}]}], "}"}]}]}], RowBox[{"(*", RowBox[{ FractionBox[ SuperscriptBox[ RowBox[{"(", FractionBox["a", "q"], ")"}], SubscriptBox["p", "y"]], RowBox[{"1", "+", SuperscriptBox[ RowBox[{"(", FractionBox["a", "q2"], ")"}], SubscriptBox["p", "y2"]]}]], "/.", RowBox[{"{", RowBox[{ RowBox[{"q", "->", "10"}], ",", RowBox[{"q2", "->", " ", "3.5"}], ",", " ", RowBox[{ SubscriptBox["p", "y"], "->", " ", "4"}], ",", RowBox[{ SubscriptBox["p", "y2"], "->", " ", "1"}]}], "}"}]}], "*)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", "]"}], "\[IndentingNewLine]", ",", "\[IndentingNewLine]", "0"}], "]"}]}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "]"}]}]], "Input"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Plot", "[", RowBox[{ RowBox[{"auxinBindYFunc", "[", "a", "]"}], " ", ",", RowBox[{"{", RowBox[{"a", ",", "0", ",", "30"}], "}"}]}], "]"}]], "Input"], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: .61803 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.0238095 0.031746 0.0147151 0.036038 [ [.18254 .00222 -3 -9 ] [.18254 .00222 3 0 ] [.34127 .00222 -6 -9 ] [.34127 .00222 6 0 ] [.5 .00222 -6 -9 ] [.5 .00222 6 0 ] [.65873 .00222 -6 -9 ] [.65873 .00222 6 0 ] [.81746 .00222 -6 -9 ] [.81746 .00222 6 0 ] [.97619 .00222 -6 -9 ] [.97619 .00222 6 0 ] [.01131 .10481 -18 -4.5 ] [.01131 .10481 0 4.5 ] [.01131 .19491 -6 -4.5 ] [.01131 .19491 0 4.5 ] [.01131 .285 -18 -4.5 ] [.01131 .285 0 4.5 ] [.01131 .3751 -12 -4.5 ] [.01131 .3751 0 4.5 ] [.01131 .46519 -24 -4.5 ] [.01131 .46519 0 4.5 ] [.01131 .55529 -12 -4.5 ] [.01131 .55529 0 4.5 ] [ 0 0 0 0 ] [ 1 .61803 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 g .25 Mabswid [ ] 0 setdash .18254 .01472 m .18254 .02097 L s [(5)] .18254 .00222 0 1 Mshowa .34127 .01472 m .34127 .02097 L s [(10)] .34127 .00222 0 1 Mshowa .5 .01472 m .5 .02097 L s [(15)] .5 .00222 0 1 Mshowa .65873 .01472 m .65873 .02097 L s [(20)] .65873 .00222 0 1 Mshowa .81746 .01472 m .81746 .02097 L s [(25)] .81746 .00222 0 1 Mshowa .97619 .01472 m .97619 .02097 L s [(30)] .97619 .00222 0 1 Mshowa .125 Mabswid .05556 .01472 m .05556 .01847 L s .0873 .01472 m .0873 .01847 L s .11905 .01472 m .11905 .01847 L s .15079 .01472 m .15079 .01847 L s .21429 .01472 m .21429 .01847 L s .24603 .01472 m .24603 .01847 L s .27778 .01472 m .27778 .01847 L s .30952 .01472 m .30952 .01847 L s .37302 .01472 m .37302 .01847 L s .40476 .01472 m .40476 .01847 L s .43651 .01472 m .43651 .01847 L s .46825 .01472 m .46825 .01847 L s .53175 .01472 m .53175 .01847 L s .56349 .01472 m .56349 .01847 L s .59524 .01472 m .59524 .01847 L s .62698 .01472 m .62698 .01847 L s .69048 .01472 m .69048 .01847 L s .72222 .01472 m .72222 .01847 L s .75397 .01472 m .75397 .01847 L s .78571 .01472 m .78571 .01847 L s .84921 .01472 m .84921 .01847 L s .88095 .01472 m .88095 .01847 L s .9127 .01472 m .9127 .01847 L s .94444 .01472 m .94444 .01847 L s .25 Mabswid 0 .01472 m 1 .01472 L s .02381 .10481 m .03006 .10481 L s [(2.5)] .01131 .10481 1 0 Mshowa .02381 .19491 m .03006 .19491 L s [(5)] .01131 .19491 1 0 Mshowa .02381 .285 m .03006 .285 L s [(7.5)] .01131 .285 1 0 Mshowa .02381 .3751 m .03006 .3751 L s [(10)] .01131 .3751 1 0 Mshowa .02381 .46519 m .03006 .46519 L s [(12.5)] .01131 .46519 1 0 Mshowa .02381 .55529 m .03006 .55529 L s [(15)] .01131 .55529 1 0 Mshowa .125 Mabswid .02381 .03273 m .02756 .03273 L s .02381 .05075 m .02756 .05075 L s .02381 .06877 m .02756 .06877 L s .02381 .08679 m .02756 .08679 L s .02381 .12283 m .02756 .12283 L s .02381 .14085 m .02756 .14085 L s .02381 .15887 m .02756 .15887 L s .02381 .17689 m .02756 .17689 L s .02381 .21292 m .02756 .21292 L s .02381 .23094 m .02756 .23094 L s .02381 .24896 m .02756 .24896 L s .02381 .26698 m .02756 .26698 L s .02381 .30302 m .02756 .30302 L s .02381 .32104 m .02756 .32104 L s .02381 .33906 m .02756 .33906 L s .02381 .35708 m .02756 .35708 L s .02381 .39311 m .02756 .39311 L s .02381 .41113 m .02756 .41113 L s .02381 .42915 m .02756 .42915 L s .02381 .44717 m .02756 .44717 L s .02381 .48321 m .02756 .48321 L s .02381 .50123 m .02756 .50123 L s .02381 .51925 m .02756 .51925 L s .02381 .53727 m .02756 .53727 L s .02381 .5733 m .02756 .5733 L s .02381 .59132 m .02756 .59132 L s .02381 .60934 m .02756 .60934 L s .25 Mabswid .02381 0 m .02381 .61803 L s 0 0 m 1 0 L 1 .61803 L 0 .61803 L closepath clip newpath .5 Mabswid .02381 .01488 m .02499 .01488 L .02605 .01488 L .02729 .01488 L .02846 .01488 L .02954 .01488 L .03053 .01488 L .03163 .01488 L .03279 .01488 L .03395 .01488 L .0352 .01488 L .03638 .01488 L .03746 .01488 L .03873 .01488 L .04011 .01488 L .04262 .01488 L .04523 .01488 L .04759 .01489 L .05033 .01489 L .0529 .0149 L .05748 .01491 L .06244 .01492 L .06753 .01495 L .07312 .01498 L .07895 .01502 L .08439 .01508 L .09413 .0152 L .10458 .01537 L .11475 .0156 L .12582 .01591 L .14594 .01669 L .16572 .01777 L .18672 .01931 L .20619 .02116 L .22447 .02331 L .26316 .02936 L .3043 .03839 L .34393 .05007 L .38203 .06444 L .42259 .08355 L .46164 .10607 L .50314 .1349 L .54312 .16789 L .58159 .20486 L .6225 .25025 L .66191 .30031 L .69979 .35469 L .74013 .41975 L .77896 .48975 L .82024 .57255 L Mistroke Mfstroke .82024 .57255 m .8407 .61803 L s % End of Graphics MathPictureEnd \ \>"], "Graphics", ImageSize->{288, 177.938}, ImageMargins->{{43, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["CompressedBitmap", "\<\ eJy9mfuXTWUYx985e47MRFqL1S9ayzmEEJJ0UUlhpIxLolBxDJqRaTSG1MKb YdFCSuW6kBApXYZuKt100Y1u/Nx/stv7PWe/73d/97v3OXu5/GDPd3++z7Of 5+z3Oe+ePeoLbY0LmgttTQ2F3PjWwpLGpoalubqWVg85VUJU5YQQHdcKT68U zn+ilyvdvHSF4J9jpZsR4gbpZoXIKJ0H3Vu61UI4Ade6tzpWB0chxngHz5Wu f9LXO2SLJ/6pfy3hlMxcgtcLtIMXzCUZ+iSDJ36YqIO8PmWaCnR1DA9dPQ9G tsJPV2Vud78Ke8kEi5MyOnRLuL4G5ZYJP3mg87E3PLQUDl0qYY28jhzVtR4o PVxOeNCQ53kAg3nuCZW9f87Fsh7S9Y5dvdsTsnHRO8XzLiI0TwmRl4Rfjmte yVpZXoX+ZlykWyvE9eQF+sYY3j/p4iPURneG8UiFT5ewN1+jpdtJiFMcN07t hycZT1D4E8b1Cncwnqqm+QNTbLo6HuO4GSruKOOZKvoI49kq+pC56hx1PMBx cxXez3iewvsYz1d4D+OFCu82xZrUcSfHLVJ4O+PFoF/3zavgOVP8guOINCsS BGpcI2Ffwa9ci4rf6uPOgK8GXdw3W4Fs8cNrAHSO9NGqyJagD10bs7CPNtCb St14F6hVK4WBy0Bv5Ju1XCUF2JPPg7mBo9Fcz+YLKj+CV4Jey+Yq0O2mCamO 7Rz9ImjJ5hrQq9lsp5qlOuuoz1DOOhUSwevpfoTMDaBXsPkS6OdMExvDyxHO QXMZm5toHPxnC03VZtBL/ZDucXP9cngWhbguMtGvAHnWXg9DlpRCrOP7KuiW UiAN7lbQz/Bnfw10s7mZbwBezDloPs3mNtCL2NwOuslU22HBGqDZyOZO0E+x uQv0QjZ3g15gWtkDeD7noNnA5l7Q89jcB7rA5pug55pW9luwBmjOYfMt0E9K 2vwyMRv4AdBPcFJoK8XhOgj6cc6qjZR9G8hsP7w2XIR6OsThFW3pWGSW1E+u msg34zDomXwTj4B+zKzKUcCPcs47SSZmzmDzXdDTTbVjgB/hnPeSTMycxub7 oB+uxPRa+RDwVM5BcwqbH4GenMrsAD3JtHICcD3nHE8yMXOib3aFl+psUmA3 Gf9Shvpj0A9VkJgp/k6aJkVrTHzwohKvidkUPgU9gW/mZ6AfMKvzuQVrgOb4 VOZJ0HWm2hcWrAGa41KZX4Iey+ZXoMeYVk5ZsAZo3p/K/Br0fWx+A3q0aeVb C9YAzXvLmsW/Bvg/QWfiXwS+Az3KD3doKP1f8a3Pku9B3xNk2sY3+pJwOikV dfSFAVPvtvWLlfHVBlv/AfRdfhY+ZaPvEpFwXIEfQY80S/qTBWuA5p2pzJ9B 32GqnbFgDdC8PZX5C+jbKjG9Vn4DPIJzfk0yMfPWVObvoIebVv6wYA3QvKWs GffgOQt6mEyxp1sTbbNarPknkJs5PNrWuTLh1kpYY6jExwx9HyKBeOv+Aj3E rMXfFqwBmoNTmf+AvslU+9eCE3M0wMxBqczzoAeaVi5YsAZoDihruvSfDqLq f8FCW1s=\ \>"], ImageRangeCache->{{{0, 287}, {176.938, 0}} -> {-3.23594, -1.50089, 0.118419, \ 0.104315}}], Cell[BoxData[ TagBox[ RowBox[{"\[SkeletonIndicator]", "Graphics", "\[SkeletonIndicator]"}], False, Editable->False]], "Output"] }, Open ]], Cell[BoxData[ RowBox[{"(*", RowBox[{ "we", " ", "multiply", " ", "here", " ", "by", " ", "10", "growthConst", " ", "so", " ", "that", " ", "this", " ", "rate", " ", "will", " ", "be", " ", "proportional", " ", "to", " ", "the", " ", "cell", " ", "growth"}], "*)"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"yEffectOnDivisionFunc", "[", "y_", "]"}], ":=", " ", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"\[Delta]", ",", "h1", ",", "h2"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", RowBox[{"yIsActive", ",", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"gSetParamsIndex", " ", "\[Equal]", " ", "1"}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ FractionBox[ SuperscriptBox[ RowBox[{"(", FractionBox["y", "q"], ")"}], SubscriptBox["p", "v1"]], RowBox[{"1", "+", SuperscriptBox[ RowBox[{"(", FractionBox["y", "q"], ")"}], SubscriptBox["p", "v2"]]}]], "/.", RowBox[{"{", RowBox[{ RowBox[{"q", "\[Rule]", " ", "4"}], ",", RowBox[{ SubscriptBox["p", "v1"], "\[Rule]", " ", "1"}], ",", RowBox[{ SubscriptBox["p", "v2"], "\[Rule]", " ", "5"}]}], "}"}]}], "\[IndentingNewLine]", "\[IndentingNewLine]", ",", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"(", RowBox[{"0.005", " ", "+", RowBox[{"0.5", "*", FractionBox[ SuperscriptBox[ RowBox[{"(", FractionBox["y", "q"], ")"}], SubscriptBox["p", "v1"]], RowBox[{"1", "+", SuperscriptBox[ RowBox[{"(", FractionBox["y", "q2"], ")"}], SubscriptBox["p", "v2"]]}]]}]}], ")"}], "/.", RowBox[{"{", RowBox[{ RowBox[{"q", "\[Rule]", " ", "0.1"}], ",", " ", RowBox[{"q2", "\[Rule]", " ", "0.01"}], ",", RowBox[{ SubscriptBox["p", "v1"], "\[Rule]", " ", "2"}], ",", RowBox[{ SubscriptBox["p", "v2"], "\[Rule]", " ", "3"}]}], "}"}]}]}], "\[IndentingNewLine]", RowBox[{"(*", "\[IndentingNewLine]", RowBox[{ RowBox[{"0.1", "*", FractionBox[ SuperscriptBox[ RowBox[{"(", FractionBox["y", "q"], ")"}], SubscriptBox["p", "v1"]], RowBox[{"1", "+", SuperscriptBox[ RowBox[{"(", FractionBox["y", "q2"], ")"}], SubscriptBox["p", "v2"]]}]]}], "/.", RowBox[{"{", RowBox[{ RowBox[{"q", "\[Rule]", " ", "0.1"}], ",", " ", RowBox[{"q2", "\[Rule]", " ", "0.01"}], ",", RowBox[{ SubscriptBox["p", "v1"], "\[Rule]", " ", "2"}], ",", RowBox[{ SubscriptBox["p", "v2"], "\[Rule]", " ", "3"}]}], "}"}]}], "\[IndentingNewLine]", "*)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", "\[IndentingNewLine]", RowBox[{ RowBox[{"(", FractionBox[ RowBox[{"1", "+", SuperscriptBox[ RowBox[{"(", FractionBox["y", RowBox[{ SubscriptBox["k", "div"], "[", "1", "]"}]], ")"}], "h1"]}], RowBox[{"\[Delta]", "+", SuperscriptBox[ RowBox[{"(", FractionBox["y", RowBox[{ SubscriptBox["k", "div"], "[", "2", "]"}]], ")"}], "h2"]}]], ")"}], "/.", RowBox[{"{", RowBox[{ RowBox[{"\[Delta]", "\[Rule]", " ", "0.0001"}], ",", RowBox[{ RowBox[{ SubscriptBox["k", "div"], "[", "1", "]"}], "\[Rule]", " ", "2.5"}], ",", RowBox[{ RowBox[{ SubscriptBox["k", "div"], "[", "2", "]"}], "\[Rule]", " ", "0.2"}], ",", RowBox[{"h1", "\[Rule]", " ", "2"}], ",", RowBox[{"h2", "\[Rule]", " ", "4"}]}], "}"}]}], "*)"}], "\[IndentingNewLine]", "]"}], "\[IndentingNewLine]", ",", "\[IndentingNewLine]", "1"}], "\[IndentingNewLine]", "]"}], "*", "10", "growthConst"}]}], "\[IndentingNewLine]", "]"}]}]], "Input"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Plot", "[", RowBox[{ RowBox[{"yEffectOnDivisionFunc", "[", "y", "]"}], " ", ",", RowBox[{"{", RowBox[{"y", ",", "0", ",", "10"}], "}"}]}], "]"}]], "Input"], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: .61803 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.0238095 0.0952381 0.0147151 2.15908 [ [.21429 .00222 -3 -9 ] [.21429 .00222 3 0 ] [.40476 .00222 -3 -9 ] [.40476 .00222 3 0 ] [.59524 .00222 -3 -9 ] [.59524 .00222 3 0 ] [.78571 .00222 -3 -9 ] [.78571 .00222 3 0 ] [.97619 .00222 -6 -9 ] [.97619 .00222 6 0 ] [.01131 .12267 -24 -4.5 ] [.01131 .12267 0 4.5 ] [.01131 .23062 -18 -4.5 ] [.01131 .23062 0 4.5 ] [.01131 .33858 -24 -4.5 ] [.01131 .33858 0 4.5 ] [.01131 .44653 -18 -4.5 ] [.01131 .44653 0 4.5 ] [.01131 .55449 -24 -4.5 ] [.01131 .55449 0 4.5 ] [ 0 0 0 0 ] [ 1 .61803 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 g .25 Mabswid [ ] 0 setdash .21429 .01472 m .21429 .02097 L s [(2)] .21429 .00222 0 1 Mshowa .40476 .01472 m .40476 .02097 L s [(4)] .40476 .00222 0 1 Mshowa .59524 .01472 m .59524 .02097 L s [(6)] .59524 .00222 0 1 Mshowa .78571 .01472 m .78571 .02097 L s [(8)] .78571 .00222 0 1 Mshowa .97619 .01472 m .97619 .02097 L s [(10)] .97619 .00222 0 1 Mshowa .125 Mabswid .07143 .01472 m .07143 .01847 L s .11905 .01472 m .11905 .01847 L s .16667 .01472 m .16667 .01847 L s .2619 .01472 m .2619 .01847 L s .30952 .01472 m .30952 .01847 L s .35714 .01472 m .35714 .01847 L s .45238 .01472 m .45238 .01847 L s .5 .01472 m .5 .01847 L s .54762 .01472 m .54762 .01847 L s .64286 .01472 m .64286 .01847 L s .69048 .01472 m .69048 .01847 L s .7381 .01472 m .7381 .01847 L s .83333 .01472 m .83333 .01847 L s .88095 .01472 m .88095 .01847 L s .92857 .01472 m .92857 .01847 L s .25 Mabswid 0 .01472 m 1 .01472 L s .02381 .12267 m .03006 .12267 L s [(0.05)] .01131 .12267 1 0 Mshowa .02381 .23062 m .03006 .23062 L s [(0.1)] .01131 .23062 1 0 Mshowa .02381 .33858 m .03006 .33858 L s [(0.15)] .01131 .33858 1 0 Mshowa .02381 .44653 m .03006 .44653 L s [(0.2)] .01131 .44653 1 0 Mshowa .02381 .55449 m .03006 .55449 L s [(0.25)] .01131 .55449 1 0 Mshowa .125 Mabswid .02381 .03631 m .02756 .03631 L s .02381 .0579 m .02756 .0579 L s .02381 .07949 m .02756 .07949 L s .02381 .10108 m .02756 .10108 L s .02381 .14426 m .02756 .14426 L s .02381 .16585 m .02756 .16585 L s .02381 .18744 m .02756 .18744 L s .02381 .20903 m .02756 .20903 L s .02381 .25221 m .02756 .25221 L s .02381 .27381 m .02756 .27381 L s .02381 .2954 m .02756 .2954 L s .02381 .31699 m .02756 .31699 L s .02381 .36017 m .02756 .36017 L s .02381 .38176 m .02756 .38176 L s .02381 .40335 m .02756 .40335 L s .02381 .42494 m .02756 .42494 L s .02381 .46812 m .02756 .46812 L s .02381 .48971 m .02756 .48971 L s .02381 .5113 m .02756 .5113 L s .02381 .5329 m .02756 .5329 L s .02381 .57608 m .02756 .57608 L s .02381 .59767 m .02756 .59767 L s .25 Mabswid .02381 0 m .02381 .61803 L s 0 0 m 1 0 L 1 .61803 L 0 .61803 L closepath clip newpath .5 Mabswid .02381 .01473 m .02499 .01474 L .02605 .01479 L .02729 .01487 L .02846 .01498 L .03053 .01526 L .03279 .01568 L .03527 .01629 L .0379 .01709 L .04262 .01894 L .04749 .0214 L .05205 .02421 L .06244 .03246 L .07305 .04346 L .08274 .05577 L .10458 .09097 L .14429 .17752 L .18248 .27762 L .22313 .38496 L .26226 .47367 L .28223 .51026 L .30384 .54246 L .32471 .56636 L .33464 .57537 L .34391 .58249 L .35375 .58877 L .36273 .5934 L .3727 .59741 L .37789 .59905 L .38339 .60048 L .3881 .60146 L .39331 .60229 L .39558 .60257 L .39804 .60283 L .40034 .60301 L .40248 .60315 L .4037 .60321 L .405 .60326 L .40574 .60328 L .40644 .60329 L .40775 .60331 L .40843 .60332 L .40914 .60332 L .41042 .60331 L .41113 .6033 L .41179 .60329 L .41252 .60327 L .41331 .60325 L .41458 .6032 L .41597 .60313 L Mistroke .4185 .60297 L .42324 .60255 L .42857 .6019 L .43358 .60112 L .44295 .59926 L .46394 .59344 L .50254 .57831 L .54359 .55837 L .58313 .53738 L .62116 .51673 L .66163 .49501 L .70059 .4748 L .74201 .45432 L .78191 .4357 L .82029 .41884 L .86112 .40202 L .90044 .38687 L .93824 .37322 L .97619 .36036 L Mfstroke % End of Graphics MathPictureEnd \ \>"], "Graphics", ImageSize->{288, 177.938}, ImageMargins->{{43, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["CompressedBitmap", "\<\ eJzdWVlsFVUYPvfOXFrKVjZBtrZYKVt7r7UFZK0KVKhFymY0hHhbIEXStKmN CmkYQwiEQAhpAjwQTExITEhINIQH4oMPJj6zuSL7ouACsqjwMp77387MN/+Z OfdO8ckHhu/+3/f95z9nzpk5Z9qY7mrd0Jbu2tSSLq3vTHe0bmp5r3Rxe6cM GTEhYqVCiM+LhcTdwrgiSmzLLrNsIfj/DZZtCvGCZRtCVNE1ZdlxISotOyFE nLDZKxSStaRRvAhYCoXZizMZ/D8S2R+Zn5lkriuWibwOgSS1p/jzT9YIAZ8z Cb1K5srSgM6UwwrAPH0+vZQtV9M1RbUkCVc5Y+uMsHNLxkIG+c942tgIy5bX QbI2ok2nWNluP5AXheD+/yNNgo+RQcMwFSKpEJwMiSspE4CfcBIH/DEnCwD/ 00vK6rAzf3MPkn9xErv+iJMDAD/k5EDAD7xSBkP4Pvcg+Wckcgjge5HIYsB3 vTqHBoTdAJJ/RCKHAf49Ejkc8G9enSMCwm4AyV8jkSMB38mQcf+zxr0mdKbs 1O59rBVa8MyL4w8TfM8Avq3PgU1nyxuVv9lQqkfzLznNrtTUpciWVeSMl+Hv 62jAP/M7EETKLGMgfIt7ntWR6LwZiUR8Ix9S1jkewte5Z5yOROe1/46cAPiq V2dJQFjrcQPovBKJLAV8OR9S1lmm8yB5KSdZCMvXoE2ToZMX4MzH9wG6JgK+ mMsl230uit7F6Pqp765CWJUJnRCHsRzwhXxImfx5nQfJHyORkwD/8NSkrHMy hL/nnoo+k5j2u0jkFMDfenVODQhrPW4And9EIqcBPu+VMj0grPW4AXSey0nG lcUaV+atYvK9uTLLIux4gbgS8NnALEGvvLhzEsnTq1aP3jO5vIE1KBn0r11F jjcAN+mn8yHjdPZ1w19TpIA7cb//FVXUXyf5ks7UA7kEG/qCshTrJKeoluFc Ug34JGUZ6fUFD+YnKDJa5/+M/GO4BLMcd/cDoZJjlKWES2oAf0pZJnqF1gJ5 lPzlOv8nJKngEszysfuMCZUcpizTuWQG4EPOAT1ccsA5zzt9mQVkD0VquH8m 4P0kmaGT7HPz+iTY0B6SzLbUHYHpXy9o2k2auRZ/9xaCBhf3S4B3kne+4sUD qOkW5UR2UKROcYW97bHF7eR9JbDawNMHNryNbuRCb3zUDQPKu4mt5yM+B/AW kizRST4gSYM3NeYB2UWRRu6fC7iTJG9wCWZpJ0mTTtJGkpVcMh/wuyRZ7RW6 AMhWirzJ/SjZQJK3uKQOcAtgrTBNudZyycuA15FknU6yliTveD161d++jDRz P0rWkGS9TrKKJBu5ZCHgJpK06iTL/SPtFy4C3Ei5Nns9qgdyKUXauH8x4CX+ KeEX1vtNMlcHl7zmHwYp6bTULY0ZdBjHpuuI7bL41gCfOZknQOCKXuqf4jLR +0oifACpHxXws/UcinyoZNDvcDDDLGK3BnYm5/cF/NxdS4m6vQEN2+7gZ+3s N+Rt/EYtcz4ty+tH3nRpAsk0imznTpRUUNM7uGQF4HLKsotLVjpHXBnYzcnV gMeRcC+XrCHnKJpL+7z633a2SDLcwz1yuRfQ0MnrQU42k/MID9sRv5vb7E8l IvYvDAOGoQ==\ \>"], ImageRangeCache->{{{0, 287}, {176.938, 0}} -> {-1.07864, -0.0250518, \ 0.0394728, 0.00174117}}], Cell[BoxData[ TagBox[ RowBox[{"\[SkeletonIndicator]", "Graphics", "\[SkeletonIndicator]"}], False, Editable->False]], "Output"] }, Open ]], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"cellGrowthLocFunc", "[", "rad_", "]"}], " ", ":=", " ", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", "}"}], ",", "\[IndentingNewLine]", RowBox[{"gGrowthModelMult", "*", "growthConst"}]}], "\[IndentingNewLine]", "]"}]}], ";"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"distCells", "[", RowBox[{"curPosx_", ",", "curPosy_", ",", "nbrPosx_", ",", "nbrPosy_"}], "]"}], ":=", " ", SqrtBox[ RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{"curPosx", "-", "nbrPosx"}], ")"}], "2"], "+", SuperscriptBox[ RowBox[{"(", RowBox[{"curPosy", "-", "nbrPosy"}], ")"}], "2"]}]]}], ";"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"springConst", " ", "=", " ", "1000"}], ";"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"groundDrag", " ", "=", " ", "0.8"}], ";"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"springPotential", "[", RowBox[{"curPosx_", ",", "curRad_", ",", "nbrPosx_", ",", "nbrRad_"}], "]"}], ":=", " ", RowBox[{"springConst", SuperscriptBox[ RowBox[{"(", RowBox[{ RowBox[{"distCells", "[", RowBox[{"curPosx", ",", "0", ",", "nbrPosx", ",", "0"}], "]"}], "-", RowBox[{"(", RowBox[{"curRad", "+", "nbrRad"}], ")"}]}], ")"}], "2"]}]}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"springXFunc", "[", RowBox[{"curPosx_", ",", "curRad_", ",", "nbrPosx_", ",", "nbrRad_"}], "]"}], " ", ":=", " ", RowBox[{"-", RowBox[{ SubscriptBox["\[PartialD]", "curPosx"], " ", RowBox[{"springPotential", "[", RowBox[{"curPosx", ",", "curRad", ",", "nbrPosx", ",", "nbrRad"}], "]"}]}]}]}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"groundDragForce", "[", "forceFromNbrCell_", "]"}], ":=", " ", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"-", "forceFromNbrCell"}], "*", "groundDrag", "*", RowBox[{"grammarSigmoid", "[", RowBox[{ RowBox[{"-", "forceFromNbrCell"}], ",", RowBox[{"springConst", "/", "100"}]}], "]"}]}]}], "\[IndentingNewLine]", "]"}]}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"repelPlaneUp", "[", RowBox[{"curPos_", ",", "nbrPos_"}], "]"}], ":=", " ", RowBox[{ RowBox[{"-", "springConst"}], RowBox[{ SubscriptBox["\[PartialD]", "curPos"], RowBox[{"Exp", "[", RowBox[{"nbrPos", "-", "curPos"}], "]"}]}]}]}]], "Input"], Cell[CellGroupData[{ Cell[BoxData[{ RowBox[{ RowBox[{"cellIDIndex", " ", "=", " ", "1"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"cellModeIndex", " ", "=", " ", "2"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"cellLocIndex", " ", "=", " ", "3"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"cellRadIndex", " ", "=", " ", "4"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"cellAuxinIndex", " ", "=", " ", "5"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"cellYIndex", " ", "=", " ", "6"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"cellIdPIndex", " ", "=", " ", "7"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"cellIdNIndex", " ", "=", " ", "8"}], ";"}]}], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"General", "::", "\<\"spell1\"\>"}], RowBox[{ ":", " "}], "\<\"Possible spelling error: new symbol name \ \\\"\\!\\(cellIdNIndex\\)\\\" is similar to existing symbol \ \\\"\\!\\(cellIdPIndex\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \ ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \ ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], "Message"] }, Open ]], Cell[BoxData[ RowBox[{ RowBox[{"gInfluxInitialVal", " ", "=", " ", "0.5"}], ";"}]], "Input"], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"influxTimeDerv", "[", "t_", "]"}], ":=", " ", RowBox[{ FractionBox["0.001", "gCellCyleTime"], "+", FractionBox[ RowBox[{"0.01", RowBox[{"Cos", "[", FractionBox["t", "gCellCyleTime"], "]"}]}], "gCellCyleTime"]}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"(*", RowBox[{ RowBox[{"this", " ", "is", " ", "because", " ", RowBox[{ SubscriptBox["\[PartialD]", "t"], " ", RowBox[{"(", RowBox[{ RowBox[{"t", "*", RowBox[{"0.001", "/", "gCellCyleTime"}]}], "+", RowBox[{"0.01", "*", RowBox[{"(", RowBox[{ RowBox[{"Sin", "[", RowBox[{"t", "/", "gCellCyleTime"}], "]"}], "+", "1"}], ")"}]}]}], ")"}]}]}], " ", "=", " ", RowBox[{ FractionBox["0.001`", "gCellCyleTime"], "+", FractionBox[ RowBox[{"0.01`", " ", RowBox[{"Cos", "[", FractionBox["t", "gCellCyleTime"], "]"}]}], "gCellCyleTime"]}]}], "\[IndentingNewLine]", "*)"}]}]}], "Input"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"gRootGrowth", " ", ":=", " ", RowBox[{"Grammar", "[", RowBox[{"rules", "\[Rule]", "\[IndentingNewLine]", RowBox[{"{", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "continuous", " ", "change", " ", "in", " ", "cell", " ", "c1", " ", "radius"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{"c1", " ", "\[Equal]", " ", RowBox[{"cell", "[", RowBox[{"cellID1", ",", "1", RowBox[{"(*", RowBox[{"growth", " ", "mode"}], "*)"}], ",", "loc1", ",", "rad1", ",", "auxin1", ",", "y1", ",", "cellIDP", ",", "cellIDN"}], "]"}]}], "}"}], "\[Rule]", " ", "c1"}], ",", "\[IndentingNewLine]", RowBox[{"solving", "[", RowBox[{ SuperscriptBox["rad1", "\[Prime]", MultilineFunction->None], "\[Equal]", RowBox[{"cellGrowthLocFunc", "[", "rad1", "]"}]}], "]"}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "continuous", " ", "change", " ", "in", " ", "cell", " ", "c1", " ", "location"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"c1", " ", "\[Equal]", " ", RowBox[{"cell", "[", RowBox[{ "cellID", ",", "cMode", ",", "loc", ",", "rad", ",", "auxin", ",", "y", ",", "cellIDPrev", ",", "cellIDNext"}], "]"}]}], ",", RowBox[{"c2", " ", "\[Equal]", " ", RowBox[{"cell", "[", RowBox[{ "cellIDNext", ",", "cModeN", ",", "locN", ",", "radN", ",", "auxinN", ",", "yN", ",", "cellID", ",", "cellIDNN"}], "]"}]}]}], "}"}], "\[Rule]", " ", RowBox[{"{", RowBox[{"c1", ",", "c2"}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"solving", "[", RowBox[{ SuperscriptBox["loc", "\[Prime]", MultilineFunction->None], "\[Equal]", RowBox[{"gGrowthModelMult", "*", RowBox[{"springXFunc", "[", RowBox[{"loc", ",", "rad", ",", "locN", ",", "radN"}], "]"}]}]}], "]"}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "continuous", " ", "change", " ", "in", " ", "cell", " ", "c1", " ", "location"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"c1", " ", "\[Equal]", " ", RowBox[{"cell", "[", RowBox[{ "cellID", ",", "cMode", ",", "loc", ",", "rad", ",", "auxin", ",", "y", ",", "cellIDPrev", ",", "cellIDNext"}], "]"}]}], ",", RowBox[{"c2", " ", "\[Equal]", " ", RowBox[{"cell", "[", RowBox[{ "cellIDPrev", ",", "cModeP", ",", "locP", ",", "radP", ",", "auxinP", ",", "yP", ",", "cellIDPP", ",", "cellID"}], "]"}]}]}], "}"}], "\[Rule]", " ", RowBox[{"{", RowBox[{"c1", ",", "c2"}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"solving", "[", RowBox[{ SuperscriptBox["loc", "\[Prime]", MultilineFunction->None], "\[Equal]", RowBox[{"gGrowthModelMult", "*", RowBox[{"springXFunc", "[", RowBox[{"loc", ",", "rad", ",", "locP", ",", "radP"}], "]"}]}]}], "]"}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "continuous", " ", "change", " ", "in", " ", "last", " ", "cell", " ", "when", " ", "its", " ", "close", " ", "to", " ", "0", " ", "position"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{"c1", " ", "\[Equal]", " ", RowBox[{"cell", "[", RowBox[{ "cellID", ",", "cMode", ",", "loc", ",", "rad", ",", "auxin", ",", "y", ",", "cellIDPrev", ",", "gGroundID"}], "]"}]}], " ", "}"}], "\[Rule]", " ", "c1"}], ",", "\[IndentingNewLine]", RowBox[{"solving", "[", RowBox[{ SuperscriptBox["loc", "\[Prime]", MultilineFunction->None], "\[Equal]", RowBox[{"gGrowthModelMult", "*", RowBox[{"repelPlaneUp", "[", RowBox[{"loc", ",", "0"}], "]"}]}]}], "]"}], ","}], "\[IndentingNewLine]", "*)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ "change", " ", "cell", " ", "mode", " ", "from", " ", "growth", " ", "to", " ", "wait"}], ",", RowBox[{ "when", " ", "over", " ", "a", " ", "radius", " ", "threshold"}]}], " ", "*)"}], " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"cell", "[", RowBox[{ "cellID", ",", "1", ",", "loc", ",", "rad", ",", "auxin", ",", "y", ",", "cellIDPrev", ",", "cellIDNext"}], "]"}], "\[Rule]", " ", RowBox[{"cell", "[", RowBox[{ "cellID", ",", "2", ",", "loc", ",", "rad", ",", "auxin", ",", "y", ",", "cellIDPrev", ",", "cellIDNext"}], "]"}]}], ",", "\[IndentingNewLine]", RowBox[{"with", "[", RowBox[{"gGrowthModelMult", "*", "stopGrowthConst", "*", RowBox[{"grammarSigmoid", "[", RowBox[{ RowBox[{"rad", "-", "gLimitCellRad"}], ",", "gDivideTemp"}], "]"}]}], "]"}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "divide", " ", "a", " ", "cell", " ", "when", " ", "its", " ", "in", " ", "wait", " ", "mode"}], "*)"}], " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"cell", "[", RowBox[{ "cellID", ",", "2", ",", "loc", ",", "rad", ",", "auxin", ",", "y", ",", "cellIDPrev", ",", "cellIDNext"}], "]"}], "\[Rule]", " ", RowBox[{"{", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"cell", "[", RowBox[{ "cellIDPrev", ",", "cModeP", ",", "locP", ",", "radP", ",", "auxinP", ",", "yP", ",", "cellIDPP", ",", "cellID"}], "]"}], "\[Rule]", " ", RowBox[{"cell", "[", RowBox[{ "cellIDPrev", ",", "cModeP", ",", "locP", ",", "radP", ",", "auxinP", ",", "yP", ",", "cellIDPP", ",", RowBox[{"grammarCreateObjectID", "[", "1", "]"}]}], "]"}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"cell", "[", RowBox[{ "cellIDNext", ",", "cModeN", ",", "locN", ",", "radN", ",", "auxinN", ",", "yN", ",", "cellID", ",", "cellIDNN"}], "]"}], "\[Rule]", " ", RowBox[{"cell", "[", RowBox[{ "cellIDNext", ",", "cModeN", ",", "locN", ",", "radN", ",", "auxinN", ",", "yN", ",", RowBox[{"grammarCreateObjectID", "[", "2", "]"}], ",", "cellIDNN"}], "]"}]}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"cell", "[", RowBox[{ RowBox[{"grammarCreateObjectID", "[", "1", "]"}], ",", "1", ",", RowBox[{"loc", "-", "rad", "+", RowBox[{"2", "rad", "*", "cellpart"}], "+", RowBox[{"rad", "*", RowBox[{"(", RowBox[{"1", "-", "cellpart"}], ")"}]}]}], ",", RowBox[{"rad", "*", RowBox[{"(", RowBox[{"1", "-", "cellpart"}], ")"}]}], ",", "auxin", ",", "y", ",", "cellIDPrev", ",", RowBox[{"grammarCreateObjectID", "[", "2", "]"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"cell", "[", RowBox[{ RowBox[{"grammarCreateObjectID", "[", "2", "]"}], ",", "1", ",", RowBox[{"loc", "-", "rad", "+", RowBox[{"rad", "*", "cellpart"}]}], ",", RowBox[{"rad", "*", "cellpart"}], " ", ",", "auxin", ",", "y", ",", RowBox[{"grammarCreateObjectID", "[", "1", "]"}], ",", "cellIDNext"}], "]"}]}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"with", "[", RowBox[{"gGrowthModelMult", "*", RowBox[{"yEffectOnDivisionFunc", "[", "y", "]"}], "*", RowBox[{"grammarPDF", "[", RowBox[{ RowBox[{"UniformDistribution", "[", RowBox[{ RowBox[{"0.5", "-", "gRangeParam"}], ",", RowBox[{"0.5", "+", "gRangeParam"}]}], "]"}], ",", "cellpart"}], "]"}]}], "]"}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "cell", " ", "death", " ", "in", " ", "the", " ", "end", " ", "of", " ", "the", " ", "root"}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"cell", "[", RowBox[{ "cellID", ",", "2", ",", "loc", ",", "rad", ",", "auxin", ",", "y", ",", "cellIDPrev", ",", "gGroundID"}], "]"}], "\[Rule]", " ", RowBox[{"{", "\[IndentingNewLine]", RowBox[{ RowBox[{"cell", "[", RowBox[{ "cellIDPrev", ",", "cModeP", ",", "locP", ",", "radP", ",", "auxinP", ",", "yP", ",", "cellIDPP", ",", "cellID"}], "]"}], "\[Rule]", " ", RowBox[{"cell", "[", RowBox[{ "cellIDPrev", ",", "cModeP", ",", "locP", ",", "radP", ",", "auxinP", ",", "yP", ",", "cellIDPP", ",", "cellIDNext"}], "]"}]}], "\[IndentingNewLine]", "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"with", "[", RowBox[{"gGrowthModelMult", "*", "deathConst"}], "]"}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{"auxin", " ", "influx", " ", "from", " ", "shoot"}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"c1", " ", "\[Equal]", " ", RowBox[{"cell", "[", RowBox[{ "cellID", ",", "cMode", ",", "loc", ",", "rad", ",", "auxin", ",", "y", ",", "gShootID", ",", "cellIDNext"}], "]"}]}], " ", ",", " ", RowBox[{"auxinInfux", "[", RowBox[{"ax", ",", "t"}], "]"}]}], "}"}], "\[Rule]", " ", "c1"}], ",", "\[IndentingNewLine]", RowBox[{"solving", "[", RowBox[{ SuperscriptBox["auxin", "\[Prime]", MultilineFunction->None], "\[Equal]", " ", "ax"}], "]"}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"auxinInfux", "[", RowBox[{"ax", ",", "t"}], "]"}], "\[Rule]", " ", RowBox[{"auxinInfux", "[", RowBox[{"ax", ",", "t"}], "]"}]}], ",", "\[IndentingNewLine]", RowBox[{"solving", "[", RowBox[{ RowBox[{ SuperscriptBox["ax", "\[Prime]", MultilineFunction->None], "\[Equal]", " ", RowBox[{"influxTimeDerv", "[", "t", "]"}]}], ",", RowBox[{ SuperscriptBox["t", "\[Prime]", MultilineFunction->None], "\[Equal]", " ", "1"}]}], "]"}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ "y", " ", "production", " ", "according", " ", "to", " ", "the", " ", "difference", " ", "between", " ", "auxin", " ", "in", " ", "a", " ", "cell", " ", "to", " ", "the", " ", "next"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"c0", " ", "\[Equal]", " ", RowBox[{"cell", "[", RowBox[{ "cellID0", ",", "cMode0", ",", "loc0", ",", "rad0", ",", "auxin0", ",", "y0", ",", "cellIDP0", ",", "cellID1"}], "]"}]}], " ", ",", RowBox[{"c1", " ", "\[Equal]", " ", RowBox[{"cell", "[", RowBox[{ "cellID1", ",", "cMode1", ",", "loc1", ",", "rad1", ",", "auxin1", ",", "y1", ",", "cellID0", ",", "cellIDNext"}], "]"}]}]}], "}"}], "\[Rule]", " ", RowBox[{"{", RowBox[{"c0", ",", "c1"}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"solving", "[", RowBox[{ SuperscriptBox["y0", "\[Prime]", MultilineFunction->None], "\[Equal]", RowBox[{"yProdFunc", "[", RowBox[{"auxin1", "-", "auxin0"}], "]"}]}], "]"}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ "auxin", " ", "active", " ", "transport", " ", "from", " ", "previous", " ", "cell"}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"c0", " ", "\[Equal]", " ", RowBox[{"cell", "[", RowBox[{ "cellID0", ",", "cMode0", ",", "loc0", ",", "rad0", ",", "auxin0", ",", "y0", ",", "cellIDP0", ",", "cellID1"}], "]"}]}], " ", ",", RowBox[{"c1", " ", "\[Equal]", " ", RowBox[{"cell", "[", RowBox[{ "cellID1", ",", "cMode1", ",", "loc1", ",", "rad1", ",", "auxin1", ",", "y1", ",", "cellID0", ",", "cellIDNext"}], "]"}]}]}], "}"}], "\[Rule]", " ", RowBox[{"{", RowBox[{"c0", ",", "c1"}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"solving", "[", RowBox[{ RowBox[{ SuperscriptBox["auxin1", "\[Prime]", MultilineFunction->None], "\[Equal]", RowBox[{"k0", " ", "auxin0", " ", RowBox[{"func", "[", "auxin0", "]"}]}]}], ",", RowBox[{ SuperscriptBox["auxin0", "\[Prime]", MultilineFunction->None], "\[Equal]", " ", RowBox[{ RowBox[{"-", "k0"}], "*", "auxin0", " ", RowBox[{"func", "[", "auxin0", "]"}]}]}]}], "]"}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{"auxin", "/", "y"}], " ", "passive", " ", "transport", " ", "between", " ", "two", " ", "neighboring", " ", "cells"}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"c0", " ", "\[Equal]", " ", RowBox[{"cell", "[", RowBox[{ "cellID0", ",", "cMode0", ",", "loc0", ",", "rad0", ",", "auxin0", ",", "y0", ",", "cellIDP0", ",", "cellID1"}], "]"}]}], " ", ",", RowBox[{"c1", " ", "\[Equal]", " ", RowBox[{"cell", "[", RowBox[{ "cellID1", ",", "cMode1", ",", "loc1", ",", "rad1", ",", "auxin1", ",", "y1", ",", "cellID0", ",", "cellIDNext"}], "]"}]}]}], "}"}], "\[Rule]", " ", RowBox[{"{", RowBox[{"c0", ",", "c1"}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"solving", "[", RowBox[{ RowBox[{ SuperscriptBox["auxin1", "\[Prime]", MultilineFunction->None], "\[Equal]", " ", RowBox[{"pt", RowBox[{"(", " ", RowBox[{"auxin0", "-", "auxin1"}], ")"}]}]}], ",", RowBox[{ SuperscriptBox["auxin0", "\[Prime]", MultilineFunction->None], "\[Equal]", " ", RowBox[{"pt", RowBox[{"(", " ", RowBox[{"auxin1", "-", "auxin0"}], ")"}]}]}], " ", ",", RowBox[{ SuperscriptBox["y1", "\[Prime]", MultilineFunction->None], "\[Equal]", " ", RowBox[{"pty", RowBox[{"(", " ", RowBox[{"y0", "-", "y1"}], ")"}]}]}], ",", RowBox[{ SuperscriptBox["y0", "\[Prime]", MultilineFunction->None], "\[Equal]", " ", RowBox[{"pty", RowBox[{"(", " ", RowBox[{"y1", "-", "y0"}], ")"}]}]}]}], "]"}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{"auxin", "/", "y"}], " ", "decay"}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{"c1", " ", "\[Equal]", " ", RowBox[{"cell", "[", RowBox[{ "cellID1", ",", "cMode1", ",", "loc1", ",", "rad1", ",", "auxin1", ",", "y1", ",", "cellIDP", ",", "cellIDN"}], "]"}]}], " ", "}"}], "\[Rule]", " ", "c1"}], ",", "\[IndentingNewLine]", RowBox[{"solving", "[", RowBox[{ RowBox[{ SuperscriptBox["auxin1", "\[Prime]", MultilineFunction->None], "\[Equal]", " ", RowBox[{ RowBox[{"-", "kd"}], " ", "auxin1"}]}], ",", RowBox[{ SuperscriptBox["y1", "\[Prime]", MultilineFunction->None], "\[Equal]", " ", RowBox[{ RowBox[{"-", RowBox[{"auxinBindYFunc", "[", "auxin1", "]"}]}], " ", "y1"}]}]}], "]"}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{"auxin", "/", "y"}], " ", "dillution"}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{"c1", " ", "\[Equal]", " ", RowBox[{"cell", "[", RowBox[{ "cellID1", ",", "cMode1", ",", "loc1", ",", "rad1", ",", "auxin1", ",", "y1", ",", "cellIDP", ",", "cellIDN"}], "]"}]}], " ", "}"}], "\[Rule]", " ", "c1"}], ",", "\[IndentingNewLine]", RowBox[{"solving", "[", RowBox[{ RowBox[{ SuperscriptBox["auxin1", "\[Prime]", MultilineFunction->None], "\[Equal]", " ", RowBox[{ RowBox[{"-", "auxin1"}], "*", FractionBox[ RowBox[{"cellGrowthLocFunc", "[", "rad1", "]"}], RowBox[{"2", "rad1"}]]}]}], ",", RowBox[{ SuperscriptBox["y1", "\[Prime]", MultilineFunction->None], "\[Equal]", " ", RowBox[{ RowBox[{"-", "y1"}], "*", FractionBox[ RowBox[{"cellGrowthLocFunc", "[", "rad1", "]"}], RowBox[{"2", "rad1"}]]}]}]}], " ", "]"}]}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "}"}]}], "]"}]}], ";"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"General", "::", "\<\"spell1\"\>"}], RowBox[{ ":", " "}], "\<\"Possible spelling error: new symbol name \\\"\\!\\(cell\\)\ \\\" is similar to existing symbol \\\"\\!\\(Cell\\)\\\". \\!\\(\\*ButtonBox[\ \\\"More\[Ellipsis]\\\", ButtonStyle->\\\"RefGuideLinkText\\\", \ ButtonFrame->None, ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], "Message"], Cell[BoxData[ RowBox[{ RowBox[{"General", "::", "\<\"spell1\"\>"}], RowBox[{ ":", " "}], "\<\"Possible spelling error: new symbol name \\\"\\!\\(cellIDN\ \\)\\\" is similar to existing symbol \\\"\\!\\(cellIDP\\)\\\". \ \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", ButtonStyle->\\\"RefGuideLinkText\ \\\", ButtonFrame->None, ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], \ "Message"], Cell[BoxData[ RowBox[{ RowBox[{"General", "::", "\<\"spell\"\>"}], RowBox[{ ":", " "}], "\<\"Possible spelling error: new symbol name \ \\\"\\!\\(cellID\\)\\\" is similar to existing symbols \\!\\({cellIDN, \ cellIDP}\\). \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \ ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \ ButtonData:>\\\"General::spell\\\"]\\)\"\>"}]], "Message"], Cell[BoxData[ RowBox[{ RowBox[{"General", "::", "\<\"spell1\"\>"}], RowBox[{ ":", " "}], "\<\"Possible spelling error: new symbol name \ \\\"\\!\\(cMode\\)\\\" is similar to existing symbol \\\"\\!\\(Mode\\)\\\". \ \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", ButtonStyle->\\\"RefGuideLinkText\ \\\", ButtonFrame->None, ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], \ "Message"], Cell[BoxData[ RowBox[{ RowBox[{"General", "::", "\<\"stop\"\>"}], RowBox[{ ":", " "}], "\<\"Further output of \\!\\(General :: \\\"spell1\\\"\\) will \ be suppressed during this calculation. \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\ \\\", ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \ ButtonData:>\\\"General::stop\\\"]\\)\"\>"}]], "Message"], Cell[BoxData[ RowBox[{ RowBox[{"General", "::", "\<\"spell\"\>"}], RowBox[{ ":", " "}], "\<\"Possible spelling error: new symbol name \ \\\"\\!\\(cModeP\\)\\\" is similar to existing symbols \\!\\({cMode, \ cModeN}\\). \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \ ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \ ButtonData:>\\\"General::spell\\\"]\\)\"\>"}]], "Message"], Cell[BoxData[ RowBox[{ RowBox[{"General", "::", "\<\"spell\"\>"}], RowBox[{ ":", " "}], "\<\"Possible spelling error: new symbol name \\\"\\!\\(locP\\)\ \\\" is similar to existing symbols \\!\\({loc, locN}\\). \\!\\(\\*ButtonBox[\ \\\"More\[Ellipsis]\\\", ButtonStyle->\\\"RefGuideLinkText\\\", \ ButtonFrame->None, ButtonData:>\\\"General::spell\\\"]\\)\"\>"}]], "Message"], Cell[BoxData[ RowBox[{ RowBox[{"General", "::", "\<\"stop\"\>"}], RowBox[{ ":", " "}], "\<\"Further output of \\!\\(General :: \\\"spell\\\"\\) will \ be suppressed during this calculation. \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\ \\\", ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \ ButtonData:>\\\"General::stop\\\"]\\)\"\>"}]], "Message"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["simulation code", "Section", CellChangeTimes->{ 3.4521193824665103`*^9, {3.4522686938860617`*^9, 3.452268701827243*^9}, 3.4522687345433083`*^9, {3.452269044770112*^9, 3.452269052511011*^9}, { 3.452269674566875*^9, 3.4522696764294977`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"orderCells", "[", "arrcells_", "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{ "curID", ",", "bContinue", ",", "orderedCells", ",", "newcell"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"curID", " ", "=", " ", RowBox[{"N", "[", "gShootID", "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"orderedCells", " ", "=", " ", RowBox[{"{", "}"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"bContinue", " ", "=", " ", "True"}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"While", "[", RowBox[{"bContinue", ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"newcell", " ", "=", " ", RowBox[{"Cases", "[", RowBox[{"arrcells", ",", RowBox[{"cell", "[", RowBox[{ "_", ",", "_", ",", "_", ",", "_", ",", "_", ",", "_", ",", "curID", ",", "_"}], "]"}]}], "]"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Length", "[", "newcell", "]"}], ">", "0"}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"curID", " ", "=", " ", RowBox[{"newcell", "[", RowBox[{"[", RowBox[{"1", ",", "1"}], "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"AppendTo", "[", RowBox[{"orderedCells", ",", RowBox[{"newcell", "[", RowBox[{"[", "1", "]"}], "]"}]}], "]"}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"bContinue", " ", "=", " ", "False"}], ";"}]}], "\[IndentingNewLine]", "]"}]}]}], "\[IndentingNewLine]", "]"}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", "orderedCells"}]}], "\[IndentingNewLine]", "]"}]}], ";"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"General", "::", "\<\"spell1\"\>"}], RowBox[{ ":", " "}], "\<\"Possible spelling error: new symbol name \ \\\"\\!\\(bContinue\\)\\\" is similar to existing symbol \ \\\"\\!\\(Continue\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \ ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \ ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], "Message"] }, Open ]], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"plotConcentrationInSimulation", "[", RowBox[{"arrSimulation_", ",", "concentrationIndex_"}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"curPlotRange", ",", "timeCoord"}], "}"}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"MapIndexed", "[", RowBox[{ RowBox[{"Function", "[", RowBox[{ RowBox[{"{", RowBox[{"curpool", ",", "curpoolInd"}], "}"}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"arrorderedCells", " ", "=", " ", RowBox[{"orderCells", "[", RowBox[{"Cases", "[", RowBox[{ RowBox[{"curpool", "[", RowBox[{"[", "2", "]"}], "]"}], ",", RowBox[{"cell", "[", "__", "]"}]}], "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"prevcell", " ", "=", " ", RowBox[{"{", "}"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"curPlotRange", " ", "=", " ", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "5"}], ",", "65"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "20"}], "}"}]}], "}"}]}], ";", RowBox[{"(*", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "5"}], ",", "65"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "10"}], "}"}]}], "}"}], ";"}], "*)"}], "\[IndentingNewLine]", RowBox[{"timeCoord", " ", "=", " ", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"Total", "[", RowBox[{"curPlotRange", "[", RowBox[{"[", "1", "]"}], "]"}], "]"}], "/", "2"}], ",", RowBox[{ RowBox[{"curPlotRange", "[", RowBox[{"[", RowBox[{"2", ",", "1"}], "]"}], "]"}], "+", RowBox[{"0.9", RowBox[{"(", RowBox[{ RowBox[{"curPlotRange", "[", RowBox[{"[", RowBox[{"2", ",", "2"}], "]"}], "]"}], "-", RowBox[{"curPlotRange", "[", RowBox[{"[", RowBox[{"2", ",", "1"}], "]"}], "]"}]}], ")"}]}]}]}], "}"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"Show", "[", RowBox[{"Graphics", "[", RowBox[{ RowBox[{"Flatten", "[", RowBox[{"{", RowBox[{ RowBox[{"Map", "[", RowBox[{ RowBox[{"Function", "[", RowBox[{ RowBox[{"{", "curcell", "}"}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"retVal", " ", "=", " ", RowBox[{"{", RowBox[{ RowBox[{"RGBColor", "[", RowBox[{"1", ",", "0", ",", "0"}], "]"}], ",", RowBox[{"Point", "[", RowBox[{"{", RowBox[{ RowBox[{"curcell", "[", RowBox[{"[", "3", "]"}], "]"}], ",", RowBox[{"curcell", "[", RowBox[{"[", "concentrationIndex", "]"}], "]"}]}], "}"}], "]"}], ",", RowBox[{"RGBColor", "[", RowBox[{"0", ",", "0", ",", "0"}], "]"}], ",", RowBox[{"If", "[", RowBox[{ RowBox[{"prevcell", "=!=", RowBox[{"{", "}"}]}], ",", RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"curcell", "[", RowBox[{"[", "3", "]"}], "]"}], "+", RowBox[{"curcell", "[", RowBox[{"[", "4", "]"}], "]"}]}], ",", RowBox[{"prevcell", "[", RowBox[{"[", "concentrationIndex", "]"}], "]"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"curcell", "[", RowBox[{"[", "3", "]"}], "]"}], "+", RowBox[{"curcell", "[", RowBox[{"[", "4", "]"}], "]"}]}], ",", RowBox[{"curcell", "[", RowBox[{"[", "concentrationIndex", "]"}], "]"}]}], "}"}]}], "}"}], "]"}], ",", RowBox[{"{", "}"}]}], "]"}], ",", RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"curcell", "[", RowBox[{"[", "3", "]"}], "]"}], "-", RowBox[{"curcell", "[", RowBox[{"[", "4", "]"}], "]"}]}], ",", RowBox[{"curcell", "[", RowBox[{"[", "concentrationIndex", "]"}], "]"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"curcell", "[", RowBox[{"[", "3", "]"}], "]"}], "+", RowBox[{"curcell", "[", RowBox[{"[", "4", "]"}], "]"}]}], ",", RowBox[{"curcell", "[", RowBox[{"[", "concentrationIndex", "]"}], "]"}]}], "}"}]}], "}"}], "]"}]}], "}"}]}], ";", "\[IndentingNewLine]", RowBox[{"prevcell", " ", "=", " ", "curcell"}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", "retVal"}]}], "\[IndentingNewLine]", "]"}], ",", "arrorderedCells"}], "]"}], ",", RowBox[{"Text", "[", RowBox[{ RowBox[{"\"\