大嶋です。
本家Forumにも、同じような質問は幾つか上がっていますが、明確な回答は無いようです。
圧縮生のフィジックスの方は浅学にして無知なもので、
コードを読んだだけで判るプログラミング的な面のみの話ですが。
rhoSonicFoamのソースを少し見てみた限りでは、
おっしゃる通り、恐らくはcreateFields.H中のrhoUの宣言時に
fluxCorrectedVelocityのディクショナリから値を読まないコンストラクタが
呼ばれてしまっているようですね。
ソースコードから読み取った限りでは、
rhoUのコンストラクタにU.boundaryField().types()を与え、
rhoUを解いてUは単にrhoU/rhoで計算することで、
実質的にUのディクショナリで与えた境界条件はrhoUに適用されるようになっているようですが、
totalPressureやfluxCorrectedVelocityはrhoUに対して適切なのでしょうか?
・Yes→ソルバを改造して、phivを認識させられるようにする
・No→rhoUに対して適切な条件を何かしら与える
という感じになるのだろうと思います。
コードをざっと読んだだけなので、大はずれでしたらご容赦を。
大嶋