我需要知道以下源代码的含义:

scalar sumLocalContErr = runTime.deltaTValue()*
mag(contErr)().weightedAverage(mesh.V()).value();

此连接中的*mag(contErr)()是什么意思?我试图用Google搜索它,但找不到解释。

问候
力量

最佳答案

runTime.deltaTValue() * mag(contErr)().weightedAverage(mesh.V()).value();
~~~~~~~~~~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         1                                      2

Expr 1:很明显。 runTime.deltaTValue()调用一个方法并返回一个对象。返回的对象具有重载的*运算符,该运算符接受表达式2中的对象。

Expr 2:似乎mag是一个带有接受contErr的构造函数的类。然后mag(contErr)是一个对象。该对象具有重载的()运算符。因此,mag(contErr)()是一个方法调用。通过调用它,它返回另一个具有方法weightedAverage的对象,此方法接受mesh.V()并返回一个具有方法value的对象。

09-04 15:35