Я пытаюсь следовать этому руководству, чтобы создать осесимметричную модель ниже:
После обсуждения здесь мой blockMeshDict
файл:
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
convertToMeters 0.001;
wa 5.0;
cr 10.0;
pr 8.0;
cl 50.0;
px 20.0;
pl 10.0;
px2 #calc "$px+$pl";
ms 50;
vertices
(
(0 0 0) //00
(#calc "$pr*cos($wa/2)" #calc "$pr*sin($wa/2)" 0) //01
(#calc "$pr*cos($wa/2)" #calc "-$pr*sin($wa/2)" 0) //02
(#calc "$pr*cos($wa/2)" #calc "-$pr*sin($wa/2)" $px) //03
(#calc "$pr*cos($wa/2)" #calc "$pr*sin($wa/2)" $px) //04
(0 0 $px) //05
(#calc "$cr*cos($wa/2)" #calc "$cr*sin($wa/2)" $px) //06
(#calc "$cr*cos($wa/2)" #calc "$cr*sin($wa/2)" 0) //07
(#calc "$cr*cos($wa/2)" #calc "-$cr*sin($wa/2)" 0) //08
(#calc "$cr*cos($wa/2)" #calc "-$cr*sin($wa/2)" $px) //09
(#calc "$cr*cos($wa/2)" #calc "-$cr*sin($wa/2)" $px2) //10
(#calc "$cr*cos($wa/2)" #calc "$cr*sin($wa/2)" $px2) //11
(#calc "$pr*cos($wa/2)" #calc "$pr*sin($wa/2)" $px2) //12
(#calc "$pr*cos($wa/2)" #calc "-$pr*sin($wa/2)" $px2) //13
(#calc "$pr*cos($wa/2)" #calc "-$pr*sin($wa/2)" $cl) //14
(#calc "$pr*cos($wa/2)" #calc "$pr*sin($wa/2)" $cl) //15
(#calc "$cr*cos($wa/2)" #calc "$cr*sin($wa/2)" $cl) //16
(#calc "$cr*cos($wa/2)" #calc "-$cr*sin($wa/2)" $cl) //17
(0 0 $cl) //18
(0 0 $px2) //19
);
blocks
(
hex (0 1 2 0 5 4 3 5) ($ms 1 $ms) simpleGrading (1 1 1)
hex (1 7 8 2 4 6 9 3) ($ms 1 $ms) simpleGrading (1 1 1)
hex (4 6 9 3 12 11 10 13) ($ms 1 $ms) simpleGrading (1 1 1)
hex (12 11 10 13 15 16 17 14) ($ms 1 $ms) simpleGrading (1 1 1)
hex (19 12 13 19 18 15 14 18) ($ms 1 $ms) simpleGrading (1 1 1)
);
edges
(
);
boundary
(
inlet
{
type patch;
faces
(
(0 1 2 0)
(1 7 8 2)
);
}
outlet
{
type patch;
faces
(
(18 15 14 18)
(15 16 17 14)
);
}
walls
{
type wall;
faces
(
(7 8 9 6)
(6 9 10 11)
(11 10 17 16)
);
}
wedgeBack
{
type wedge;
faces
(
(0 1 4 5)
(1 7 6 4)
(4 6 11 12)
(12 11 16 15)
(19 12 15 18)
);
}
wedgeFront
{
type wedge;
faces
(
(0 2 3 5)
(2 8 9 3)
(3 9 10 13)
(13 10 17 14)
(19 13 14 18)
);
}
axis
{
type empty;
faces
(
(0 5 5 0)
(19 18 18 19)
);
}
);
mergePatchPairs
(
);
Но когда я запускаю blockMesh
, я получаю предупреждения вроде:
Создание топологии блочной сетки --> FOAM Предупреждение: из функции Foam::polyMesh::polyMesh(const Foam::IOobject&, const Foam::Xfer > >&, const cellShapeList&, const faceListList&, const wordList&, const Foam::PtrList&, const Foam::word&, const Foam::word&, bool) в файле meshes/polyMesh/polyMeshFromShapeMesh.C в строке 871 Найдено 3 неопределенных грани в сетке; добавление к патчу по умолчанию.
затем ошибка:
--> ФАТАЛЬНАЯ ОШИБКА FOAM: центральная плоскость фронта клина не совпадает с координатной плоскостью на 0,360319 из функции virtual void Foam::wedgePolyPatch::calcGeometry(Foam::PstreamBuffers&) в файле meshes/polyMesh/polyPatches/constraint/wedge/wedgePolyPatch .C в строке 98.
к сожалению, поиск в Google сообщения об ошибке не возвращает много. Я был бы признателен, если бы вы могли помочь мне узнать, в чем проблема и как я могу ее решить.