基本语句

现在,同学们已经使用OpenFOAM的类型,在OpenFOAM的环境下编写了输出hello world的代码。接下来,将介绍C++另一个基本内容:基本语句。

for循环

OpenFOAM有非常多的循环语句,比如对所有网格点进行遍历加和,对边界进行遍历赋值等。OpenFOAM中的forAll语句处理这些OpenFOAM类型中的循环信手拈来。对于标准的C++,同学们需要熟悉for语句的使用。

举例,如果要对1-10进行加和,C++可以这样写:

int results = 0;

for (int k = 1, k < 11, k++)
{
    results = results + k;    
}

for语句在OpenFOAM中的用法95%的情况下为初级用法,在此不进行深入扩展,更高级的for用法可参考其他上千页的C++教材。

while循环

OpenFOAM中while循环主要用于速度压力迭代循环中以及一些xxx修正中。while循环是没有初始化和更新部分的for循环,只有判断语句和循环体。例如,如果外迭代次数nOuterCorrectors小于3,则执行压力修正函数pCorr(),可写为:

while (nOuterCorrectors < 3)
{
    pCorr();
}

if语句

if主要用于判断,在OpenFOAM中也非常常用。举例,如果外迭代次数nOuterCorrectors为最后一次,即=2,则执行最终的压力修正函数pFinalCorr(),其可以这样写:

if (nOuterCorrectors == 2)
{
    pFinalCorr();
}

在前述while循环的框架下,可以写为:

while (nOuterCorrectors < 3)
{
    pCorr();
    if (nOuterCorrectors == 2)
    {
        pFinalCorr();
    }
}

逻辑操作符

if判断语句中,需要注意一些逻辑操作符如||&&等:

if (5 == 5 && 4 == 4) //条件为真,因为5确实等于5,且4确实等于4

if (5 == 5 && 4 == 3) //条件为假,因为5确实等于5,且4不等于3。在使用&&操作符的时候,需要保证&&前后的语句全部为真,整体才为真

if (5 == 5 || 4 == 3) //条件为真,因为5等于5,虽然4不等于3。在使用||操作符的时候,||前后的语句有一个为真,整体即为真

if判断语句非常简单在此不进行深入扩展,更高级的用法如三目运算符可参考其他上千页的C++教材。

其他语句

其他的比如do while循环,go语句在OpenFOAM非常少,在此不做介绍。

results matching ""

    No results matching ""