I did it a little different than I proposed lastly. The cell shrinks, though, when I apply pure shear, which is not right? (using scripts/test/periodic-triax-velgrad.py, the height decreases...)
Can you check those few formulas in Cell::integrateAndUpdate? I commented all Hsize-related things out. _shearIncrt was renamed to _strainInc (since it is strain increment, no? Maybe I don't understand right what is what, which can also be the cause of cell shrinking?) I removed VELGRAD and unified both approaches. You can set strain/refSize directly, and additionally you can also set velGrad. (Analogous to changing body position directly, or changing its velocity). Sorry if I broke something. It seems we are converging to some nice solution, though :-) Cheers, Vaclav > Hi Bruno, > > I am a little lost with Cell now. > > What I need is that if I set 'strain' to be something, than strain > matrix will have those values. Currently your code resets this. > > You are computing strain from _shearTrsfMatrix, but that is > "wrong" (i.e. not what I wanted). Those variables marked with underscore > are really _caches_, precomputed values. Therefore > > 1. I propose: > > shearInc=dt*velGrad; > strain=strain+_shearInc*(strain+Matrix3r::IDENTITY)-Matrix3r::IDENTITY; > _shearTrsfMatrix=strain+Matrix3r::IDENTITY; > // ... > > is that right? > > (note: for undeformed cell, strain matrix has 0s on the diagonal, > whereas _shearTrsfMatrix has 1s on the diagonal) > > 2. Why do we need the Hsize matrix? If we don't, the original > > _size=refSize+diagMult(getExtensionalStrain(),refSize); > > will work just fine. > > 3. We call it "velocity gradient", shouldn't it be just "strain rate"? > > 4. Proposal to have refSize==Vector3r(-1,-1,-1) and raising exception if > it is not set during computation. That would avoid "if refSize[0]!=1" > kind of conditions which can break easily. > > Cheers, Vaclav _______________________________________________ Mailing list: https://launchpad.net/~yade-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp

