[MBDyn-users] Custom constitutive law implementation

Pierangelo Masarati pierangelo.masarati at polimi.it
Wed Dec 21 12:21:14 CET 2016

In addition to Andrea's suggestion (which gives the most freedom, 
although it requires some coding skills), you can use the nlsf 
viscoelastic" or "nlp viscoelastic" constitutive laws by defining 
appropriate scalar functions that produce the desired behavior for 
positive/negative strain rates. A bottom line would be to use the 
piecewise linear, with different slopes for positive and negative strain 

Sincerely, p.

On 12/21/2016 12:17 PM, Andrea Zanoni wrote:
> Hi Antonio,
> the most flexible way is to write a runtime loadable module either in 
> C++, Fortran 90 or Fortran 95: you can take a look at the templates in
> /modules/module-constlaw/
> /modules/module-constlaw-f90/
> /modules/module-constlaw-f95/
> And maybe, for example, in /modules/module-muscles/ if you want a 
> complete and working example.
> If the constitutive law is fairly simple, though, you could probably 
> try to define it using a symbolic viscoelastic constitutive law (see 
> section 2.9.26 of the input manual). This latter option is available 
> if MBDyn is compiled with GiNaC (www.ginac.de) support. You can 
> activate it by installing GiNaC in development version, for example 
> installing the package libginac-dev in Debian/Ubuntu or ginac-devel in 
> Fedora, and make sure that the MBDyn configure script sees it by 
> setting a couple of einvonmental variables, see:
> http://www.ginac.de/tutorial/#Configure-script-options
> The method that i use normally is to set
> LD_LIBRARY_PATH=/usr/local/lib
> LD_RUN_PATH=/usr/local/lib
> PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
> just before calling the MBDyn configure script.
> Hope that helps.
> Cheers
> Andrea
> Il 21/12/2016 12:02, Antonio Sidoti ha scritto:
>> Hello MBDyn community,
>> I would like to implement a monodimensional nonlinear constitutive 
>> law whose behaviour for positive strain rates is different from the 
>> one for negative strain rates.
>> I looked at the manual and, to my understanding, the closest match to 
>> something generic is "nlsf viscoelastic" or "nlp viscoelastic" 
>> constitutive law but the argument of each scalar function is either 
>> the strain or the strain rate. I could not find a way of reproducing 
>> this behaviour with these formulations.
>> Is there a way of implementing such constitutive law? I thought of 
>> something where you could give two scalar functions for the two 
>> "regimes", but I think this could cause some problem related to 
>> sudden "jumps" from one branch to the other for an arbitrary loading 
>> history ( in my case the loading history is always one cycle so I 
>> should not encounter this kind of problem).
>> I hope I explained myself well. Thanks in advance for any help.
>> Cheers,
>> Antonio
>> _______________________________________________
>> MBDyn-users mailing list
>> MBDyn-users at mbdyn.org
>> https://mail.mbdyn.org/cgi-bin/mailman/listinfo/mbdyn-users
> -- 
> ---
> Andrea Zanoni
> Dipartimento di Scienze e Tecnologie Aerospaziali
> Politecnico di Milano
> Ph. (+39) 02 2399 8035
> _______________________________________________
> MBDyn-users mailing list
> MBDyn-users at mbdyn.org
> https://mail.mbdyn.org/cgi-bin/mailman/listinfo/mbdyn-users

Pierangelo Masarati
Dipartimento di Scienze e Tecnologie Aerospaziali
Politecnico di Milano

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mbdyn.org/pipermail/mbdyn-users/attachments/20161221/9a58affc/attachment-0001.html>

More information about the MBDyn-users mailing list