← Back to team overview

yade-users team mailing list archive

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.