internalField() 和 Ref()



  • OpenFOAM-4.x以前?反正是老的:

    const scalarField& psi = U.internalField(); 
    scalarField& psi = U.internalField(); 
    

    OpenFOAM-5.x, 4.x:

    const scalarField& psi = U.primitiveField(); 
    scalarField& psi = U.primitiveFieldRef(); 
    

    https://www.openfoam.com/documentation/developer-upgrade-guide.php



  • 对,最近也是发现这个改动。不太明白出于什么目的,之前函数重载用着挺舒服的。不知道为什么要改成这样



  • 这个改动主要是为了区别constnon-const 访问。



  • tmp旧式风格:

    tmp<volScalarField> tField = ... 
    volScalarField& non_const_field = tField(); 
    const volScalarField& const_field = tField(); 
    

    新式风格:

    tmp<volScalarField> tField = ... 
    volScalarField& non_const_field = tField().ref(); 
    const volScalarField& const_field = tField(); 
    

登录后回复
 

与 CFD中文网 的连接断开,我们正在尝试重连,请耐心等待