ParaView Filter for Void-Fraction Estimation

richti83's picture
Submitted by richti83 on Fri, 01/23/2015 - 21:05

This is a follow-up of the discussion here: http://www.cfdem.com/forums/particle-deposition-structure-help

Short story: to calculate the void-fraction in a given region one needs to take the overlap of the spheres into account. To do this, I've written a ParaView Custom Filter which uses a Monte-Carlo-Integration approach to calculate the real volume of overlapping spheres.

You will find the full story and the download in my blog:
http://techblog.richtisoft.de/?p=31

NTT1508 | Mon, 01/26/2015 - 02:21

Hi Christian,

This is a absolutely meaningful work. Using Monte-Carlo probabilistic theory is really helpful in this case. Only one problem is that the accuracy depends significantly on n_try and scale of simulation. And as you noted, the higher value might reduce computation speed. Especially your filter can help calculate the bounding volume based on actual space that particles fill into. I am not sure CFDEM coupling using this algorithm for its voidfraction estimation or not. I think the same mechanism can be used on LIGGGHTS script coding for a certain defined region then the output can be extracted as text file.

Thank very much.

Best regards,

Nathan,

NTT1508 | Mon, 01/26/2015 - 02:56

Hi Christian,

This is a absolutely meaningful work. Using Monte-Carlo probabilistic theory is really helpful in this case. Only one problem is that the accuracy depends significantly on n_try and scale of simulation. And as you noted, the higher value might reduce computation speed. Especially your filter can help calculate the bounding volume based on actual space that particles fill into. I am not sure CFDEM coupling using this algorithm for its voidfraction estimation or not. I think the same mechanism can be used on LIGGGHTS script coding for a certain defined region then the output can be extracted as text file.

Thank very much.

Best regards,

Nathan,

richti83's picture

richti83 | Mon, 01/26/2015 - 09:10

Hi Nathan,

thanks for your feedback.
One note about your idea

I think the same mechanism can be used on LIGGGHTS script coding for a certain defined region then the output can be extracted as text file

I think it is not a good idea to do it with loops at scriptlevel because of the high overhead in parsing and variable assignment and interrupt of the run command.

But when there is a main interest in having this function directly in LIGGGHTS it is possible to create a new fix which does all the math and outputs a vector with bounding volume, mc-particle volume, voidfraction (like fix/mesh/surface does) and can be restricted to a given region. Of course this will slow down the simulation depending on ntry, size and 'every' property but is much faster than scriptlevel because implemented in native c++.

Let me know is this is what you need.

Best,
Christian

I'm not an associate of DCS GmbH and not a core developer of LIGGGHTS®
ResearchGate | Contact

NTT1508 | Wed, 01/28/2015 - 00:03

Hi Christian,

That's clever idea Chrisitian. Creating a new fix/command with specific criteria (region, ntry residual tolerance...) makes LIGGGHTS more powerful especially for CFDEM coupling which I think it currently doesnot consider overlap volume of particles (CFDEM/...voidfractionmodel).

Personally I think LIGGGHTS users must be happy and grateful to what you have done for us. Thank very much for your active contribution, Christian.

Best regards,

Nathan,

Habibollah Mosadegh | Fri, 01/14/2022 - 17:29

Hi Nathan
I want Christian filter about porosity calculation but it's omitted unfortunately. in my LIGGGHTS code, particles are rigid and there is not any overlap but I don't have any idea about porosity calculation in the selected region. please help and answer me.
thanks
best regards
Habibollah

joh96 | Thu, 09/10/2015 - 23:47

Hi Christian,

could you please reupload your filter? The provided link is down.

Thanks in advance

Johannes

Tu3te | Tue, 08/21/2018 - 12:34

Hi Christian,

thank you for the great Paraview filter. Unfortunately, I can't look into your documentation, because your blog seems no longer available.
Is it possible to calculate radial and axial porosity with your filter? I want to create a local porosity profile in order to show wall effects in a packed bed.
Could you reupload your documentation or explain me how to do it?
Thanks in advance.

Best regards,
Michael

richti83's picture

richti83 | Fri, 08/24/2018 - 13:03


Is it possible to calculate radial and axial porosity with your filter? I want to create a local porosity profile in order to show wall effects in a packed bed.

The filter is not intended do do this, you could use some paraview clips and apply the filter to them, but I would recommend the voronoi package:
https://www.cfdem.com/comment/14989#comment-14989
https://www.cfdem.com/media/DEM/docu/compute_voronoi_atom.html

In fact I did not use it by my own - only read about it in this forum ;-).
Cheers,
Christian.

I'm not an associate of DCS GmbH and not a core developer of LIGGGHTS®
ResearchGate | Contact

Tu3te | Mon, 08/27/2018 - 17:40

I will look into it. Thank you ;)
Otherwise, I try to use MATLAB for my problem.

Cheers,
Michael

Habibollah Mosadegh | Fri, 01/14/2022 - 17:38

Hi Michael
I want to calculate different types of porosity in packed bed as like as you. I desperately need help. If you can help me, I owe you. can you help and answer me please?
thanks
best regards
Habibollah

jsams | Wed, 08/22/2018 - 01:46

Given that the former thread is quite old I am wondering if there is an implementation of void fraction estimation in the current liggghts release.

Is anyone are of this?

richti83's picture

richti83 | Fri, 08/24/2018 - 13:04

No, I've only thought about doing this, but as it is computanional expensive there has been no need for me to do it on fix level.

I'm not an associate of DCS GmbH and not a core developer of LIGGGHTS®
ResearchGate | Contact

lcraul | Thu, 05/21/2020 - 13:09

Dear Christian,
I'm a new user of LIGGGHTS and I'm trying to calculate the void fraction of the whole domain of the DEM. I found your filter was very helpful for me. However, when I downloaded your filter and imported it into paraview, there were some problems. The errors are list below:
ERROR: In /opt/software/OpenFOAM/ThirdParty-5.0/ParaView-5.4.0/ParaViewCore/ServerImplementation/Core/vtkSIProxyDefinitionManager.cxx, line 526
vtkSIProxyDefinitionManager (0x2ce4040): No proxy that matches: group=filters and proxy=ProgrammableFilter were found.

ERROR: In /opt/software/OpenFOAM/ThirdParty-5.0/ParaView-5.4.0/ParaViewCore/ServerManager/Core/vtkSMDeserializerXML.cxx, line 58
vtkSMCompoundProxyDefinitionLoader (0x530a160): Could not create a proxy of group: filters type: ProgrammableFilter

Warning: In /opt/software/OpenFOAM/ThirdParty-5.0/ParaView-5.4.0/ParaViewCore/ServerManager/Core/vtkSMProxy.cxx, line 239
vtkSMCompoundSourceProxy (0x524c0c0): Subproxy required for the exposed property is missing.No subproxy with name : ProgrammableFilter2

I think it maybe the problem of version. Would please tell me how to fix the error or which version your filter is applicable?
I'm looking forward your reply. Thank you very much.
Best,
regards
Chong Lin

Habibollah Mosadegh | Fri, 01/14/2022 - 17:44

Hi Chong Lin
can you send me Christian filter for me? it is omitted unfortunately. I need it. please help and answer me.
thanks
best regards
Habibollah

richti83's picture

richti83 | Mon, 05/25/2020 - 14:48

This happens normaly when Paraview is compiled without python support. Try using the prebuild binaries of kitware or rebuild Paraview with python enabled.

I'm not an associate of DCS GmbH and not a core developer of LIGGGHTS®
ResearchGate | Contact

Habibollah Mosadegh | Fri, 01/14/2022 - 17:48

Hi dear Christian
Let me express my deepest gratitude to you for your helpful filter according to the comments. can you send me your filter? it is omitted unfortunately. I need it. please help and answer me.
my emai:
hamed.mosaddegh@gmail.com
thanks
best regards
Habibollah

mschramm | Fri, 01/14/2022 - 20:12

Hello,
The files do not show up anymore due to a website update.
I did not find the files on my local machine so I can not provide anyone with the paraview calculator.

However,
I did write a fix that calculates the void ratio inside of a user defined region.
Users can then update this value every n steps or at the end of each run command (It IS VERY expensive to run this often in a simulation).

I did some mpi testing and the results were statistically similar between 1, 2, 4, 8, and 16 cores. The files can be found here
https://github.com/schrummy14/LIGGGHTS_Flexible_Fibers/blob/master/src/f...
https://github.com/schrummy14/LIGGGHTS_Flexible_Fibers/blob/master/src/f...
and here is the wiki (Needs a lot of work i know...) page
https://github.com/schrummy14/LIGGGHTS_Flexible_Fibers/wiki/fix_voidratio