Boundary properties

Asked by John Avoilao on 2019-11-13

Hello all,
I would like to ask the following:
I have created a plate using facetbox in order to perform strength tests (ucs..)
to JCF “rock” samples.
1)What properties should I assign to the plates?
2)Can I use the same material JCF? (I want pure frictional interaction between box and sample)?
MWE
O.materials.append(JCFpmMat(young=100e9,poisson=0.2,frictionAngle=radians(30),density=5000,label='bxup'))
bxup=geom.facetBox(center=((0,0,0),extents=(1,1,1),orientation=Quaternion((1,0,0),0),wallMask=63)
for facet in bxup:
    facet.state.blockedDOFs='xyzXYZ'
    facet.state.vel=(0,0,1)
Should I assign:
    State.mass=?
    State.interia=?

Do I have to make as rigid as in a real test apparatus?

Thank you all

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Jérôme Duriez
Solved:
2019-11-15
Last query:
2019-11-15
Last reply:
2019-11-15
Jérôme Duriez (jduriez) said : #1

Hi,

As far as I'm concerned, I can only try to help with a proper setup in YADE of some conditions yourself decided to assign, I thus leave 1) up to you ;-)

As for 2), I would say No, you need two different Materials.
There is JCFpmMat.type [*] to help you here, without any need to look at the details of Ip2_JCFpmMat_JCFpmMat_JCFpmPhys

3) Functions like facetBox() should be correctly defined and assign correct mass and inertia without any action from your side. You may check it just asking for b.state.mass or b.state.inertia once your bodies "b" are created in your simulation

This being said, bodies given by facetBox(), are of Facet shape, with no volume, hence it's logical they have zero mass and inertia..

[*] https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.JCFpmMat.type

John Avoilao (johnav) said : #2

Thank you very much Jérôme Duriez (jduriez).
1,3) From what you said I understand, that you don’t have
to assign properties properties on facet objects.
That’s why their mass and inertia are defined and assigned without any action
 from my side and set to zero by YADE.
2)I am not, sure how to use “type()”. For every object (k) that I want to
assign a material, do i have to use type=k, where k=1….n? (n=# of objects)

Thanks

Jérôme Duriez (jduriez) said : #3

1,3) I think we're on the same side

2) The idea of JCFpmMat.type, in your context, would be to have two JCFpmMat material instances in O.materials
   * one, say mat1, with eg type = 1 that is assigned to sphere bodies
   * another one, mat2, with type = 2 (or anything that is not 1) that is assigned to boundary bodies.

That's it. (you can not assign type to bodies themselves in particular, if that's what you had in mind)

John Avoilao (johnav) said : #4

In the case i create different materials and
assign them to every object, using a different label,do i have to
use type as well?

Best Jérôme Duriez (jduriez) said : #5

Yes, in the sense it could be useful to you.

Generally speaking, it's the job of Ip2* functors (Ip2_JCFpmMat_JCFpmMat_JCFpmPhys here) to compute interaction properties combining Materials. Then,
- either you look closely into Ip2_JCFpmMat_JCFpmMat_JCFpmPhys to know what sample-boundary cohesion you will get with different materials
- either you enjoy JCFpmMat.type to be sure that sample-boundary contacts will be cohesionless..

John Avoilao (johnav) said : #6

Thanks Jérôme Duriez, that solved my question.