Adding basic functionality from CV3D and creating initialPointsMethod runtime selectable method.

This commit is contained in:
graham
2009-04-03 21:11:54 +01:00
parent ef1c6a201f
commit 88b7fd4dcb
19 changed files with 1442 additions and 254 deletions

View File

@ -1,16 +1,25 @@
//EXE_DEBUG = -DFULLDEBUG -g -O0
EXE_FROUNDING_MATH = -frounding-math
EXE_NDEBUG = -DNDEBUG
include $(GENERAL_RULES)/CGAL
FFLAGS = -DCGAL_FILES='"${CGAL_PATH}/CGAL/files"'
EXE_INC = \
${EXE_FROUNDING_MATH} \
${EXE_NDEBUG} \
${CGAL_INC} \
-I$(WM_THIRD_PARTY_DIR)/mpfr-2.4.1 \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \
-I$(LIB_SRC)/dynamicMesh/lnInclude \
-I$(LIB_SRC)/triSurface/lnInclude
EXE_LIBS = \
-L$(BOOST_ROOT)/lib \
-L$(WM_THIRD_PARTY_DIR)/mpfr-2.4.1/platforms/$(WM_ARCH)$(WM_COMPILER_ARCH)/lib \
-lmeshTools \
-ltriSurface
-ltriSurface \
-ldynamicMesh \
-lboost_thread-gcc43-mt-1_38 \
-lmpfr

View File

@ -10,6 +10,7 @@ EXE_INC = \
${EXE_NDEBUG} \
${CGAL_INC} \
-I$(WM_THIRD_PARTY_DIR)/mpfr-2.4.1 \
-I$(LIB_SRC)/conformalVoronoiMesh/lnInclude \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \
-I$(LIB_SRC)/dynamicMesh/lnInclude \
@ -18,6 +19,7 @@ EXE_INC = \
EXE_LIBS = \
-L$(BOOST_ROOT)/lib \
-L$(WM_THIRD_PARTY_DIR)/mpfr-2.4.1/platforms/$(WM_ARCH)$(WM_COMPILER_ARCH)/lib \
-lconformalVoronoiMesh \
-lmeshTools \
-ltriSurface \
-ldynamicMesh \

View File

@ -31,6 +31,7 @@ Description
\*---------------------------------------------------------------------------*/
#include "fvCFD.H"
#include "conformalVoronoiMesh.H"
using namespace Foam;
@ -54,7 +55,7 @@ int main(int argc, char *argv[])
)
);
conformalVoronoiMesh mesh(cvMeshDict);
conformalVoronoiMesh mesh(runTime, cvMeshDict);
while (runTime.run())
{
@ -69,8 +70,6 @@ int main(int argc, char *argv[])
<< nl << endl;
}
mesh.write();
Info << nl << "End\n" << endl;
return 0;

View File

@ -32,14 +32,12 @@ geometry
max ( 2 2 2);
}
sphere
dm_baffle.obj
{
type searchableSphere;
centre (1.5 1.5 1.5);
radius 1.03;
type triSurfaceMesh;
}
cubeMissingSkewedCorner_patched_refined.obj
dangermouse.obj
{
type triSurfaceMesh;
}
@ -103,61 +101,75 @@ surfaceConformation
// A faction of the local target cell size
pointPairDistanceCoeff 0.05;
maxQuadAngle 125;
geometryToConformTo
{
// Independently specify the featureMethod of individual parts of the
// geometry. Allows some parts to calculate their own features
// (including analytical surfaces), others to be read from file.
// Optional, if ommited, assume no features.
channelWalls
{
// Independently specify the feature characteristics of individual
// parts of the geometry. Allows some parts to calculate their own
// features (including analytical surfaces), others to be read from
// file. Optional, if ommited, assume no features.
features
{
// Included angle used to identify feature edges
// 0 = no features, 180 = all features
featureAngle 145;
featureMethod extractFeatures;
maxQuadAngle 125;
extractFeaturesDetails
{
// Included angle used to identify the surface's own feature
// edges. 0 = no features, 180 = all features
featureAngle 145;
}
}
sphere
dm_baffle.obj
{
// Allows surfaces to be use to generate baffles, default to no.
baffleSurface no;
baffleSurface yes;
featureMethod featureEdgeMesh;
featureEdgeMeshDetails
{
featureEdgeMesh "LOCATION OF FEATUREEDGEMESH"
}
}
cubeMissingSkewedCorner_patched_refined.obj
dangermouse.obj
{
// ignores whether or not the surface is closed when asked to
// determine the volumeType of a point (whether it is inside or
// outside). Intended to allow imperfect surface files to be
// meshed. Only valid for triSurfaceMesh types.
treatAsClosedSurface true;
// Setting treatAsClosed true ignores whether or not the surface is
// closed when asked to determine the volumeType of a point (whether
// it is inside or outside). Intended to allow imperfect surface
// files to be meshed. Only valid for triSurfaceMesh types, default
// to false.
treatAsClosed true;
features
featureMethod triSurfaceFeatureSet;
trisurfacefeatureSetDetails
{
featureSet #include "$FOAM_CASE/constant/triSurface/dangermouse.fSet"
}
}
}
initialPositions
initialPoints
{
initialPositionsModel uniformGrid;
//initialPositionsModel pointsFile;
minimumSurfaceDistance 0.0075;
uniformGridCoeffs
initialPointsMethod uniformGrid;
//initialPointsMethod pointsFile;
uniformGridDetails
{
initialCellSize 0.06;
initialCellSize 0.005;
randomiseInitialGrid yes;
randomPerturbationCoeff 0.1;
}
pointsFileCoeffs
pointsFileDetails
{
pointsFile "40/internalDelaunayVertices"
minimumSurfaceDistance 12.345;
pointsFile "$FOAM_CASE/40/internalDelaunayVertices"
}
}
}