Unit systems in CFDEM-Coupling

Submitted by Lowered on Thu, 03/29/2018 - 17:25

Hello everybody,

based on the periodicChannel tutorial I want to investigate Particle sizes in nano scale. To deal with sizes like this I have to change the unit system to avoid errors due to machine accuracy. I thought I can use unit system 'micro' in liggghts input, but how to deal with the unit system in cfd?
Does it has to be the same unit system? If yes, what would be the correct unit for example of planck's constant?
From ErgunTest...cgs I already know how to define unit systems in cfd part, additionally I read, that one has to modify some values in DimensionedConstants in OpenFOAM. Or is that already done by the modifications in ControlDict?

If it is possible to use different unit systems for cfd and dem, is there something special to consider? Or is there an included transformation?

Thanks in Advance.

Best regards
Henrik

j-kerbl's picture

j-kerbl | Wed, 04/04/2018 - 10:12

Hi Henrik,

yes they have to be the same unit system to work properly.
Plancks constant has the units of mass*length^2*time^-1, so its picograms*micrometers^2*microseconds^-1.
The modifications on CFD side are can all be done witin the controlDict, but you need to define the micro system yourself.

Cheers,
Josef

Lowered | Fri, 05/18/2018 - 13:48

Hi Josef,

got it, thanks for the reply.
Similar to the ERGUN tutorial, we created micro unit system. Comparing SI, CGS and micro unit system showed the same results.

Best regards
Henrik

achuth1992 | Tue, 05/29/2018 - 16:41

Hey Henrik,

I am doing exactly the same as you are and would like to know your help if you could share the conversions in the controlDict. I am a bit unsure if what I have done is correct.

With regards,
Achuth

Lowered | Fri, 06/15/2018 - 14:33

Hi Achuth,

sorry for the late reply. Find the Settings for the controlDict attached. They are included in the same way as in ergunCGS tutorial.
It would be nice if you can crosscheck the values.

microCoeffs
{
universal
{
c c [ 0 1 -1 0 0 0 0 ] 2.99792e+8; // speed of light in vacuum (µm/µs)
G G [ -1 3 -2 0 0 0 0 ] 6.67429e-20; // gravitational constant (µm^3/(pgµs^2))
h h [ 1 2 -1 0 0 0 0 ] 6.62607e-13; // Planck's constant (pgµm^2/µs)
}
electromagnetic
{
e e [ 0 0 1 0 0 1 0 ] 4.803204e-4; // elementary charge (pC)
}
atomic
{
me me [ 1 0 0 0 0 0 0 ] 9.10938e-16; // electron mass (pg)
mp mp [ 1 0 0 0 0 0 0 ] 1.67262e-12; // proton mass (pg)
}
physicoChemical
{
mu mu [ 1 0 0 0 0 0 0 ] 1.66054e-12; // atomic mass unit (pg)
k k [ 1 2 -2 -1 0 0 0 ] 1.38065e-8; // Boltzman constant (pgµm^2/µs^2K)
}
standard
{
//- Standard pressure [pg/µmµs^2 ]
Pstd Pstd [ 1 -1 -2 0 0 0 0 ] 1e2; // 1 pg/µmµs^2
//- Standard temperature [degK]
Tstd Tstd [ 0 0 0 1 0 0 0 ] 298.15; // should be same as in SI unit system
}
}

Best regards,
Henrik

achuth1992 | Tue, 07/24/2018 - 17:18

Hello Henrik,

I have some question regarding the micro units in the CFD part.

After adding this part to the controlDict, then the units are consistent with that for the micro units provided in DEM right?

Best regards,
Achuth

Daniel Queteschiner | Thu, 07/26/2018 - 14:01

The important thing is that you specify your input parameters (the actual numbers) in the correct unit system. After all the code is just adding, multiplying etc. numbers. The only part where the specified unit system makes a difference is when you are using some internally predefined (i.e. hard-coded) dimensional constants.
In LIGGGHTS all predefined constants are specified here:
https://github.com/CFDEMproject/LIGGGHTS-PUBLIC/blob/master/src/update.c...
As you can see there isn't really much to worry about for granular simulations.

achuth1992 | Mon, 06/25/2018 - 16:33

Hey Henrik,

I will compare the results with the coeffs and let you know asap!

Thank you very much.

Bests,
Achuth