Commit f1b5f8d0 authored by mattijs's avatar mattijs
Browse files

ENH: extrudeToRegionMesh : leave base mesh alone

parent fa641d78
......@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
......
......@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
......
......@@ -952,7 +952,7 @@ int main(int argc, char *argv[])
const word shellRegionName(dict.lookup("region"));
const wordList zoneNames(dict.lookup("faceZones"));
const Switch oneD(dict.lookup("oneD"));
const Switch adaptMesh(dict.lookup("adaptMesh"));
Info<< "Extruding zones " << zoneNames
<< " on mesh " << regionName
......@@ -1096,6 +1096,9 @@ int main(int argc, char *argv[])
// Add interface patches
// ~~~~~~~~~~~~~~~~~~~~~
// Note that these actually get added to the original mesh
// so the shell mesh creation copies them. They then get removed
// from the original mesh.
Info<< "Adding coupling patches:" << nl << nl
<< "patchID\tpatch\ttype" << nl
......@@ -1707,6 +1710,8 @@ int main(int argc, char *argv[])
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
autoPtr<mapPolyMesh> addBafflesMap;
if (adaptMesh)
{
polyTopoChange meshMod(mesh);
......@@ -1817,6 +1822,7 @@ int main(int argc, char *argv[])
// Change master and slave boundary conditions on originating mesh
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if (adaptMesh)
{
const polyBoundaryMesh& patches = mesh.boundaryMesh();
List<polyPatch*> newPatches(patches.size());
......@@ -1878,22 +1884,27 @@ int main(int argc, char *argv[])
}
mesh.removeFvBoundary();
mesh.addFvPatches(newPatches, true);
deleteEmptyPatches(mesh);
}
// Remove any unused patches
deleteEmptyPatches(mesh);
}
Info<< "Writing mesh " << mesh.name()
<< " to " << mesh.facesInstance() << nl
<< endl;
if (!mesh.write())
if (adaptMesh)
{
FatalErrorIn(args.executable())
<< "Failed writing mesh " << mesh.name()
<< " at location " << mesh.facesInstance()
<< exit(FatalError);
}
Info<< "Writing mesh " << mesh.name()
<< " to " << mesh.facesInstance() << nl
<< endl;
if (!mesh.write())
{
FatalErrorIn(args.executable())
<< "Failed writing mesh " << mesh.name()
<< " at location " << mesh.facesInstance()
<< exit(FatalError);
}
}
Info << "End\n" << endl;
......
......@@ -17,9 +17,18 @@ FoamFile
// Name of region to create
region liquidFilm;
// faceZones to extrude
// FaceZones to extrude
faceZones (f0);
// Adapt the original mesh to have directMapped patches at where the
// faceZones are?
// If true:
// - extruding internal faces: become baffles on directMapped patches
// - extruding boundary faces: repatched to be on directMapped patches
// If false: leave original mesh intact. Extruded mesh will still have
// directMapped patch which might need to be adapted.
adaptMesh true;
// Extrude 1D-columns of cells?
oneD false;
......
......@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
......
......@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
......
......@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
......
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class polyBoundaryMesh;
location "constant/polyMesh";
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
72
(
frontAndBack
{
type patch;
nFaces 320;
startFace 955219;
}
inlet
{
type patch;
nFaces 64;
startFace 955539;
}
outlet
{
type patch;
nFaces 64;
startFace 955603;
}
lowerWall
{
type wall;
nFaces 5330;
startFace 955667;
}
upperWall
{
type patch;
nFaces 160;
startFace 960997;
}
motorBike_frt-fairing:001%1
{
type wall;
nFaces 6595;
startFace 961157;
}
motorBike_windshield:002%2
{
type wall;
nFaces 50;
startFace 967752;
}
motorBike_rr-wh-rim:005%5
{
type wall;
nFaces 178;
startFace 967802;
}
motorBike_rr-wh-rim:010%10
{
type wall;
nFaces 340;
startFace 967980;
}
motorBike_fr-wh-rim:011%11
{
type wall;
nFaces 474;
startFace 968320;
}
motorBike_fr-wh-brake-disk:012%12
{
type wall;
nFaces 54;
startFace 968794;
}
motorBike_frame:016-shadow%13
{
type wall;
nFaces 128;
startFace 968848;
}
motorBike_rear-susp:014%14
{
type wall;
nFaces 1080;
startFace 968976;
}
motorBike_rear-susp:014-shadow%15
{
type wall;
nFaces 149;
startFace 970056;
}
motorBike_frame:016%16
{
type wall;
nFaces 30;
startFace 970205;
}
motorBike_rr-wh-rim:005-shadow%17
{
type wall;
nFaces 27;
startFace 970235;
}
motorBike_rr-wh-chain-hub:022%22
{
type wall;
nFaces 141;
startFace 970262;
}
motorBike_rearseat%24
{
type wall;
nFaces 432;
startFace 970403;
}
motorBike_frt-fairing%25
{
type wall;
nFaces 626;
startFace 970835;
}
motorBike_windshield%26
{
type wall;
nFaces 432;
startFace 971461;
}
motorBike_headlights%27
{
type wall;
nFaces 161;
startFace 971893;
}
motorBike_driversseat%28
{
type wall;
nFaces 367;
startFace 972054;
}
motorBike_rear-body%29
{
type wall;
nFaces 2076;
startFace 972421;
}
motorBike_fuel-tank%30
{
type wall;
nFaces 912;
startFace 974497;
}
motorBike_exhaust%31
{
type wall;
nFaces 2390;
startFace 975409;
}
motorBike_rr-wh-rim%32
{
type wall;
nFaces 1430;
startFace 977799;
}
motorBike_fr-mud-guard%33
{
type wall;
nFaces 758;
startFace 979229;
}
motorBike_fr-wh-rim%34
{
type wall;
nFaces 591;
startFace 979987;
}
motorBike_fr-wh-brake-disk%35
{
type wall;
nFaces 534;
startFace 980578;
}
motorBike_fr-brake-caliper%36
{
type wall;
nFaces 164;
startFace 981112;
}
motorBike_fr-wh-tyre%37
{
type wall;
nFaces 1116;
startFace 981276;
}
motorBike_hbars%38
{
type wall;
nFaces 535;
startFace 982392;
}
motorBike_fr-forks%39
{
type wall;
nFaces 1143;
startFace 982927;
}
motorBike_chain%40
{
type wall;
nFaces 474;
startFace 984070;
}
motorBike_rr-wh-tyre%41
{
type wall;
nFaces 1786;
startFace 984544;
}
motorBike_square-dial%42
{
type wall;
nFaces 6;
startFace 986330;
}
motorBike_round-dial%43
{
type wall;
nFaces 17;
startFace 986336;
}
motorBike_dial-holder%44
{
type wall;
nFaces 87;
startFace 986353;
}
motorBike_rear-susp%45
{
type wall;
nFaces 1786;
startFace 986440;
}
motorBike_rear-brake-lights%46
{
type wall;
nFaces 54;
startFace 988226;
}
motorBike_rear-light-bracket%47
{
type wall;
nFaces 163;
startFace 988280;
}
motorBike_frame%48
{
type wall;
nFaces 2040;
startFace 988443;
}
motorBike_rear-mud-guard%49
{
type wall;
nFaces 798;
startFace 990483;
}
motorBike_rear-susp-spring-damp%50
{
type wall;
nFaces 124;
startFace 991281;
}
motorBike_fairing-inner-plate%51
{
type wall;
nFaces 446;
startFace 991405;
}
motorBike_clutch-housing%52
{
type wall;
nFaces 964;
startFace 991851;
}
motorBike_radiator%53
{
type wall;
nFaces 58;
startFace 992815;
}
motorBike_water-pipe%54
{
type wall;
nFaces 103;
startFace 992873;
}
motorBike_water-pump%55
{
type wall;
nFaces 74;
startFace 992976;
}
motorBike_engine%56
{
type wall;
nFaces 2389;
startFace 993050;
}
motorBike_rear-shock-link%57
{
type wall;
nFaces 28;
startFace 995439;
}
motorBike_rear-brake-fluid-pot-bracket%58
{
type wall;
nFaces 59;
startFace 995467;
}
motorBike_rear-brake-fluid-pot%59
{
type wall;
nFaces 53;
startFace 995526;
}
motorBike_footpeg%60
{
type wall;
nFaces 87;
startFace 995579;
}
motorBike_rr-wh-chain-hub%61
{
type wall;
nFaces 143;
startFace 995666;
}
motorBike_rear-brake-caliper%62
{
type wall;
nFaces 142;
startFace 995809;
}
motorBike_rider-helmet%65
{
type wall;
nFaces 583;
startFace 995951;
}
motorBike_rider-visor%66
{
type wall;
nFaces 95;
startFace 996534;
}
motorBike_rider-boots%67
{
type wall;
nFaces 1025;
startFace 996629;
}
motorBike_rider-gloves%68
{
type wall;
nFaces 320;
startFace 997654;
}
motorBike_rider-body%69
{
type wall;
nFaces 4555;
startFace 997974;
}
motorBike_frame:0%70
{
type wall;
nFaces 37;
startFace 1002529;
}
motorBike_frt-fairing:001-shadow%74
{
type wall;
nFaces 1301;
startFace 1002566;
}
motorBike_windshield-shadow%75
{
type wall;
nFaces 97;
startFace 1003867;
}
motorBike_fr-mud-guard-shadow%81
{
type wall;
nFaces 140;
startFace 1003964;
}
motorBike_fr-wh-brake-disk-shadow%83
{
type wall;
nFaces 76;
startFace 1004104;
}
motorBike_rear-mud-guard-shadow%84
{
type wall;
nFaces 137;
startFace 1004180;
}
motorBike_rear-susp-spring-damp-shadow%85
{
type wall;
nFaces 15;
startFace 1004317;
}
motorBike_radiator-shadow%86
{
type wall;
nFaces 4;
startFace 1004332;
}
motorBike_rear-shock-link-shadow%87
{
type wall;
nFaces 8;
startFace 1004336;
}
motorBike_rear-brake-fluid-pot-bracket-shadow%88
{
type wall;
nFaces 5;
startFace 1004344;
}
motorBike_rr-wh-chain-hub-shadow%89
{
type wall;
nFaces 27;
startFace 1004349;
}
)
// ************************************************************************* //
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment