yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #08751
Re: [Question #240621]: Avoid boundary effect by using parameter V in getStress() of non-periodic case
Question #240621 on Yade changed:
https://answers.launchpad.net/yade/+question/240621
Jan Stránský proposed the following answer:
Hello Nguyen,
the stress is computed according to [1],
stress = (1/V)*sum(f_i*l_j)
where the sum is done over all interactions in the simulation, regardless
volume parameter. The volume parameter is used only to scale the sum
result. so
getStress(boxVolume*0.75) = getStress(boxVolume) / 0.75
and therefore this approach does not solve your problem..
if you want to avoid boundary effects, you can write your own function,
summing forces and branches vectors of only some interactions, e.g.
def myGetStress():
ret = Matrix3.Zero
for i in O.interactions:
if not someConditionForConsideringInteraction: continue # do not
consider certain onteractions, e.g. with one or both bodies outside defined
boundaries
f = i.phys.normalForce() + i.phys.shearForce()
l = O.bodies[i.id2].state.pos - O.bodies[i.id1].state.pos
ret += f.outer(l)
return ret
cheers
Jan
[1] https://yade-dem.org/doc/yade.utils.html#yade._utils.getStress
2013/12/11 Nguyen N.G. Hien <question240621@xxxxxxxxxxxxxxxxxxxxx>
> New question #240621 on Yade:
> https://answers.launchpad.net/yade/+question/240621
>
> Hello,
> I have a question about the getStress() function (utils.getStress()) in my
> simulation (triaxial test under TriaxialStressController engine)
> In fact my model is a box with the size of the box is (-0.1,-0.1,-0.1) and
> (0.1,0.1,0.1) and the model is non-periodic case.
>
> To extract the internal stress of the specimen, I use getStress(), as I
> see in the document, for the non-periodic case, the V = 1, so in order to
> output stress for the whole specimen, it would be:
> utils.getStress(boxVolume)
> The problem here is I want to avoid the boundary effect so I want to
> "getStress" of a smaller space inside the specimen, if I do, for example
> utils.getStress(boxVolume*0.75), is that a correct to avoid the boundary
> effect? Because I don't know how V is considered and calculated in this
> function, can anyone explain?
> Thanks in advance.
>
>
> https://yade-dem.org/doc/yade.utils.html?highlight=getstress#yade._utils.getStress
>
> --
> You received this question notification because you are a member of
> yade-users, which 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 you are a member of
yade-users, which is an answer contact for Yade.