Re: [Yade-users] [Question #293247]: Physic interaction betweem particles and polyhedra

2016-05-04 Thread Jérôme Duriez
Question #293247 on Yade changed:
https://answers.launchpad.net/yade/+question/293247

Jérôme Duriez proposed the following answer:
Hello,

You mix here "geometry" [1] and "physics" [2] of YADE interactions. In
order to describe interactions in DEM, you need to know:

- what is the relative movement between two Discrete Elements (i.e. YADE
bodies), that's what's inside the "geometry" of the interaction, often
denoted i.geom

- how forces are associated to these relative displacements, i.e. which
contact law, that's what's inside the "physics" of the interaction:
i.phys

Ip2_FrictMat_FrictMat_MindlinPhys, like all "Ip2_" plays a role in describing 
the physics of the interaction (computing e.g. the stifness parameters of the 
interaction from the material parameters of the bodies). It has most often 
nothing to do with bodies shape !
Indeed, you can still use Ip2_FrictMat_FrictMat_MindlinPhys in your simulations 
whatever your shapes are, the only condition is that your bodies are of 
"FrictMat" type.
(I'm not 100% correct here, because of 
https://github.com/yade/trunk/blob/6d4a0d1689c6bad2dbdd6e27d1653418f7fc6498/pkg/dem/HertzMindlin.cpp#L43,
 but if you're new to YADE you may disregard this parenthesis that won't have 
any effect in your case...)

The bodies shapes enter into picture through the "geom". Because the way
e.g. overlap is computed depends whether we face overlap between
spheres, or between a sphere and a box, or between a sphere and a facet.

Your problem is thus (as Jan said: he told you about "Ig2", not "Ip2")
to use in your simulation the correct "Ig2_". Look here [3] (the names
do help !) to pick the right one.

Once this will be done, you will have a new kind of i.geom in your
simulation. For this reason, you may also have to update your "Law2_.."
(as Jan suggested again) which, in the end, has to consider both i.geom
and i.phys to do his job (computing and applying interaction forces)

Again, you will have to choose the correct Law2 (from [4], there is a
lot..., but again the names do help) to be sure it can handle the i.geom
and i.phys you have in your simulation.



[1] https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.Interaction.geom, 
see https://yade-dem.org/doc/yade.wrapper.html#igeom for all possible choices
[2] https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.Interaction.phys, 
see https://yade-dem.org/doc/yade.wrapper.html#iphys for all possible choices
[3] https://yade-dem.org/doc/yade.wrapper.html#igeomfunctor
[4] https://yade-dem.org/doc/yade.wrapper.html#lawfunctor

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


[Yade-users] [Question #293295]: Want to connect all the particles in an aggregate using cohesive bond

2016-05-04 Thread VG
New question #293295 on Yade:
https://answers.launchpad.net/yade/+question/293295

Hello everyone,

Here is a description of the problem I am trying to solve:

-- I have a granular sample with spherical particles of diameters D1, D2, D3 
etc. All of such big particles (lets call them agglomerates) are composed of 
smaller particles of diameter 'd', since d is the smallest particle size of 
interest.

-- Initially, within each big spherical particle, all the smaller particles 
should be densely packed and connected with cohesive bonds (CohFrictMat). As 
the loading is applied, the initially defined cohesive bonds within each big 
sphere will break progressively leading to smaller fragments.

Now, the problem I am facing: Initially, within a single big sphere itself, 
sometimes there are particles which are shown not to have any cohesive 
interaction, leaving the small individual particle free to fly. How can I 
alleviate this problem ?

This is a follow-up question to 
https://answers.launchpad.net/yade/+question/292846

Here is the script:


from yade import pack

#
# Set up run
#
run_name="PeriodicCohesive_MWE"
data_root_dir="."



#
# Materials
#
plate_material=FrictMat(
young=200e9
,poisson=0.3
,density=8000.
,frictionAngle=radians(30)
,label='plate_mat')

O.materials.append(plate_material)


sample_material=CohFrictMat(
young=4e9
,poisson=0.25
,density=1400
,frictionAngle=radians(30)
,normalCohesion=1e8*1.2
,shearCohesion=.4e8*1.2
,momentRotationLaw=True
,label='sample_mat')
O.materials.append(sample_material)



#
# Component dimensions and operating condition
#
# Granular material dimension
sample_diameter=2e-4
#sample_diameter=126e-6
sample_radius=sample_diameter/2.0
# Sub-particle dimension
particle_diameter=74e-6
particle_radius=particle_diameter/2.

#
# grinding plate dimension
#

rotvel=2./3.*pi*(1.5+0.5)*.254

#
# Periodic Geometry
#


# Set up periodic boundary conditions
O.periodic=True
xExt=4*sample_diameter
yExt=3.*sample_diameter*2 #to block the periodicity in y direction
zExt=xExt
xLim=xExt
yLim=yExt/4
zLim=zExt
O.cell.hSize=Matrix3(
xExt, 0, 0,
0, yExt, 0,
0, 0, zExt)


length=xExt
height=yExt
width=zExt

# Top and bottom plate thickness
thickness=0.1*height





bottomBoxes = []
for ix in (0,1,2):
for iz in (0,1,2):
bottomBoxes.append(box( # create 3x3 boxes with 1/3 cell size
center=(xExt/6.*(1+2*ix),yLim - 
thickness/2.0,zExt/6.*(1+2*iz))
,extents=(xExt/6.,thickness/2.0,zExt/6.)
,wire=False
,material='plate_mat'
))

bottom_id,bottom_ids = O.bodies.appendClumped(bottomBoxes) # bottom_id is the 
clump id,


O.bodies[bottom_id].state.blockedDOFs='xyzXYZ'



#
# Particle Packing
#

min_corner= (0,yLim,0)
max_corner= (xLim, yExt-yLim, zLim)

sp=pack.SpherePack()
sp.makeCloud( min_corner,max_corner, rMean=sample_radius, periodic=False, 
seed=1)

print "Generated ",len(sp)," aggregates"

###
# Sample
###
for s in sp:
sphere=pack.inSphere((s[0][0],s[0][1],s[0][2]),s[1])
sp1=pack.randomDensePack(
sphere
,spheresInCell=2000
,radius=particle_radius
,memoizeDb='/tmp/triaxPackCache.sqlite'
,returnSpherePack=True
)

sp1.toSimulation(material='sample_mat',color=(0.9,0.8,0.6))
print 'Generated ',len(sp1),' particles'

Gl1_Sphere(stripes=True)

#
 # Top
#
topBoxes = []
for ix in (0,1,2):
for iz in (0,1,2):
topBoxes.append(box( # create 3x3 boxes with 1/3 cell size
center=(xExt/6.*(1+2*ix),yExt - yLim + 
thickness/2.0,zExt/6.*(1+2*iz))
,extents=(xExt/6.,thickness/2.0,zExt/6.)
,wire=False
,material='plate_mat'
  

Re: [Yade-users] [Question #292846]: Particle packing - How to avoid overlap

2016-05-04 Thread VG
Question #292846 on Yade changed:
https://answers.launchpad.net/yade/+question/292846

Status: Answered => Open

VG is still having a problem:
Okay I see, Thanks Jan!

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #293247]: Physic interaction betweem particles and polyhedra

2016-05-04 Thread Jonathan Pergoli
Question #293247 on Yade changed:
https://answers.launchpad.net/yade/+question/293247

Jonathan Pergoli posted a new comment:
P.S. I'm new to YADE :-)

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #293247]: Physic interaction betweem particles and polyhedra

2016-05-04 Thread Jonathan Pergoli
Question #293247 on Yade changed:
https://answers.launchpad.net/yade/+question/293247

Jonathan Pergoli posted a new comment:
Thanks Jan, but I mean how can i modifie
Ip2_FrictMat_FrictMat_MindlinPhys in order to distinguish between
sphere-sphere and sphere box? :-)

I'm using box now instead of polyhedra but the problem is the same.

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #292846]: Particle packing - How to avoid overlap

2016-05-04 Thread Jan Stránský
Question #292846 on Yade changed:
https://answers.launchpad.net/yade/+question/292846

Jan Stránský proposed the following answer:
Hi Varun,
I meant to use clumps only for the stage of defining initial packing for
your actual simulation. The steps I meant are: 1) use makeCloud to create
aggregates
2) use randomDensePack to divide each aggregate into a set of spherical
particles
3) apply some compression to make the packing of aggregates denser

1) and 2) you do already, the rest is just to make the packing overall
denser

cheers
Jan


2016-05-04 20:26 GMT+02:00 VG :

> Question #292846 on Yade changed:
> https://answers.launchpad.net/yade/+question/292846
>
> VG posted a new comment:
> Thanks for your response, Jan!
> For the generation of big aggregates, one of the procedures you suggested
> is not very clear to me:
>
> >"- use something like randomDensePack on already "meshed" aggregates, see
>  > Klaus's answer #3 in [1]"
>
> This procedure talks about creating clumps of spherical particles. As
> far as I understand, they behave in a rigid manner and probably I can't
> have breakable cohesive bonds within a clump. Also, I dint quite get
> what you mean by already "meshed" aggregates ?
>
> I will post another question about the issue with CohFrictMat.
>
> --
> You received this question notification because your team yade-users is
> an answer contact for Yade.
>
> ___
> Mailing list: https://launchpad.net/~yade-users
> Post to : yade-users@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~yade-users
> More help   : https://help.launchpad.net/ListHelp
>

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #292846]: Particle packing - How to avoid overlap

2016-05-04 Thread VG
Question #292846 on Yade changed:
https://answers.launchpad.net/yade/+question/292846

VG posted a new comment:
Thanks for your response, Jan!
For the generation of big aggregates, one of the procedures you suggested is 
not very clear to me:

>"- use something like randomDensePack on already "meshed" aggregates, see
 > Klaus's answer #3 in [1]"

This procedure talks about creating clumps of spherical particles. As
far as I understand, they behave in a rigid manner and probably I can't
have breakable cohesive bonds within a clump. Also, I dint quite get
what you mean by already "meshed" aggregates ?

I will post another question about the issue with CohFrictMat.

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #293247]: Physic interaction betweem particles and polyhedra

2016-05-04 Thread Jan Stránský
Question #293247 on Yade changed:
https://answers.launchpad.net/yade/+question/293247

Jan Stránský proposed the following answer:
instead of using utils.polyhedron() using utils.box() :-)
+ changing some Ig2 and Law2 fomr Polyhedra to Box
cheers
Jan


2016-05-04 18:13 GMT+02:00 Jonathan Pergoli <
question293...@answers.launchpad.net>:

> Question #293247 on Yade changed:
> https://answers.launchpad.net/yade/+question/293247
>
> Jonathan Pergoli posted a new comment:
> Hi Jan,
>
> How can be modified?
>
> I have only one box.
>
> --
> You received this question notification because your team yade-users is
> an answer contact for Yade.
>
> ___
> Mailing list: https://launchpad.net/~yade-users
> Post to : yade-users@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~yade-users
> More help   : https://help.launchpad.net/ListHelp
>

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #293247]: Physic interaction betweem particles and polyhedra

2016-05-04 Thread Jonathan Pergoli
Question #293247 on Yade changed:
https://answers.launchpad.net/yade/+question/293247

Jonathan Pergoli posted a new comment:
Hi Jan,

How can be modified?

I have only one box.

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #293179]: 'Name error' while calling function

2016-05-04 Thread Jérôme Duriez
Question #293179 on Yade changed:
https://answers.launchpad.net/yade/+question/293179

Jérôme Duriez posted a new comment:
Regarding #6, I think your problem arose from variable scope (global or
local) -- rather than modules issues.

Python variables / functions may have different scope (leading to
possibility or impossibility to access them) depending how you launch
your python script.

I bet that your python "plotAddData" function had a local scope when
using execfile(...), as opposed to a global one when using yade
yourScript.py

There has been previous (more precise) discussion on such topic in the
mailing list before, but I can not tell you where/when...

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #293247]: Physic interaction betweem particles and polyhedra

2016-05-04 Thread Jan Stránský
Question #293247 on Yade changed:
https://answers.launchpad.net/yade/+question/293247

Status: Open => Answered

Jan Stránský proposed the following answer:
Hi Jonathan,

currently you can have only one instance (thus one set of parameters) of
p2_FrictMat_FrictMat_MindlinPhys. If needed, it could be modified to
distinguish between sphere-sphere and sphere-box interactions, but it would
need some coding and probably would be a bit hacky..

Do you have more boxes in your simulation? If no, I would use box instead
of polyhedra.

cheers
Jan


2016-05-04 16:52 GMT+02:00 Jonathan Pergoli <
question293...@answers.launchpad.net>:

> New question #293247 on Yade:
> https://answers.launchpad.net/yade/+question/293247
>
> Hi everybody!
>
> I'm trying to simulate a box falling on a cylindrical pack of spheres. The
> spheres have coefficient of restitution = .1 and the box has a COR = .6.
> For the spheres I have used Ip2_FrictMat_FrictMat_MindlinPhys(en=.1,es=.1)
> . As regard the box, I would like to use the same but if I write:
> ...
>
> [p2_FrictMat_FrictMat_MindlinPhys(en=.1,es=.1),p2_FrictMat_FrictMat_MindlinPhys(en=.6,es=.6)]
> the former properties are overwritten by the latter.
>
>  The box is made using utils.polyhedron().
>
> I have also used Ip2_FrictMat_PolyhedraMat_CundallStrack(), but I cannot
> set the COR.
>
> Can someone help me,please?
>
> Thank you :)
>
> --
> You received this question notification because your team yade-users is
> an answer contact for Yade.
>
> ___
> Mailing list: https://launchpad.net/~yade-users
> Post to : yade-users@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~yade-users
> More help   : https://help.launchpad.net/ListHelp
>

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #293216]: Creating Ellipse or Ellipsoid

2016-05-04 Thread Jan Stránský
Question #293216 on Yade changed:
https://answers.launchpad.net/yade/+question/293216

Status: Open => Answered

Jan Stránský proposed the following answer:
Hi Felipe,


> 1-> Creating one ellipse or ellpsoid;


> 2-> Simulating bouncing.py changing the sphere to ellipse;
>

ellipsoids are currently not implemented in Yade. A workaround is to create
a clump composed of overlaping spheres with surface approximating an
ellipsoid.


>
> 3-> How is it work the function "pack.inEllipsoid";
>

inEllipsoid should work in the same way like other pack.predicates, like
pack.inCylinder, pack.inAlignedBox, see [1]


>
> 4-> Is it possible to create one ellipsoid like one pack.cylinder. I have
> created a pack cylinder and right now i would like to change this pack for
> one pack in ellipsoid.
>

did you mean pack.inCylinder? if yes, changing inCylinder to inEllipsoid
(and probably the arguments) should be enough..

cheers
Jan

[1] https://yade-dem.org/doc/user.html#constructive-solid-geometry-csg

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #292846]: Particle packing - How to avoid overlap

2016-05-04 Thread Jan Stránský
Question #292846 on Yade changed:
https://answers.launchpad.net/yade/+question/292846

Status: Open => Answered

Jan Stránský proposed the following answer:
Hi Varun,


> VG is still having a problem:
> Thinking about this problem more, this might not actually be a bug. As you
> outlined, the difference between the previous version and "fixed" version
> is:
> - Previous version: Pack all the smaller spheres within the predicate
> (bigger sphere), such that the centers of smaller spheres are within the
> boundary of predicate.
> - Fixed version: Only the smaller spheres which are entirely contained
> within the predicate are considered.
>
> What the fixed version does can also possibly be attained by
> pack.inSphere((s[0][0],s[0][1],s[0][2]),(s[1]-particle_radius)).
> Correct me if I am wrong.


The description of previous and fixed versions is correct

in pack.inSphere, it was a real bug. Of course, you can play with settings
like using s[1] or s[1]-particle_radius, but this is different point.


>
> That still doesn't solve the physical problem I am trying to set up. I
> should give a better description of the problem I am trying to solve, if
> there is a better set up possible for the problem:
>
> -- I have a granular sample with given input particle size distribution.
> Under mechanical loading, these particles will break and I want to get
> the resulting particle size distribution.
>
> -- I am representing the input particle size distribution with spherical
> particles of diameters D1, D2, D3 etc. All of such big particles are
> composed of smaller particles of diameter 'd', since d is the smallest
> particle size of interest.
>
> -- Initially, within each big spherical particle, all the smaller
> particles should be densely packed and connected with cohesive bonds. As
> the loading is applied, the initially defined cohesive bonds within each
> big sphere will break progressively leading to smaller fragments, giving
> a new particle size distribution.
>

thanks for clarifying, but your description was OK before :-) how you want
to create the initial packing is the matter of your preferences.
randomDensePack within a big agregate is a good choice. For the big
aggregates, you can use:
- makeCloud like now
- randomDensePack to get denser packing of bigger aggrgates
- use something like randomDensePack on already "meshed" aggregates, see
Klaus's answer #3 in [1]



>
>
> The major problems I am facing in the current script are:
>
> -- Smaller particles from two different predicates (big spheres) tend to
> overlap.
>

this should not happen with newer version


>
> -- I am noticing that sometimes cohesive bond gets formed between two
> smaller particles of different predicates. I would like to avoid this,
> since I only want non-cohesive contact between the two different big
> spheres.
>
> -- Initially, within a single big sphere itself, sometimes there are
> particles which are shown not to have any cohesive interaction, leaving
> that small single particle free to fly.
>

this is material model dependent. I am not very familiar with CohFrictMat,
so somebody else have to help.

Probably open a new question on this topic, since it is different from the
original problem.

cheers
Jan

[1] https://answers.launchpad.net/yade/+question/292672

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


[Yade-users] [Question #293247]: Physic interaction betweem particles and polyhedra

2016-05-04 Thread Jonathan Pergoli
New question #293247 on Yade:
https://answers.launchpad.net/yade/+question/293247

Hi everybody!

I'm trying to simulate a box falling on a cylindrical pack of spheres. The 
spheres have coefficient of restitution = .1 and the box has a COR = .6. For 
the spheres I have used Ip2_FrictMat_FrictMat_MindlinPhys(en=.1,es=.1) . As 
regard the box, I would like to use the same but if I write:
...
[p2_FrictMat_FrictMat_MindlinPhys(en=.1,es=.1),p2_FrictMat_FrictMat_MindlinPhys(en=.6,es=.6)]
the former properties are overwritten by the latter.

 The box is made using utils.polyhedron().

I have also used Ip2_FrictMat_PolyhedraMat_CundallStrack(), but I cannot set 
the COR.

Can someone help me,please?

Thank you :)

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


[Yade-users] [Question #293235]: Update algorithm of shear displacement

2016-05-04 Thread Jibril Coulibaly
New question #293235 on Yade:
https://answers.launchpad.net/yade/+question/293235

Hi everyone,

My questions concern the algorithm used for the shear dispalcement update and 
its implementation is the class ScGeom. I would like to fully understand the 
update procedure but it seems like there are discrepancies between the 
documentation and the code.

In the documentation ( https://yade-dem.org/doc/formulation.html#fig-shear-2d 
), the update is said to be "done by perpendicular projection to the plane 
first (which might decrease |\uT|) and adding what corresponds to spatial 
rotation of the interaction instead". The formulae for the corresponding 
increments don't indicate a projection and look more like infinitesimal 
rotations. These 2 rotations, acting of the previous shear dispalcement vector, 
are eventually linearly added, not composed, to form the current shear 
dispalcement vector.

Getting into the corresponding code from the class ScGeom ( 
https://github.com/yade/trunk/blob/master/pkg/dem/ScGeom.cpp ), the 
ScGeom::rotate function clearly performs the composition of the two approximate 
rotations, not the addition, about what is defined as the orthonormal axis 
first (line 17) and the twist axis second (line 18).
The determination of these axes is performed in the ScGeom::precompute 
function. While the definition of the orthonormal axis (line 27) corresponds to 
what the documentation says, the definition of the twist angle and axis (lines 
28,29) differs from the formula in the documentation in that is uses the 
variable "normal" for the current normal vector n° and not "currentNormal".

Regarding the documentation, shouldn't the second rotation of the shear 
dispalcement (around the twist axis) be applied to the shear displacement 
already updated by the first rotation (around the orthonormal axis), as it is 
in the function ScGeom::rotate ? That is :

(\Delta \uT)_2&=-(\prevuT + (\Delta \uT)_1) \times\left(\frac{\Delta t}{2} 
\currn \cdot (\pprev{\vec{\omega}}_1+\pprev{\vec{\omega}}_2)\right) \currn

instead of

(\Delta \uT)_2&=-\prevuT\times\left(\frac{\Delta t}{2} \currn \cdot 
(\pprev{\vec{\omega}}_1+\pprev{\vec{\omega}}_2)\right) \currn

And keeping the summation of the 3 increments as it is.

Regarding the ScGeom::precompute function, shouldn't the twist axis be around 
the current normal vector n° as it is in the documentation ? That is replacing 
the variable "normal" by "currentNormal" in lines (28,29) ? This way the 
rotations would be properly composed :
- rotation around the orthonormal axis first brings the previous normal vector 
together with the current normal vector.
- rotation around the twist axis (that is colinear to the current normal) then 
performs the remaining rotation.

I would really appreciate your help and hope I have been understandable and 
clear. 

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp