Re: [Yade-users] [Question #701012]: DFN and Thermal engine

2022-04-20 Thread ahmad mostafa
Question #701012 on Yade changed:
https://answers.launchpad.net/yade/+question/701012

ahmad mostafa posted a new comment:
Hey Robert,

Unfortunately this generalization didn't work, still the thermal engine
is interacting with Flow engine but not interacting with DFNEngine.

A few notification that may help :

 1 - What did I notice that if we give a temperature value for pore or
solve the temperature field  (if possible) from the flowengine or
flowboundingsphere, we have no problem but whenever we go to the
thermal.cpp and loop over the cells the core is dumped as if there is no
mesh between the particles to be read or to loop over (not interacted
with DFNEngine).

2 - Concerning the solid phase, there is no problem to combine the
thermal engine and DFNEngine if we want to solve the solid-solid
conduction only, the problem starts when ever we want to define a mesh
to loop over the cells. Exactly from this point " Tesselation& Tes =
flow->solver->T[flow->solver->currentTes]; ".

Ahmad

-- 
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 #701012]: DFN and Thermal engine

2022-04-15 Thread Robert Caulk
Question #701012 on Yade changed:
https://answers.launchpad.net/yade/+question/701012

Robert Caulk proposed the following answer:
Hey Luc,

>>How is DFNFlowEngine "linked" to FLowEngine exactly?

>From an architectural perspective, DFNFlow interacts with Yade the same
way as the PeriodicFlow, TwoPhaseFlow, UnsaturatedFlow, PartialSatClay
engines. FlowEngine is a "template" which users can essentially build
their own stuff on top of. This means you get all the underlying
functionality of the original FlowEngine, and the user only needs to add
their tweaks. For DFNFlow, that tweak is the "trickPermeability()"
function. But theoretically, the user can override any FlowEngine
function they want, while still having access to the entire FlowEngine
library and solver (e.g. PartialSatClayEngine overrides action()
entirely, but still uses the solver library etc.)

So in other words, when someone runs DFNFlowEngine in their python code,
the originally written FlowEngine::action() is running, and all
FlowEngine functionality is being executed, but when it arrives to
trickPermeability(), it is just using the DFNFlow defined
trickPermeability() instead of the original empty one.

ThermalEngine is *not* a template of FlowEngine. This is why all the
example scripts include both the FlowEngine and the ThermalEngine. But
ThermalEngine does interact quite a lot with FlowEngine (for heat
advection). That link is created here [1]. Judging by that line, you may
need to at least type "DFNFlowEngine" to make sure it is grabbing the
correct object. Here, I try to generalize it so that any named derived
FlowEngine will link [2]. Please test it at let me know if it works for
your purposes. Thank you.


[1]https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/pfv/Thermal.cpp#L45
[2]https://gitlab.com/yade-dev/trunk/-/merge_requests/844

-- 
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 #701012]: DFN and Thermal engine

2022-04-15 Thread Janek Kozicki
Question #701012 on Yade changed:
https://answers.launchpad.net/yade/+question/701012

Janek Kozicki posted a new comment:
I agree that these Flow dependencies are unclear. For example:
https://gitlab.com/yade-dev/trunk/-/merge_requests/816#note_825186904

I hope that the authors will clarify things here :)

-- 
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 #701012]: DFN and Thermal engine

2022-04-15 Thread Janek Kozicki
Question #701012 on Yade changed:
https://answers.launchpad.net/yade/+question/701012

Janek Kozicki posted a new comment:
The earlier comment actually :) https://gitlab.com/yade-
dev/trunk/-/merge_requests/816#note_824987122

-- 
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 #701012]: DFN and Thermal engine

2022-04-15 Thread Luc Scholtès
Question #701012 on Yade changed:
https://answers.launchpad.net/yade/+question/701012

Luc Scholtès posted a new comment:
Just wondering about the dependencies since I am not entirely clear with
how everything is related in the code. How is DFNFlowEngine "linked" to
FLowEngine exactly?

For instance, should we add

ifdef DFNFLOW

and/or

include "FlowEngine_DFNFlowEngineT.hpp"

somewhere in the thermalEngine files to make it work?

I thought that DFNFlowEnginee inherited from FlowEngine so that there is
no need to write such "dependencies" but is that the case or not?

Sorry if this is a silly question but I must admit this is out of my
programming comfort zone. Is there some sort of a "documentation" about
how all these dependencies work in YADE PFV related extensions?

Luc

-- 
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 #701012]: DFN and Thermal engine

2022-04-12 Thread Robert Caulk
Question #701012 on Yade changed:
https://answers.launchpad.net/yade/+question/701012

Robert Caulk proposed the following answer:
Hello,

If I were you, I would start debugging the c++ by identifying what part
of DFNFlowEngine is infact the issue. For example, you would start with
removing the "trickPermeability()" and verifying that works. Then work
your way into DFNFlow. You could, for example, just remove any
reassignment of permeability to identify if that is the issue.

Robert

-- 
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 #701012]: DFN and Thermal engine

2022-03-30 Thread ahmad mostafa
Question #701012 on Yade changed:
https://answers.launchpad.net/yade/+question/701012

ahmad mostafa posted a new comment:
from yade import pack, ymport
from yade import timing
import numpy as np
import shutil
pFactor=1 # to scale the permeability of the rock matrix (test on sample 
without fracture -> permeametre.py)

 fracture aperture
jointAperture=1e-3

timeStr = time.strftime('%m-%d-%Y')
num_spheres=1000# number of spheres
young=1e9
rad=0.003

mn,mx=Vector3(0,0,0),Vector3(0.05,0.05,0.05) # corners of the initial
packing

thermalCond = 2. #W/(mK)
heatCap = 710. #J(kg K) 
t0 = 0 #K

# micro properties
r = rad
k = 2.0   # 2*k*r 
Cp = 710.
rho = 2600.
D = 2.*r
m = 4./3.*np.pi*r**2/rho
# macro diffusivity


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)

sp = O.bodies.append(ymport.textExt('5cmEdge_1mm.spheres',
'x_y_z_r',color=(0.1,0.1,0.9), material='spheres'))

print('num bodies ', len(O.bodies))

triax=TriaxialStressController(
maxMultiplier=1.+2e4/young, 
finalMaxMultiplier=1.+2e3/young, 
thickness = 0,
stressMask = 7,
internalCompaction=True,
)

ThermalEngine = ThermalEngine(dead=1,label='thermal');

newton=NewtonIntegrator(damping=0.2)
intRadius = 1
flow=DFNFlowEngine(
isActivated=1
## choose solver to use (0: Gauss Seidel, 1: Taucs, 2: Pardiso, 3: 
CHOLMOD)
,useSolver=3 # 3 should be used by default
,fluidBulkModulus=2.2e9

## DFN related
,clampKValues=False
,updatePositions=False
,meshUpdateInterval=100
# controls the size scaling between YADE fracture and real one
,jointsResidualAperture=jointAperture
#,apertureFactor=hFactor
)
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),
flow,
ThermalEngine,  

GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8),
triax,
newton
]

for b in O.bodies:
if isinstance(b.shape, Sphere): 
b.dynamic=False # mechanically static

flow.defTolerance=-1 #0.3
flow.permeabilityFactor= 1
flow.viscosity= 0.001
flow.bndCondIsPressure=[1,1,0,0,0,0]
flow.bndCondValue=[10,0,0,0,0,0]
flow.thermalEngine=True
flow.debug=False
flow.fluidRho = 997
flow.fluidCp = 4181.7
flow.getCHOLMODPerfTimings=True
flow.bndCondIsTemperature=[1,1,1,1,1,1]
flow.thermalEngine=True
flow.thermalBndCondValue=[343.15,343.15,343.15,343.15,343.15,343.15]
flow.tZero=t0
flow.pZero=0
flow.maxKdivKmean=1
flow.minKdivmean=0.0001;


thermal.dead=0
thermal.debug=False
thermal.fluidConduction=True
thermal.ignoreFictiousConduction=True
thermal.conduction=True
thermal.thermoMech=False
thermal.solidThermoMech = False
thermal.fluidThermoMech = False
thermal.advection=True
thermal.bndCondIsTemperature=[0,0,0,0,0,0]
thermal.thermalBndCondValue=[0,0,0,0,0,0]
thermal.fluidK = 0.6069 #0.650
thermal.fluidConductionAreaFactor=1.
thermal.particleT0 = t0
thermal.particleDensity=2600.
thermal.particleK = thermalCond
thermal.particleCp = heatCap
thermal.useKernMethod=True
#thermal.useHertzMethod=False
timing.reset()

O.dt=0.1e-7
O.dynDt=False
O.run(1,1)


Here is the script i am running.

-- 
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 #701012]: DFN and Thermal engine

2022-03-30 Thread ahmad mostafa
Question #701012 on Yade changed:
https://answers.launchpad.net/yade/+question/701012

ahmad mostafa posted a new comment:
Thank you for replying. Here is the error = core dumped.


yade flowScenario.py 
Welcome to Yade 2022-02-18.git-d331682 
Using python version: 3.6.9 (default, Dec  8 2021, 21:08:43) 
[GCC 8.4.0]
TCP python prompt on localhost:9000, auth cookie `cssdyk'
XMLRPC info provider on http://localhost:21000
Running script flowScenario.py
num bodies  216
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
infinite K1!
CHOLMOD Time to build linear equations 52
CHOLMOD sparse:  Achol:  1039-by-1039, nz 3069, upper.  OK
CHOLMOD Time to allocate matrix 92
Reusing reordering? 0. CHOLMOD Time to Analyze 2454
CHOLMOD warning: matrix not positive definite. file: 
../Supernodal/t_cholmod_super_numeric.c line: 911
CHOLMOD Time to factorize 4672
Segmentation fault (core dumped)

-- 
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 #701012]: DFN and Thermal engine

2022-03-30 Thread Robert Caulk
Question #701012 on Yade changed:
https://answers.launchpad.net/yade/+question/701012

Robert Caulk requested more information:
Hello,

I received your email, but it is important that all discussions remain
on launchpad for other users to benefit. You are asking me if I am "sure
that ThermalEngine works with DFNFlowEngine."

DFNFlowEngine is not compiled by default - so there is some implication
here that the user knows how to compile and edit C++ to get it to work.
I guess this is already clear since I helped you with the compilation of
DFNFlowEngine a couple weeks ago. This means DFNFlow is untested and
unmaintained. Yes, tragic. As the rest of Yade continues to evolve and
remain maintained, DFNFlowEngine becomes more and more lost behind and
will continue to require more and more manual intervention to keep
running.

That said, the architecture of ThermalEngine fits together with
DFNFlowEngine since DFNFlowEngine is simply another FlowEngine. Of
course, there may be some bugs that you need to iron out if you want to
go down the path, but none of them are structural issues.

Based on your email you are running into some bug, but you did not
provide any indication of where the error arises (line numbers, files),
what the error is in the terminal (copy and paste to here), what you
have tried, what is your MWE. etc etc.

Thanks for providing the necessary info for me to help you debug your
problem,

Robert

-- 
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 #701012]: DFN and Thermal engine

2022-03-22 Thread Robert Caulk
Question #701012 on Yade changed:
https://answers.launchpad.net/yade/+question/701012

Status: Needs information => Answered

Robert Caulk proposed the following answer:
>>Can I find a python script that combines the DFN and the thermal
engine ?

I do not know of such a script. But as for code it is simply adding the
two engines to the engine list. Of course you need to know how to handle
DFNFlowEngine and ThermalEngine parameters and geometrical
considerations - but it seems you are not using ThermalEngine so that is
irrelevant.

-- 
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 #701012]: DFN and Thermal engine

2022-03-21 Thread ahmad mostafa
Question #701012 on Yade changed:
https://answers.launchpad.net/yade/+question/701012

ahmad mostafa posted a new comment:
Thank you for responding and Sorry for the unscientific description "
run temperature ", I should re-read your paper to remember what have you
done .

However currently I am developing  Mass transport engine and I am
following the steps you followed in the thermal engine. I exactly need a
diffusion single phase flow in the matrix which i have already done and
validated it and a advection- diffusion multi-phase flow in the cleat
system. As a first step I am trying to combine the Mass transport engine
with the DFN engine.

You already answered my question , and concerning your second question I
need to run as a first step single phase advection flow in fractures
with single phase diffusive flow in the matrix then develop it to
advection diffusion two phase flow in the fractures.

Can I find a python script that combines the DFN and the thermal engine
?

-- 
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 #701012]: DFN and Thermal engine

2022-03-21 Thread Robert Caulk
Question #701012 on Yade changed:
https://answers.launchpad.net/yade/+question/701012

Status: Open => Needs information

Robert Caulk requested more information:
Hello,

>> Can we combine between thermal engine and DFNengine,

Yes.

>> If i want to include a fracture in a sample and run temperature
inside the whole sample excluding the fracture i inserted

What does "run temperature" mean? Why don't you want heat advection in
the fracture?

Cheers,

Robert

-- 
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 #701012]: DFN and Thermal engine

2022-03-21 Thread ahmad mostafa
New question #701012 on Yade:
https://answers.launchpad.net/yade/+question/701012

Hello,

Can we combine between thermal engine and DFNengine, example : If i want to 
include a fracture in a sample and run temperature inside the whole sample 
excluding the fracture i inserted (in the fracture i want to run the single 
phase flow which is already implemented " trickpermeability " ) , Is that 
possible ?  

cheers

-- 
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