Re: [Yade-users] [Question #692497]: Point source for Thermal Engine?

2020-09-21 Thread Jiannan Wang
Question #692497 on Yade changed:
https://answers.launchpad.net/yade/+question/692497

Jiannan Wang posted a new comment:
Hello Robert,

That really helps a lot. Thank you again.

Best regards
Jiannan

-- 
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 #693017]: How to accelerate Yade's poromechanical coupling

2020-09-21 Thread Huang peilun
Question #693017 on Yade changed:
https://answers.launchpad.net/yade/+question/693017

Huang peilun posted a new comment:
Thanks Robert, your comments help me a lot.

I now understand the matrix factorization reuse, multithreaded
factorization and GPU accelerated techniques. I still have some problems
about the parallel task management technique.

In the python scripts that your mentioned, I think the parallel task
management technique is implemented through the following code:

###
O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom()],
[Ip2_FrictMat_FrictMat_FrictPhys()],
[Law2_ScGeom_FrictPhys_CundallStrack()],label="iloop"
),
FlowEngine(multithread=1,dead=1,label="flow",ompThreads=10),

GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8),
triax,
#VTKRecorder(Key=identifier,dead=1, label='vtkRec', 
iterPeriod=100,initRun=True,fileName=(outputDir+'/vtkFiles/out-'),recorders=['spheres','facets','boxes']),
newton
]

#Some of the original code is omitted here

if setEnginesParallel:


O.engines=[ParallelEngine([flow,[O.engines[0],O.engines[1],O.engines[2],O.engines[4]]]),
O.engines[5],
O.engines[6]
]

triax = O.engines[1]
newton = O.engines[2]

O.engines[0].slaves[1][0].ompThreads=O.engines[0].slaves[1][1].ompThreads=O.engines[0].slaves[1][2].ompThreads=O.engines[0].slaves[1][3].ompThreads=5

flow.ompThreads=4
###

I think based on the above code, FlowEngine runs before the
ForceResetter() which is now the O.engines[0].slaves[1][0]. However, in
this case, the fluid force cannot be applied to the sphere particles.
Did I get this right?

Besides, I noticed that the parallelism in Yade has 3 levels. According
to my understanding, by using the -j/--thread option, one can implement
parallelism inside Engines and parallelism between Computation,
interaction (python, GUI) and rendering. Parallelism inside multiple
engine groups can only be implemented by ParallelEngine. Did I get it
right?

I'm not sure if I should open a new question.

Thanks
Peilun

-- 
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 #692957]: Use PotentialBlock to create polyhedrons of different sizes and let them fall freely

2020-09-21 Thread weijie
Question #692957 on Yade changed:
https://answers.launchpad.net/yade/+question/692957

Status: Answered => Solved

weijie confirmed that the question is solved:
Thanks Jan Stránský, that solved my question.

-- 
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 #693017]: How to accelerate Yade's poromechanical coupling

2020-09-21 Thread Robert Caulk
Question #693017 on Yade changed:
https://answers.launchpad.net/yade/+question/693017

Robert Caulk posted a new comment:
Additionally, the paper you cite includes supplementary python scripts
for reproducing the results.

[1]Caulk R A, Catalano E, Chareyre B. Accelerating yade’s poromechanical
coupling with matrix factorization reuse, parallel task management, and
gpu computing[J]. Computer Physics Communications, 2020, 248: 106991

[1] https://doi.org/10.1016/j.cpc.2019.106991

-- 
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 #693011]: save and laod previously-generated 2d packing

2020-09-21 Thread Jan Stránský
Question #693011 on Yade changed:
https://answers.launchpad.net/yade/+question/693011

Status: Open => Answered

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

use memoDbg=True to get some more info.
The problem is this line
###
if wantPeri and (X/x1>0.9 or X/x1<0.6): memoDbgMsg("REJECT: initSize differs 
too much from scaled packing size."); continue
###
so some problems with dimensions.. put come "debug prints" to see what are the 
values and, why it is rejected, what/why is saved, what is loaded.

cheers
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 #692998]: principal axis of clump

2020-09-21 Thread Jan Stránský
Question #692998 on Yade changed:
https://answers.launchpad.net/yade/+question/692998

Jan Stránský posted a new comment:
@Jerome: of course :-) actually there are two 
Clump::updatePropertiesNonSpherical methods. I just did not want to go much in 
detail (mainly because I do not know the details myself :-D before the question 
is focused enough.
Another option is to start a separate question on this 
updatePropertiesNonSpherical topic (or a discussion on yade-dev mailing list or 
gitlab issue?). 
cheers
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 #693004]: problems in uniax.py

2020-09-21 Thread Jan Stránský
Question #693004 on Yade changed:
https://answers.launchpad.net/yade/+question/693004

Jan Stránský posted a new comment:
Hello,

1)
if spheresInCell > 0, then periodic compaction is created, containing 
spheresInCell number of particles.
This periodic packing is then copied wherever needed and then cropped to form 
the desired packing.
So, spheresInCell is independent of number of particles in the resulting 
packing.
It is especially advantageous for large initial packing (but is usable 
universally), e.g. 1M particles, where randomDensePack with 1M particles would 
take much time. This way, you can generate a periodic cube with e.g. 1k 
particles and quickly copy it in the space.
With this approach, the packing generation has "almost" O(1) complexity.

**Personally** I do not use randomDensePack without spheresInCell
parameter

cheers
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 #692998]: principal axis of clump

2020-09-21 Thread Jérôme Duriez
Question #692998 on Yade changed:
https://answers.launchpad.net/yade/+question/692998

Jérôme Duriez posted a new comment:
Hi,

By the way, would it be possible to elaborate about the distinction
between Clump::updateProperties and Clump::updatePropertiesNonSpherical
?

-- 
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 #692957]: Use PotentialBlock to create polyhedrons of different sizes and let them fall freely

2020-09-21 Thread Jan Stránský
Question #692957 on Yade changed:
https://answers.launchpad.net/yade/+question/692957

Status: Open => Answered

Jan Stránský proposed the following answer:
> I found that when there are only three polyhedrons, it can fall freely
normally

then the initial overlaps are most suspicious

> During the initial generation of particles, enough space is left so
that the particles do not touch each other.

In your original code, if I add this at the end
###
O.step()
for i in O.interactions:
pd = i.geom.penetrationDepth
b1,b2 = [O.bodies[id] for id in (i.id1,i.id2)]
c1,c2 = [b.shape.__class__.__name__ for b in (b1,b2)]
print(pd,c1,c2)
###
I got something like (depending on the run and makeCloud mood, sometimes there 
is no interaction, sometimes there are more interactions)
###
3.365690143044668e-05 PotentialBlock PotentialBlock
0.00021375937087687118 PotentialBlock PotentialBlock
###
meaning that you DO have some non-negligible initial interactions (and 
therefore the space left is NOT enough), disturbing the perfect free fall.
Under the presence of interactions, time step of course does have some 
influence.

cheers
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 #692998]: principal axis of clump

2020-09-21 Thread Jan Stránský
Question #692998 on Yade changed:
https://answers.launchpad.net/yade/+question/692998

Status: Open => Answered

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

> the principal axis of clump

What is "the principal axis"? principle axes of inertia?
What is "clump"? clump of spheres? intersecting or not? clump of non-spherical 
particles?


the implementation is in core/Clump.*pp files [1,2].
The geometric properties (center of mass, inertia and orientation) is computed 
in Clump::updateProperties.

There are two main approaches:
- using approximate "voxelization" for the case of intersecting bodies
- using standard analytical formulas for non-intersecting case

cheers
Jan

[1] https://gitlab.com/yade-dev/trunk/-/blob/master/core/Clump.hpp
[2] https://gitlab.com/yade-dev/trunk/-/blob/master/core/Clump.cpp

-- 
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 #693017]: How to accelerate Yade's poromechanical coupling

2020-09-21 Thread Robert Caulk
Question #693017 on Yade changed:
https://answers.launchpad.net/yade/+question/693017

Status: Open => Answered

Robert Caulk proposed the following answer:
Yes, they are all available in Yade. However, GPU accelerated
factorization requires you to compile from sources.

>How can I apply these four techniques to the coupling problem in
practice?

Matrix factorization reuse [1]
Multithreaded factorization [2]
Parallel task management [3]
GPU accelerated [4]

[1]https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.FlowEngine.meshUpdateInterval
[2]https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.FlowEngineT.multithread
[3]https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.ParallelEngine
[4]https://yade-dem.org/doc/GPUacceleration.html

-- 
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 #693017]: How to accelerate Yade's poromechanical coupling

2020-09-21 Thread Huang peilun
New question #693017 on Yade:
https://answers.launchpad.net/yade/+question/693017

Hi,

I learned from this paper [1] that Yade's poromechanically coupled DEM+PFV 
scheme can be accelerated by 170x by combining four techniques: matrix factor 
reuse, multithreaded factorization, GPU accelerated factorization, and parallel 
task management.

I'm wondering that are these four technologies, especially the matrix factor 
reuse technique, currently being implemented in YADE? How can I apply these 
four techniques to the coupling problem in practice?

Thanks
Peilun

[1]Caulk R A, Catalano E, Chareyre B. Accelerating yade’s poromechanical 
coupling with matrix factorization reuse, parallel task management, and gpu 
computing[J]. Computer Physics Communications, 2020, 248: 106991.

-- 
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