Eugene,

The ANCF beam elements (ChElementBeamANCF_3243, ChElementBeamANCF_3333) in 
the main branch currently are only setup for a simple linear 
elastic/viscoelastic material model.  

Looking at your curve, I was wondering how critical it was to capture the 
effects of plasticity versus treating the entire curve as elastic.  If you 
could treat it as elastic, then potentially you could use a hyperelastic 
material law to approximate your curve.   It is relatively straightforward 
to modify these elements for hyperelastic material laws based on the 
principal invariants of the right Cauchy-Green deformation tensor (C).  
 The mathematical details for this are documented in my PhD thesis in 
chapters 9 & 10 (Efficient Implementation Strategies for the Absolute Nodal 
Coordinate Formulation with Linear and Hyperelastic Material Laws).  I have 
an example of a two-term Mooney-Rivlin material model for these elements in 
a branch of my fork of chrono 
(https://github.com/taylome/chrono/tree/thesis/hyperelastics) 
[ChElementBeamANCF_3243_MR_Damp and ChElementBeamANCF_3333_MR_Damp which 
both include a nonlinear Kelvin-Voight viscosity model as well].  Note that 
I have a couple comparison tables against results from a commercial code in 
chapter 10 of the thesis which shows that these beam elements are okay for 
axial extension but have severe locking in bending This can be somewhat 
addressed with selective reduced integration, but that technique over 
softens the elements a bit.  The hexahedral element (much more 
computationally expensive) performed much better for these tests 
[ChElementHexaANCF_3843_MR_Damp].

Alternatively, if you could define the first Piola-Kirchhoff stress tensor 
for your desired material law at every Gauss quadrature point in the ANCF 
element, then I think you could use equation 7.28 in the thesis to setup 
the generalized internal force vector needed in the code.  You could then 
implement a numeric differentiation approximation for the Jacobian of the 
generalized internal force to keep the implementation simpler.   There is 
an example of computing a numeric Jacobian in 
ChElementBeamANCF_3243_MR_DampNumJac.cpp

I know it is possible to model plasticity within ANCF, however I personally 
have not tried to do so.  If you look at the ChElementHexaANCF_3813_9 
element, you'll see that this element, which is coded up differently, 
supports plasticity for both metals and soils.  Unfortunately, I don't know 
much more than that.  Looking at the code for the ChElementBeamIGA, I 
noticed that it also had options for plasticity, but I personally don't 
know anymore than that.

I hope that helps,

Mike Taylor


On Thursday, April 13, 2023 at 9:40:58 AM UTC-5 Eugene Lin wrote:

> Hello,
> I am trying to model spider threads right now, and I have come across an 
> issue where the threads are experiencing large amounts of deformation, 
> requiring a nonlinear stress strain curve.
>
> Here is a sample of how a typical stress-strain curve looks like. You can 
> see it is not exactly straight at larger loads.
> [image: Representative stress-strain curve of Argiope keyserlingi radial 
> silk showing the key measures of biomechanical properties in spider silks 
> (A. M. T. Harmer, 2010 unpublished data). The biomechanical properties of 
> spider silks (and materials in general) are defined by several key 
> parameters. These include: stress, calculated as force divided by the 
> crosssectional area of the fibre (engineering stress). For silks, this is 
> usually converted to true stress by multiplying engineering stress by L/L 0 
> (length of stretched fibre/original length; e.g. [79]). This approximates 
> the instantaneous cross-sectional area of the fibre that is important for 
> elastic materials [78]. Strain measures the change in the length of a fibre 
> relative to its original length (engineering strain). It is usually 
> converted to true strain by taking the natural log of L/L 0 [146]. Tensile 
> strength is the stress at the breaking point of a material under uniaxial 
> loading [78]. Extensibility describes the stretchiness of a fibre, for 
> example the percentage increase in a fibre's length at breaking when 
> compared with its original length. Stiffness is defined by Young's modulus 
> and is calculated from the slope of the initial elastic region of the 
> stress-strain curve. It is a measure of the ability of a fibre to resist 
> deformation [95]. Yield is the point where a fibre transitions from elastic 
> (and reversible) deformation to plastic deformation. Higher yield values 
> make fibres more resistant to permanent deformation [33]. Toughness is the 
> energy required to break a thread. It is calculated as the area under the 
> stress-strain curve [95]. Hysteresis (not shown on figure) is the 
> proportion of energy lost during a loading-unloading cycle [78]. The energy 
> required to stretch a silk thread is greater than that required to return 
> it to its natural state as some energy is lost as heat.]
>
> I am reading the FEA module documentation and it doesn't seem like there 
> is any information about modelling nonlinear stress strain curves in the 
> FEA module. Is it possible to recreate a stress-strain curve to model this, 
> maybe by adding a few functions inside the FEA module?
>
> Thank you,
> Eugene
>

-- 
You received this message because you are subscribed to the Google Groups 
"ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/projectchrono/91206d4c-4046-4355-8877-4da5b59980c9n%40googlegroups.com.

Reply via email to