yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #04923
Re: [Question #169913]: wrap of coordinates
Question #169913 on Yade changed:
https://answers.launchpad.net/yade/+question/169913
Status: Open => Answered
Chareyre proposed the following answer:
Cell.hpp :
The most general ones:
/*! Return point inside periodic cell, even if shear is applied */
Vector3r wrapShearedPt(const Vector3r& pt) const { return
shearPt(wrapPt(unshearPt(pt))); }
/*! Return point inside periodic cell, even if shear is applied; store
cell coordinates in period. */
Vector3r wrapShearedPt(const Vector3r& pt, Vector3i& period) const {
return shearPt(wrapPt(unshearPt(pt),period)); }
If there is no shear (faster):
/*! Wrap point to inside the periodic cell; don't compute number of
periods wrapped */
Vector3r wrapPt(const Vector3r& pt) const {
Vector3r ret; for(int i=0;i<3;i++)
ret[i]=wrapNum(pt[i],_size[i]); return ret;}
/*! Wrap point to inside the periodic cell; period will contain by how
many cells it was wrapped. */
Vector3r wrapPt(const Vector3r& pt, Vector3i& period) const {
Vector3r ret; for(int i=0; i<3; i++){
ret[i]=wrapNum(pt[i],_size[i],period[i]); } return ret;}
--
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.