ArashRabbani / DeePore

Deep learning for rapid characterization of porous materials
41 stars 24 forks source link

Feature request - pore network construction for irregular granular packings #2

Closed rarygit closed 2 years ago

rarygit commented 2 years ago

Most of your very interesting work and code development has focused on CT imagery and rock micro-pores.

Do you think you will/might/could develop code to construct and analyse irregular granular packings? For example gravel and rock-filled trenches, railroad ballast etc.

In the back of my mind is a comment by Jeff Gostick @OpenPNM regarding the generation of pore networks without having to archive or manage large CT image databases.

The intention would be to analyse these irregular granular packing using DeePore, and then to model root growth in the network using DuMuX. At the moment I have yade-dem, but it would be good to have an alternative experimental approach to pore network construction for irregular granular packings without the computational overhead of CT scans.

The analysis with DeePore would start simple, then develop in complexity as small granular particles (e.g. biochar) are mixed into the aggregate material.

By irregular I mean the modelling work conducted by Suhr et al.2020 on ballast aggregates, which would also be applicable to trenches filled with aggregate. Aggregate models (.ply) available on Zenodo. https://zenodo.org/record/3689592

van der Linden et al. 2018 developed an approach to pore network construction for spherical granular packings. It is available on GitHub: https://github.com/joosthvanderlinden/SPNC

Thanks

ArashRabbani commented 2 years ago

Hi there, Yes, I have done it in the past but I have not documented it. Are you working on this subject right now? What are the most relevant/important features to be extracted from these gravel packs?

ArashRabbani commented 2 years ago

BTW, that repository you linked with gravel mesh files is great input for such packing simulation.

rarygit commented 2 years ago

Thanks. Dr. Suhr's work is both open source and seems useful in multiple ways.

Looking at it right now, DeePore has very helpful analytical output for mixed granular packings.

My thoughts so far: What is needed is to randomly generate and compact granular pore networks. Yade-DEM has some useful python scripts and models for granular compaction. Then to analyse the pore characteristics of the packing using DeePore. Some of these attributes will feed into subsequent models in the pipeline. Followed by analyses based on the DuMuX models of Koch and Weishaupt based on pore network flows, but using these granular packings instead: https://git.iws.uni-stuttgart.de/dumux-pub/weishaupt2020a https://git.iws.uni-stuttgart.de/dumux-pub/Koch2021a Both of which I have run and tested. And finally to examine root growth and functional characteristics in these granular packings, which I have been looking at. The difference here is compacted granular packings and not soil. ... something to that effect.

Initially finding possible software workflows within a laptop/desktop framework. Following most of those software frameworks - python wherever possible, with connections to c++ backend when needed.

Does that make sense?

ArashRabbani commented 2 years ago

Your workflow looks fine to me, however, I would suggest using pore network modeling instead of DeePore to get more accurate characteristics. I have some tutorials here if you wanted to do it by yourself: https://www.youtube.com/watch?v=zqFISBryLxk&list=PLaYes2m4FtR3DBM7TIb6oOZYI-tG4fHLd

And if you wanted more advanced characteristics like fluid flow simulation, I can collaborate.

rarygit commented 2 years ago

Yes, I was looking at those tutorials this morning, and they were straightforward to follow. Especially the manner in which the pore void:particle ratio could be changed. However matlab is the impediment. It must be open source.

More importantly, these are image-based constructions, which would occur after you created your compacted porous matrix Using images, I would use OpenPNM'S porespy model (python based)

What I am looking for is a neat application to randomly generate a pore network (machine learning?) without necessarily having to go through the step of the compacted granular packing. The problem is the overhead with modelling each aggregate's geometry (tessellations). The pore network would require less geometry, I presume.

Image-based might work if there was a way, in 2D, to fudge the voids. I have been looking for such slices. Do you know of any?

Otherwise I would create a mock-up using yade-dem, or blaze ... then save the pore network.

ArashRabbani commented 2 years ago

Machine learning is possible but first, you need to make some particle packings to be used as the training set. After that, you can skip the computational load of packing and directly get the characteristics from the trained AI. Let's say at least a few hundred samples are required for training.

ArashRabbani commented 2 years ago

Yes, MATLAB can be a hindrance especially if you have commercial applications.

rarygit commented 2 years ago

Ok, I am in the process of building the granular packing based on Suhr and Six, 2020 using clumped spheres. Then the machine learning ... I have an idea for that. Let's continue this via email.

Many thanks for the discussion!

ArashRabbani commented 2 years ago

sure, I would be glad to. My email address is rabarash [at] yahoo.com