No such attribute capillary pressure

Asked by Seungcheol Yeom on 2013-07-22

I am pretty much new to YADE.
I am using YADE 0.97and running capillary_phys.py based on the instrunction shown in the wiki and got an error saying "No such attribute capillary pressure"
Also, when I ran a script and tried to see what the capillary stress was applied and showed "name 'capillarypressure' is not defined.
Any helps would appreciate sincerely.
Thank you in advance.

Seungcheol

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Christian Jakob
Solved:
2013-07-23
Last query:
2013-07-23
Last reply:
2013-07-23
wangxiaoliang (wangxiaoliang) said : #1

Read the newest yade manual, the new version of yade has changed CapillaryPressure of capillary physics into capillaryPressure.

Please check that. cheers

The script is fixed in yade-daily but not in yade0.97 it seems sorry for that. You have to fix manually as suggested by Wangxiaoling.

Anton Gladky (gladky-anton) said : #3

I think, we should release a newer version soon.
There are not so much commits (99) since last release, but
0.97 is outdated already.

Anton

Seungcheol Yeom (scyeom79) said : #4

Hello all,
First of all, I really appreciate your response.
I have run the script using yade-daily and it seems it is working.
However, I would like to check the caplliraty stress whether it is actually applied or not.
In other words, I would like to see whether the particles actually pull each other due to the capillary.
I have written a simple script to check as shown in the below:

from yade import utils,qt
r = 1e-4 #particle radius
h = 1e-5 #praticle distance
O.bodies.append([
   utils.sphere(center=(0,0,0),radius=r,fixed=False),
   utils.sphere((0,0,2*r+h),r)
])
Newton = NewtonIntegrator(damping=0.4,gravity=(0,0,0))
Cap = Law2_ScGeom_CapillaryPhys_Capillarity(capillaryPressure=10000)
O.engines=[
   ForceResetter(),
   InsertionSortCollider([Bo1_Sphere_Aabb()]),
   InteractionLoop(
      [Ig2_Sphere_Sphere_L3Geom()],
      [Ip2_FrictMat_FrictMat_CapillaryPhys()],
      [Law2_ScGeom_FrictPhys_CundallStrack()]
   ),
   Cap,
   Newton
]

O.dt=0.5*PWaveTimeStep()
qt.View()
O.saveTmp()

It seems that the particle is not moving at all.
Also, I would like to see whether the force on the particles are chagning.
Any helps would appreciate.

Seungcheol

Christian Jakob (jakob-ifgt) said : #5

Hi,

Two points you forgot:

1. Please set neverErase=True in this line:

Cap =
Law2_ScGeom_CapillaryPhys_Capillarity(capillaryPressure=10000,neverErase=True)

2. You have to set createDistantMeniscii=True for one step and then
False... something like

Cap.createDistantMeniscii=True
O.run(1,True)
Cap.createDistantMeniscii=False

Then everything should work fine.

Regards,

Christian

Zitat von Seungcheol Yeom <email address hidden>:

> Question #232876 on Yade changed:
> https://answers.launchpad.net/yade/+question/232876
>
> Seungcheol Yeom posted a new comment:
> Hello all,
> First of all, I really appreciate your response.
> I have run the script using yade-daily and it seems it is working.
> However, I would like to check the caplliraty stress whether it is
> actually applied or not.
> In other words, I would like to see whether the particles actually
> pull each other due to the capillary.
> I have written a simple script to check as shown in the below:
>
> from yade import utils,qt
> r = 1e-4 #particle radius
> h = 1e-5 #praticle distance
> O.bodies.append([
> utils.sphere(center=(0,0,0),radius=r,fixed=False),
> utils.sphere((0,0,2*r+h),r)
> ])
> Newton = NewtonIntegrator(damping=0.4,gravity=(0,0,0))
> Cap = Law2_ScGeom_CapillaryPhys_Capillarity(capillaryPressure=10000)
> O.engines=[
> ForceResetter(),
> InsertionSortCollider([Bo1_Sphere_Aabb()]),
> InteractionLoop(
> [Ig2_Sphere_Sphere_L3Geom()],
> [Ip2_FrictMat_FrictMat_CapillaryPhys()],
> [Law2_ScGeom_FrictPhys_CundallStrack()]
> ),
> Cap,
> Newton
> ]
>
> O.dt=0.5*PWaveTimeStep()
> qt.View()
> O.saveTmp()
>
> It seems that the particle is not moving at all.
> Also, I would like to see whether the force on the particles are chagning.
> Any helps would appreciate.
>
> Seungcheol
>
> --
> You received this question notification because you are a member of
> yade-users, which is an answer contact for Yade.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to : <email address hidden>
> Unsubscribe : https://launchpad.net/~yade-users
> More help : https://help.launchpad.net/ListHelp
>

Seungcheol Yeom (scyeom79) said : #6

Thanks Jakob,

I tried to apply your script but it tells me "AttributeError: No such attribute: neverErase"
I am using yade-daily though.
Help~~~~~~~!

Thank you in advance.

Seungcheol

Seungcheol Yeom (scyeom79) said : #8

Thank you so much for your fast response.
There is no more error!
However, I would like to track some forces between two particles in order to see whether the particles are pulling each others due to the capillary pressure because it is very difficult to see graphically.
Can anyone give me an advice?
I am sorry for keep asking a stupid questions but i just started yade.
Thank you so much!

Seungcheol Yeom (scyeom79) said : #9

Thanks Christian Jakob, that solved my question.