|
[Sponsors] |
[blockMesh] blockMesh how to set internal face ? |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
April 5, 2014, 07:22 |
blockMesh how to set internal face ?
|
#1 |
Member
Join Date: May 2013
Posts: 51
Rep Power: 13 |
Hello, I have problem with my case. I wrote vertices and hexes and when I am trying to make faces I got alot of errors.
I want to make a small cube inside bigger one. The small cube is a plate and its not moving so I singed wall type. Code:
[root@archlinux:random]# paraFoam -block created temporary 'random.blockMesh' Creating block mesh topology --> FOAM FATAL ERROR: Trying to specify a boundary face 4(21 25 41 37) on the face on cell 10 which is either an internal face or already belongs to some other patch. This is face 0 of patch 0 named plate. From function polyMesh::setTopology ( const cellShapeList& cellsAsShapes, const faceListList& boundaryFaces, const wordList& boundaryPatchNames, labelList& patchSizes, labelList& patchStarts, label& defaultPatchStart, label& nFaces, cellList& cells ) in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 360. FOAM aborting #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::error::abort() at ??:? #2 Foam::polyMesh::setTopology(Foam::List<Foam::cellShape> const&, Foam::List<Foam::List<Foam::face> > const&, Foam::List<Foam::word> const&, Foam::List<int>&, Foam::List<int>&, int&, int&, Foam::List<Foam::cell>&) at ??:? #3 Foam::polyMesh::polyMesh(Foam::IOobject const&, Foam::Xfer<Foam::Field<Foam::Vector<double> > > const&, Foam::List<Foam::cellShape> const&, Foam::List<Foam::List<Foam::face> > const&, Foam::List<Foam::word> const&, Foam::PtrList<Foam::dictionary> const&, Foam::word const&, Foam::word const&, bool) at ??:? #4 Foam::blockMesh::createTopology(Foam::IOdictionary const&, Foam::word const&) at ??:? #5 Foam::blockMesh::blockMesh(Foam::IOdictionary const&, Foam::word const&) at ??:? #6 Foam::vtkPV3blockMesh::updateFoamMesh() at ??:? #7 Foam::vtkPV3blockMesh::updateInfo() at ??:? #8 Foam::vtkPV3blockMesh::vtkPV3blockMesh(char const*, vtkPV3blockMeshReader*) at ??:? #9 vtkPV3blockMeshReader::RequestInformation(vtkInformation*, vtkInformationVector**, vtkInformationVector*) at ??:? #10 vtkExecutive::CallAlgorithm(vtkInformation*, int, vtkInformationVector**, vtkInformationVector*) in "/opt/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/libvtkFiltering.so.pv3.12" #11 vtkStreamingDemandDrivenPipeline::ExecuteInformation(vtkInformation*, vtkInformationVector**, vtkInformationVector*) in "/opt/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/libvtkFiltering.so.pv3.12" #12 vtkDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) in "/opt/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/libvtkFiltering.so.pv3.12" #13 vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) in "/opt/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/libvtkFiltering.so.pv3.12" #14 vtkSISourceProxy::UpdatePipelineInformation() at ??:? #15 vtkSISourceProxyCommand(vtkClientServerInterpreter*, vtkObjectBase*, char const*, vtkClientServerStream const&, vtkClientServerStream&) at ??:? #16 vtkClientServerInterpreter::ProcessCommandInvoke(vtkClientServerStream const&, int) at ??:? #17 vtkClientServerInterpreter::ProcessOneMessage(vtkClientServerStream const&, int) at ??:? #18 vtkClientServerInterpreter::ProcessStream(vtkClientServerStream const&) at ??:? #19 vtkPVSessionCore::ExecuteStreamInternal(vtkClientServerStream const&, bool) at ??:? #20 vtkPVSessionCore::ExecuteStream(unsigned int, vtkClientServerStream const&, bool) at ??:? #21 vtkPVSessionBase::ExecuteStream(unsigned int, vtkClientServerStream const&, bool) at ??:? #22 vtkSMProxy::ExecuteStream(vtkClientServerStream const&, bool, unsigned int) at ??:? #23 vtkSMSourceProxy::UpdatePipelineInformation() at ??:? #24 pqPipelineSource::setDefaultPropertyValues() at ??:? #25 pqObjectBuilder::createReader(QString const&, QString const&, QStringList const&, pqServer*) at ??:? #26 pqLoadDataReaction::LoadFile(QStringList const&, pqServer*, QPair<QString, QString> const&) at ??:? #27 pqLoadDataReaction::loadData(QList<QStringList> const&) at ??:? #28 pqLoadDataReaction::loadData(QStringList const&) at ??:? #29 pqCommandLineOptionsBehavior::processCommandLineOptions() at ??:? #30 QMetaObject::activate(QObject*, QMetaObject const*, int, void**) in "/usr/lib/libQtCore.so.4" #31 in "/usr/lib/libQtCore.so.4" #32 QObject::event(QEvent*) in "/usr/lib/libQtCore.so.4" #33 QApplicationPrivate::notify_helper(QObject*, QEvent*) in "/usr/lib/libQtGui.so.4" #34 QApplication::notify(QObject*, QEvent*) in "/usr/lib/libQtGui.so.4" #35 QCoreApplication::notifyInternal(QObject*, QEvent*) in "/usr/lib/libQtCore.so.4" #36 in "/usr/lib/libQtCore.so.4" #37 in "/usr/lib/libQtCore.so.4" #38 g_main_context_dispatch in "/usr/lib/libglib-2.0.so.0" #39 in "/usr/lib/libglib-2.0.so.0" #40 g_main_context_iteration in "/usr/lib/libglib-2.0.so.0" #41 QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) in "/usr/lib/libQtCore.so.4" #42 in "/usr/lib/libQtGui.so.4" #43 QCoreApplication::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) in "/usr/lib/libQtCore.so.4" #44 pqparaviewInitializer::Initialize(int, char**) at ??:? #45 main at ??:? #46 __libc_start_main in "/usr/lib/libc.so.6" #47 at ??:? Code:
FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } //*****************// converToMeters 0.001; vertices ( (0 0 0) (0 0 1) (0 0 2) (0 0 3) (1 0 0) (1 0 1) (1 0 2) (1 0 3) (2 0 0) (2 0 1) (2 0 2) (2 0 3) (3 0 0) (3 0 1) (3 0 2) (3 0 3) (0 1 0) (0 1 1) (0 1 2) (0 1 3) (1 1 0) (1 1 1) (1 1 2) (1 1 3) (2 1 0) (2 1 1) (2 1 2) (2 1 3) (3 1 0) (3 1 1) (3 1 2) (3 1 3) (0 2 0) (0 2 1) (0 2 2) (0 2 3) (1 2 0) (1 2 1) (1 2 2) (1 2 3) (2 2 0) (2 2 1) (2 2 2) (2 2 3) (3 2 0) (3 2 1) (3 2 2) (3 2 3) (0 3 0) (0 3 1) (0 3 2) (0 3 3) (1 3 0) (1 3 1) (1 3 2) (1 3 3) (2 3 0) (2 3 1) (2 3 2) (2 3 3) (3 3 0) (3 3 1) (3 3 2) (3 3 3) ); blocks ( hex (0 4 20 16 1 5 21 17) new (3 3 3) simpleGrading (1 1 1) hex (4 8 24 20 5 9 25 21) new (3 3 3) simpleGrading (1 1 1) hex (8 12 28 24 9 13 29 25) new (3 3 3) simpleGrading (1 1 1) hex (1 5 21 17 2 6 22 18) new (3 3 3) simpleGrading (1 1 1) hex (5 9 25 21 6 10 26 22) new (3 3 3) simpleGrading (1 1 1) hex (9 13 29 25 10 14 30 26) new (3 3 3) simpleGrading (1 1 1) hex (2 6 22 18 3 7 23 19) new (3 3 3) simpleGrading (1 1 1) hex (6 10 26 22 7 11 27 23) new (3 3 3) simpleGrading (1 1 1) hex (10 14 30 26 11 15 31 27) new (3 3 3) simpleGrading (1 1 1) hex (16 20 36 32 17 21 37 33) new (3 3 3) simpleGrading (1 1 1) hex (20 24 40 36 21 25 41 37) new (3 3 3) simpleGrading (1 1 1) hex (24 28 44 40 25 29 45 41) new (3 3 3) simpleGrading (1 1 1) hex (17 21 37 33 18 22 38 34) new (3 3 3) simpleGrading (1 1 1) hex (21 25 41 37 22 26 42 38) neew (3 3 3) simpleGrading (1 1 1) hex (25 29 45 41 26 30 46 42) new (3 3 3) simpleGrading (1 1 1) hex (18 22 38 34 19 23 39 35) new (3 3 3) simpleGrading (1 1 1) hex (22 26 42 38 23 27 43 39) new (3 3 3) simpleGrading (1 1 1) hex (26 30 46 42 27 31 47 43) new (3 3 3) simpleGrading (1 1 1) hex (32 36 52 48 33 37 53 49) new (3 3 3) simpleGrading (1 1 1) hex (36 40 56 52 37 41 57 53) new (3 3 3) simpleGrading (1 1 1) hex (40 44 60 56 41 45 61 57) new (3 3 3) simpleGrading (1 1 1) hex (33 37 53 49 34 38 54 50) new (3 3 3) simpleGrading (1 1 1) hex (37 41 57 53 38 42 58 54) new (3 3 3) simpleGrading (1 1 1) hex (41 45 61 57 42 46 62 58) new (3 3 3) simpleGrading (1 1 1) hex (34 38 54 50 35 39 55 51) new (3 3 3) simpleGrading (1 1 1) hex (38 42 58 54 39 43 59 55) new (3 3 3) simpleGrading (1 1 1) hex (42 46 62 58 43 47 63 59) new (3 3 3) simpleGrading (1 1 1) ); boundary ( plate { type wall; faces ( (21 25 41 37) (22 26 42 38) (22 26 25 21) (38 42 41 37) (21 22 38 37) (26 25 41 42) ); } ); mergePatchPairs ( ); |
|
May 7, 2014, 17:15 |
|
#2 |
Senior Member
Artur
Join Date: May 2013
Location: Southampton, UK
Posts: 372
Rep Power: 20 |
I don't think it's possible to create internal patch definitions using blockMesh directly. I'd suggest creating your topology first and then using topoSet to create a faceZone which then may be conveniently converted to an internal patch using createPatches. Have a look at the propeller tutorial in $FOAM_TUTORIALS/incompressible/pimpleDyMFoam/ to see some examples.
Peace, A |
|
May 8, 2014, 17:10 |
|
#3 |
Member
Join Date: May 2013
Posts: 51
Rep Power: 13 |
Thank You for your time. I have already solved issue, just didnt mentioned here
Cheers seav |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
how to set periodic boundary conditions | Ganesh | FLUENT | 15 | November 18, 2020 07:09 |
[Netgen] Import netgen mesh to OpenFOAM | hsieh | OpenFOAM Meshing & Mesh Conversion | 32 | September 13, 2011 06:50 |
channelFoam for a 3D pipe | AlmostSurelyRob | OpenFOAM | 3 | June 24, 2011 14:06 |
[blockMesh] BlockMesh FOAM warning | gaottino | OpenFOAM Meshing & Mesh Conversion | 7 | July 19, 2010 15:11 |
[Commercial meshers] Converting meshes that includes interfaces | ham | OpenFOAM Meshing & Mesh Conversion | 29 | January 8, 2007 09:58 |