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

