openfoam fvDOM中的太阳辐射模型
-
请问一下大家有没有做太阳辐射模型相关内容的呀~
我发现在我使用fvDOM模型时,设置
useExternalBeam true; solarCalculatorCoeffs { sunDirectionModel tracking; ....... sunLoadModel fairWeather; }
在useExternalBeam true;sunDirectionModel设置 tracking的前提下,sunLoadModel只能使用fairWeather模型才能得到正确的G场,constant和timeDependent就不行,大家知道什么原因吗?
-
这个问题解决了,主要是因为OpenFOAM在solarCalculator.C中有出纰漏
修改如下并编译就好了,可以模拟在useExternalBeam下给定太阳辐射值(随时间变化)的效果void Foam::solarCalculator::correctSunDirection() { if (sunDirectionModel_ == mSunDirTracking) { calculateBetaTheta(); calculateSunDirection(); //directSolarRad_ = A_/exp(B_/sin(max(beta_, ROOTVSMALL))); if (sunLoadModel_ == mSunLoadTimeDependent) { directSolarRad_ = directSolarRads_->value(mesh_.time().value()); } else if (sunLoadModel_ == mSunLoadFairWeatherConditions) { directSolarRad_ = A_/exp(B_/sin(max(beta_, ROOTVSMALL))); } } } void Foam::solarCalculator::correctDirectSolarRad() { if (sunLoadModel_ == mSunLoadTimeDependent) { directSolarRad_ = directSolarRads_->value(mesh_.time().value()); } else if (sunLoadModel_ == mSunLoadFairWeatherConditions) { directSolarRad_ = A_/exp(B_/sin(max(beta_, ROOTVSMALL))); } }