GVSBody

This abstract class represents a slender soft body modeled under the Geometric Variable Strain (GVS) approach of [2]. The class implements all the methods required by a Body. Concrete subclasses must define a strain basis \boldsymbol{\Phi}(\boldsymbol{q}, s) \in \mathbb{R}^{6 \times n} such that

\boldsymbol{\xi}(\boldsymbol{q}, s) = \boldsymbol{\Phi}(\boldsymbol{q}, s)\boldsymbol{q} + \boldsymbol{\xi}_{0}

where \boldsymbol{\xi} \in \mathbb{R}^{6 \times 1} is the strain, being \boldsymbol{\xi}_{0} its stress-free value, \boldsymbol{q} \in \mathbb{R}^{n} the vector of configuration variables and s \in [0, L_{0}] the curvilinear abscissa, with L_{0} the body rest length.

See PCC2D or PCC3D for how the strain basis can be implemented.

class GVSBody

Bases: Body

Abstract class modeling a 1D continuum under the Geometric Variable Strain (GVS) approach. The internal interaction forces are modeled using a linear visco-elastic law.

Constructor Summary
GVSBody(n, Parameters)

Construct a GVS body.

Parameters:
  • n (double) – Number of DoF of the body

  • Parameters ([double], [sym]) – Parameters of the body, specified as L_{0}, R_{\mathrm{base}}, R_{\mathrm{tip}}, \rho, E, \nu, \eta and N_{\mathrm{Gauss}}

Property Summary
Parameters

Vector collecting the parameters of the GVS Body as \mathrm{Parameters} = \left( L_{0} \,\, R_{\mathrm{base}} \,\, R_{\mathrm{tip}} \,\, \rho \,\, E \,\, \nu \,\, \eta \,\, N_{\mathrm{Gauss}} \right)^{T} \in \mathbb{R}^{8 \times 1}, where L_{0}, R_{\mathrm{base}} and R_{\mathrm{tip}} denote the body rest length, the base and tip radius, \rho is the mass density, E the Young modulus, \nu the Poisson ratio, \eta the material damping coefficient, and N_{\mathrm{Gauss}} represents the number of Gaussian points used for the computation of the kinematics and the integrals.

Method Summary
Update(q, dq, ddq, options)

Arguments definition

xi(q, s)

Output preallocation