inf.thetaFromSe(funcType, soil[0], Se)) print("Soil upper boundary potential ", ubPotential) isFreeDrainage = True sumInfiltration = 0 totalIterationNr = 0 # # Initialize root domain # # rsname = "Anagallis_femina_Leitner_2010" # # Root parameter # p0 = rb.RootTypeParameter() # Taproot p0.name = "taproot" p0.type = 1 p0.theta = 0 p0.lb = 1 p0.la = 10 p0.nob = 20 p0.ln = 89. / 19. p0.r = 3. p0.dx = 0.1 p0.tropismT = 1 p0.tropismN = 3 p0.tropismS = 0.01 rs = rb.RootSystem() rs.setRootTypeParameter(p0)
import py_rootbox as rb from rb_tools import * import math rs = rb.RootSystem() # Root type parameter p0 = rb.RootTypeParameter() # with default values, p1 = rb.RootTypeParameter() # all standard deviations are 0 p0.name = "taproot" p0.type = 1 p0.lb = 1 p0.la = 10 p0.nob = 20 p0.ln = 89./19. p0.theta = 30./180.*math.pi p0.r = 1 p0.dx = 0.5 p0.successor = a2i([2]) # add successors p0.successorP = a2v([1]) p0.tropismT = rb.TropismType.gravi p0.tropismN = 1. p0.tropismS = 0.2 p1.name = "lateral" p1.type = 2 p1.la = 25 p1.las = 10 # add standard deviation p1.ln = 0 p1.r = 2
return l def vv2a(vd): # rb.std_vector_Vector3_ to numpy array N = len(vd) l = np.zeros((N, 3)) for i in range(0, N): l[i, :] = [vd[i].x, vd[i].y, vd[i].z] return l # # Root type parameter # rs = rb.RootSystem() p0 = rb.RootTypeParameter(rs) p1 = rb.RootTypeParameter(rs) # Taproot p0.name = "taproot" p0.type = 1 p0.lb = 1 p0.la = 10 p0.nob = 20 p0.ln = 89. / 19. p0.r = 1 p0.dx = 0.5 p0.k = maxRootLength(p0.la, p0.lb, p0.ln, p0.nob) # print(p0) # 1st order lateral