[Yade-dev] [Bug 1282634] Re: Fails to build from yade/trunk

2014-02-20 Thread Christian Jakob
This commit broke compilation:

https://github.com/yade/trunk/commit/88a1476f4d85a939880615aff069d35b43b37d7a

-- 
You received this bug notification because you are a member of Yade
developers, which is subscribed to Yade.
https://bugs.launchpad.net/bugs/1282634

Title:
  Fails to build from yade/trunk

Status in Yet Another Dynamic Engine:
  New

Bug description:
  Hi, I git clone g...@github.com:yade/trunk.git, then make install, the
  compiler complains:

  [ 30%] Building CXX object CMakeFiles/yade.dir/pkg/common/Wall.cpp.o
  [ 30%] Building CXX object CMakeFiles/yade.dir/pkg/common/PyRunner.cpp.o
  [ 31%] Building CXX object 
CMakeFiles/yade.dir/pkg/common/InsertionSortCollider.cpp.o
  In file included from 
/home/3S-LAB/cyuan/master/trunk/pkg/common/InsertionSortCollider.cpp:3:0:
  /home/3S-LAB/cyuan/master/trunk/pkg/common/InsertionSortCollider.hpp:91:2: 
error: a class-key must be used when declaring a friend
  /home/3S-LAB/cyuan/master/trunk/pkg/common/InsertionSortCollider.hpp:91:2: 
error: friend declaration does not name a class or function
  make[2]: *** [CMakeFiles/yade.dir/pkg/common/InsertionSortCollider.cpp.o] 
Error 1
  make[1]: *** [CMakeFiles/yade.dir/all] Error 2
  make: *** [all] Error 2

To manage notifications about this bug go to:
https://bugs.launchpad.net/yade/+bug/1282634/+subscriptions

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


[Yade-dev] [Bug 1282634] Re: Fails to build from yade/trunk

2014-02-20 Thread Christian Jakob
fixed in commit a7048f4:

https://github.com/yade/trunk/commit/a7048f4849a6b8c2016d8656b93a76bed5390653

** Changed in: yade
   Status: New = Fix Released

-- 
You received this bug notification because you are a member of Yade
developers, which is subscribed to Yade.
https://bugs.launchpad.net/bugs/1282634

Title:
  Fails to build from yade/trunk

Status in Yet Another Dynamic Engine:
  Fix Released

Bug description:
  Hi, I git clone g...@github.com:yade/trunk.git, then make install, the
  compiler complains:

  [ 30%] Building CXX object CMakeFiles/yade.dir/pkg/common/Wall.cpp.o
  [ 30%] Building CXX object CMakeFiles/yade.dir/pkg/common/PyRunner.cpp.o
  [ 31%] Building CXX object 
CMakeFiles/yade.dir/pkg/common/InsertionSortCollider.cpp.o
  In file included from 
/home/3S-LAB/cyuan/master/trunk/pkg/common/InsertionSortCollider.cpp:3:0:
  /home/3S-LAB/cyuan/master/trunk/pkg/common/InsertionSortCollider.hpp:91:2: 
error: a class-key must be used when declaring a friend
  /home/3S-LAB/cyuan/master/trunk/pkg/common/InsertionSortCollider.hpp:91:2: 
error: friend declaration does not name a class or function
  make[2]: *** [CMakeFiles/yade.dir/pkg/common/InsertionSortCollider.cpp.o] 
Error 1
  make[1]: *** [CMakeFiles/yade.dir/all] Error 2
  make: *** [all] Error 2

To manage notifications about this bug go to:
https://bugs.launchpad.net/yade/+bug/1282634/+subscriptions

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


[Yade-dev] [Branch ~yade-pkg/yade/git-trunk] Rev 3826: fix compilation bug in InsertionSortCollider.hpp

2014-02-20 Thread noreply

revno: 3826
committer: Christian Jakob ja...@ifgt.tu-freiberg.de
timestamp: Thu 2014-02-20 17:49:26 +0100
message:
  fix compilation bug in InsertionSortCollider.hpp
modified:
  pkg/common/InsertionSortCollider.hpp


--
lp:yade
https://code.launchpad.net/~yade-pkg/yade/git-trunk

Your team Yade developers is subscribed to branch lp:yade.
To unsubscribe from this branch go to 
https://code.launchpad.net/~yade-pkg/yade/git-trunk/+edit-subscription
=== modified file 'pkg/common/InsertionSortCollider.hpp'
--- pkg/common/InsertionSortCollider.hpp	2014-02-17 14:31:35 +
+++ pkg/common/InsertionSortCollider.hpp	2014-02-20 16:49:26 +
@@ -88,7 +88,7 @@
 
 class InsertionSortCollider: public Collider{
 
-	friend GeneralIntegratorInsertionSortCollider;
+	friend class GeneralIntegratorInsertionSortCollider;
 
 	//! struct for storing bounds of bodies
 	struct Bounds{

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


[Yade-dev] [Bug 1282634] Re: Fails to build from yade/trunk

2014-02-20 Thread Bruno Chareyre
Thanks a lot Christian.

@Chao
See, as I told you, opening a bug report is more efficient than looking for me 
in the building. ;)

-- 
You received this bug notification because you are a member of Yade
developers, which is subscribed to Yade.
https://bugs.launchpad.net/bugs/1282634

Title:
  Fails to build from yade/trunk

Status in Yet Another Dynamic Engine:
  Fix Released

Bug description:
  Hi, I git clone g...@github.com:yade/trunk.git, then make install, the
  compiler complains:

  [ 30%] Building CXX object CMakeFiles/yade.dir/pkg/common/Wall.cpp.o
  [ 30%] Building CXX object CMakeFiles/yade.dir/pkg/common/PyRunner.cpp.o
  [ 31%] Building CXX object 
CMakeFiles/yade.dir/pkg/common/InsertionSortCollider.cpp.o
  In file included from 
/home/3S-LAB/cyuan/master/trunk/pkg/common/InsertionSortCollider.cpp:3:0:
  /home/3S-LAB/cyuan/master/trunk/pkg/common/InsertionSortCollider.hpp:91:2: 
error: a class-key must be used when declaring a friend
  /home/3S-LAB/cyuan/master/trunk/pkg/common/InsertionSortCollider.hpp:91:2: 
error: friend declaration does not name a class or function
  make[2]: *** [CMakeFiles/yade.dir/pkg/common/InsertionSortCollider.cpp.o] 
Error 1
  make[1]: *** [CMakeFiles/yade.dir/all] Error 2
  make: *** [all] Error 2

To manage notifications about this bug go to:
https://bugs.launchpad.net/yade/+bug/1282634/+subscriptions

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


Re: [Yade-dev] updating PFV

2014-02-20 Thread Bruno Chareyre
On 20/02/14 10:52, Christian Jakob wrote:
 Hi,

 I want to do some updates/improvements of PFV method.

Don't do anything yet! There is some code cleaning going on locally
(different variable names, removing useless functions, and so on). It
will mess up everything when I will commit if you have local diffs. Make
you a favor and wait one more week, or be ready for tedious merge.



 First thing I wanna do is a simulation with an increasing pore
 pressure in all cells to investigate liquefaction of a loose sand at
 different stress conditions. I tested imposePressure(), but for now it
 is not possible to use it within a loop over PFV cells. Actually it
 needs position of the cells (or at least a point within the cell), but
 I want it to do something like:

 for i in range(flow.ncells()):
   flow.imposePressure(i,p)

This loop is strange. Do I miss something?
1/ If you impose pressure everywhere, there is no point using a fluid
solver (which aim is to compute pressure, at the end of the day)
2/ If pressure is the same everywhere, it applies no force on particles
(forces only come whith pressure gradients), again no point to simulate
a fluid.
3/ In liquefaction, pressure increase comes from the hydromechanical
coupling (and the model gives that) not from an externally applied pore
pressure
4/ The element number i is not something you can rely on, this is why
such function does not exist. The mesh is changing all the time as
particles move, thus element number i is meaningless. Applying
pressure at a specific location in space is more appropriate.

Besides, I agree that there is a need for writing loops on all elements
in other cases. We (you, Thomas, me, ...) can add it after the code
cleaning step.
 

 I had a short look at the source code, it is quite confusing. I
 searched code for imposePressure. It finds 6 lines in
 pkg/dem/FlowEngine.hpp, but where is corresponding code in .cpp file?
 I noticed there is a macro called TPL. How can edit the code of this
 macro?

imposePressure is defined in the hpp [1].
The TPL macro as well [2].

[1] https://github.com/yade/trunk/blob/master/pkg/dem/FlowEngine.hpp#L330
[2] https://github.com/yade/trunk/blob/master/pkg/dem/FlowEngine.hpp#L24


The template aspect makes things a bit more difficult to read, but it is
the only way I found to not duplicate the whole PFV code each time there
is something new. Periodic BC, drainage model, solute transport, etc.
will normally be only different instances of FlowEngine with different
template parameters (and maybe additional functions). It is the case for
periodic BC already, which do not duplicate anything.
I'm open to suggestions if somebody has a better idea of design. The
root of the problem is the data type in each element/node, which is the
template parameter of CGAL::Triangulation and is different for each new
model.

Cheers.

Bruno



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


Re: [Yade-dev] updating PFV

2014-02-20 Thread Christian Jakob

first of all:

thank you very very much for your time spending on answering my question(s)!


Zitat von Bruno Chareyre bruno.chare...@hmg.inpg.fr:


On 20/02/14 10:52, Christian Jakob wrote:

Hi,

I want to do some updates/improvements of PFV method.


Don't do anything yet!


oops, too late :(


There is some code cleaning going on locally
(different variable names, removing useless functions, and so on). It
will mess up everything when I will commit if you have local diffs. Make
you a favor and wait one more week, or be ready for tedious merge.




First thing I wanna do is a simulation with an increasing pore
pressure in all cells to investigate liquefaction of a loose sand at
different stress conditions. I tested imposePressure(), but for now it
is not possible to use it within a loop over PFV cells. Actually it
needs position of the cells (or at least a point within the cell), but
I want it to do something like:

for i in range(flow.ncells()):
  flow.imposePressure(i,p)


This loop is strange. Do I miss something?


of course you missed at least one if condition ... sorry i should have  
been more clear on this point ...



1/ If you impose pressure everywhere, there is no point using a fluid
solver (which aim is to compute pressure, at the end of the day)
2/ If pressure is the same everywhere, it applies no force on particles
(forces only come whith pressure gradients), again no point to simulate
a fluid.
3/ In liquefaction, pressure increase comes from the hydromechanical
coupling (and the model gives that) not from an externally applied pore
pressure


that is main question of my study: which processes leads to increased  
pore pressure? and how much excess pressure is needed to trigger  
liquefaction ?
for this purpose i have to impose pressure at a larger part of the  
model. this is why i need a to loop over cells and use imposePressure  
heavily!



4/ The element number i is not something you can rely on, this is why
such function does not exist. The mesh is changing all the time as
particles move, thus element number i is meaningless. Applying
pressure at a specific location in space is more appropriate.


from my point of view it should be possible to do this via i. I  
already implemented it (not tested yet). Also I am planning to do  
similar update to other methods, that use pos as input (imposeFlux,  
getPorePressure, ...)




Besides, I agree that there is a need for writing loops on all elements
in other cases. We (you, Thomas, me, ...) can add it after the code
cleaning step.


I will do it (see above) ...





I had a short look at the source code, it is quite confusing. I
searched code for imposePressure. It finds 6 lines in
pkg/dem/FlowEngine.hpp, but where is corresponding code in .cpp file?
I noticed there is a macro called TPL. How can edit the code of this
macro?


imposePressure is defined in the hpp [1].
The TPL macro as well [2].

[1] https://github.com/yade/trunk/blob/master/pkg/dem/FlowEngine.hpp#L330
[2] https://github.com/yade/trunk/blob/master/pkg/dem/FlowEngine.hpp#L24



yes, i noticed already ... sorry for this silly question, it was is not my day



The template aspect makes things a bit more difficult to read, but it is
the only way I found to not duplicate the whole PFV code each time there
is something new. Periodic BC, drainage model, solute transport, etc.
will normally be only different instances of FlowEngine with different
template parameters (and maybe additional functions). It is the case for
periodic BC already, which do not duplicate anything.


aah, i see


I'm open to suggestions if somebody has a better idea of design. The
root of the problem is the data type in each element/node, which is the
template parameter of CGAL::Triangulation and is different for each new
model.


Sorry, I am really not the guy to ask for C++ design stuff!
But I see the problem ...



Cheers.

Bruno



Again, thanks a lot!




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






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


[Yade-dev] [Bug 1282634] Re: Fails to build from yade/trunk

2014-02-20 Thread Chao Yuan
Thank you very much, Christian!

@Bruno   yes . you are right.  this is much more efficient. :D

-- 
You received this bug notification because you are a member of Yade
developers, which is subscribed to Yade.
https://bugs.launchpad.net/bugs/1282634

Title:
  Fails to build from yade/trunk

Status in Yet Another Dynamic Engine:
  Fix Released

Bug description:
  Hi, I git clone g...@github.com:yade/trunk.git, then make install, the
  compiler complains:

  [ 30%] Building CXX object CMakeFiles/yade.dir/pkg/common/Wall.cpp.o
  [ 30%] Building CXX object CMakeFiles/yade.dir/pkg/common/PyRunner.cpp.o
  [ 31%] Building CXX object 
CMakeFiles/yade.dir/pkg/common/InsertionSortCollider.cpp.o
  In file included from 
/home/3S-LAB/cyuan/master/trunk/pkg/common/InsertionSortCollider.cpp:3:0:
  /home/3S-LAB/cyuan/master/trunk/pkg/common/InsertionSortCollider.hpp:91:2: 
error: a class-key must be used when declaring a friend
  /home/3S-LAB/cyuan/master/trunk/pkg/common/InsertionSortCollider.hpp:91:2: 
error: friend declaration does not name a class or function
  make[2]: *** [CMakeFiles/yade.dir/pkg/common/InsertionSortCollider.cpp.o] 
Error 1
  make[1]: *** [CMakeFiles/yade.dir/all] Error 2
  make: *** [all] Error 2

To manage notifications about this bug go to:
https://bugs.launchpad.net/yade/+bug/1282634/+subscriptions

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


[Yade-dev] clump discretization/integrateInertia

2014-02-20 Thread Klaus Thoeni
Hi guys,

is there a reason why we have two parameters here? Wouldn't one be enough? 
E.i. we just use discretization and if discretization==0 than the properties 
are not updated. What do you thing?

Klaus

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


[Yade-dev] [yade-dev] clump discretization/integrateInertia

2014-02-20 Thread Klaus Thoeni
Hi guys,

is there a reason why we have two parameters here? Wouldn't one be enough? 
E.i. we just use discretization and if discretization==0 than the properties 
are not updated. What do you thing?

Klaus

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