mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: tutorial update
This commit is contained in:
@ -21,24 +21,14 @@ runApplication renumberMesh -overwrite
|
||||
# force removal of fields generated by snappy
|
||||
\rm -rf 0
|
||||
|
||||
|
||||
# - generate face/cell sets and zones
|
||||
|
||||
#runApplication setSet -batch createInletOutletSets.setSet
|
||||
#mv log.setSet log.createInletOutletSets.setSet
|
||||
runApplication topoSet -dict system/createInletOutletSets.topoSetDict
|
||||
#mv log.topoSet log.createInletOutletSets.topoSet
|
||||
|
||||
|
||||
# - create the inlet/outlet and AMI patches
|
||||
|
||||
runApplication createPatch -overwrite
|
||||
|
||||
|
||||
# - test by running moveDynamicMes
|
||||
#runApplication moveDynamicMesh -checkAMI
|
||||
|
||||
|
||||
# - apply the initial fields
|
||||
|
||||
# - set the initial fields
|
||||
cp -rf 0.org 0
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -64,7 +64,7 @@ geometry
|
||||
}
|
||||
}
|
||||
}
|
||||
propellerTip.obj
|
||||
propellerTip.obj.gz
|
||||
{
|
||||
type triSurfaceMesh;
|
||||
name propellerTip;
|
||||
|
||||
@ -9,6 +9,7 @@ cleanCase
|
||||
|
||||
cd ../wingMotion2D_simpleFoam
|
||||
cleanCase
|
||||
rm -rf 0
|
||||
|
||||
cd ../wingMotion2D_pimpleDyMFoam
|
||||
cleanCase
|
||||
|
||||
@ -13,6 +13,7 @@ runApplication snappyHexMesh -overwrite
|
||||
cd ../wingMotion2D_simpleFoam
|
||||
runApplication extrudeMesh
|
||||
runApplication createPatch -overwrite
|
||||
cp -r 0.org 0
|
||||
runApplication simpleFoam
|
||||
|
||||
# Copy the mesh from the steady state case and map the results to a
|
||||
|
||||
@ -35,26 +35,26 @@ FoamFile
|
||||
nFaces 62;
|
||||
startFace 25291;
|
||||
}
|
||||
wing
|
||||
{
|
||||
type wall;
|
||||
inGroups 1(wall);
|
||||
nFaces 378;
|
||||
startFace 25353;
|
||||
}
|
||||
front
|
||||
{
|
||||
type empty;
|
||||
inGroups 1(empty);
|
||||
nFaces 12565;
|
||||
startFace 25353;
|
||||
startFace 25731;
|
||||
}
|
||||
back
|
||||
{
|
||||
type empty;
|
||||
inGroups 1(empty);
|
||||
nFaces 12565;
|
||||
startFace 37918;
|
||||
}
|
||||
wing
|
||||
{
|
||||
type wall;
|
||||
inGroups 1(wall);
|
||||
nFaces 378;
|
||||
startFace 50483;
|
||||
startFace 38296;
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@ -35,26 +35,26 @@ FoamFile
|
||||
nFaces 62;
|
||||
startFace 25291;
|
||||
}
|
||||
wing
|
||||
{
|
||||
type wall;
|
||||
inGroups 1(wall);
|
||||
nFaces 378;
|
||||
startFace 25353;
|
||||
}
|
||||
front
|
||||
{
|
||||
type empty;
|
||||
inGroups 1(empty);
|
||||
nFaces 12565;
|
||||
startFace 25353;
|
||||
startFace 25731;
|
||||
}
|
||||
back
|
||||
{
|
||||
type empty;
|
||||
inGroups 1(empty);
|
||||
nFaces 12565;
|
||||
startFace 37918;
|
||||
}
|
||||
wing
|
||||
{
|
||||
type wall;
|
||||
inGroups 1(wall);
|
||||
nFaces 378;
|
||||
startFace 50483;
|
||||
startFace 38296;
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@ -14,55 +14,41 @@ FoamFile
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// This application/dictionary controls:
|
||||
// - optional: create new patches from boundary faces (either given as
|
||||
// a set of patches or as a faceSet)
|
||||
// - always: order faces on coupled patches such that they are opposite. This
|
||||
// is done for all coupled faces, not just for any patches created.
|
||||
// - optional: synchronise points on coupled patches.
|
||||
|
||||
// 1. Create cyclic:
|
||||
// - specify where the faces should come from
|
||||
// - specify the type of cyclic. If a rotational specify the rotationAxis
|
||||
// and centre to make matching easier
|
||||
// - always create both halves in one invocation with correct 'neighbourPatch'
|
||||
// setting.
|
||||
// - optionally pointSync true to guarantee points to line up.
|
||||
|
||||
// 2. Correct incorrect cyclic:
|
||||
// This will usually fail upon loading:
|
||||
// "face 0 area does not match neighbour 2 by 0.0100005%"
|
||||
// " -- possible face ordering problem."
|
||||
// - in polyMesh/boundary file:
|
||||
// - loosen matchTolerance of all cyclics to get case to load
|
||||
// - or change patch type from 'cyclic' to 'patch'
|
||||
// and regenerate cyclic as above
|
||||
|
||||
|
||||
// Do a synchronisation of coupled points after creation of any patches.
|
||||
// Note: this does not work with points that are on multiple coupled patches
|
||||
// with transformations (i.e. cyclics).
|
||||
pointSync false;
|
||||
|
||||
// Patches to create.
|
||||
patches
|
||||
(
|
||||
{
|
||||
// Name of new patch
|
||||
name wing;
|
||||
name front;
|
||||
|
||||
// Type of new patch
|
||||
patchInfo
|
||||
{
|
||||
type wall;
|
||||
type empty;
|
||||
}
|
||||
|
||||
// How to construct: either from 'patches' or 'set'
|
||||
constructFrom patches;
|
||||
|
||||
// If constructFrom = patches : names of patches. Wildcards allowed.
|
||||
patches ( wing_5degrees.obj_WALL10 );
|
||||
patches (symFront);
|
||||
}
|
||||
{
|
||||
// Name of new patch
|
||||
name back;
|
||||
|
||||
// Type of new patch
|
||||
patchInfo
|
||||
{
|
||||
type empty;
|
||||
}
|
||||
|
||||
// How to construct: either from 'patches' or 'set'
|
||||
constructFrom patches;
|
||||
|
||||
// If constructFrom = patches : names of patches. Wildcards allowed.
|
||||
patches (symBack);
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
@ -21,10 +21,10 @@ FoamFile
|
||||
|
||||
constructFrom patch;
|
||||
sourceCase "../wingMotion_snappyHexMesh";
|
||||
sourcePatches (front);
|
||||
sourcePatches (symFront);
|
||||
|
||||
// If construct from patch: patch to use for back (can be same as sourcePatch)
|
||||
exposedPatchName back;
|
||||
exposedPatchName symBack;
|
||||
|
||||
// Flip surface normals before usage. Valid only for extrude from surface or
|
||||
// patch.
|
||||
|
||||
@ -68,18 +68,18 @@ boundary
|
||||
);
|
||||
}
|
||||
|
||||
front
|
||||
symFront
|
||||
{
|
||||
type empty;
|
||||
type symmetryPlane;
|
||||
faces
|
||||
(
|
||||
(4 5 6 7)
|
||||
);
|
||||
}
|
||||
|
||||
back
|
||||
symBack
|
||||
{
|
||||
type empty;
|
||||
type symmetryPlane;
|
||||
faces
|
||||
(
|
||||
(0 3 2 1)
|
||||
|
||||
@ -30,14 +30,15 @@ geometry
|
||||
{
|
||||
wing_5degrees.obj
|
||||
{
|
||||
type triSurfaceMesh;
|
||||
type triSurfaceMesh;
|
||||
name wing;
|
||||
}
|
||||
|
||||
refinementBox
|
||||
{
|
||||
type searchableBox;
|
||||
min (-1 -1 -1);
|
||||
max ( 5 1 1);
|
||||
type searchableBox;
|
||||
min (-1 -1 -1);
|
||||
max ( 5 1 1);
|
||||
}
|
||||
};
|
||||
|
||||
@ -95,7 +96,7 @@ castellatedMeshControls
|
||||
|
||||
refinementSurfaces
|
||||
{
|
||||
wing_5degrees.obj
|
||||
wing
|
||||
{
|
||||
// Surface-wise min and max refinement level
|
||||
level (5 5);
|
||||
@ -180,7 +181,7 @@ addLayersControls
|
||||
// Per final patch (so not geometry!) the layer information
|
||||
layers
|
||||
{
|
||||
"wing.*"
|
||||
wing
|
||||
{
|
||||
nSurfaceLayers 3;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user