← Back to team overview

yade-dev team mailing list archive

Re: periodic boundary consolidation

 

What I proposed previously was unnecessarily complicated, since reference hSize (Cell::getHSize0) can be computed from trsf and hSize, there is no need to keep track of it. The display refHSize is in the code, but it will not be used in scripts most the time. Commited in r2693, further suggestions welcome.

The only side-effect is that setting hSize directly results in O.cell.trsf=Matrix3.Identity (disregarding refHSize)

Setting O.cell.refSize will still work, but will give suggestion -- either to use setBox(...) if setting up a new cell, or do nothing, if setting to the current size of orthogonal cell. In the future, refSize will be read-only to make sure it is not abused.

Setting O.cell.trsf=Identity will make PeriTriaxController automatically use the current state as reference, because of getHSize0 uses trsf^-1*hSize.

Cheers, v.

Hi there (especially Bruno),

I see that the current approach with hSize is more flexible and that we can do without refSize in most cases. Also, it is true that is makes more sense if trsf is just accumulator of velGrad which does not change geometry and can be changed by the user freely, without any impact on current geometry. There are 2 issues to be resolved:

1. We still need some reference size (or hSize) for defining goal strain in PeriTriaxController and similar engines. How to do that? It should be in the Cell (not in the engine), but then when to set it to the current state? All that I can imagine is to set it when trsf is assigned by the user: then do refHSize=trsf^-1*hSize; then the engine will take as reference geometry what you say is (mechanically) "undeformed" geometry; and do the same when someone sets hSize by hand as well perhaps (?).

2. For displacement scaling, another reference hSize is needed (which is independent from the "mechanically reference" hSize), which is called a bit confusingly just refHSize in the current code, and which is set (a) when refHSize sub 1. is set and (b) when required by the user (the utils.setRefSe3 and such).

Do you agree with the solutions, i.e. to introduce refHSize and dispRefHSize and update them as described?

Cheers, v.

_______________________________________________
Mailing list: https://launchpad.net/~yade-dev
Post to     : yade-dev@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~yade-dev
More help   : https://help.launchpad.net/ListHelp





Follow ups

References