dr

compas_dr.solvers.dr(vertices, edges, fixed, loads, qpre, fpre=None, lpre=None, linit=None, E=None, radius=None, kmax=100, dt=1.0, tol1=0.001, tol2=1e-06, c=0.1, callback=None, callback_args=None)

Implementation of dynamic relaxation with RK integration scheme in pure Python.

Parameters:
verticeslist

XYZ coordinates of the vertices.

edgeslist

Connectivity of the vertices.

fixedlist

Indices of the fixed vertices.

loadslist

XYZ components of the loads on the vertices.

qprelist

Prescribed force densities in the edges.

fprelist, optional

Prescribed forces in the edges.

lprelist, optional

Prescribed lengths of the edges.

linitlist, optoional

Initial length of the edges.

Elist, optional

Stiffness of the edges.

radiuslist, optional

Radius of the edges.

kmaxint, optional

Maximum number of iterations.

dtfloat, optional

The time step.

tol1float, optional

Convergence criterion for the residual forces.

tol2float, optional

Convergence criterion for the displacements in between interations.

cfloat, optional

Damping factor for viscous damping.

callbackcallable, optional

A user-defined callback that is called after every iteration. The callback will be called with k the current iteration, X the coordinates at iteration k, crit1, crit2 the values of the stoppage criteria at iteration k, and callback_args the optional additional arguments.

callback_argstuple, optional

Additional arguments to be passed to the callback.

Returns:
xyzarray

XYZ coordinates of the equilibrium geometry.

qarray

Force densities in the edges.

farray

Forces in the edges.

larray

Lengths of the edges

rarray

Residual forces.

Examples

>>>