@@ -32,7 +32,8 @@ def __init__(self, c):
3232 self .b = 0.5 * (1 + self .a )
3333
3434
35- def dr_numpy (vertices , edges , fixed , loads , qpre , fpre , lpre , linit , E , radius ,
35+ def dr_numpy (vertices , edges , fixed , loads , qpre ,
36+ fpre = None , lpre = None , linit = None , E = None , radius = None ,
3637 callback = None , callback_args = None , ** kwargs ):
3738 """Implementation of the dynamic relaxation method for form findong and analysis
3839 of articulated networks of axial-force members.
@@ -49,15 +50,15 @@ def dr_numpy(vertices, edges, fixed, loads, qpre, fpre, lpre, linit, E, radius,
4950 XYZ components of the loads on the vertices.
5051 qpre : list
5152 Prescribed force densities in the edges.
52- fpre : list
53+ fpre : list, optional
5354 Prescribed forces in the edges.
54- lpre : list
55+ lpre : list, optinonal
5556 Prescribed lengths of the edges.
56- linit : list
57+ linit : list, optional
5758 Initial length of the edges.
58- E : list
59+ E : list, optional
5960 Stiffness of the edges.
60- radius : list
61+ radius : list, optional
6162 Radius of the edges.
6263 callback : callable, optional
6364 User-defined function that is called at every iteration.
@@ -113,6 +114,15 @@ def dr_numpy(vertices, edges, fixed, loads, qpre, fpre, lpre, linit, E, radius,
113114 num_e = len (edges )
114115 free = list (set (range (num_v )) - set (fixed ))
115116 # --------------------------------------------------------------------------
117+ # input processing
118+ # --------------------------------------------------------------------------
119+ qpre = qpre or [0.0 for _ in range (num_e )]
120+ fpre = fpre or [0.0 for _ in range (num_e )]
121+ lpre = lpre or [0.0 for _ in range (num_e )]
122+ linit = linit or [0.0 for _ in range (num_e )]
123+ E = E or [0.0 for _ in range (num_e )]
124+ radius = radius or [0.0 for _ in range (num_e )]
125+ # --------------------------------------------------------------------------
116126 # attribute arrays
117127 # --------------------------------------------------------------------------
118128 x = array (vertices , dtype = float ).reshape ((- 1 , 3 )) # m
0 commit comments