Re: [Yade-users] [Question #691922]: Running thermal engine with different initial temperatures
Question #691922 on Yade changed: https://answers.launchpad.net/yade/+question/691922 Status: Needs information => Open Zoheir Khademian gave more information on the question: Thanks Robert for the explanation. I assigned temperature values of 700 for the right half and 100 for the left half of the pack as shown above. When I run the script after initializing , the temperature of spheres does not change as if there is no conduction between spheres. It seems I am fixing the temperature but I only wanted to initialize them and let the model predict final temperature values. Am I missing some thing?Is there a way to initialize temperature values instead of fixing them? -- 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 #691922]: Running thermal engine with different initial temperatures
Question #691922 on Yade changed: https://answers.launchpad.net/yade/+question/691922 Status: Open => Needs information Robert Caulk requested more information: > the conduction scheme stops working I'm sorry but we cannot help you without more information. In what way does it "stop working"? Please read closely [1] and elaborate the details necessary. >newly assigned body temperature does not change by the boundary conditions Again, please provide details for why you say this. Cheers, Robert [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
[Yade-users] [Question #691922]: Running thermal engine with different initial temperatures
New question #691922 on Yade: https://answers.launchpad.net/yade/+question/691922 I am trying to re-assign different temperature values after one cycle of thermal engine by "body.state.temp". However, the conduction scheme stops working and newly assigned body temperature does not change by the boundary conditions. Here is the script: #* # Copyright (C) 2019 by Robert Caulk* # rob.ca...@gmail.com * #* # This program is free software; it is licensed under the terms of the * # GNU General Public License v2 or later. See file LICENSE for details. * #*/ # # Script demonstrating the use of ThermalEngine by comparing conduction # scheme to analytical solution to Fourier (rod cooling with constant # boundary conditions). See details in: # # Caulk, R., Scholtes, L., Kraczek, M., Chareyre, B. (In Print) A # pore-scale Thermo-Hydro-Mechanical coupled model for particulate systems. # Computer Methods in Applied Mechanics and Engineering. Accepted July 2020. # from yade import pack from yade import timing import numpy as np import shutil timeStr = time.strftime('%m-%d-%Y') num_spheres=1000# number of spheres young=1e6 rad=0.003 mn,mx=Vector3(0,0,0),Vector3(1.0,0.008,0.008) # corners of the initial packing thermalCond = 2. #W/(mK) heatCap = 710. #J(kg K) t0 = 400. #K r = rad k = 2*2.0*r # 2*k*r Cp = 710. rho = 2600. D = 2.*r m = 4./3.*np.pi*r**2/rho # macro diffusivity thermalDiff = 6.*k/(D*np.pi*Cp*rho) identifier = '-conductionVerification' if not os.path.exists('VTK'+timeStr+identifier): os.mkdir('VTK'+timeStr+identifier) else: shutil.rmtree('VTK'+timeStr+identifier) os.mkdir('VTK'+timeStr+identifier) if not os.path.exists('txt'+timeStr+identifier): os.mkdir('txt'+timeStr+identifier) else: shutil.rmtree('txt'+timeStr+identifier) os.mkdir('txt'+timeStr+identifier) shutil.copyfile(sys.argv[0],'txt'+timeStr+identifier+'/'+sys.argv[0]) O.materials.append(FrictMat(young=young,poisson=0.5,frictionAngle=radians(3),density=2600,label='spheres')) O.materials.append(FrictMat(young=young,poisson=0.5,frictionAngle=0,density=0,label='walls')) #walls=aabbWalls([mn,mx],thickness=0,material='walls') #wallIds=O.bodies.append(walls) O.bodies.append(pack.regularOrtho(pack.inAlignedBox(mn,mx),radius=rad,gap=-1e-8,material='spheres')) print('num bodies ', len(O.bodies)) ThermalEngine = ThermalEngine(dead=1,label='thermal'); newton=NewtonIntegrator(gravity=(0,0,-10), damping=0.2) intRadius = 1 O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=intRadius),Bo1_Box_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intRadius),Ig2_Box_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()],label="iloop" ), FlowEngine(dead=1,label="flow",multithread=False), ThermalEngine, GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8), #triax, VTKRecorder(iterPeriod=500,fileName='VTK'+timeStr+identifier+'/spheres-',recorders=['spheres','thermal','intr'],dead=1,label='VTKrec'), newton ] #goal = -1e5 #triax.goal1=triax.goal2=triax.goal3=goal #for b in O.bodies: #if isinstance(b.shape, Sphere): #b.dynamic=False # we only need flow engine to detect boundaries, there is no flow computed for this flow.dead=0 flow.defTolerance=-1 #0.3 flow.meshUpdateInterval=-1 #200 flow.useSolver=4 flow.permeabilityFactor=-0.7e-7 #1 flow.viscosity=10 flow.bndCondIsPressure=[0,0,0,0,0,0] flow.bndCondValue=[0,0,0,0,0,0] flow.boundaryUseMaxMin=[0,0,0,0,0,0] flow.thermalEngine=True flow.debug=False flow.fluidRho = 1000 flow.fluidCp = 4184 flow.fluidK = 0.650 flow.bndCondIsTemperature=[1,1,0,0,0,0] flow.thermalEngine=True flow.thermalBndCondValue=[0,0,0,0,0,0] flow.tZero=t0 flow.pZero=0 thermal.dead=0 thermal.conduction=True thermal.thermoMech=False thermal.advection=False thermal.fluidThermoMech = False thermal.solidThermoMech = False thermal.fluidConduction= False thermal.bndCondIsTemperature=[1,1,0,0,0,0] thermal.thermalBndCondValue=[0,0,0,0,0,0] thermal.tsSafetyFactor=0 thermal.particleDensity=2600 thermal.particleT0=t0 thermal.particleCp=heatCap thermal.particleK=thermalCond thermal.particleAlpha =11.6e-3 thermal.useKernMethod=False timing.reset() #ThermalEngine.dead=0 flow.updateTriangulation=True O.dt=1. O.dynDt=False O.run(1,1) flow.dead=1 for b in O.bodies: if isinstance(b.shape,Sphere) and b.state.pos[1]>.5: b.state.temp=700. else: b.state.temp=100.
Re: [Yade-users] [Question #691921]: Setting particle initial temperatures in thermalEngine
Question #691921 on Yade changed: https://answers.launchpad.net/yade/+question/691921 Status: Answered => Solved Zoheir Khademian 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 #691885]: Example script for thermalEngine
Question #691885 on Yade changed: https://answers.launchpad.net/yade/+question/691885 Summary changed to: Example script for thermalEngine -- 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 #691921]: THM modeling
Question #691921 on Yade changed: https://answers.launchpad.net/yade/+question/691921 Status: Open => Answered Robert Caulk proposed the following answer: Yes you can use body.state.temp to set the temperature of individual bodies as you like. But keep in mind that particleT0 will set all particles to that temperature during the first iteration that thermalEngine is active. So if you want to set individual particle temps to a gradient with python, you'd need to run one iteration and then set the individual body temps using body.state.temp. -- 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 #691921]: Setting particle initial temperatures in thermalEngine
Question #691921 on Yade changed: https://answers.launchpad.net/yade/+question/691921 Summary changed to: Setting particle initial temperatures in thermalEngine Description changed to: I am working on thermal hydraulic mechanical modeling. Can we assign different initial temperature values to different bodies (spheres) in a packing? Does "thermal.particleT0" or "body.state.temp" do the trick for initializing temperature gradient across a model? Or only boundaries can be thermally initialized? -- 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 #691885]: thermo-hydro-mechanical modeling
Question #691885 on Yade changed: https://answers.launchpad.net/yade/+question/691885 Status: Answered => Solved Zoheir Khademian 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 #691921]: THM modeling
New question #691921 on Yade: https://answers.launchpad.net/yade/+question/691921 I am working on thermal hydraulic mechanical modeling. Can we assign different initial temperature values to different bodies (spheres) in a packing? Does "thermal.particleT0" or "body.state.temp" do the trick for initializing temperature gradient across a model? Or only boundaries can be thermally initialized? -- 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 #691913]: O.cell.vellgrad simple shear test
Question #691913 on Yade changed: https://answers.launchpad.net/yade/+question/691913 Jan Stránský proposed the following answer: > ... without necessarily adding any wall type boundaries? it is one of the main reasons to use "periodic boundary conditions", not to add wall type boundaries > You mean we make some adjustments in the boundary stresses and strains to replicate the experiments yes. I mean just that the situation in the experiment may be different from O.cell.velGrad=Matrix3(0,0,0, 0,0,0, 0.02,0,0)) 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 #691913]: O.cell.vellgrad simple shear test
Question #691913 on Yade changed: https://answers.launchpad.net/yade/+question/691913 Bokkisa Srinivas Vivek posted a new comment: Hello Jan, Thank you for your advise. >(e.g. zero strain in one direction but zero stress in a perpendicular >direction) I didn't quite understand this adjustment you talked about. You mean we make some adjustments in the boundary stresses and strains to replicate the experiments, without necessarily adding any wall type boundaries? Thank you Vivek -- 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 #691907]: How to calculate bond (interaction) breakage ratio
Question #691907 on Yade changed: https://answers.launchpad.net/yade/+question/691907 Leonard posted a new comment: Hi Jan, Thanks for your reply. >the two particles come to contact again after some time. Thanks, I got it. >Do you have something like that, or you are merely dependent on the existence >of the interaction? At this stage, I set isCohesive=False in the material (which is for pure sand), so I am merely dependent on the existence of the interaction. Cheers Leonard -- 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 #691913]: O.cell.vellgrad simple shear test
Question #691913 on Yade changed: https://answers.launchpad.net/yade/+question/691913 Jan Stránský proposed the following answer: Hello, > by using O.cell.velgrad, all the particles of the assembly are assigned a velocity based on their position with reference to the cell. roughly. (by default) velocity of particles is composed of this "macroscopic" or "homogeneous" term ("a velocity based on their position with reference to the cell") and their own interactions with real and "periodic" members. > in a ... cylinder torsion shear tests on sands, the deformation may not be linear, right? yes, it may be non-linear. That's why I asked for more information about the experiment. > Is it still reasonable to consider periodic simple shear scenario in replicating the element stresses of a torsional shear experiment? as usually, it depends on many factors :-) - what is the dimension of periodic cell compared to the specimen? - Is the axial dimension fixed, or is the specimen free to dilate in axial direction?* - what are the "trnasverse boundary conditions"?* - periodicity also forces strain localization (shear bands) to be periodic. Is it a problem or not? - ... * in "true simple shear", all "normal" dimensions of the cell are fixed, only the shear is applied. Depending on the experiment, it may not correspond to reality and some adjustment may be needed (e.g. zero strain in one direction but zero stress in a perpendicular direction). 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 #691885]: thermo-hydro-mechanical modeling
Question #691885 on Yade changed: https://answers.launchpad.net/yade/+question/691885 Status: Open => Answered Robert Caulk proposed the following answer: I am happy to help you, but please follow our posting guidelines [1] and keep each thread to one question. These guidelines are in place so that we can maintain an organized knowledge base here on launchpad. Mark this current question as solved if it is solved and post your new question in a new thread. [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
Re: [Yade-users] [Question #691913]: O.cell.vellgrad simple shear test
Question #691913 on Yade changed: https://answers.launchpad.net/yade/+question/691913 Bokkisa Srinivas Vivek posted a new comment: Hello Jan and Jsonscript, I am also interested in this question. If I understand correctly in periodic simple shear, by using O.cell.velgrad, all the particles of the assembly are assigned a velocity based on their position with reference to the cell. Which mimics the continuum shear case. Where deformation is linear, as usually observed in a continuum body. But, in a hollow torsional cylinder torsion shear tests on sands, the deformation may not be linear, right? As we apply Torque on specimen using a shaft on the top end of the specimen while bottom end is fixed. Is it still reasonable to consider periodic simple shear scenario in replicating the element stresses of a torsional shear experiment? I am assuming Jsonscript, might be talking about "hollow cylinder torsion shear tests on sands". Thank you Vivek -- 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 #691913]: O.cell.vellgrad simple shear test
Question #691913 on Yade changed: https://answers.launchpad.net/yade/+question/691913 Status: Open => Answered Jan Stránský proposed the following answer: > I am apologizing for my poor English.. your English is good, the information provided are sometimes problematic :-) > I am trying to calibrate torsional shear experimental results and want to use periodic boundaries on a RVE to replicate the shearing process. Is it reasonable to use periodic simple shear case? sounds reasonable, but depends on the definition of "torsional shear experiment". What is the shape of the specimen? What material is it (mainly cohesive or not)? What is the loading. ... > What are the differences between the above two methods of simulating a simple shear test? You have already answered this, or? :-) The main difference is the loading: Periodic: - is periodic / does not use walls Walls: - is not periodic / does use walls 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 #691913]: O.cell.vellgrad simple shear test
Question #691913 on Yade changed: https://answers.launchpad.net/yade/+question/691913 Status: Answered => Open jsonscript is still having a problem: Sorry , I am apologizing for my poor English.. I am trying to calibrate torsional shear experimental results and want to use periodic boundaries on a RVE to replicate the shearing process. Is it reasonable to use periodic simple shear case? Also there is another way to simulate the simple shear test.which the sample is sandwiched between two plates..the top plate was secured to keep the initial height of specimen and simple shear was applied by moving the bottom plate. What are the differences between the above two methods of simulating a simple shear test? -- 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 #691913]: O.cell.vellgrad simple shear test
Question #691913 on Yade changed: https://answers.launchpad.net/yade/+question/691913 Status: Open => Answered Jan Stránský proposed the following answer: Hello, > I want to ask the mechanism of O. Cell.Velgrad, What is the loading mechanism of O. Cell.Velgrad, O.cell.velGrad (not Cell and not Velgrad) is velocity gradient of the periodic cell (see e.g. [1]) If this is not your answer, please describe more what is "mechanism" and "loading mechanism". > if it is used to simulate the simple shear test(like O.cell.velGrad=Matrix3(0,0,0, 0,0,0, 0.02,0,0)), is it reasonable? yes > Also there is another way ... there are many other ways > What are the differences between the above two methods of simulating a simple shear test.. Is this a question? If yes, please put question mark "?" at the end of questions. cheers Jan [1] https://www.continuummechanics.org/velocitygradient.html -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #691907]: How to calculate bond (interaction) breakage ratio
Question #691907 on Yade changed: https://answers.launchpad.net/yade/+question/691907 Jan Stránský posted a new comment: >> the two particles come to contact again after some time? > You are right, the breakage ratio I want to investigate is for initial > interactions, so again the first approach is exactly suitable. what I meant that initially there is interaction (1,2), after some time the particles are split, interaction (1,2) does not exist, but after another some time the particles come to contact again and interaction (1,2) is recreated. According to history, (1,2) is clearly "broken", but it is treated as the initial (1,2) with this approach. > I am sorry I didn't understand the difference. I meant something like that initial interactions has i.phys.isCohesive=True and the broken i.phys.isCohesive=False. Do you have something like that, or you are merely dependent on the existence of the interaction? 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