![]() |
MoDeNa
1.0
Software framework facilitating sequential multi-scale modelling
|
Integrates Foam construction utility into the MoDeNa software framework. More...
Modules | |
| C++ Source Code | |
| Source Code Documentation. | |
Namespaces | |
| FoamConstruction | |
| Module definition of the Foam construction utility. | |
| FoamConstruction.FoamGeometryConstruction_Periodic | |
| Packing and tesselation. | |
| FoamConstruction.periodicBox | |
| Moves foam into a periodic box. | |
| FoamConstruction.run | |
| Python script, which organizes creation of the foam. | |
| FoamConstruction.vtkconv | |
| Converts binary VTK to ASCII VTK file. | |
Integrates Foam construction utility into the MoDeNa software framework.
Creates files describing the morphology of foam with desired number of cells, cell size distribution, porosity and strut content.
Then download and install neper from http://neper.sourceforge.net/downloads.html. You will need to unpack neper, go to its src folder and then:
Install POV-Ray from sources:
Download meshconv from http://www.patrickmin.com/meshconv/, download binvox from http://www.patrickmin.com/binvox/ and copy meshconv and binvox to $PATH. You can do this manually or in terminal using
To install voro++:
If that doesn't work, you will need to download it from http://math.lbl.gov/voro++/download/ and install it manually.To compile foamreconstr go to foamreconstr/ folder and:
FoamConstruction contains following files:FoamGeometryConstruction_Periodic.py - tessellation, creation of RVEperiodicBox.py - creation of the box with periodic boundary conditionsvtkconv.py - conversion from binary vtk to ascii vtkrun - main executable scriptinput.json file, which must be located in the root of FoamConstruction folder. Default input file can be found in example_inputs directory. Following inputs can be adjusted:MU - mean of cell size distributionSIGMA - standard deviation of cell size distributionNumOfCells - number of cells in RVE (representative volume element)porosity - desired porosity of voxelized foamstrutContent - desired strut content of voxelized foamfilename - name of the output file with RVEdeleteFiles - delete some redundant output files after executionpacking - call packing algorithm, which creates seeds and radii for tessellationalternativePackingAlgorithm - uses alternative packing algorithm from "spherepack"tesselation - call tessellation program, which creates foam with desired cell size distribution based on results of packingvisualizeTesselation - visualizes tessellation using the POV-Raygeometry - limits the foam to RVEstatistics - compute and save cell volumes, face surfaces, etc.hypermesh - create input for HypermeshmoveToPeriodicBox - move RVE to box with periodic boundary conditionsrenderBox - show the box with periodic boundary conditionsbinarizeBox - voxelize the box with periodic boundary conditionsinput.json, then: Optimizing porosity and strut content of voxelized foam is relatively time consuming. You can switch to Bounded method if you approximately know the size of the box in voxels (usually form experience with the program). In that case you need to edit the run script.
PeriodicRVE.geo which is the periodic geometry of foam in .GEO format.CellVolumes_PeriodicRVE.txt containing the volumes of all the cells in RVE.FaceAreas_PeriodicRVE.txt containing the areas of all the faces in RVE.EdgeLengths_PeriodicRVE.txt containing the lengths of all the edges in RVE.HyperMeshinput.cmf which is a input file for Hypermesh to recreate the geometry.PeriodicRVEBox.stl - surface mesh of the box with periodic boundary conditionsPeriodicRVEBox.ply - surface mesh of the box with periodic boundary conditionsPeriodicRVEBox.vtk - voxelized version of the box with periodic boundary conditions - main output for foam with no strutsPeriodicRVEBox-ascii.vtk - voxelized version of the box with periodic boundary conditions - ascii versionPeriodicRVEBoxStruts.vtk - voxelized version of the box with periodic boundary conditions - main output for foam with struts.geo files can be viewed with gmsh, .stl, .ply and .vtk files can be viewed with paraview.