|
|
# This document describes the classes in the OpenSimRoot code.
|
|
|
|
|
|
* Classes are sorted alphabetically.
|
|
|
* Write the name a class is registered under in your XML to call it.
|
|
|
* Please stick to the template provided below when adding a class.
|
|
|
* See <https://www.markdownguide.org/> for a basic introduction to markdown, which this document is written in.
|
|
|
* Write equations as you would in LaTeX, see <https://www.latex-tutorial.com/tutorials/amsmath/> for a brief introduction to writing equations in LaTeX.
|
|
|
* To turn this into a pdf, with all equations rendered, I recommend you use Pandoc or something equivalent and use the command `pandoc -o ClassDescriptions.pdf ClassDescriptions.md`
|
|
|
* You can link to another header like this: [Click this](#test-link-target)
|
|
|
|
|
|
> Use the class below as a template.
|
|
|
|
|
|
### RootSegmentVolume
|
|
|
|
|
|
__Registered under__: rootSegmentVolume
|
|
|
|
|
|
__Summary__: Computes the volume of a root segment, or the volume of the steel of a root segment, or the volume of a root segment ignoring RCS, assuming it is either cylindrical or a cut-off cone.
|
|
|
|
|
|
__Literature references__: -> <https://en.wikipedia.org/wiki/Cone#Volume_2>
|
|
|
|
|
|
__Mathematical formulation (ode, etc)__:
|
|
|
Volume of a cylinder $= h * pi * r^2$
|
|
|
Volume of a cone $= \frac13\pi \cdot r^2 \cdot h$
|
|
|
Volume of a cut-off cone = volume bigger cone - volume smaller cone $= \frac13 \pi (r_1^2 - r_2^2)$
|
|
|
|
|
|
$r =$ cylinder radius, $r_1 =$ radius of larger side, $r_2 =$ radius of smaller side, $h =$ height of cut-off cone/cylinder
|
|
|
|
|
|
__Optional formulations__:
|
|
|
|
|
|
__Standard paths__: ORIGIN/datapointTemplate/rootSegmentVolume __or__ ORIGIN/datapointTemplate/rootSegmentVolumeSteel __or__ ORIGIN/datapointTemplate/rootSegmentVolumeNoRCS
|
|
|
|
|
|
__Defined in__: src/modules/rootGrowth/Geometry.{cpp/hpp}
|
|
|
__Included in template__: templates/plantTemplate.includeGeometry.xml
|
|
|
|
|
|
__Dependencies__:
|
|
|
|
|
|
* pSD->getSibling("rootSegmentLength") [RootSegmentLength](#rootsegmentlength)
|
|
|
* Diameter
|
|
|
* pSD->getSibling("rootDiameter") [TBC](#tbc)
|
|
|
* pSD->getSibling("rootDiameterSteel") [TBC](#tbc)
|
|
|
* pSD->getSibling("rootDiameterNoRCS") [TBC](#tbc)
|
|
|
|
|
|
__Required inputs__:
|
|
|
|
|
|
__Optional inputs__:
|
|
|
|
|
|
|
|
|
|
|
|
### RootSegmentLength
|
|
|
|
|
|
__Registered under__: rootSegmentLength
|
|
|
|
|
|
__Summary__: Computes the length of a root segment, based upon the trajectory of the root tip (not the distance between root nodes, which can be a coarser representation).
|
|
|
In particular, the length of a segment equals the length to the next node (the end of the segment) or growth point, minus the length to the current node.
|
|
|
|
|
|
__Literature references__: ->
|
|
|
|
|
|
__Mathematical formulation (ode, etc)__:
|
|
|
|
|
|
__Optional formulations__:
|
|
|
|
|
|
__Standard paths__: ORIGIN/datapointTemplate/rootSegmentLength
|
|
|
|
|
|
__Defined in__: src/modules/rootGrowth/Geometry.{cpp/hpp}
|
|
|
__Included in template__: templates/plantTemplate.includeGeometry.xml
|
|
|
|
|
|
__Dependencies__:
|
|
|
|
|
|
* pSD->getParent(3)->getChild("growthpoint")->getChild("rootLongitudinalGrowth","cm") [ScaledRootGrowthRate](#scaledrootgrowthrate)
|
|
|
|
|
|
__Required inputs__:
|
|
|
|
|
|
__Optional inputs__:
|
|
|
|
|
|
|
|
|
|
|
|
### ScaledRootGrowthRate
|
|
|
|
|
|
|
|
|
# Test Link Target |