← Back to team overview

yade-dev team mailing list archive

Re: periodic boundary consolidation

 

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

In the documentation, setting hSize during a simulation is clearly
discouraged. It should be used only at iteration 0 in order to define
initial geometry (I also added a lazy variant size=Vector3r for
axis-aligned setting). In this situation, I think it is always correct
to have trsf=Id when hSize is set (and ref=current, if there is a reason
to speak about ref).

> 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.
I agree. I would even remove refSize in terms of c++ class member, and
emulate the older behaviour via class interface.
I think the "size=..." I introduced is redundant with your setBox, but
I'll still commit it (sorry) because it is already documented in Sphinx.
We will have to review and merge our last changes probably.
Please have a look at updated sphinx doc for explanation of the Cell
interface I'm pushing.
>
> Setting O.cell.trsf=Identity will make PeriTriaxController
> automatically use the current state as reference, because of getHSize0
> uses trsf^-1*hSize.

The script I sent in previous mail is working as you describe here (see
strain output in terminal). Not because getHSize0 is correct, but just
because the engine is using trsf and doesn't need a reference state.
It seems PBC are consolidating! The last small thing is the unique line
using refSize in PeriTriax, do you agree that we can use size instead?

Cheers.

Bruno



Follow ups

References