[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