tutorials:radiation-model-in-crop_model9
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| tutorials:radiation-model-in-crop_model9 [2025/10/30 22:21] – barley1965 | tutorials:radiation-model-in-crop_model9 [2025/10/31 14:11] (current) – barley1965 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Assimilate Transport and Fruit Development ====== | ====== Assimilate Transport and Fruit Development ====== | ||
| - | The Transport model extends the FlowerAging | + | //Open {{ : |
| + | |||
| + | The Transport model extends the [[: | ||
| ===== Assimilate Storage and Transport Parameters ===== | ===== Assimilate Storage and Transport Parameters ===== | ||
| - | The model introduces a new parameter '' | + | The model introduces a new parameter '' |
| <code java> | <code java> | ||
| Line 17: | Line 19: | ||
| ===== Maintenance Respiration ===== | ===== Maintenance Respiration ===== | ||
| - | A maintenance respiration constant has been added to simulate the metabolic cost of keeping tissues alive (L. 78): | + | A maintenance respiration constant has been added to simulate the metabolic cost of keeping tissues alive (L. 96): |
| <code java> | <code java> | ||
| Line 23: | Line 25: | ||
| </ | </ | ||
| - | This is applied to internodes during growth to simulate sugar consumption: | + | This is applied to internodes during growth to simulate sugar consumption |
| <code java> | <code java> | ||
| itn: | itn: | ||
| - | | + | itn[age]++; |
| - | if(itn[as]> | + | if(itn[as]> |
| - | itn[length] += logistic(1, itn[age], 10, 0.1); | + | itn[length] += logistic(1, itn[age], 10, itn[as]); |
| - | } | + | itn.(setShader(new RGBAShader(itn[as]*15.0, itn[as]*7.5, itn[as]))); |
| + | } | ||
| </ | </ | ||
| + | |||
| + | Note that internode length is incremented up to a fixed length of 1, however, we vary the speed of elongation as a function of sugar available in the internode, '' | ||
| ===== Transport Mechanism ===== | ===== Transport Mechanism ===== | ||
| - | The main novelty of the present model is the implementation of a diffusion-based transport system. The transport occurs with a diffusion constant that controls the rate (L. 75): | + | The main novelty of the present model is the implementation of a diffusion-based transport system. The transport occurs with a diffusion constant that controls the rate (L. 94): |
| <code java> | <code java> | ||
| - | const float DIFF_CONST = 0.001; | + | const float DIFF_CONST = 0.002; |
| </ | </ | ||
| - | The transport | + | Transport |
| <code java> | <code java> | ||
| Line 52: | Line 57: | ||
| ===== Transport Rules ===== | ===== Transport Rules ===== | ||
| Three types of transport are implemented using user-defined edge relations: | Three types of transport are implemented using user-defined edge relations: | ||
| - | a) Leaf to Internode Transport (L. 251-258): | + | |
| + | **a) Leaf to Internode Transport, and vice versa ** (L. 256-280): | ||
| <code java> | <code java> | ||
| lf:Leaf < | lf:Leaf < | ||
| - | | + | if(lf[as] > 0.01 && lf[age]> |
| float exportable = lf[as] - 0.01; | float exportable = lf[as] - 0.01; | ||
| float r = DIFF_CONST * exportable; | float r = DIFF_CONST * exportable; | ||
| lf[as] -= r; | lf[as] -= r; | ||
| itn[as] += r; | itn[as] += r; | ||
| - | | + | // |
| - | } | + | } else |
| + | if(itn[as] > 0.01 && lf[age]< | ||
| + | float exportable = itn[as] - 0.01; | ||
| + | float r = DIFF_CONST * exportable; | ||
| + | lf[as] += r; | ||
| + | itn[as] -= r; | ||
| + | // | ||
| + | } | ||
| + | } | ||
| </ | </ | ||
| - | This rule ensures leaves retain a minimum amount (0.01) for maintenance while exporting the surplus. | + | This rule ensures leaves retain a minimum amount (0.01) for maintenance while exporting the surplus. |
| - | b) Internode to Internode Transport (L. 260-268): | + | |
| + | **b) Internode to Internode Transport** (L. 260-268): | ||
| + | <code java> | ||
| i_top: | i_top: | ||
| if((i_bottom[as] - i_top[as])< | if((i_bottom[as] - i_top[as])< | ||
| Line 78: | Line 95: | ||
| } | } | ||
| } | } | ||
| - | This bidirectional transport follows the concentration gradient between successive internodes. | + | </ |
| - | c) Internode to Fruit Transport (L. 269-275): | + | |
| + | This bidirectional transport follows the concentration gradient between successive internodes. | ||
| + | |||
| + | **c) Internode to Fruit Transport** (L. 269-275): | ||
| + | <code java> | ||
| itn: | itn: | ||
| if(itn[as]> | if(itn[as]> | ||
| Line 88: | Line 109: | ||
| } | } | ||
| } | } | ||
| - | 5) Fruit Set Decision Based on Sugar Availability | + | </ |
| - | The model now makes fruit formation dependent on available | + | This final rule expresses transport in only one direction, i.e. fruits are //absolute sinks// (which is wrong, because young fruit are often green and have been shown to carry out photosynthesis). |
| - | fl: | + | |
| - | {float sugar = sum((* lf:Leaf *)[as]); | + | ===== Fruit Set Decision Based on Sugar Availability |
| - | println(sugar); | + | The model now makes fruit formation dependent on sugar available |
| - | } | + | <code java> |
| - | if(probability(0.6)) (Fruit(0.01, | + | fl: |
| - | else if(probability(0.4)) | + | {float sugar = first((* Leaf *)[as]); |
| - | The sugar availability | + | println(" |
| - | 6) Fruit Growth Competition | + | } |
| - | Multiple fruits compete for available resources using an age-based weighting system (L. 209-225): | + | if(sugar>0.0005) ({noFrts++; |
| + | else (fl); | ||
| + | </ | ||
| + | Note that a '' | ||
| + | Availability of sugar is calculated by querying '' | ||
| + | |||
| + | ===== Fruit Growth Competition | ||
| + | Multiple fruits compete for available resources using an age-based weighting system (L. 214-226): | ||
| + | <code java> | ||
| fr:Fruit ::> { | fr:Fruit ::> { | ||
| float totalSugar = sum((* lf1:Leaf *)[as]); | float totalSugar = sum((* lf1:Leaf *)[as]); | ||
| Line 112: | Line 141: | ||
| float sugar = (totalAgeWeight > 0) ? | float sugar = (totalAgeWeight > 0) ? | ||
| (totalSugar * ageWeight) / totalAgeWeight : totalSugar / fruitCount; | (totalSugar * ageWeight) / totalAgeWeight : totalSugar / fruitCount; | ||
| - | Younger fruits receive proportionally more resources through exponential age weighting, simulating their stronger sink strength. | + | </ |
| - | 7) Visual Feedback | + | |
| + | Younger fruits receive proportionally more resources through exponential age weighting, simulating their stronger sink affinity (thereby compensating their smaller size). | ||
| + | |||
| + | ===== Visual Feedback | ||
| Internodes change color based on their sugar content, providing visual feedback of the transport process: | Internodes change color based on their sugar content, providing visual feedback of the transport process: | ||
| + | <code java> | ||
| itn.(setShader(new RGBAShader(itn[as]*2000.0, | itn.(setShader(new RGBAShader(itn[as]*2000.0, | ||
| - | Tasks for Exploration | + | </ |
| - | 1. Run the model and observe sugar flow: Watch how internodes change color as sugar moves through them. | + | |
| - | 2. Modify DIFF_CONST: Try values between 0.0001 and 0.01. How does this affect: | + | ===== Tasks for Exploration |
| - | o Speed of sugar movement? | + | |
| - | o Final fruit size? | + | |
| - | o Number of successfully developed fruits? | + | |
| - | 3. Change transport frequency: Modify the condition if(time % 24 == 0) to different values (e.g., % 12 for twice-daily transport). What impact does this have? | + | * Final fruit size? |
| - | 4. Adjust maintenance respiration: | + | * Number of successfully developed fruits? |
| - | Key Improvements Over FlowerAging Model | + | |
| - | Feature FlowerAging Transport | + | |
| - | Sugar tracking Only in leaves Leaves, | + | |
| - | Transport None Diffusion-based with user-defined edges | + | ===== Biological Relevance |
| - | Fruit growth Fixed size Based on sugar availability | + | |
| - | Resource competition None Age-based weighting | + | |
| - | Maintenance costs None Respiration in internodes | + | |
| - | Visual feedback Leaf color only Leaf and internode color | + | |
| - | Biological Relevance | + | |
| This transport model introduces key physiological concepts: | This transport model introduces key physiological concepts: | ||
| • Source-sink relationships: | • Source-sink relationships: | ||
| Line 139: | Line 167: | ||
| • Maintenance respiration: | • Maintenance respiration: | ||
| • Sink strength: Younger fruits have stronger sink strength | • Sink strength: Younger fruits have stronger sink strength | ||
| - | The model provides a foundation for exploring how plant architecture and physiology interact to determine yield formation. | + | |
tutorials/radiation-model-in-crop_model9.1761859267.txt.gz · Last modified: 2025/10/30 22:21 by barley1965
