The write statements in the advective BC do not match the input required by the constructor. Consequently, if you write an advective BC, during decomposePar, for example, the subsequent advective BC can not be read.
---- additional_information ----
I suggest the attached fix. We simply move the write statements for inletOutlet and correctSupercritical outside of the if block.
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.C
index 026bdf5..c8706be 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.C
@@ -435,6 +435,12 @@ void advectiveFvPatchField<Type>::write(Ostream& os) const
os.writeKeyword("rho") << rhoName_ << token::END_STATEMENT << nl;
}
+ os.writeKeyword("inletOutlet") << inletOutlet_
+ << token::END_STATEMENT << nl;
+
+ os.writeKeyword("correctSupercritical") << correctSupercritical_
+ << token::END_STATEMENT << nl;
+
if (lInf_ > SMALL)
{
os.writeKeyword("fieldInf") << fieldInf_
@@ -442,11 +448,6 @@ void advectiveFvPatchField<Type>::write(Ostream& os) const
os.writeKeyword("lInf") << lInf_
<< token::END_STATEMENT << endl;
- os.writeKeyword("inletOutlet") << inletOutlet_
- << token::END_STATEMENT << nl;
-
- os.writeKeyword("correctSupercritical") << correctSupercritical_
- << token::END_STATEMENT << nl;
}
this->writeEntry("value", os);
See bug #95