← Back to team overview

yade-users team mailing list archive

Re: [Question #313437]: The relationship between stress tensor and stress vector

 

Question #313437 on Yade changed:
https://answers.launchpad.net/yade/+question/313437

Jan Stránský proposed the following answer:
Hello,


> But I do not understand the O.cell.trsf and O.cell.velGrad very well. Is
> the value of O.cell.trsf equal to the value of multiplying O.cell.velGrad
> with O.run(time)?


O.cell.trsf is a tranformation matrix or defromation gradient of the cell,
i.e. coordinate_current = O.cell.trsf*coordinate_reference
Based on deformation gradient, you can define various strain measures [1].

O.cell.velGrad updates O.cell.trsf [2] (it should be mentioned in the docs):
O.cell.trsf = (I+O.dt*O.cell.celGrad)*O.cell.trsf
or
O.cellTrsf = O.cell.trsf + O.dt*O.cell.velGrad*O.cell.trsf


> And in one model, after I use O.cell.velGrad to control the strain and do
> the O.run, can I use another O.cell.velGrad to control an new strain, Is
> the second strain starting from the first strain state? If I want to start
> from the first strain state, how can I do it? Can you give me some
> suggestions?


I don't understand at all what you mean :-) you can set O.cell.celGrad each
time step different value


> If I use the O.cell.velGrad, is there some necessary conditions? For
> example, the steps of O.run() to guarantee the output stress relative
> steady. Whether I can control the stress at the same time or not?


There is no necessary condition for velGrad. "to guarantee the output
stress relative steady": if you mean the simulation to be quasi-static,
then the velGrad should not be "too big", but it strongly depends on your
definition of "steady"

Yon can't control stress of the cell, only indirectly control trsf such
that resulting stress match some condition (e.g. Peri3dController does
exactly this)

cheers
Jan

PS: next time please prepare the question in advance such that it is not
changed several times before the first answer, it gets a bit messy

[1] https://en.wikipedia.org/wiki/Finite_strain_theory
[2] https://github.com/yade/trunk/blob/master/core/Cell.cpp#L10


2016-07-31 15:02 GMT+02:00 liukeqi <question313437@xxxxxxxxxxxxxxxxxxxxx>:

> Question #313437 on Yade changed:
> https://answers.launchpad.net/yade/+question/313437
>
> Description changed to:
> Hello,
>     I want to control the strain and let YADE return stress. But I do not
> understand the O.cell.trsf and O.cell.velGrad very well. Does the value of
> O.cell.trsf equal to the value of multiplying O.cell.velGrad with steps of
> O.run() and O.dt? And in one model, after I use O.cell.velGrad to control
> the strain and do the O.run, can I use another O.cell.velGrad to control an
> new strain? Is the second strain state starting from the first strain
> state? If I want to start from the first strain state, how can I do it?
>     If I use the O.cell.velGrad, is there some necessary conditions? For
> example, the steps of O.run() to guarantee the output stress relative
> steady. Whether I can control the stress at the same time or not? For
> example, make the stress of direction z, yz, and xy be zero. If not, is
> there another function can to do it?
>     I am not clear about the O.cell, for example, the relationship between
> the stress tensor matrix obtaining from yade._utils.getStress and the
> stress vector obtaining from Peri3dController(p3d.stress in the example),
> is there some simple references about it?
>     Can you give me some suggestions? Thank you.
>
> Keqi
>
> --
> You received this question notification because your team yade-users is
> an answer contact for Yade.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to     : yade-users@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-users
> More help   : https://help.launchpad.net/ListHelp
>

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.