Re: [Yade-users] [Question #701077]: Using scientific notation with high precision minieigenHP
Question #701077 on Yade changed: https://answers.launchpad.net/yade/+question/701077 Janek Kozicki posted a new comment: btw, sorry for late reply, I didn't notice this until I saw this expiration notice in the mailing list. -- 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 #701077]: Using scientific notation with high precision minieigenHP
Question #701077 on Yade changed: https://answers.launchpad.net/yade/+question/701077 Janek Kozicki posted a new comment: Maybe it has got something to do with locales, like in https://gitlab.com/yade-dev/trunk/-/issues/254#note_877268706 -- 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 #701077]: Using scientific notation with high precision minieigenHP
Question #701077 on Yade changed: https://answers.launchpad.net/yade/+question/701077 Janek Kozicki posted a new comment: Hm, I cannot reproduce this problem: In [1]: import minieigenHP as mne In [2]: mne.HP2.Vector3(1e0,0,0) Out[2]: Vector3("1","0","0") In [3]: mne.HP2.Vector3(1e-99,0,0) Out[3]: Vector3("9.9252e-100","0","0") I tried with 2022-03-18.git-31d72e5 -- 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 #701263]: different movements
Question #701263 on Yade changed: https://answers.launchpad.net/yade/+question/701263 ytang 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 #701259]: Create packing with given void ratio at different isotropic pressures
Question #701259 on Yade changed: https://answers.launchpad.net/yade/+question/701259 Status: Open => Answered Jan Stránský proposed the following answer: Hello, thanks for more info. > But this has been removed from the MWE below because it is not interesting now. +1 for understanding the meaning of MWE (which is not a matter of course at all) > Briefly, I am reaching my target pressure by O.cell.velGrad=Matrix3(-rate,0,0,0,-rate,0,0,0,-rate) which cannot change the void ratio of a regular ortho packing. But isotropic pressure (applied as constant isotropic velGrad) DOES change the void ratio (because it changes total volume). Just see the output of the script (where "e" is decreasing). Am I missing something? > So, I am just now pushing one wall by O.cell.velGrad=Matrix3(-rate,0,0,0,0,0,0,0,0), reaching the target void ratio. Why not 3 walls? (related to above (?)) > 1) modify the elasticity of the material yes, introducing another variable, you can now vary pressure AND void ratio independently and stiffness is now the dependent variable. > O.materials[0].young =En*factor be aware that modifying material has no effect on existing interactions (only on the newly created) > 2) modify the branch vector ... > ... > I tested 1) > ... > What do you think about this approach? I like 1) more. One reason is that I have almost no experience with 2 :-) But more importantly I **think** like the two approaches are very similar - modifying material to introduce another variable to let void ratio and pressure be independent. > I can see the drawback is the change of the contact stiffness and indeed I would like to explore the approach 2) to avoid that. Yes, there are drawbacks. E.g. that you define material to get good result, but usually the material properties (stiffness is usually the most basic) are the inputs. What exactly is meant by you? Cheers Jan -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #701263]: different movements
Question #701263 on Yade changed: https://answers.launchpad.net/yade/+question/701263 Status: Answered => Solved ytang confirmed that the question is solved: hi Jan and Jerome, thanks! -- 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 #701259]: Create packing with given void ratio at different isotropic pressures
Question #701259 on Yade changed: https://answers.launchpad.net/yade/+question/701259 Status: Answered => Open Gianni Pellegrini is still having a problem: Thanks Jan, I calculated the void ratio via : u=utils.porosity() e=u/(1-u) I am also checking that the overlapping volume is small enough to avoid what you mentioned above through ds = [2*r - i.geom.penetrationDepth for i in O.interactions] volContactss = [1/12.*pi*(4*r+d)*(2*r-d)**2 for d in ds] volContacts = sum(volContactss) To check that the overlapping volume is smaller than 0.1%. But this has been removed from the MWE below because it is not interesting now. Briefly, I am reaching my target pressure by O.cell.velGrad=Matrix3(-rate,0,0,0,-rate,0,0,0,-rate) which cannot change the void ratio of a regular ortho packing. Then I am applying a load to modify the void ratio As you point out, a pure shearing through O.cell.velGrad=Matrix3(0,rate,rate,rate,0,rate,rate,rate,0) will not produce any change of volume (as expected, my bad) So, I am just now pushing one wall by O.cell.velGrad=Matrix3(-rate,0,0,0,0,0,0,0,0), reaching the target void ratio. In the MWE below, I reach 0.89 void ratio at 1E5 and then the target 0.7 at 1.8e7 Now, since I am using just a linear model for the normal interaction of two bodies, my idea is I could use either 2 approaches: 1) modify the elasticity of the material (the variable young) proportionally to have the desired pressure : factor=IsoGoal/(getStress().trace() / 3.) O.materials[0].young =En*factor O.interactions.clear() 2) modify the branch vector to release the pressure to the target pressure. In practical terms, it is like having a rigid link and therefore reducing the flexible length between the 2 spheres without changing their distance. Something I read in the forum, it can be simulated through for i in O.interactions: i.phys.unp = i.geom.penetrationDepth Now, in the MWE below, I tested 1) . I am not sure now about the implications of doing that. I am achieving to change to have a sample with desired pressure and void ratio. Please consider that being a MWE, I cut the final part and hence, at every loop is updating back the old stiffness. What do you think about this approach? I can see the drawback is the change of the contact stiffness and indeed I would like to explore the approach 2) to avoid that. MWE: from yade import pack,plot import time import datetime import os from yade import pack, plot, export import numpy as np #PARAMETERS frictionAngle = 0.6 VoidRatio = 0.7 IsoGoal=-10 poisson=0.2 R=1e-3 rate=1e-4 dimcell = 0.02 density= 1e12 En=1e9 #SETTINGS O.periodic = True O.cell.hSize = Matrix3(dimcell , 0, 0, 0, dimcell , 0, 0, 0, dimcell ) #ENGINE pp=O.materials.append(FrictMat(young=En,poisson=poisson,frictionAngle=frictionAngle,density=density)) O.bodies.append(pack.regularOrtho(pack.inAlignedBox((0, 0, 0), (dimcell , dimcell , dimcell)), radius=R, gap=0, color=(0, 0, 1), material=pp)) O.engines = [ ForceResetter( ), InsertionSortCollider([Bo1_Sphere_Aabb()]), InteractionLoop([Ig2_Sphere_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()]), NewtonIntegrator(damping=.2), PyRunner(command='Compaction()', realPeriod=1) ] O.dt = .5 * PWaveTimeStep() O.cell.velGrad=Matrix3(-rate,0,0,0,-rate,0,0,0,-rate) def Compaction(): u=utils.porosity() e=u/(1-u) print('e', e) if np.abs(getStress().trace() / 3.) > np.abs(IsoGoal): print('compaction done', e) O.cell.velGrad=Matrix3(-rate,0,0,0,0, 0, 0, 0,0) if e < VoidRatio: print('e', e) print('shearing done',getStress().trace() / 3) O.cell.velGrad=Matrix3(0,0,0,0,0, 0, 0, 0,0) factor=IsoGoal/(getStress().trace() / 3.) O.materials[0].young =En*factor O.interactions.clear() O.run() # run forever Thank you -- 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] Yade short-course for Thermo-Hydro-Mechanical couplings
Hello Yade users, You are all invited to a 3-day short-course in Amsterdam, Netherlands on 20/06/22-22/06/22 covering the theory and practical implementation of fluid and thermal couplings in particulate systems. We have limited space, so please register early to avoid missing the opportunity. Here is a flier containing all pertinent information regarding costs and registration deadlines (link to flier: http://u.pc.cd/rl5otalK). Alternatively, feel free to contact me directly with any questions you may have. Cheers, Robert ___ 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 #701266]: some interactions (sphere-box(width=Period width) are not detected
Question #701266 on Yade changed: https://answers.launchpad.net/yade/+question/701266 Xin Li posted a new comment: Hi Jan, >It can be that the wall stiffness has too little value ant the particles are >simply pushed through. You can investigate the particles and if there are/were >contact with wall or not. No interactions detected between the extruded particles and the wall Maybe I should back to the source code 'InsertionSortCollider.cpp'. Thank you! Regards, Xin -- 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 #701266]: some interactions (sphere-box(width=Period width) are not detected
Question #701266 on Yade changed: https://answers.launchpad.net/yade/+question/701266 Jan Stránský posted a new comment: > There are still several particles cross the boundary ( but much less than not operating like this). And these particles have not crossed the periodic boundary before crossing the wall. It can be that the wall stiffness has too little value ant the particles are simply pushed through. You can investigate the particles and if there are/were contact with wall or not. > I am a little confused about the difference between extending the large bodies and copying them manually in the surrounding cells' position. this probably should be answered by somebody (Bruno?) knowing the code and philosophy of the collider. Cheers Jan -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #700869]: Finding a place for an internship
Question #700869 on Yade changed: https://answers.launchpad.net/yade/+question/700869 VickyJackson posted a new comment: What you are doing is respectful. I wish you inspiration and success in your activities. I still believe that finding a high-paying job you love is one of the greatest accomplishments in life. On the way to my goal, I turned to this company https://uk.careersbooster.com/cv-help/ Certified, qualified and experienced drafters helped me with a professional resume. Now I have full confidence in this service, because they helped me to attract the attention of the employer and successfully pass the interview. It's so great. -- 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 #701266]: some interactions (sphere-box(width=Period width) are not detected
Question #701266 on Yade changed: https://answers.launchpad.net/yade/+question/701266 Xin Li posted a new comment: Hi Jan, I tried again with more particles using copying the boundary manually. There are still several particles cross the boundary ( but much less than not operating like this). And these particles have not crossed the periodic boundary before crossing the wall. Thanks again for your idea. Regards, Xin -- 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 #701263]: different movements
Question #701263 on Yade changed: https://answers.launchpad.net/yade/+question/701263 Jérôme Duriez proposed the following answer: You can also directly set b.state.vel # b is a Body or b.state.angVel for "non-dynamic" bodies (b.dynamic = False) See https://yade-dem.org/doc/user.html#motion-constraints -- 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 #701266]: some interactions (sphere-box(width=Period width) are not detected
Question #701266 on Yade changed: https://answers.launchpad.net/yade/+question/701266 Xin Li posted a new comment: Hi Jan, Thank you very much for your answer! Manual copies of the solid boundary worked in my example! I added the same size box and cylinder in the near cell and no particles cross the wall and cylinder. Still one question, I used larger sized wall and cylinder (much larger than periodic cell ) before, but this issue still occurs. I am a little confused about the difference between extending the large bodies and copying them manually in the surrounding cells' position. Regards, Xin -- 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 #701266]: some interactions (sphere-box(width=Period width) are not detected
Question #701266 on Yade changed: https://answers.launchpad.net/yade/+question/701266 Status: Open => Answered Jan Stránský proposed the following answer: Hello, > I have not observed particles crossing the rigid boundary when the width of box is smaller than width of the periodic cell so one straight approach is to split the large wall into smaller walls :-) If you want to use larger wall, investigate position of the wall and position of crossing particles. If I remember correctly, the large bodies are not "periodically copied", so the spheres from "next" cells do not interact with the wall. One solution is to copy the wall to the surrounding cells manually. Cheers Jan -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #701263]: different movements
Question #701263 on Yade changed: https://answers.launchpad.net/yade/+question/701263 Status: Open => Answered Jan Stránský proposed the following answer: Hello, There are several approaches: - use RotationEngine and TranslationEngine and vary their dead attributes. - implement your own kinematic engine - ... Cheers Jan -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #701259]: Create packing with given void ratio at different isotropic pressures
Question #701259 on Yade changed: https://answers.launchpad.net/yade/+question/701259 Status: Open => Answered Jan Stránský proposed the following answer: Hello, > I am ... a new member of this forum. > I just started using YADE and more generally DEM welcome :-) > I am supposed to generate an isotropic pressure which should not change the void ratio of the cell. it depends on definition of void ratio or definition of values from which it is computed. If you apply pressure / velocity gradient, the total volume of the cell is changing, so intuitively also void ratio would change. > I computed void ratio = 0.91 how? A MWE (see below) would help > 1) therefore, is it correct to affirm that I could have a regular packing with any isotropic pressure I decided ? yes, you can have a regular packing with any (reasonable) isotropic pressure. Reasonable = e.g. with linear contact law (e.g. Law2_ScGeom_FrictPhys_CundallStrack) the pressure is limited by stiffness (with higher pressures resulting in degenerated collapsed "one-sphere" packing) > 2) then, after reaching the target isotropic pressure,, I tried to apply an ideal shearing by O.cell.velGrad=Matrix3(0,rate,rate,rate,0,rate,rate,rate,0), imaging that this deviatoric component will produce compaction without changing the isotropic component. But I obtained the opposite effect, the void ratio did not change, whilst the mean pressure did increase. Why so? ideal shearing ... compaction ... isn't it contradicting? Void ratio does not change, because total volume does not change (because of ideal shearing). To help you why the pressure increased, we would need a MWE (see below). > 3) if so, I would like to obtain the desired void ratio at a given isotropic pressure without changing the particle radius. What is the best approach? Depending on definition, but I feel like one of the values is dependent on the other. I.e. you cannot independently vary pressure and void ratio. Cheers Jan PS: also please read [1] and consider point 5 and consider providing a MWE. [1] https://www.yade-dem.org/wiki/Howtoask -- 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