← Back to team overview

yade-users team mailing list archive

Re: [Question #707311]: How to add rotation on the Boxfactory?

 

Question #707311 on Yade changed:
https://answers.launchpad.net/yade/+question/707311

    Status: Open => Answered

Jan Stránský proposed the following answer:
Hello,

> I am a new user of Yade

welcome :-)

> the terminal shows “SyntaxError: invalid syntax”

the terminal shows much more information:
###
line 19
vMax=0
SyntaxError: invalid syntax. Perhaps you forgot a comma?
###
Specifically:
line 19 ... line in the script where the problem is
vMax=0 ... the problematic code
Perhaps you forgot a comma? ... some more hints

>From the code and message, the correct code should be:
vMax=0, # with the comma, since it is a part of comma-separated parameters of BoxFactory

> Moreover ... could I trouble you to answer problems?

Yes, of course you can "trouble" us.
But please next time follow our requirements and open a separate question for separate problems ([2], point 5).

> 1. In the below code, the steelID and "316lsteel" can present the
defined material. However, the description of material selection between
CylinderID and BoxFactory is different. I want to know the difference
between ‘label’ and ‘id’.

id:
    - number
    - automatically assigned by Yade (user cannot choose it arbitrarily)
    - it is more universal (usable basically everywhere in Yade)
    - less informative (material 1 does not say much...)

label:
    - string
    - assigned by user
    - more informative ("steel", "wallMaterial" etc., clear what it means)
    - less universal (usage must be prepared "in advance" to accept string label)

> 2. In the below code, the material of the sphere and geometry is
316Lsteel. I want to know the difference between frictionAngle is
defined in O.materials.append and the frictAngle in
Ip2_FrictMat_FrictMat_MindlinPhys. In the Yade document, the
frictionAngle means Contact friction angle (in radians), and frictAngle
means Instance of MatchMaker determining how to compute interaction’s
friction angle.

frictionAngle is a propert of material ("property of particle")

frictAngle tells Ip2 what is the resulting **interaction** friction angle based on two interacting materials.
Using MatchMaker, you can tell Yade to take maximal value, minimal value, average value... depending on your needs.

> 4. In Boxfactory, the meaning of mask is groupMask to apply for newly
created spheres. In packs.py[2],the value of mask is 5. I am confused
about whether the value mask has the same meaning as the value wallmask
in geom.factbox

No.

groupMask determines which particles interact with which.
Using different masks, you can make some groups of particles interact with other group but not interact with a different group.
The given value It is assigned to the resulting particles (you can try something like "for b in O.bodies: print(b.mask)"

wallMask is a condensed (one number) parameter determining which walls
should be created and which not

> 5. When RotationEngine is not applied to Boxfactory, the following
warning appears at the terminal when emulation begins. Could you give me
some advice to deal with it?

Just warnings, no need to bother with it now..

Cheers
Jan

[2] https://www.yade-dem.org/wiki/Howtoask

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