|
[Sponsors] |
[mesh manipulation] Split airfoil in pressure and suction side |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
February 23, 2022, 10:21 |
Split airfoil in pressure and suction side
|
#1 |
New Member
Giacomo
Join Date: Feb 2022
Location: Stockholm, Sweden
Posts: 4
Rep Power: 4 |
Hello there,
I'm new to OpenFOAM (v2106) and this forum! I want to mesh a NACA4412 airfoil, and for time purpose I've chosen the tool construct2D. For the post-processing, it'd be handy to split the airfoil in two patches, pressure side and suction side. Unfortunately, that's is not done by construct2D, which creates a single patch for the whole airfoil; therefore, my idea is to use some OpenFOAM tools in order to achieve that. For importing the mesh in OpenFOAM, I apply the same procedure described by Mikko here; the only difference it's the grid mesh type, a C-GRID due to the sharp TE, and the name of the wall patch, for me SS. Consequently, I'd like to use the tools topoSet and createPacth tools for splitting the airfoil in pressure and suction side. My idea is to import the airfoil patch as a face, and then to delete half of it through the boxToFace tool (different purpose, but i got inspired from here). Unfortunately OpenFOAM crashes when I give the topoSet command with the following error: Code:
--> FOAM FATAL IO ERROR: (openfoam-2106 patch=211215) Entry 'object' not found in dictionary "" From bool Foam::dictionary::readEntry(const Foam::word&, T&, Foam::keyType::option, bool) const [with T = Foam::word] in file /usr/src/packages/BUILD/src/OpenFOAM/lnInclude/dictionaryTemplates.C at line 334. FOAM exiting Code:
FoamFile { version 2.0; format ascii; class dictionary; location "system" object topoSetDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // actions ( { name PSPatch; type faceSet; action new; source patchToFace; sourceInfo { name SS; } } { name PSPatch; type faceSet; action delete; source boxToFace; sourceInfo { box ( (-0.004 0.055 0) (1.005 0.035 1) ); } } ); If this procedure would have succeed, the following is the createPatchDict I was going to use; note I have not still defined the SSPatch from topoSet, and also the name of the wall patch used in the former topoSetDict will be different (auto3): Code:
FoamFile { version 2.0; format ascii; class dictionary; object createPatchDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // pointSync false; //Patches to create. patches ( { name PS; patchInfo { type wall; } constructFrom set; set PSPatch; } { name SS; patchInfo { type wall; } constructFrom set; set SSPatch; } { name frontAndBack; patchInfo { type empty; } constructFrom patches; patches (auto0 auto1); } { name inlet; patchInfo { type patch; } constructFrom patches; patches (auto4); } { name outlet; patchInfo { type patch; } constructFrom patches; patches (auto2); } ); Last edited by gisc; March 1, 2022 at 12:44. |
|
March 8, 2022, 07:50 |
[SOLVED] Split airfoil in pressure and suction side
|
#2 |
New Member
Giacomo
Join Date: Feb 2022
Location: Stockholm, Sweden
Posts: 4
Rep Power: 4 |
The error in the previous topoSetDict file a missing semicolumn after "system".
I also managed to split the airfoil in pressure and suction side. I applied the following procedure on a mesh generated by the tool construct2d. N.B. the airfoil has been set at 5° angle of attack. Code:
plot3dToFoam <meshname>.p3d -2D 1 -singleBlock -noBlank Code:
autoPatch 45 -overwrite Code:
FoamFile { version 2.0; format ascii; class dictionary; location "system"; object topoSetDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // actions ( { name wall; type faceSet; action new; source patchToFace; sourceInfo { patch auto3; } } { name SSPatch; type faceSet; action new; source faceToFace; sourceInfo { set wall; } } { name PSPatch; type faceSet; action new; source faceToFace; sourceInfo { set wall; } } { name SScells; type cellSet; action new; source rotatedBoxToCell; sourceInfo { origin (-0.004 0.055 -1); //(1.005 0.035 1) i (1.001 -0.0899 0); j (0.0031 0.0349 0); k (0 0 2); } } { name PScells; type cellSet; action new; source rotatedBoxToCell; sourceInfo { origin (-0.001 0.0899 -1); //(1.0051 0.1 1) i (1.001 -0.0899 0); j (0.0089 0.0996 0); k (0 0 2); } } { name SSfaces; type faceSet; action new; source cellToFace; sourceInfo { set SScells; option all; } } { name PSfaces; type faceSet; action new; source cellToFace; sourceInfo { set PScells; option all; } } { name SSPatch; type faceSet; action delete; source faceToFace; sourceInfo { set SSfaces; } } { name PSPatch; type faceSet; action delete; source faceToFace; sourceInfo { set PSfaces; } } ); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Code:
createPatch -overwrite |
|
Tags |
airfoil 2d, openfoam, patches, toposet, toposetdict |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Pointwise create good mesh on wing suction side, but poor mesh on pressure side | quarkz | Pointwise & Gridgen | 2 | September 1, 2020 00:28 |
Suction pressure distribution at the bottom caused by a ship propeller | loewieke53 | OpenFOAM Running, Solving & CFD | 0 | April 6, 2020 07:41 |
Modeling transient negative pressure (suction pressure) in outlet | N_mrtz | FLUENT | 1 | July 18, 2013 21:59 |
How to handle suction and pressure side of an airfoil as two different parts? | TKE | ANSYS Meshing & Geometry | 4 | March 17, 2011 07:49 |
How to handle suction and pressure side of an airfoil as two different parts? | TKE | ANSYS Meshing & Geometry | 0 | March 4, 2011 08:48 |