Re: [Yade-users] [Question #702421]: particle/particle Conductive heat transfer in thermal engine
Question #702421 on Yade changed: https://answers.launchpad.net/yade/+question/702421 Status: Answered => Open Rioual is still having a problem: Hello Robert, Thanks for your input. Do you have references concerning the Kern method and Hertz method ? Thanks, Fr. * François Rioual Chargé de Recherches CR1 Unité FRISE- Génie des procédés frigorifiques pour la sécurité alimentaire et l’environnement 1 rue Pierre- Gilles de Gennes - CS10030 92761 Antony Cedex Courriel: [ mailto:francois.rio...@inrae.fr | francois.rio...@inrae.fr ] Tél. : +33 (0)1 40 96 61 21 (poste : 81 90 15) *** - Mail original - De: "Robert Caulk" À: "Rioual François" Envoyé: Lundi 11 Juillet 2022 11:06:01 Objet: Re: [Question #702421]: particle/particle Conductive heat transfer in thermal engine Your question #702421 on Yade changed: https://answers.launchpad.net/yade/+question/702421 Status: Open => Answered Robert Caulk proposed the following answer: Hello, That is the thermal resistance using a cross sectional area based on the contact area between two spherical particles using the Kern method. If you prefer, you can use the hertz method with thermal.useKernMethod = False thermal.useHertzMethod = True Or set them both false to consider a wall consuming the space between the particle centers (better for continuum modeling). You can easily add in which ever relationship you want there, such as the method you refer to in CFD. Cheers, robert -- If this answers your question, please go to the following page to let us know that it is solved: https://answers.launchpad.net/yade/+question/702421/+confirm?answer_id=0 If you still need help, you can reply to this email or go to the following page to enter your feedback: https://answers.launchpad.net/yade/+question/702421 You received this question notification because you asked the 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
[Yade-users] [Question #702421]: particle/particle Conductive heat transfer in thermal engine
New question #702421 on Yade: https://answers.launchpad.net/yade/+question/702421 Hello, I am checking the implementation of particle/particle conductive heat transfer in thermal engine as presented in (1). I do not understand the origin of the formula (9) in the framework: Phi_ij = 2rc²(ki+kj)/d (Tj - Ti) (9) [ rc: contact radius ; k: thermal conductivity ; d:distance between particles less overlap ] with the reference of Norouzi et al (2) precised in the article. Norouzi (2) introduces (p.309) two different expressions for * collisional contact conductive heat transfer complex expression involving square root of contact time and square of contact radius and * static contact conductive heat transfer (p. 310) Phi_ij = 4rc(1/ki+1/kj) (Tj - Ti) which corresponds to the classical expression used elsewhere to describe particle conductive heat transfer as in ligghts (https://www.cfdem.com/media/DEM/docu/fix_heat_gran_conduction.html). Could you give me more infos about the approach considered in thermal engine (formula 9) Thanks for all, Best, F. (1) https://www.researchgate.net/publication/335272631_An_open_framework_for_the_simulation_of_coupled_Thermo-Hydro-Mechanical_processes_in_Discrete_Element_Systems (2) Norouzi, H. R., Zarghami, R., Sotudeh-Gharebagh, R., and Mostou, N. (2016). Coupled CFD-DEM Modeling. Wiley. -- 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 #701745]: post2d.plot: scaling of the arrows ?
New question #701745 on Yade: https://answers.launchpad.net/yade/+question/701745 Hello, I use yade.post2d.plot() to represent graphically the velocity field of my particles in my set up as in https://yade-dem.org/doc/yade.post2d.html?highlight=uniax%20post My question concerns the scaling of the length of the arrows on the figure: How is it related to the numerical value of the velocity of the beads ? is it eventually rescaled with respect to the maximum value ? This is a big issue for me as i want to compare the velocity field diagrams for different configurations of my set up. Thanks very much for your help, Vincent -- 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 #700494]: Boundary conditions with thermal engine
Question #700494 on Yade changed: https://answers.launchpad.net/yade/+question/700494 Status: Answered => Solved Rioual confirmed that the question is solved: Thanks Robert Caulk, 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 #700494]: Boundary conditions with thermal engine
Question #700494 on Yade changed: https://answers.launchpad.net/yade/+question/700494 Rioual gave more information on the question: Hello Robert, Here is a picture: https://stratus.irstea.fr/f/5be74ddefd5c4c5c9fd1/ The granular material is squashed between the 2 cylindrical boundaries (aditionnal bottom and top plates are also maintaining the material). I would like if possible a constant heat flux boundary condition between the inner cylindrical boundary and the granular material and a constant temperature condition between the external cylindrical boundary and the granular material Hop e this makes things clearer My best wishes , Vincent -- 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 #700494]: Boundary conditions with thermal engine
Question #700494 on Yade changed: https://answers.launchpad.net/yade/+question/700494 Status: Answered => Open Rioual is still having a problem: Hello Robert, Here is a picture: https://stratus.irstea.fr/f/5be74ddefd5c4c5c9fd1/ The granular material is squashed between the two cylindrical boundaries. Heat Boundary conditions have to prescribed between the inner cylindrical boundary And the granular material and between the outer cylindrical boundary and the granular Material. I hope this makes things clearer Best wishes Vincent, * François Rioual Chargé de Recherches CR1 Unité FRISE- Génie des procédés frigorifiques pour la sécurité alimentaire et l’environnement 1 rue Pierre- Gilles de Gennes - CS10030 92761 Antony Cedex Courriel: francois.rio...@inrae.fr <mailto:francois.rio...@inrae.fr> Tél. : +33 (0)1 40 96 61 21 (poste : 81 90 15) *** -Message d'origine- De : nore...@launchpad.net De la part de Robert Caulk Envoyé : mardi 8 février 2022 11:41 À : francois.rio...@irstea.fr Objet : Re: [Question #700494]: Boundary conditions with thermal engine Your question #700494 on Yade changed: https://answers.launchpad.net/yade/+question/700494 Status: Open => Answered Robert Caulk proposed the following answer: >>In my case, my granular packing is confined between two concentric cylindrical boundaries >> this is not adapted to this case so ? Boundaries as concentric cylinders does not make sense. It seems I do not understand your geometry. Please clarify the geometry of the packing as well as the exact types of boundary conditions you are trying to apply. >> is it a big job to modify the source code to add neumann's boundary conditions ? (in case question 1 is favourable to my case) Depends on your C++ coding skills I suppose. I already started working on this functionality, but it was buggy and I did not see any direct need to spend time debugging it [1]. Cheers, Robert [1]https://gitlab.com/yade- dev/trunk/-/blob/master/pkg/pfv/Thermal.cpp#L273 -- If this answers your question, please go to the following page to let us know that it is solved: https://answers.launchpad.net/yade/+question/700494/+confirm?answer_id=2 If you still need help, you can reply to this email or go to the following page to enter your feedback: https://answers.launchpad.net/yade/+question/700494 You received this question notification because you asked the 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 #700494]: Boundary conditions with thermal engine
Question #700494 on Yade changed: https://answers.launchpad.net/yade/+question/700494 Status: Answered => Open Rioual is still having a problem: ...Thanks for your input, Robert. 1>> the boundary conditions are adapted to packings of different shapes: "anything that does not have a cavity" as you say. In my case, my granular packing is confined between two concentric cylindrical boundaries >> this is not adapted to this case so ? is that what you say ? 2>> is it a big job to modify the source code to add neumann's boundary conditions ? (in case question 1 is favourable to my case) My Best regards, Vincent, -- 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 #700430]: gts surface based on facets of 2 concentric cylinders
New question #700430 on Yade: https://answers.launchpad.net/yade/+question/700430 Hello, I would like to make a granular packing in the space between two closed (caps) concentric cylinders. I try to make the gts_surface with yade with facets as i have no autocad or others but I don't know how to handle this... Thanks very much for your assistance and details, Vincent ps: I have read previous related questions on the topic as https://answers.launchpad.net/yade/+question/660999 -- 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 #697638]: Using thermal engine for a dry granular flow
New question #697638 on Yade: https://answers.launchpad.net/yade/+question/697638 Hello, Is there any possibiility to use thermal engine for a dry granular flow only ? ( modelling only conduction at contacts between moving grains). >> putting fluid viscosity = 0 ?? Regards, V. -- 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 #690872]: Adding a method in the yade class files associated to a new contact law
Question #690872 on Yade changed: https://answers.launchpad.net/yade/+question/690872 Status: Answered => Open Rioual is still having a problem: Yes, jan, thanks, this helps me a lot. But concerning the class computeNewAlfa, i have a further question: How do i precise in the formulation (hpp and cpp files) that OldAlfa is equal to NewAlfa for the previous time step corresponding to a specific interaction (how is the value of NewAlfa stored between two time steps... ?).. I hope i am clear, Thank you for your précisions, Best V. -- 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 #690872]: Adding a method in the yade class files associated to a new contact law
New question #690872 on Yade: https://answers.launchpad.net/yade/+question/690872 Hello, This question follows the previous answers and advices of Jan (https://answers.launchpad.net/yade/+question/690825) I want to add a method in my yade classes of a contact law for different tests. - If I refer to the syntax for previous classes ( Cpmphys in ConcretePM.hpp): https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/ConcretePM.hpp#L202 They use .def() with all the parameters then the declaration of staticmethod This doesn't exactly look like what Jan proposes in #5 of https://answers.launchpad.net/yade/+question/690825 ... - Concerning the implementation of the method in the .cpp file, here is how it looks for me copying the syntax used for ConcretePM.cpp: CREATE_LOGGER(Law2_ScGeom_VsmPhys_Vsm); bool Law2_ScGeom_VsmPhys_Vsm::go(shared_ptr& ig, shared_ptr& ip, Interaction* contact) { int id1 = contact->getId1(), id2 = contact->getId2(); ScGeom*geom = static_cast(ig.get()); VsmPhys* phys = static_cast(ip.get()); Omega* om = static_cast(ip.get()); if (geom->penetrationDepth < 0) { if (neverErase) { phys->shearForce = Vector3r::Zero(); phys->normalForce = Vector3r::Zero(); } else return false; } Real& Rav = 2 * (geom->refR1 * geom->refR2)/(geom->refR1 + geom->refR2) Real& mun = 3 * phys->viscos *(3.14159*Rav**2)*(phys->alfa)**(1/2) Real& mut = mun/3 Real& Epsilonpn = geom->incidentVel * geom->normal * 1/(geom->refR1 + geom->refR2 - geom->penetrationDepth)*geom->normal Real& Fwakai= phys->Gamma * Rav * (-11.53 * (alfa) + 13.58 * (alfa)**(1/2) + 0.40) phys->normalForce = (mun * Epsilonpn - Fwakai)* geom->normal; phys->shearForce= mut*geom->shearIncrement()/om->dt phys->alfa = alfa + om->dt *( (1-alfa)/(alfa)**(1/2)*(0.38/phys->viscos)*(mun * Epsilonpn - Fwakai)/(3.14159*Rav**2) + (3/4*(3.14159)**(1/2))**(1/3)*(phys->surftens/phys->viscos)*((3.14159*Rav**2)**(-3/2) ) * so how should i modify this eventually to implement Jan's option of definition of the method in .cpp ?? : " Real MyPhys :: computeNewAlpha(...) { // here you put the computation, wither directly or possibly using other functions, depends.. return newAlpha; " I hope this is clear enough Thanks for your input, All the best V. -- 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 #690825]: writing a yade class
Question #690825 on Yade changed: https://answers.launchpad.net/yade/+question/690825 Status: Answered => Open Rioual is still having a problem: Hello Jan, OK, I created 3 staticmethods computeNormalForce, computeTangentialForce and computeNewAlfa in the phys part of my hpp contact lawclass file. I have apparently the precise the .def() with all the static and dynamic parameters necessary for computation of the variable in this part...before declaring as a static method. ok? Concerning the syntax In Law2::go (which is in the .cpp class file of my contact law): you tell me to write "phys.alpha = MyPhys::computeNewAlpha(phys.alpha,dt,...)" but where and how (syntax) do i define and implement the expression for d(alfa)/dt= in this part?? Thanks for all Best, V. -- 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 #690825]: writing a yade class
Question #690825 on Yade changed: https://answers.launchpad.net/yade/+question/690825 Status: Answered => Open Rioual is still having a problem: Dear Jan, Thanks for your input and encouragement. - My question was to be able to test the implemented yade files .hpp and .cpp associated to a contact law. The same files that will be called by yade to use the new interaction law. So option b) (Discussed in [4], #4) would be more my focus. Basically, if i get it(?): 1) i keep the .hpp and .cpp files I wrote following [1][2][3][4] (which define my yade class) 2)I add several staticmethod along these files. 3) From yade terminal in python, i use the staticmethods defined previously to test different values or expressions of the class (as explained in [4], #4). - In my case i have an internal variable alfa to evolves with time through an evolution equation (see https://answers.launchpad.net/yade/+question/690280); How can i test values for different time steps using the previous methodology?? i have to use a 2 particle basic yade simulation for that ?? ( #1 of https://answers.launchpad.net/yade/+question/690655). All the best V. -- 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 #690825]: writing a yade class
New question #690825 on Yade: https://answers.launchpad.net/yade/+question/690825 Hello, I want to write a specific Yade Class to test a new contact law defined by hpp and cpp files. I will insert regular prints in this class for the test of the law, following previous advices from Jan and Bruno (https://answers.launchpad.net/yade/+question/690655). What is the syntax for a yade class ?? some examples i could get inspiration from ? In which folder do i store this Yade Class ?? Thanks, Best, Vincent -- 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 #690708]: base class ??
Question #690708 on Yade changed: https://answers.launchpad.net/yade/+question/690708 Status: Answered => Solved Rioual 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 #690684]: definition of iphys in the .hpp file related to a contact law
Question #690684 on Yade changed: https://answers.launchpad.net/yade/+question/690684 Status: Answered => Solved Rioual confirmed that the question is solved: Thanks Jérôme Duriez, 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
[Yade-users] [Question #690708]: base class ??
New question #690708 on Yade: https://answers.launchpad.net/yade/+question/690708 Hello, I am writing iPhys for a new contact law and I have to complete the YADE_CLASS_BASE_DOC_ATTRS_CTOR() My question is simple: what is the base class i have to precise ?? what is its role ?? For instance for FrictPhys the base class is NormShearPhys: https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/FrictPhys.hpp#L21 In my case, my new law doesn't include any elasticity and is independant: what should i put as a base class in YADE_CLASS_BASE_DOC_ATTRS_CTOR ?? Thanks, Vincent -- 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 #690684]: definition of iphys in the .hpp file related to a contact law
New question #690684 on Yade: https://answers.launchpad.net/yade/+question/690684 Hello, I try to understand the way we can implement the definition of iPhys of a contact law. I take example on CpmPhys (https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/ConcretePM.hpp#L138). The goal is to store in iPhys the relevant parameters of a given interaction. I don't understand why certain parameters are declared with simple brakets: https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/ConcretePM.hpp#L163 why other parameters are declared with .def prefix as in https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/ConcretePM.hpp#L202 and others with .def_readonly thank you for the explanations, Best F. -- 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 #690655]: Testing the implémentation of a new contact law
Question #690655 on Yade changed: https://answers.launchpad.net/yade/+question/690655 Status: Answered => Solved Rioual confirmed that the question is solved: Thanks Bruno Chareyre, 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 #690655]: Testing the implémentation of a new contact law
Question #690655 on Yade changed: https://answers.launchpad.net/yade/+question/690655 Status: Needs information => Open Rioual gave more information on the question: Hello Jan, >> "In general it is possible e.g. to define a physical law ("the equations") as an external C++ library independent of Yade, then you can test it independently of Yade" This is exactly my question: if i want to test my cpp and hpp programs independantly, to check that everything is computed correctly (doing tests and regular prints in between and so on), how is this possible ? Sorry if my question sounds a bit silly but i am not at ease with all this, Best regards, Vincent ***** François Rioual Chargé de Recherches CR1 Unité FRISE- Génie des procédés frigorifiques pour la sécurité alimentaire et l’environnement 1 rue Pierre- Gilles de Gennes - CS10030 92761 Antony Cedex Courriel: [ mailto:francois.rio...@inrae.fr | francois.rio...@inrae.fr ] Tél. : +33 (0)1 40 96 61 21 (poste : 81 90 15) *** - Mail original - De: "Jan Stránský" À: "Rioual François" Envoyé: Mardi 12 Mai 2020 12:22:52 Objet: Re: [Question #690655]: Testing the implémentation of a new contact law Your question #690655 on Yade changed: https://answers.launchpad.net/yade/+question/690655 Status: Open => Needs information Jan Stránský requested more information: Hello, I am not sure if I got the point, could you please provide some more background, ideas etc? what is a problem with yade simulation? In general it is possible e.g. to define a physical law ("the equations") as an external C++ library independent of Yade, then you can test it independently of Yade and in Yade you "just include it and wrap it". But the standard (and the easiest) way for testing IS yade simulations.. Could be very simple, like "one-interaction tests" = two particles with all blocked DOFs and prescribed velocities, just to test the most basic response. Or a complex simulation (because the structural behavior may be very different from mere extrapolation of one-interaction tests) cheers Jan -- To answer this request for more information, you can either reply to this email or enter your reply at the following page: https://answers.launchpad.net/yade/+question/690655 You received this question notification because you asked the 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
[Yade-users] [Question #690655]: Testing the implémentation of a new contact law
New question #690655 on Yade: https://answers.launchpad.net/yade/+question/690655 Hello, I am about to create new cpp and hpp files related to to the implémentation of a new contact law in yade. Is There a simple way to test my files and débug without the run of a yade simulation ??? Thank you very much V. -- 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 #690280]: Implementing a new contact law very different from the usual ones
Question #690280 on Yade changed: https://answers.launchpad.net/yade/+question/690280 Rioual posted a new comment: I will do séparate queries next time, message well received!! Best -- 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 #690280]: Implementing a new contact law very different from the usual ones
Question #690280 on Yade changed: https://answers.launchpad.net/yade/+question/690280 Status: Answered => Open Rioual is still having a problem: ... Thanks, Jan, now I can start to tackle the problem now from references to FrictMat but I have real difficulties to interpret the command lines in ElasticContactLaw.cpp: https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/ElasticContactLaw.cpp#L62 -l61: "CREATE_LOGGER(Law2_ScGeom_FrictPhys_CundallStrack)"; https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/ElasticContactLaw.cpp#L61 what does this mean ?? -l62: "bool Law2_ScGeom_FrictPhys_CundallStrack::go(shared_ptr& ig, shared_ptr& ip, Interaction* contact)": https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/ElasticContactLaw.cpp#L62 can you explain all this and <> ?? -"int id1 = contact->getId1(), id2 = contact->getId2();" https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/ElasticContactLaw.cpp#L64 getId1?? getId2 ?? -"ScGeom*geom = static_cast(ig.get()); FrictPhys* phys = static_cast(ip.get());" https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/ElasticContactLaw.cpp#L66 Can you comment about these statements ? static_cast ?? ig.get, ip.get() ?? and in the file ElasticContactLaw.hpp: (https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/ElasticContactLaw.hpp): - https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/ElasticContactLaw.hpp#L18 what is LawFunctor ?? - https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/ElasticContactLaw.hpp#L21 what does this mean ? - https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/ElasticContactLaw.hpp#L26 what is YADE_CLASS_BASE_DOC_ATTRS_CTOR_PY ?? -https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/ElasticContactLaw.hpp#L38 FUNCTOR2D ?? DECLARE ?? I am so sorry for my ignorance but i have to face these issues in order to solve my problem ! Thank you very much again for your support, Vincent -- 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 #690280]: Implementing a new contact law very different from the usual ones
Question #690280 on Yade changed: https://answers.launchpad.net/yade/+question/690280 Status: Answered => Open Rioual is still having a problem: Hello, ...OK, Jan, thanks for your answer. This means that I have to create 5 new files related to my new law: SintMat.hpp : new material SintPhys.hpp : new IPhys, new lp2 SintPhys.cpp : new lp2 SintLaw.hpp : new Law2 SintLaw.cpp : new Law2 - can I follow the same implementation in each file as for FrictPhys_CundallStrack ?? - How do you i integrate these 5 files of definition of the law in the yade core code ?? My best wishes, Vincent, -- 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 #690280]: Implementing a new contact law very different from the usual ones
New question #690280 on Yade: https://answers.launchpad.net/yade/+question/690280 Hello, This question concerns the way to implement a new tricky contact law that can not be derived from the other classical contact laws from Yade. It follows the previous advices of Jan (https://answers.launchpad.net/yade/+question/690234). I want to implement in yade this new contact law that can be expressed as: Force on normal direction of contact: F_n = f1(alfa,mu, R_0) * (Normal_strain_rate) + g(alfa,gamma,R_0) Force on tangential direction: F_t = f2(alfa,mu,R_0)*(Tangential_strain_rate) + d(alfa)/dt = f3( mu,R_0, gamma, Normal_strain_rate, alfa) with R_0: average radius of the particle ; mu: viscosity of the material of the particle; gamma: surface tension. f1,f2,f3,g: functions alfa(t) is a dynamical geometrical parameter of the contact. As far as I have seen (https://answers.launchpad.net/yade/+question/681016), I must define: - a new Law2 functor - a new IPhys - a new lp2 functor Could you give guidance on the way and methodology to implement this new law in Yade ??? (I am a quite recent Yade user and have very little knowledge of c++...) Thank you very much for your assistance in this ambitious project, All the best! Vincent, -- 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 #690234]: Using O.forces without Ip2 and Law2
Question #690234 on Yade changed: https://answers.launchpad.net/yade/+question/690234 Status: Answered => Open Rioual is still having a problem: Hello, I tried to delete the InteractionLoop() as suggested by Bruno and let my pyrunner call the function with O.forces. In this case, apparently there is no error but the function called by pyrunner is not running. I use indeed in my function a loop on O.interactions (to define the force between particles to add with O.forces) and O.interactions depends apparenty on Geom and Phys so this seems to be a dead end I thought also as suggested by Jan about taking an arbitrary contact law and put the parameters to 0 but this does not seem to be very optimized... Best regards, V. -- 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 #690234]: Using O.forces without Ip2 and Law2
New question #690234 on Yade: https://answers.launchpad.net/yade/+question/690234 Hello, This sounds like an unusual question but is very valuable for me. I would like to do a script without using th collision physics Ip2 and the contact law Law2 in the engines. I do not need it. I would like only to treat interactions between my particles through O.forces called by a pyrunner at every iteration. How is this possible?? Best Vincent -- 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 #690160]: i.geom.incidentVel is not a vector
Question #690160 on Yade changed: https://answers.launchpad.net/yade/+question/690160 Rioual posted a new comment: ...Thank you very much you all, it works now but I don't really see the logic for precising (i): i.geom already precises that you are referring to interaction "i", no ?? hence, i.geom.penetrationDepth works i.geom.contactPoint works !!! Best V. -- 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 #690066]: Using O.forces along normal and tangential directions at contact
Question #690066 on Yade changed: https://answers.launchpad.net/yade/+question/690066 Status: Open => Solved Rioual confirmed that the question is solved: Thanks for all, V. -- 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 #690160]: i.geom.incidentVel is not a vector
Question #690160 on Yade changed: https://answers.launchpad.net/yade/+question/690160 Status: Answered => Solved Rioual confirmed that the question is solved: Hi Jerome, No, this is not an error message I get. Instead of having a vector (velocity) at output for i.geom.incidentVel , i get => ??? Thanks V. ps: the error message appear when I -- 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 #690160]: i.geom.incidentVel is not a vector
Question #690160 on Yade changed: https://answers.launchpad.net/yade/+question/690160 Status: Solved => Open Rioual is still having a problem: Hi Jerome, No, this is not an error message I get. Instead of having a vector (velocity) at output for i.geom.incidentVel , i get => ??? Thanks V. ps: the error message appears when I add () -- 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 #690160]: i.geom.incidentVel is not a vector
New question #690160 on Yade: https://answers.launchpad.net/yade/+question/690160 Hello, This is a very basic question I want to use i.geom.incidentVel as the incident velocity of an interaction (https://yade-dem.org/doc/yade.wrapper.html?highlight=geom%20incidentvel#yade.wrapper.ScGeom.incidentVel). But, unfortunately, when i print it in my script, the output is not a vector but is: > Can you explain me what's happening ?? My very simple script is below Best V. #* # basic simulation showing sphere falling ball gravity, # bouncing against another sphere # DATA COMPONENTS # add 2 particles to the simulation # they the default material (utils.defaultMat) O.bodies.append([ sphere(center=(0,0,0),radius=.5), sphere((0,0,0.9),.5) ]) # FUNCTIONAL COMPONENTS # simulation loop -- see presentation for the explanation O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom()],# collision geometry [Ip2_FrictMat_FrictMat_FrictPhys()], # collision "physics" [Law2_ScGeom_FrictPhys_CundallStrack()] ), # contact law -- apply forces PyRunner(iterPeriod=1,command="contactp()"), # Apply gravity force to particles. damf ing: numerical dissipation of energy. NewtonIntegrator(gravity=(0,0,-9.81),damping=0.1) ] # set timestep to a fraction of the critical timestep O.dt=.5e-4*PWaveTimeStep() # save the simulation, so that it can be reloaded later, for experimentation O.saveTmp() def contactp(): for i in O.interactions: particle1= O.bodies[i.id1] particle2= O.bodies[i.id2] cp = i.geom.contactPoint R1=i.geom.refR1; R2=i.geom.refR2 pdepth=i.geom.penetrationDepth v = i.geom.incidentVel print 'id1=', i.id1,'id2=', i.id2 print 'R1=',R1,'R2=',R2 print 'cp=', i.geom.contactPoint print 'pdepth=', i.geom.penetrationDepth print 'incidentVel=', v #** -- 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 #690066]: Using O.forces along normal and tangential directions at contact
Question #690066 on Yade changed: https://answers.launchpad.net/yade/+question/690066 Rioual posted a new comment: Thanks Jan, that was great ! best wishes V. -- 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 #690066]: Using O.forces along normal and tangential directions at contact
Question #690066 on Yade changed: https://answers.launchpad.net/yade/+question/690066 Status: Answered => Open Rioual is still having a problem: Hello jan, This becomes very clean now, thanks. -What is the problem in doing addF for both bodies ? You propose me to open a New question...There is a short and efficient way tu do it, so ? - concerning the suggestion of task for a Law2 functor, this is definitely a future step for me as i will have lots of particles to deal with, can you advice me an easy way to handle that as i have no expérience of it and i start with yade ?? (A basic question Maybe treated elsewhere?) Thank you for your enlightements, V. -- 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 #690066]: Using O.forces along normal and tangential directions at contact
Question #690066 on Yade changed: https://answers.launchpad.net/yade/+question/690066 Status: Needs information => Open Rioual gave more information on the question: Hello Jan, To be more precise: F_n = f(alfa) * normal_strain_rate + g(alfa) F_t = h(alfa) * tangential_strain_rate alfa is a dynamic variable which varies at each time step according to an evolution differential equation that involves the geometry of contact and normal strain rate...etc (d(alfa)/dt = function(alfa, normal_strain_rate, geometrical parameters , physical parameters) So that I want to use O.forces to implement that in an incremental way !! When i say "relative velocities of the particles at contact", I just said "at contact" because of potential spin on the particles... All the best! Vincent -- 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 #690066]: Using O.forces along normal and tangential directions at contact
Question #690066 on Yade changed: https://answers.launchpad.net/yade/+question/690066 Status: Answered => Open Rioual is still having a problem: Hello Jan, I have to implement a supplementary force at each contact which can defined as: F_n = function1 of (normal strain rate, ...) F_t = function2 of (tangential strain rate, ..) where normal direction is along the centers of the particles and tangential direction is defined according to the relative velocity of the particles at the contact Now, If I want to use O.forces, I need to convert these components F_n and F_t in global coordinates. I don't see how I can avoid that task thanks to a vectorial relationship in my case !! ...Just wanted to know if there was an easy way (functions) to compute that in yade.. ?? Best wishes ! V. -- 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 #690066]: Using O.forces along normal and tangential directions at contact
Question #690066 on Yade changed: https://answers.launchpad.net/yade/+question/690066 Status: Answered => Open Rioual is still having a problem: Dear Jan, Thanks, i get it but how do i practically do to get the components of t in global coordinates ?? That's the remaining bit for my problem.. Sorry for not being clear, Best Vincent -- 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 #690066]: Using O.forces along normal and tangential directions at contact
Question #690066 on Yade changed: https://answers.launchpad.net/yade/+question/690066 Status: Answered => Open Rioual is still having a problem: Dear Jan, Thanks for your precious input but i do not get you concerning the determination of t being tricky. As far as I know, I thought it was precisely defined in DEM in order to compute contact forces: https://yade-dem.org/doc/formulation.html#shear-deformation How can I get it for my purpose ?? Best Vincent -- 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 #690066]: Using O.forces along normal and tangential directions at contact
New question #690066 on Yade: https://answers.launchpad.net/yade/+question/690066 Hello, I would like to add a force at the contact particles with O.forces (doing a loop on all interactions between particles). This force evolves in a complex way in time and has a normal component Fn dependant on normal strain rate and tangential component Ft dependant on tangential strain rate. Can I have access easily normal strain rates (U_n) , tangential strain rates ( U_t) and components of the normal and tangential unit vectors ( n and t) in global coordinates (to use O.forces) ??? by ScGeom ? How ?? Thanks for your help, Best Vincent -- 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 #689741]: Implémentation of capillary force during mechanical contact
Question #689741 on Yade changed: https://answers.launchpad.net/yade/+question/689741 Status: Answered => Solved Rioual confirmed that the question is solved: Thanks Jérôme Duriez, 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 #689741]: Implémentation of capillary force during mechanical contact
Question #689741 on Yade changed: https://answers.launchpad.net/yade/+question/689741 Status: Answered => Open Rioual is still having a problem: ...Thank you very much for your replies.. For ViscElCapMat (*), the point is that A Gladky and al in his work (Comparison of different capillary bridges model for application in the discrete element method: https://arxiv.org/pdf/1403.7926.pdf) precises "We are neglecting effects of capillary forces during mechanical contact because we are not aware of a proved model for that case and the capillary forces are in order of magnitude much smaller than the mechanical ones". For Capillaryphys (**), Luc Scholtès in his thesis (p.62) explains that the capillary force during penetration delta_n >0 is kept constant equal to its maximal value Fcapmax (value of capillary force at contact delta_n = 0) (and supposing small penetration distances compared to radius) So my point is that a value for the capillary force may be calculated in case of penetrating particles for both formulations but I have to see if the specific geometry of penetrating particles is correctly taken into account by the implemented models, I would like a more reliable calculation of the capillary force in this case ??? All the best Vincent -- 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 #689741]: Implémentation of capillary force during mechanical contact
New question #689741 on Yade: https://answers.launchpad.net/yade/+question/689741 Hello, I would like to implement capillary forces during the mechanical contact between two spherical particles (case of a viscous material for which mechanical interactions are low). But the Capillary force in ViscElCapMat is only defined for delta_n > 0 Can I extend eventually this law ?? Is there an easy way to handle this issue ??? Thank you very much, Vincent -- 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 #689537]: Tutorial example script 04-periodic-simple-shear.py does not work
Question #689537 on Yade changed: https://answers.launchpad.net/yade/+question/689537 Status: Answered => Open Rioual is still having a problem: ...Thanks Bruno, the script is running now. I have two other questions: 1- the maximum rotation represented by red colors appear at the top and the bottom of the cell in the corrected script that you sent whereas in the example of YADE tutorial (https://yade-dem.org/doc/tutorial- examples.html#periodic-simple-shear) the colored layer representing high rotations is in the middle of the cell.??? 2- On a more fundamental point of view, I would like to know the point of studying a numerical periodic shear configuration that is far from the real experimental shear devices where we have shear localisation etc... Is it to be able to relate stress and strain rates on a representative volume element (RVE) and deduce for instance effective quantities as viscosities etc... for continuum theories Sorry this is not a directly yade related query but you would be welcome to bring me any light Best Vincent -- 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 #689537]: Tutorial example script 04-periodic-simple-shear.py does not work
Question #689537 on Yade changed: https://answers.launchpad.net/yade/+question/689537 Status: Answered => Open Rioual is still having a problem: Hi Robert, That's ok for the second error, thanks. My worry concerns more the first error of the script.. Best Vincent -- 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 #689537]: Tutorial example script 04-periodic-simple-shear.py does not work
New question #689537 on Yade: https://answers.launchpad.net/yade/+question/689537 Hello, I face the same problem as Jan in 2016 concerning 2 bugs in Tutorial example script 04-periodic-simple-shear.py. These bugs were reported as https://bugs.launchpad.net/yade/+bug/1634434 (L75) if stress.trace()/3.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 #689131]: Basic Problem using parallel run in Yade
Question #689131 on Yade changed: https://answers.launchpad.net/yade/+question/689131 Status: Answered => Solved Rioual confirmed that the question is solved: ...I will try that; looks very relevant... All the best V. -- 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 #689131]: Basic Problem using parallel run in Yade
Question #689131 on Yade changed: https://answers.launchpad.net/yade/+question/689131 Status: Answered => Open Rioual is still having a problem: ...Thank you very much for these suggestions. But basically, how can I make this duplication of packing and write it in Yade?? How do I glue the pieces of packing to make a large global packing ?? Thanks for your input, Best, Vincent -- 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 #689131]: Basic Problem using parallel run in Yade
Question #689131 on Yade changed: https://answers.launchpad.net/yade/+question/689131 Status: Needs information => Open Rioual gave more information on the question: Hello, Thanks for your suggestions. Actually I tested the code for a lower number of particles and several cores are used in this case, it works The point is that for a higher number of particles, the script is stuck at the operation " sp.makeCloud((0,0,0),(1,1,1),rMean=rMean,rRelFuzz=rRelFuzz)" (at the beginning of the script, before the engines) and the script doesn't seem to use the different cores required, at this stage. Would there eventually be an efficient way to create a cloud of particles for a high number of particles ??? Thanks for your reply, Best, Vincent -- 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 #689131]: Basic Problem using parallel run in Yade
Question #689131 on Yade changed: https://answers.launchpad.net/yade/+question/689131 Status: Answered => Open Rioual is still having a problem: OK, here is a self contained shorter script that reproduces the problem, I got rid of the stl importations. Thanks for your feed-back, Best, Vincent, #*** #SCRIPT: #*** #gravity deposition (1), (2) continuing with oedometric test after stabilization (3) # load parameters from file if run in batch # default values are used if not run from batch readParamsFromTable(rMean=0.005,rRelFuzz=0.002,maxLoad=1e7,minLoad=1e5) # make rMean, rRelFuzz, maxLoad accessible directly as variables later from yade.params.table import * # create box with free top, and ceate loose packing inside the box from yade import pack, plot ## PhysicalParameters Density=2400 frictionAngle=radians(25) tc = 0.01 en = 0.0001 et = 0.0001 ## Import wall's geometry facetMat=O.materials.append(ViscElMat(frictionAngle=frictionAngle,tc=tc, en=en, et=et)) sphereMat=O.materials.append(ViscElMat(density=Density,frictionAngle=frictionAngle,tc=tc,en=en,et=et)) from yade import ymport fctIdscylinder = O.bodies.append(geom.facetBox((.5,.5,.5),(.5,.5,.5),wallMask=55,material=facetMat)) ### sp=pack.SpherePack() sp.makeCloud((0,0,0),(1,1,1),rMean=rMean,rRelFuzz=rRelFuzz) sp.toSimulation(color=(0,0,1),material=sphereMat) O.engines=[ ForceResetter(), # sphere, facet, wall InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb(),Bo1_Wall_Aabb()]), InteractionLoop( # the loading plate is a wall, we need to handle sphere+sphere, sphere+facet, sphere+wall [Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom(),Ig2_Wall_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()] ), NewtonIntegrator(gravity=(0,-9.81,0),damping=0.1), # the label creates an automatic variable referring to this engine # we use it below to change its attributes from the functions called PyRunner(command='checkUnbalanced()',realPeriod=2,label='checker'), ] O.dt=.5*PWaveTimeStep() # the following checkUnbalanced, unloadPlate and stopUnloading functions are all called by the 'checker' # (the last engine) one after another; this sequence defines progression of different stages of the # simulation, as each of the functions, when the condition is satisfied, updates 'checker' to call # the next function when it is run from within the simulation next time # check whether the gravity deposition has already finished # if so, add wall on the top of the packing and start the oedometric test def checkUnbalanced(): # at the very start, unbalanced force can be low as there is only few contacts, but it does not mean the packing is stable if O.iter<9000: return # the rest will be run only if unbalanced is < .1 (stabilized packing) if unbalancedForce()>0.2: return # add plate at the position on the top of the packing fctIdsbouchonI = O.bodies.append(wall(max([b.state.pos[1]+b.shape.radius for b in O.bodies if isinstance(b.shape,Sphere)]),axis=1,material=facetMat)) global fctIdsbouchon fctIdsbouchon=[] fctIdsbouchon.append(fctIdsbouchonI) TransEngload= TranslationEngine(ids=fctIdsbouchon,translationAxis=[0,-1,0],velocity=1,label='load') O.engines=O.engines+[TransEngload] global TransEngload # next time, do not call this function anymore, but the next one (unloadPlate) instead checker.command='unloadPlate()' def unloadPlate(): # if the force on plate exceeds maximum load, start unloading Fn = sum(O.forces.f(O.bodies[facetid].id)[1] for facetid in fctIdsbouchon) if abs(Fn)>maxLoad: TransEngload.Velocity = 0 TransEngunload = TranslationEngine(ids=fctIdsbouchon,translationAxis=[0,1,0],velocity=0.1,label='unload') O.engines=O.engines+[TransEngunload] # next time, do not call this function anymore, but the next one (stopUnloading) instead checker.command='stopUnloading()' def stopUnloading(): Fn = sum(O.forces.f(O.bodies[facetid].id)[1] for facetid in fctIdsbouchon) if abs(Fn)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 #689131]: Basic Problem using parallel run in Yade
Question #689131 on Yade changed: https://answers.launchpad.net/yade/+question/689131 Status: Answered => Open Rioual is still having a problem: Dear Robert, You will find in the following the script. This is inspired by oedometric-test.py (tutorial). The original code (oedometric-test.py) uses all the cores available, I tested it. Can you tell me me what could be the origin of the problem in my script ?? I had to add different translationEngines in my function called bt pyrunner: can it be related ??? Thanks, All the best, V. #* #SCRIPT: #* # gravity deposition (1) and controlled compression of the packing # load parameters from file if run in batch # default values are used if not run from batch readParamsFromTable(rMean=0.1,rRelFuzz=.04,maxLoad=1e7,minLoad=1e5) # make rMean, rRelFuzz, maxLoad accessible directly as variables later from yade.params.table import * # create box with free top, and ceate loose packing inside the box from yade import pack, plot #O.bodies.append(geom.facetBox((.5,.5,.5),(.5,.5,.5),wallMask=31)) ## PhysicalParameters Density=2400 frictionAngle=radians(25) #tc = 0.001 #en = 0.05 #et = 0.05 tc = 0.01 en = 0.0001 et = 0.0001 ## Import wall's geometry ##params=utils.getViscoelasticFromSpheresInteraction(10e3,tc,en,es) facetMat=O.materials.append(ViscElMat(frictionAngle=frictionAngle,tc=tc, en=en, et=et)) # **params sets kn, cn, ks, cs sphereMat=O.materials.append(ViscElMat(density=Density,frictionAngle=frictionAngle,tc=tc,en=en,et=et)) from yade import ymport #fctIdsWS=O.bodies.append(ymport.stl('WS-wheelMN:q.stl',color=(1,0,0),material=facetMat)) fctIdscylinder=O.bodies.append(ymport.stl('Pot- FR-1.stl',color=(1,0,0),material=facetMat)) print 'fctIdscylinder=', fctIdscylinder ### ## Recuperer les dimensions des objets stl ### minX = 1e99 maxX = -1e99 minY = 1e99 maxY = -1e99 minZ = 1e99 maxZ = -1e99 for facet in fctIdscylinder: print 'facet=', facet facet= O.bodies[facet] vs = [facet.state.pos + facet.state.ori * v for v in facet.shape.vertices] # vertices in global coord system print 'vs=',vs minX = min(minX,min(v[0] for v in vs)) maxX = max(maxX,max(v[0] for v in vs)) ### minY = min(minY,min(v[1] for v in vs)) maxY = max(maxY,max(v[1] for v in vs)) ### minZ = min(minZ,min(v[2] for v in vs)) maxZ = max(maxZ,max(v[2] for v in vs)) ### print 'minX=',minX,'minY=',minY,'minZ=',minZ print 'maxX=',maxX,'maxY=',maxY,'maxZ=',maxZ Rcylext = maxX Ycylmin = minY Ycylmax = maxY global Ycylmax global Rcylext ### sp=pack.SpherePack() sp.makeCloud((-23,10,-23),(23,310,23),rMean=rMean,rRelFuzz=rRelFuzz) sp.toSimulation(color=(0,0,1),material=sphereMat) O.engines=[ ForceResetter(), # sphere, facet, wall InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb(),Bo1_Wall_Aabb()]), InteractionLoop( # the loading plate is a wall, we need to handle sphere+sphere, sphere+facet, sphere+wall [Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom(),Ig2_Wall_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()] ), NewtonIntegrator(gravity=(0,-9.81,0),damping=0.1), # the label creates an automatic variable referring to this engine # we use it below to change its attributes from the functions called PyRunner(command='checkUnbalanced()',realPeriod=2,label='checker'), PyRunner(command='Poros()',iterPeriod=100,label='por'), ] O.dt=.5*PWaveTimeStep() # the following checkUnbalanced, unloadPlate and stopUnloading functions are all called by the 'checker' # (the last engine) one after another; this sequence defines progression of different stages of the # simulation, as each of the functions, when the condition is satisfied, updates 'checker' to call # the next function when it is run from within the simulation next time # check whether the gravity deposition has already finished # if so, add wall on the top of the packing and start the oedometric test def checkUnbalanced(): # at the very start, unbalanced force can be low as there is only few contacts, but it does not mean the packing is stable if O.iter<9000: return # the rest will be run only if unbalanced is < .1 (stabilized packing) if unbalancedForce()>0.2: return # Now, we pursue the job # delete useless particles 1-At the top of the packing 2- On both sides of the packing bodiesTo
Re: [Yade-users] [Question #689131]: Basic Problem using parallel run in Yade
Question #689131 on Yade changed: https://answers.launchpad.net/yade/+question/689131 Status: Answered => Open Rioual is still having a problem: Dear Robert, Can you be more precise ?? How can I adapt my script in order to have the benefits of parallel computing ?? Thanks, Cheers, V. -- 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 #689131]: Basic Problem using parallel run in Yade
New question #689131 on Yade: https://answers.launchpad.net/yade/+question/689131 Hello, I try to use the possibility of parallel calculations with Yade for the first time thanks to Openmp. This is a very basic question, sorry. When I add -j X to the Yade command where X is the number of available cores of my machine then I can check with htop that there is only one core running at 100 %CPU ; the other cores seem not to be called for running by Yade (S state). I find the same behavior using yade-2016.06a on my machine and yade-2019-01-28 on a cluster. Did I miss something in the process of using Yade in parallel ?? Thanks for your cooperation, Best Vincent -- 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 #688906]: unexpected "exit" message when running a yade code on a cluster
Question #688906 on Yade changed: https://answers.launchpad.net/yade/+question/688906 Status: Open => Solved Rioual confirmed that the question is solved: From #1: O.run() returns control to Python and the simulation runs in background; if you want to wait for it to finish, use O.wait() it works ! Thanks to you all, Fr. -- 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 #688906]: unexpected "exit" message when running a yade code on a cluster
Question #688906 on Yade changed: https://answers.launchpad.net/yade/+question/688906 Status: Answered => Open Rioual is still having a problem: ..Thanks, I will try to avoid O.run() then but, Bruno, what are you referring to by #1 and #4 ...??? Vincent -- 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 #688906]: unexpected "exit" message when running a yade code on a cluster
Question #688906 on Yade changed: https://answers.launchpad.net/yade/+question/688906 Status: Answered => Open Rioual is still having a problem: Hello, The problem seems to be related to the use of O.run which controls the apparition of the message "In[1]:"(which, with the use of the cluster, is followed by the following statement: "Do you really want to exit ([y]/n)?" and stops the simulation) See this MWS: ## readParamsFromTable(rMean=1.2,rRelFuzz=.4,maxLoad=1e7,minLoad=1e5) # make rMean, rRelFuzz, maxLoad accessible directly as variables later from yade.params.table import * from yade import pack, plot ## PhysicalParameters Density=2400 frictionAngle=radians(25) #tc = 0.001 #en = 0.05 #et = 0.05 tc = 0.01 en = 0.0001 et = 0.0001 sphereMat=O.materials.append(ViscElMat(density=Density,frictionAngle=frictionAngle,tc=tc,en=en,et=et)) ### print 'test0' sp=pack.SpherePack() sp.makeCloud((-23,10,-23),(23,310,23),rMean=rMean,rRelFuzz=rRelFuzz) sp.toSimulation(color=(0,0,1),material=sphereMat) print 'test1' O.engines=[ ForceResetter(), # sphere, facet, wall InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb(),Bo1_Wall_Aabb()]), InteractionLoop( # the loading plate is a wall, we need to handle sphere+sphere, sphere+facet, sphere+wall [Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom(),Ig2_Wall_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()] ), NewtonIntegrator(gravity=(0,-9.81,0),damping=0.1), # the label creates an automatic variable referring to this engine # we use it below to change its attributes from the functions called PyRunner(command='Poros()',iterPeriod=1,label='por'), ] O.dt=.5*PWaveTimeStep() #*** def Poros(): Rcylext=15 Ycylmax = 110 dx = (Rcylext-2)/1.414 por = utils.voxelPorosity(200,(-dx ,4,-dx),(dx,Ycylmax,dx)) print 'test2' print 'tstep=',O.iter,'Porosite=',por #** print 'test3' # POSITION OF O.RUN O.run() O.pause ### 1- If I use O.run() in the MWS script, I have in the output the apparition of "In[1]:" then the exit message and the simulation is blocked: test0 test1 test3 [[ ^L clears screen, ^U kills line. F8 plot. ]] In [1]: Do you really want to exit ([y]/n)? 2- If I use O.run(10,True) instead of O.run(), I get: test0 test1 test3 test2 tstep= 1 Porosite= 0.783404375 test2 tstep= 2 Porosite= 0.78340475 test2 tstep= 3 Porosite= 0.783404625 test2 tstep= 4 Porosite= 0.783404625 test2 tstep= 5 Porosite= 0.7834055 test2 tstep= 6 Porosite= 0.783404625 test2 tstep= 7 Porosite= 0.783404 test2 tstep= 8 Porosite= 0.783404 test2 tstep= 9 Porosite= 0.783405375 [[ ^L clears screen, ^U kills line. F8 plot. ]] In [1]: Do you really want to exit ([y]/n)? So the run is done indeed after 10 timesteps and the "In[1]:" appears only at the complete end of the run which is expected. My problem: In my more complete case, I need to use O.run() and not 0.run(X,True) because I don't know the number of timesteps required (there is an aditional conditional statement in a function called by pyrunner in the engines). So Do you know to avoid the apparition of "In[1]:" with O.run() ?? Thanks very much for your feed-back, Best wishes, Vincent nb: version of yade installed is: yade-2019-01-28.git-20242db -- 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 #688906]: unexpected "exit" message when running a yade code on a cluster
Question #688906 on Yade changed: https://answers.launchpad.net/yade/+question/688906 Status: Answered => Open Rioual is still having a problem: Hello, Thanks for your suggestions. I suspect the exit corresponds to the apparition of the qt graphical interface which is automatic in a normal yade script. How can I disable the qt interface in a script ?? Thanks, V. -- 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 #688822]: Exporting a packing geometry made in yade in a stl format
Question #688822 on Yade changed: https://answers.launchpad.net/yade/+question/688822 Status: Answered => Solved Rioual 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
[Yade-users] [Question #688906]: unexpected "exit" message when running a yade code on a cluster
New question #688906 on Yade: https://answers.launchpad.net/yade/+question/688906 Hello, I have a code in yade which works very well on my local PC. I want to use it on a cluster where yade has been installed. When I make it run on line, it works well. When I send the code on a node with a script (sbatch script), the code stops at a certain moment with this message in the output file: [[ ^L clears screen, ^U kills line. F8 plot. ]] In [1]: Do you really want to exit ([y]/n)? My question is the following: - what means In[1] ?? - Why does the yade program want to exit at a certain stage on the cluster whereas it works perfectly well on line ?? Thank you for your answer, Best, Vincent -- 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 #688822]: Exporting a packing geometry made in yade in a stl format
Question #688822 on Yade changed: https://answers.launchpad.net/yade/+question/688822 Status: Answered => Open Rioual is still having a problem: Dear Jan, - My problem is related to the problem of evaporation dynamics in a porous material made with Yade so Comsol is indeed relevant. - Maybe i will have to find another way to treat the problem from the coordinates and radii of the spheres calculated in Yade if making a stl file is too tough Thank you for your input, V. -- 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 #688822]: Exporting a packing geometry made in yade in a stl format
Question #688822 on Yade changed: https://answers.launchpad.net/yade/+question/688822 Status: Answered => Open Rioual is still having a problem: Hello Jan, Thanks for your reply but: - How do you triangulate the spherical packing ?? - "save triangles": do you mean i have to build by hands the stl file as explained in wikipedia i.e. save as a "built up" text file ??? Best wishes, V. -- 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 #688822]: Exporting a packing geometry made in yade in a stl format
New question #688822 on Yade: https://answers.launchpad.net/yade/+question/688822 Hello, I would like to export a packing geometry of spheres created in yade to a .stl format in order to open it and read it in a second stage with comsol. How can I do that ?? Thanks, Vincent -- 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 #688548]: periodic motion of a boundary
Question #688548 on Yade changed: https://answers.launchpad.net/yade/+question/688548 Status: Answered => Solved Rioual 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 #688548]: periodic motion of a boundary
Question #688548 on Yade changed: https://answers.launchpad.net/yade/+question/688548 Rioual gave more information on the question: Dear Jan, Let's say the simplest case of the periodic vertical motion up and down of a horizontal plate with velocities V_up (upwards) and V_down (downwards); what would be the most appropriate ? Thanks, V. -- 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 #688548]: periodic motion of a boundary
Question #688548 on Yade changed: https://answers.launchpad.net/yade/+question/688548 Status: Answered => Open Rioual is still having a problem: Hi Jan, OK, do you mean a conditional statement on O.time in a function called by Pyrunner at every time step ? regards, V. -- 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 #688548]: periodic motion of a boundary
New question #688548 on Yade: https://answers.launchpad.net/yade/+question/688548 Hello, I would like to code a periodic motion of translation for a boundary with TranslationEngine (Shaking). Is there a simple way to do it ?? Thanks, Vincent -- 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 #688203]: Simulation blocked after O.run in a conditional translation motion
Question #688203 on Yade changed: https://answers.launchpad.net/yade/+question/688203 Status: Answered => Solved Rioual 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 #688203]: Simulation blocked after O.run in a conditional translation motion
Question #688203 on Yade changed: https://answers.launchpad.net/yade/+question/688203 Status: Answered => Open Rioual is still having a problem: Hello Jan, The function 'kinematic_WS' is ruling all the different dynamic operations I have to do with the wheel in this code: A translation of the wheel under a certain condition then a rotation of the wheel under a certain condition. I am not a yade expert and I really do not know how to express that differently and to call the function externally! Thanks for your feedback, Best V. -- 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 #688203]: Simulation blocked after O.run in a conditional translation motion
Question #688203 on Yade changed: https://answers.launchpad.net/yade/+question/688203 Status: Answered => Open Rioual is still having a problem: Hello Jan, I used the version of the code you sent me (I had to correct all the wrong indentations). The code is still blocking as previously after the printing of 'test02'. What do you mean by the 'problematic code is not reached at all' ?? You do not see the printing 'test0', 'test01', 'test02', 'test03' ??? If you confirm me that it is a yade version problem, I will go this way. Thanks for your feedback, V. -- 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 #688203]: Simulation blocked after O.run in a conditional translation motion
Question #688203 on Yade changed: https://answers.launchpad.net/yade/+question/688203 Status: Needs information => Open Rioual gave more information on the question: Hello Jan, Here is the code again. Best V. ** # gravity deposition, continuing with oedometric test after stabilization # shows also how to run parametric studies with yade-batch # The components of the batch are: # 1. table with parameters, one set of parameters per line (ccc.table) # 2. readParamsFromTable which reads respective line from the parameter file # 3. the simulation muse be run using yade-batch, not yade # # $ yade-batch --job-threads=1 03-oedometric-test.table 03-oedometric-test.py # # load parameters from file if run in batch # default values are used if not run from batch readParamsFromTable(rMean=.05,rRelFuzz=.3,maxLoad=1e6,minLoad=1e4) # make rMean, rRelFuzz, maxLoad accessible directly as variables later from yade.params.table import * # create box with free top, and ceate loose packing inside the box from yade import pack, plot O.bodies.append(geom.facetBox((.5,.5,.5),(.5,.5,.5),wallMask=31)) sp=pack.SpherePack() sp.makeCloud((0,0,0),(1,1,1),rMean=rMean,rRelFuzz=rRelFuzz) sp.toSimulation() O.engines=[ ForceResetter(), # sphere, facet, wall InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb(),Bo1_Wall_Aabb()]), InteractionLoop( # the loading plate is a wall, we need to handle sphere+sphere, sphere+facet, sphere+wall [Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom(),Ig2_Wall_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()] ), NewtonIntegrator(gravity=(0,0,-9.81),damping=0.5), # the label creates an automatic variable referring to this engine # we use it below to change its attributes from the functions called PyRunner(command='checkUnbalanced()',realPeriod=2,label='checker'), ] O.dt=.5*PWaveTimeStep() # the following checkUnbalanced, unloadPlate and stopUnloading functions are all called by the 'checker' # (the last engine) one after another; this sequence defines progression of different stages of the # simulation, as each of the functions, when the condition is satisfied, updates 'checker' to call # the next function when it is run from within the simulation next time # check whether the gravity deposition has already finished # if so, add wall on the top of the packing and start the oedometric test def checkUnbalanced(): # at the very start, unbalanced force can be low as there is only few contacts, but it does not mean the packing is stable if O.iter<5000: return # the rest will be run only if unbalanced is < .1 (stabilized packing) if unbalancedForce()>.1: return # add plate at the position on the top of the packing # the maximum finds the z-coordinate of the top of the topmost particle O.bodies.append(wall(max([b.state.pos[2]+b.shape.radius for b in O.bodies if isinstance(b.shape,Sphere)]),axis=2,sense=-1)) global plate# without this line, the plate variable would only exist inside this function plate=O.bodies[-1] # the last particles is the plate # Wall objects are "fixed" by default, i.e. not subject to forces # prescribing a velocity will therefore make it move at constant velocity (downwards) plate.state.vel=(0,0,-.1) # start plotting the data now, it was not interesting before O.engines=O.engines+[PyRunner(command='addPlotData()',iterPeriod=200)] # next time, do not call this function anymore, but the next one (unloadPlate) instead checker.command='unloadPlate()' def unloadPlate(): # if the force on plate exceeds maximum load, start unloading if abs(O.forces.f(plate.id)[2])>maxLoad: plate.state.vel*=-1 # next time, do not call this function anymore, but the next one (stopUnloading) instead checker.command='stopUnloading()' def stopUnloading(): if abs(O.forces.f(plate.id)[2])hMax): #si le solide est une sphere et sa position est plus haut que hmax hMax=h # on enregistre sa hauteur idHMax=i.id # on garde en memoire de quel corps il s'agit # if (idHMax == 0): return rMax # valeur de retour par default, rMAX # else: return (hMax+O.bodies[idHMax].shape.radius) hmaxSpheres = hMax+O.bodies[idHMax].shape.radius return h_WS,hmaxSpheres #* #**
Re: [Yade-users] [Question #688203]: Simulation blocked after O.run in a conditional translation motion
Question #688203 on Yade changed: https://answers.launchpad.net/yade/+question/688203 Status: Needs information => Open Rioual gave more information on the question: ..Yes, it is still blocking. My yade version is Yade 2016.06a apparently. I added a print before the pause in the script: print 'End building packing' O.pause() ** Here is my output: Welcome to Yade 2016.06a TCP python prompt on localhost:9004, auth cookie `skduye' XMLRPC info provider on http://localhost:21004 Running script working-example.py End building packing /home/irstea/myYade/install/lib/x86_64-linux-gnu/yade-2016.06a/py/yade/utils.py:351: UserWarning: Function utils.facetCylinder is deprecated, use geom.facetCylinder instead. _deprecatedUtilsFunction('facetCylinder','geom.facetCylinder') [[ ^L clears screen, ^U kills line. F12 controller, F11 3d view (use h-key for showing help), F10 both, F9 generator, F8 plot. ]] [0;34mYade [[1;34m1[0;34m]: [0mWARN /home/irstea/myYade/trunk/trunk-2016.06a/pkg/common/GravityEngines.cpp:19 action: GravityEngine is deprecated, consider using Newton::gravity instead (unless gravitational energy has to be tracked - not implemented with the newton attribute). test0 h_WS= 1.3 hmaxSpheres= 0.443123580808 test01 test02 frozen Regards Vincent -- 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 #688203]: Simulation blocked after O.run in a conditional translation motion
Question #688203 on Yade changed: https://answers.launchpad.net/yade/+question/688203 Rioual gave more information on the question: Hello Jan, For me it does not change anything adding O.wait(). It is still blocking at the same line ! regards V. -- 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 #688203]: Simulation blocked after O.run in a conditional translation motion
Question #688203 on Yade changed: https://answers.launchpad.net/yade/+question/688203 Rioual gave more information on the question: Hello, But I have a O.pause() in the function stopUnloading() in order to stop the process of building the packing (first part). So this should desactivate the first O.run(); No ? I think I am confused in dealing with O.run() ? Thanks for your reply, Best Vincent, -- 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 #688203]: Simulation blocked after O.run in a conditional translation motion
Question #688203 on Yade changed: https://answers.launchpad.net/yade/+question/688203 Status: Needs information => Open Rioual gave more information on the question: Hello Jan, Sorry about all that. I modified my code to make it independant with a faceted cylinder for penetration and Oedometric-test.py used to make the packing. Here it is below. The simulation seems to be blocked for more than several minutes. Thee number of particles here is very low (example of packing taken from the tutorial examples oedometric-test.py). All the best, Vincent The code: * # gravity deposition, continuing with oedometric test after stabilization # shows also how to run parametric studies with yade-batch # The components of the batch are: # 1. table with parameters, one set of parameters per line (ccc.table) # 2. readParamsFromTable which reads respective line from the parameter file # 3. the simulation muse be run using yade-batch, not yade # # $ yade-batch --job-threads=1 03-oedometric-test.table 03-oedometric-test.py # # load parameters from file if run in batch # default values are used if not run from batch readParamsFromTable(rMean=.05,rRelFuzz=.3,maxLoad=1e6,minLoad=1e4) # make rMean, rRelFuzz, maxLoad accessible directly as variables later from yade.params.table import * # create box with free top, and ceate loose packing inside the box from yade import pack, plot O.bodies.append(geom.facetBox((.5,.5,.5),(.5,.5,.5),wallMask=31)) sp=pack.SpherePack() sp.makeCloud((0,0,0),(1,1,1),rMean=rMean,rRelFuzz=rRelFuzz) sp.toSimulation() O.engines=[ ForceResetter(), # sphere, facet, wall InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb(),Bo1_Wall_Aabb()]), InteractionLoop( # the loading plate is a wall, we need to handle sphere+sphere, sphere+facet, sphere+wall [Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom(),Ig2_Wall_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()] ), NewtonIntegrator(gravity=(0,0,-9.81),damping=0.5), # the label creates an automatic variable referring to this engine # we use it below to change its attributes from the functions called PyRunner(command='checkUnbalanced()',realPeriod=2,label='checker'), ] O.dt=.5*PWaveTimeStep() # the following checkUnbalanced, unloadPlate and stopUnloading functions are all called by the 'checker' # (the last engine) one after another; this sequence defines progression of different stages of the # simulation, as each of the functions, when the condition is satisfied, updates 'checker' to call # the next function when it is run from within the simulation next time # check whether the gravity deposition has already finished # if so, add wall on the top of the packing and start the oedometric test def checkUnbalanced(): # at the very start, unbalanced force can be low as there is only few contacts, but it does not mean the packing is stable if O.iter<5000: return # the rest will be run only if unbalanced is < .1 (stabilized packing) if unbalancedForce()>.1: return # add plate at the position on the top of the packing # the maximum finds the z-coordinate of the top of the topmost particle O.bodies.append(wall(max([b.state.pos[2]+b.shape.radius for b in O.bodies if isinstance(b.shape,Sphere)]),axis=2,sense=-1)) global plate# without this line, the plate variable would only exist inside this function plate=O.bodies[-1] # the last particles is the plate # Wall objects are "fixed" by default, i.e. not subject to forces # prescribing a velocity will therefore make it move at constant velocity (downwards) plate.state.vel=(0,0,-.1) # start plotting the data now, it was not interesting before O.engines=O.engines+[PyRunner(command='addPlotData()',iterPeriod=200)] # next time, do not call this function anymore, but the next one (unloadPlate) instead checker.command='unloadPlate()' def unloadPlate(): # if the force on plate exceeds maximum load, start unloading if abs(O.forces.f(plate.id)[2])>maxLoad: plate.state.vel*=-1 # next time, do not call this function anymore, but the next one (stopUnloading) instead checker.command='stopUnloading()' def stopUnloading(): if abs(O.forces.f(plate.id)[2])hMax): #si le solide est une sphere et sa position est plus haut que hmax hMax=h # on enregistre sa hauteur idHMax=i.id # on garde en memoire de quel corps il s'agi
Re: [Yade-users] [Question #688203]: Simulation blocked after O.run in a conditional translation motion
Question #688203 on Yade changed: https://answers.launchpad.net/yade/+question/688203 Status: Needs information => Open Rioual gave more information on the question: ...Here is the code: #Start import time from yade import qt from yade import ymport #Import packing in the cylinder from prepare-packing.py O.load('init_Final_state_packing.yade') ### ## PhysicalParameters Density=2400 frictionAngle=radians(35) tc = 0.001 en = 0.05 et = 0.05 ## Import wall's geometry facetMat=O.materials.append(ViscElMat(frictionAngle=frictionAngle,tc=tc, en=en, et=et)) # **params sets kn, cn, ks, cs sphereMat=O.materials.append(ViscElMat(density=Density,frictionAngle=frictionAngle,tc=tc,en=en,et=et)) from yade import ymport #** global TransEngload2 #** # Importation de la roue Warren-Spring global fctIdsWS fctIdsWS=O.bodies.append(ymport.stl('WS-FR-1.stl',color=(1,0,0),material=facetMat)) #fctIdscylinder=O.bodies.append(ymport.stl('PotN.stl',color=(1,0,0),material=facetMat)) ## Timestep O.dt=.2*tc ## Engines O.engines=[ ## Resets forces and momenta the act on bodies ForceResetter(), ## Associates bounding volume to each body. #BoundDispatcher([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]), ## Using bounding boxes find possible body collisions. #InsertionSortCollider(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]), ## Interactions InteractionLoop( # the loading plate is a facet, we need to handle sphere+sphere, sphere+facet [Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom(),Ig2_Wall_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()] ), ## Apply gravity GravityEngine(gravity=[0,0,-9.81]), ## Cundall damping must been disabled! NewtonIntegrator(damping=0), ## Apply kinematics to wheel PyRunner(command='kinematics_WS()',realPeriod=1,label='kine'), ] from yade import qt qt.View() def kinematics_WS(): h_WS = calc_h()[0] hmaxSpheres = calc_h()[1] print 'test0','h_WS=',h_WS,'hmaxSpheres=',hmaxSpheres TransEngload2 = TranslationEngine(ids=fctIdsWS,translationAxis=[0,-1,0],velocity=10) O.engines=O.engines+[TransEngload2] while h_WS > hmaxSpheres: print 'test01' TransEngload2.dead = False print 'test02' O.run(1,True) # O.engines=O.engines+[PyRunner(command='calc_h()')] print 'test03' h_WS = calc_h()[0] hmaxSpheres = calc_h()[1] print 'test1','h_WS=',h_WS,'hmaxSpheres=',hmaxSpheres TransEngload2.dead = True else: amTOT = sum((O.bodies[facetid].state.angMom)[1] for facetid in fctIdsWS) while (amTOT< 1e-10): O.engines=O.engines+[PyRunner(command='addTorque()',iterPeriod=1)] amTOT = sum((O.bodies[facetid].state.angMom)[1] for facetid in fctIdsWS) else: # Stop simulation et measurement of the shear torque and cohesion C_WS = 3* (imposed_T)/(2*Pi*(R0^3-R1^3)) print 'C_WS=',C_WS print 'End of the calculation for Cohesion***' # O.pause() #* #This function calculate the height of the boundary h_WS and the maximum height of the packing hmax_Spheres def calc_h(): ### #Calculate h_WS minY = 1e99 maxY = -1e99 for facet in fctIdsWS: # print 'facet=', facet facet= O.bodies[facet] vs = [facet.state.pos + facet.state.ori * v for v in facet.shape.vertices] # vertices in global coord system # print 'vs=',vs minY = min(minY,min(v[1] for v in vs)) maxY = max(maxY,max(v[1] for v in vs)) ### # print 'maxY=',maxY,'minY=',minY h_WS = maxY ### #Calculate hmax_Spheres idHMax=0# on definit une variable pour identifier quel corps a la hauteur la plus haute hMax=0.0# initialisation de la hauteur a zero for i in O.bodies: # on parcours tout les co
[Yade-users] [Question #688203]: Simulation blocked after O.run in a conditional translation motion
New question #688203 on Yade: https://answers.launchpad.net/yade/+question/688203 Hello, This mistake may be obvious but I can't get it. I am studying the translation motion of a boundary WS (using TranslationEngine) as long as an conditional statement is fulfilled (the height of the boundary h_WS must be smaller than the maximum height of the packing hmaxSpheres). I use O.run(1,True) to let the engine work for one time step but the simulation seems to be frozen at the "O.run(1,True)" statement. [... PyRunner(command='kinematics_WS()',realPeriod=1,label='kine'), ... ] def kinematics_WS(): h_WS = calc_h()[0] hmaxSpheres = calc_h()[1] print 'test0','h_WS=',h_WS,'hmaxSpheres=',hmaxSpheres TransEngload2 = TranslationEngine(ids=fctIdsWS,translationAxis=[0,-1,0],velocity=10) O.engines=O.engines+[TransEngload2] while h_WS > hmaxSpheres: print 'test01' TransEngload2.dead = False print 'test02' O.run(1,True) ***frozen here!*** # O.engines=O.engines+[PyRunner(command='calc_h()')] print 'test03' h_WS = calc_h()[0] hmaxSpheres = calc_h()[1] print 'test1','h_WS=',h_WS,'hmaxSpheres=',hmaxSpheres TransEngload2.dead = True else: . Output: test0 h_WS= 130.0 hmaxSpheres= 100.369406791 test01 test02 ...frozen The boundary does not seem to move even if i put a higher step number in O.run() * Thank you for your Help, Best Vincent -- 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 #688040]: dimensions of an imported body
Question #688040 on Yade changed: https://answers.launchpad.net/yade/+question/688040 Status: Answered => Solved Rioual 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
[Yade-users] [Question #688178]: Force on a moving boundary imported from a stl file
New question #688178 on Yade: https://answers.launchpad.net/yade/+question/688178 Hello, I would like to control the compression of a packing (in a box) by a moving boundary imported from a stl file. I need to know and measure the force on this boundary. How do I get easily the force on this boundary ??; Do I have to go through the facets and so on ?? Can you clarify these points ?? Thank you very much for your answer, V. -- 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 #688040]: dimensions of an imported body
Question #688040 on Yade changed: https://answers.launchpad.net/yade/+question/688040 Status: Answered => Open Rioual is still having a problem: Hello Jan, I just did what you propose but I have an error message, possibly very basic mistake ??: *** fctIdscylinder=O.bodies.append(ymport.stl('Pot-FR-1.stl',color=(1,0,0),material=facetMat)) ### minX = 1e99 maxX = -1e99 minY = 1e99 maxY = -1e99 minZ = 1e99 maxZ = -1e99 for facet in fctIdscylinder: print 'facet=', facet vs = [facet.state.pos + facet.state.ori * v for v in facet.shape.vertices] # vertices in global coord system minX = min(minX,min(v[0] for v in vs)) maxX = max(maxX,max(v[0] for v in vs)) ### minY = min(minY,min(v[1] for v in vs)) maxY = max(maxY,max(v[1] for v in vs)) ### minX = min(minZ,min(v[2] for v in vs)) maxX = max(maxZ,max(v[2] for v in vs)) ### The error message is the following (facet is an integer!): vs = [facet.state.pos + facet.state.ori * v for v in facet.shape.vertices] # vertices in global coord system AttributeError: 'int' object has no attribute 'shape' Thanks for your answer! Best V. -- 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 #688040]: dimensions of an imported body
Question #688040 on Yade changed: https://answers.launchpad.net/yade/+question/688040 Status: Needs information => Open Rioual gave more information on the question: Hello Jan, How long and large the body is in drawing units (or YADE units). Thanks, F. -- 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 #688040]: dimensions of an imported body
New question #688040 on Yade: https://answers.launchpad.net/yade/+question/688040 Hello, I would like to know how to get the dimensions of a body imported from a .stl file (with ymport.stl) in a yade script. Is it possible ? Thanks, Best regards, F. -- 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 #686840]: sintered particles - interaction law
Question #686840 on Yade changed: https://answers.launchpad.net/yade/+question/686840 Status: Answered => Solved Rioual confirmed that the question is solved: Thanks Jérôme Duriez, 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 #686840]: sintered particles - interaction law
Question #686840 on Yade changed: https://answers.launchpad.net/yade/+question/686840 Status: Answered => Open Rioual is still having a problem: Hello Jerome, Thanks for the feedback. If I understand correctly, 1- I impose "i.phys.unp = i.geom.un #plastic disp = current disp, i.e. the elastic deformation is null, fn=0" for each contact of sintered particles, after a first stage of interpenetration at the desired amount with contact law "CohFrictPhys" 2- at the same time, for the contact between the two sintered particles considered, I change the contact law to as basic FrictPhys_CundallStrack and I apply the new sintering force described above with O.forces.addF. Do you agree with that ?? Best, Fr. -- 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 #686840]: sintered particles - interaction law
Question #686840 on Yade changed: https://answers.launchpad.net/yade/+question/686840 Rioual gave more information on the question: Hi Bruno, The sintering force Fs in the early stage of the process (0,1< c/r0 < 0,7 can be expressed as a parabolic function of the contact radius: Fs = Gammas*r0* [ a1*(c/r0)^2 + a2*(c/r0) + a3 ] Gammas : surface tension coefficient a1, a2, a3 : numerical constants c : radius of the contact between the two sintered particles r0 : radius of the particles (same radius for both particles) This is the force i want to implement.. Best, Fr. -- 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 #686840]: sintered particles - interaction law
Question #686840 on Yade changed: https://answers.launchpad.net/yade/+question/686840 Status: Answered => Open Rioual is still having a problem: Hi Bruno, Let me precise what I mean because it's not clear indeed and has apparently no link with the "yade" definition of adhesion... I mean an attractive interaction force between the two sintered particles: the sintering force. This force can be expressed as a polynomial function of the "neck" radius with a coefficient that scales with surface tension coefficient (Wakai et al, Acta Materialia, 109, 292-299 (2016)) regards, Francois -- 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 #686840]: sintered particles - interaction law
Question #686840 on Yade changed: https://answers.launchpad.net/yade/+question/686840 Status: Answered => Open Rioual is still having a problem: Hello Jerome, Thank you for your feedback... In my case, my adhesion force is an expression depending on the width of the bridge between the two sintered particles (and surface tension); so I guess I have to implement it explicitely...and try to copy the way it has been done for Law2_ScGeom6D_CohFrictPhys_CohesionMoment and introduce a new adhesion interaction in option in this well known cohesive law. That's the good strategy ?? All the best, Fr. -- 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 #686840]: sintered particles - interaction law
Question #686840 on Yade changed: https://answers.launchpad.net/yade/+question/686840 Status: Answered => Open Rioual is still having a problem: Hello, Thank you for these clarifications about the reference state. I would like also to implement indeed a specific adhesion law adapted to sintering (viscous in my case). So, as far I understood, it is advised to add this new adhesion contact law to an existing law as "Law2_ScGeom_FrictPhys_CundallStrack" ?? All the best, Fr. -- 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 #686840]: sintered particles - interaction law
New question #686840 on Yade: https://answers.launchpad.net/yade/+question/686840 Hello, This question is the following of a previous question concerning sintered materials (https://answers.launchpad.net/yade/+question/236454). I would like to apply an interaction law based on "Law2_ScGeom_FrictPhys_CundallStrack" between two sintered particles and add alsoa specific adhesion. The reference state I want (no deformation, no stress) is a "sintered" state where the two particles are already interpenetrating. How do I define this mechanical reference state in the code ?? Thanks for your answer, Fr. -- 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 #686136]: Introducing a wide distribution of the value of a parameter in a contact law
Question #686136 on Yade changed: https://answers.launchpad.net/yade/+question/686136 Status: Answered => Solved Rioual confirmed that the question is solved: Thanks Robert Caulk, 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
[Yade-users] [Question #686136]: Introducing a wide distribution of the value of a parameter in a contact law
New question #686136 on Yade: https://answers.launchpad.net/yade/+question/686136 Hello, I would like to use the cohesive contact law Law2_ScGeom6D_CohFrictPhys_CohesionMoment between the particles of my packing but I would like to introduce a wide given stochastic distribution of the value of the adhesion, tensile strength and shear strength in the model, which are among the parameters of the contact law. How can I handle that ?? Best regards, V. -- 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 #684881]: Introducing viscous forces in a liquid bridge
Question #684881 on Yade changed: https://answers.launchpad.net/yade/+question/684881 Status: Answered => Solved Rioual confirmed that the question is solved: Thanks Anton Gladky, 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 #684881]: Introducing viscous forces in a liquid bridge
Question #684881 on Yade changed: https://answers.launchpad.net/yade/+question/684881 Status: Answered => Open Rioual is still having a problem: Hi Bruno, That's a very interesting option; the previous theory of viscous contribution of bridges (evoked above) was derived indeed from Reynolds equation of lubrication. Where can I get all the theoretical details of Law2_ScGeom_ImplicitLubricationPhys and references ?? I don't see viscosity as an input parameter ?? Aren't there any technical difficulties with YADE dealing with two different interaction laws for the same couple of particles ?? All the best, Fr. -- 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 #684881]: Introducing viscous forces in a liquid bridge
Question #684881 on Yade changed: https://answers.launchpad.net/yade/+question/684881 Rioual posted a new comment: Hello Jerome, Yes, ViscElCapMat is more precisely a viscoelastic model of contact (very usual) added to a capillary force so this is not what I wanted to model: adding the viscous contribution of the liquid bridge between two particles. So I probably would need a new constitutive law as you suggest... Thanks, Fr. -- 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 #684881]: Introducing viscous forces in a liquid bridge
Question #684881 on Yade changed: https://answers.launchpad.net/yade/+question/684881 Status: Answered => Open Rioual is still having a problem: Hello Jerome, Thanks for the feedback. ViscElCapMat would indeed be the closest to what I am looking for but I can not find the theoretical details of the law, in particular the implementation of the viscous contributions. In my case and according to theory, the normal viscous force is proportional to the relative translational velocity between two particles with a damping coefficient which is a function of the separation distance between the two particles. The tangential viscous force is proportional to both the relative translational and rotational velocities with two damping coefficients which are again functions of the separation distance between the particles (Washino et al, Powder Technology 302 (2016) 100-107). So this sounds more tricky ?? My best wishes Fr. -- 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 #684881]: Introducing viscous forces in a liquid bridge
New question #684881 on Yade: https://answers.launchpad.net/yade/+question/684881 Hello, I would like to take into account liquid bonding forces between particles. Capillary forces are already implemented in YADE but for very viscous fluids or high velocity, the viscous contribution can be dominant (Capillary number >>1). It is typically an aditionnal viscous force proportional to the relative velocity between particles (see for instance: Washino et al, Powder Technology 302 (2016) 100-107). What would be the strategy to implement this liquid viscous force in Yade ?? thanks, Fr. -- 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 #683775]: modelling "solid bridges" between particles
Question #683775 on Yade changed: https://answers.launchpad.net/yade/+question/683775 Status: Answered => Solved Rioual confirmed that the question is solved: Thanks Bruno Chareyre, 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 #683775]: modelling "solid bridges" between particles
Question #683775 on Yade changed: https://answers.launchpad.net/yade/+question/683775 Status: Needs information => Open Rioual gave more information on the question: ...Yes, my question concerns more specifically the possibility of creating a physical cylindrical beam joining two spherical particles as a model of a solid bridge.(**) Each cylindrical beam will have the following parameters, length, cross section, young modulus, shear modulus and tensile strength ?? Thanks for your views, Fr. (**) and also the possbility to join a particle, with several beams (bridges), to its neighbouring particles, of course. -- 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 #683775]: modelling "solid bridges" between particles
Question #683775 on Yade changed: https://answers.launchpad.net/yade/+question/683775 Status: Answered => Open Rioual is still having a problem: Hello Dinesh, Jan, Thanks, but it is not clear to me how i can define a connection between the end of a cylinder and a sphere representing a particle? regards, FR. -- 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 #683775]: modelling "solid bridges" between particles
New question #683775 on Yade: https://answers.launchpad.net/yade/+question/683775 Hello, I would like to model solid bridges between particles of a packing as beams linking the particles together. The beam model would be defined by a young modulus, a shear modulus, cross section and length. The solid bridges at particle scale could brake when a certain stress exceeds the tensile strength of the material. Is it possible to model this kind of solid bridge between particles with Yade ?? Couln't find any informations about that. Thank you very much for informations, Best wishes, Fr. -- 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 #679772]: viscous contribution in flow engine
Question #679772 on Yade changed: https://answers.launchpad.net/yade/+question/679772 Status: Answered => Solved Rioual confirmed that the question is solved: Thanks Bruno Chareyre, 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
[Yade-users] [Question #679772]: viscous contribution in flow engine
New question #679772 on Yade: https://answers.launchpad.net/yade/+question/679772 Hello, I want to model the undrained triaxial compression of a suspension (relatively dense). I want to use the PFV model from oedemeter.py. Shear may not be dominant in my case however in order to deal with viscous effects (shear stresses), Marzougui et al 2015 introduced indeed lubrication forces on particles in the PFV model: is this not taken into account in special cases in the flow engine in yade or i have to add special "lubrication" interactions between particles ?? (if it exists). Best, Fr. -- 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