代码方面你照猫画虎就行呀,它这个是给scalar场添加源项,你给速度场U添加就行了,该变的地方变一变。我用的可能和这个不一样。
codedSource { type coded; selectionMode all; fields (h); //对哪一个场添加源项,你用 U name sourceTime; //名字随便起一个 codeAddSup #{ const Time& time = mesh().time(); //获取时间 const scalarField& V = mesh_.V(); //获取网格的体积 scalarField& heSource = eqn.source(); //获取h的方程的源项的引用,之后在这个scalarField上面加上具体的量就可以了 // Start time const scalar startTime = 2.0; // Retrieve the x component of the cell centres const scalarField& cellx = mesh_.C().component(0);//获取网格的x坐标 // Only apply when we have reached the start time if (time.value() > startTime) { // Apply the source forAll(cellx, i) { // cell volume specific source heSource[i] += 1e5*sin(200*cellx[i])*V[i]; //forAll所有网格的循环,加上这个源项 }; } #}; }
L
luofq-sysu
@luofq-sysu