Re: [Yade-users] [Question #691922]: Running thermal engine with different initial temperatures

2020-07-17 Thread Zoheir Khademian
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

2020-07-17 Thread Robert Caulk
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

2020-07-17 Thread Zoheir Khademian
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

2020-07-17 Thread Zoheir Khademian
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

2020-07-17 Thread Robert Caulk
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

2020-07-17 Thread Robert Caulk
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

2020-07-17 Thread Robert Caulk
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

2020-07-17 Thread Zoheir Khademian
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

2020-07-17 Thread Zoheir Khademian
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

2020-07-17 Thread Jan Stránský
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

2020-07-17 Thread Bokkisa Srinivas Vivek
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

2020-07-17 Thread Leonard
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

2020-07-17 Thread Jan Stránský
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

2020-07-17 Thread Robert Caulk
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

2020-07-17 Thread Bokkisa Srinivas Vivek
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

2020-07-17 Thread Jan Stránský
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

2020-07-17 Thread jsonscript
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

2020-07-17 Thread Jan Stránský
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

2020-07-17 Thread Jan Stránský
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