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 Hypermesh
moveToPeriodicBox
- 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
.