【发布时间】:2023-03-22 16:45:01
【问题描述】:
我想阅读如下所示的文本文件。 它有几何名称 --> " hvac,OUTLET,INLET,Lamelle,duct and wall"
本例中只有6个,但我可能会根据模拟CFD过程的不同而有所不同。
我只想提取几何名称及其对应的“类型”。在我的例子中,几何和类型分别是“hvac,OUTLET,INLET,Lamelle,duct and wall”和“wall and patch”。
我应该使用 Parse using XML 还是只搜索 '{\n' 和 '}\n' 关键字之后的字符串。
geometry
{
hvac
{
type wall;
inGroups 1(wall);
nFaces 904403;
startFace 38432281;
}
OUTLET
{
type patch;
nFaces 8228;
startFace 39336684;
}
INLET
{
type patch;
nFaces 347;
startFace 39344912;
}
Lamelle
{
type wall;
inGroups 1(wall);
nFaces 204538;
startFace 39345259;
}
duct
{
type wall;
inGroups 1(wall);
nFaces 535136;
startFace 39549797;
}
wall
{
type wall;
inGroups 1(wall);
nFaces 118659;
startFace 40084933;
}
}
【问题讨论】:
-
您不想使用 c++ 和标准 OpenFOAM 类?
-
这个字典是怎么生成的?因为在一般情况下,由于 OpenFOAM 以字典格式提供了丰富的可能性,问题并不那么简单。例如,考虑条目值中的
$-references,例如baseType wall; .... duct { type $baseType; ... }。 -
您可以使用foamDictionary 实用程序。它是为此目的而设计的
标签: python regex text-parsing brackets openfoam