[MBDyn-users] Constitutive laws gain ...

Rudi Jaeger rudijaeger at yahoo.com
Wed Aug 29 18:26:13 CEST 2007


Dear Dr Masarati,


>> Or am I wrong? How will this look like in a multilinear function
>> or the sum, sub, etc. operations? Is it possible to do something
>> like:

>> scalar function: "first_factor", const, coefficient;
>> scalar function: "second_factor", const, coefficient;
>> scalar function: "quadratic", mul, "first_factor", "second_factor"
>> constitutive law: 1000, 1, nlsf viscoelastic, 10.0, null, 0.0, "quadratic"

> I think the above would not work much like you expect, if I got you
> right.  In fact, by multiplying two const functions you'd get another
> const coefficient.  If what you want to obtain is a function that is
> linear wrt/ the strain and quadratic wrt/ the strain rate, you should
> use:

> scalar function: "viscous_factor", const, d;
> scalar function: "viscous_quadratic", pow, 2;
> scalar function: "viscous", mul, "viscous_factor", "viscous_quadratic";
> constitutive law: 1000, 1, nlsf viscoelastic, 10.0, null, 0.0, "viscous"

> so that the const "viscous_factor" multiplies the power of two function
> of the strain rate "viscous_quadratic", and the result is added to 10.0
> times the strain.
I think my problem was a fixation on the way functions are usually declared in
dependence on some variable. Here is just a variant of the law above to see if I
get things right now:

scalar function: "first_factor", pow, 1;
scalar function: "second_factor", pow, 1;
scalar function: "viscous", mul, "first_factor", "second_factor";
constitutive law: 1000, 1, nlsf viscoelastic, 10.0, null, 0.0, "viscous"

If this can be done, it should also be possible to create that constitutive
law I was originally talking about:

>>> I would like to do the following: If the angular velocity
>>> in a deformable hinge is large, apply much damping,
>>> if it is small, apply less damping.

Something like this should work:

set: real high_velo= 100.0;
set: real limit_velo= 10.0;
set: real eps= 0.01;
set: real high_damp= 5.0;
set: real low_damp= 0.2;

scalar function: "velo_step", multilinear,
   -high_velo, high_damp,
   -limit_velo-eps, high_damp,
   -limit_velo+eps, low_damp,
    limit_velo-eps, low_damp,
    limit_velo+eps, high_damp,
    high_velo, high_damp;

scalar function: "strain_rate", pow, 1;

scalar function: "step_rate", mul, "velo_step", "strain_rate";

constitutive law: 1000, 1, nlsf viscoelastic, null, null, 0.0, "step_rate"

Do you agree?

Sincerely yours,
Rudi Jaeger
 
       
---------------------------------
Luggage? GPS? Comic books? 
Check out fitting  gifts for grads at Yahoo! Search.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mbdyn.org/pipermail/mbdyn-users/attachments/20070829/da260464/attachment.htm>


More information about the Mbdyn-users mailing list