Re: [Yade-users] [Question #692497]: Point source for Thermal Engine?
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
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
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
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
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
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
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
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
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
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
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
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