Files @ 6bcb69712a0e
Branch filter:

Location: EI/VirtualLeaf/data/leaves/vleaf.rnc

6bcb69712a0e 4.9 KiB application/relax-ng-compact-syntax Show Annotation Show as Raw Download as Raw
Roeland Merks
In response to referee's comment:

"However, (although it is probably not important for model developers), I was
still unable to load the model ‘Meinhardt 1976 with growth’ example from the
‘Models’ drop down menu, I got the ‘Fatal error’ message ‘stepwise underflow in

rkqs, with h=0.000000 and htry = 0.100000’. The model did work when I selected
the Meinhardt model in both the Models and the File -> Read leaf menus together,
it would be preferable if the models loaded from the Models menu worked

automatically. I am not sure that the update referred to in the author’s
response permits the loading of ‘My First Model in Virtual Leaf’ from the
‘Models’ drop down menu; I only got a cell that wiggled."

I made the following changes:

- meinhardt_plugin now reads "meinhardt_init.xml" by default
- changed the name of 'My First Model in Virtual Leaf’ to '0: Empty model template (does nothing)' to make it clear that the wiggle cell is the intended behavior for this model example.
- Added default parameter files for Tutorial1A-D and Tutorial2 to prevent variable behavior depending on the last parameter settings used.


--
user: Roeland Merks <roeland.merks@cwi.nl>
branch 'default'
added data/leaves/tutorial1_init.xml
added data/leaves/tutorial2_init.xml
changed data/leaves/auxin_growth.xml
changed data/leaves/meinhardt_init.xml
changed src/TutorialCode/Tutorial0/tutorial0.cpp
changed src/TutorialCode/Tutorial1A/tutorial1A.h
changed src/TutorialCode/Tutorial1B/tutorial1B.h
changed src/TutorialCode/Tutorial1C/tutorial1C.h
changed src/TutorialCode/Tutorial1D/tutorial1D.h
changed src/TutorialCode/Tutorial2/tutorial2.h
changed src/build_models/meinhardtplugin.h
# $Rev$:  Revision of last commit
# $Author$:  Author of last commit
# $Source$:  Source file
# $Date$:  Date of last commit
#
#  This file is part of the Virtual Leaf.
#
#  The Virtual Leaf is free software: you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation, either version 3 of the License, or
#  (at your option) any later version.
#
#  The Virtual Leaf is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with the Virtual Leaf.  If not, see <http://www.gnu.org/licenses/>.
#
#  Copyright 2010 Michael Guravage.
#

default namespace = "vl"
namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
namespace rng = "http://relaxng.org/ns/structure/1.0"

a:documentation [ " Virtual Leaf " ]
# A precooked comment element
comment = element comment { xsd:string }
# An element with a integer value named 'v.'
iValueType = attribute v { xsd:integer }?
# An element with a real value named 'v.'
rValueType = attribute v { xsd:float }?
# Leaf is the root element
start = leaf
leaf =
    element leaf {
        element comment { xsd:string }?,
        element parameter { ParameterType }?,
        element code { CodeType }*,
        element nodes { NodesType }?,
        element cells { CellsType }?,
        element walls { WallsType }?,
        element nodesets { NodesetsType }?,
        element settings { SettingsType }?,
        leafAttrubutes
    }
# List of leaf attributes
leafAttrubutes =
    attribute uri { xsd:anyURI }?,
    attribute date { xsd:dateTime }?,
    attribute simtime { xsd:integer }?
# Parameters
ParameterType =
    element comment { xsd:string }?,
    element par {
        element valarray {
            element val { rValueType }+
        }?,
        attribute name { xsd:string },
        attribute val { xsd:string }?
    }*
# Code
CodeType =
    text,
    attribute name { xsd:string }
# Nodes
NodesType =
    element comment { xsd:string }?,
    element node { nodeAttributes }*,
    nodesAttributes
# A list of node attributes
nodeAttributes =
    attribute x { xsd:float },
    attribute y { xsd:float },
    attribute fixed { xsd:boolean }?,
    attribute boundary { xsd:boolean }?,
    attribute sam { xsd:boolean }?
# A list of nodes attributes
nodesAttributes =
    attribute n { xsd:integer }?,
    attribute target_length { xsd:float }?
# Cells
CellsType =
    element comment { xsd:string }?,
    element cell { CellType }+,
    element boundary_polygon { CellType },
    cellsAttributes
# A list of cells attributes and their types
cellsAttributes =
    attribute n { xsd:integer },
    attribute offsetx { xsd:float }?,
    attribute offsety { xsd:float }?,
    attribute magnification { xsd:float }?,
    attribute base_area { xsd:float },
    attribute nchem { xsd:integer }
# Cell
CellType =
    element node { CellNodeType }*,
    element wall { CellWallType }*,
    element chem { CellChemType }?,
    cellAttributes
# A list of cell attributes and their types.
cellAttributes =
    attribute index { xsd:integer },
    attribute area { xsd:float }?,
    attribute target_area { xsd:float },
    attribute target_length { xsd:float }?,
    attribute lambda_celllength { xsd:float }?,
    attribute stiffness { xsd:float }?,
    attribute fixed { xsd:boolean }?,
    attribute pin_fixed { xsd:boolean }?,
    attribute at_boundary { xsd:boolean }?,
    attribute dead { xsd:boolean }?,
    attribute source { xsd:boolean }?,
    attribute boundary { xsd:boolean }?,
    attribute div_counter { xsd:integer }?,
    attribute cell_type { xsd:integer }?
# Cell Node
CellNodeType = attribute n { xsd:integer }
# Cell Wall
CellWallType = attribute w { xsd:integer }
# Cell Chemical
CellChemType =
    element val { rValueType }*,
    attribute n { xsd:integer }
# Walls
WallsType =
    element comment { xsd:string }?,
    element wall {
        element transporter1 {
            element val { rValueType }*
        }?,
        element transporter2 {
            element val { rValueType }*
        }?,
        element apoplast {
            element val { rValueType }*
        }?,
        attribute index { xsd:integer },
        attribute c1 { xsd:integer },
        attribute c2 { xsd:integer },
        attribute n1 { xsd:integer },
        attribute n2 { xsd:integer },
        attribute length { xsd:float }?,
        attribute viz_flux { xsd:float }?,
        attribute wall_type { "normal" | "aux_source" }?
    }*,
    attribute n { xsd:integer }
# Nodesets
NodesetsType = attribute n { xsd:integer }
# Settings
SettingsType =
    element comment { xsd:string }?,
    element setting {
        attribute name { xsd:string },
        attribute val { xsd:string }
    }*