View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003664 | OpenFOAM | Bug | public | 2021-04-15 09:26 | 2021-04-15 12:05 |
Reporter | sjohn2 | Assigned To | will | ||
Priority | normal | Severity | tweak | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | GNU/Linux | OS | Ubuntu | OS Version | 15.04 |
Product Version | dev | ||||
Fixed in Version | dev | ||||
Summary | 0003664: Two issues with multiphaseEulerFoam solver | ||||
Description | In file OpenFOAM-dev/applications/solvers/multiphase/multiphaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/saturated/saturated.C saturated model is valid only for one species, as defined in the constructor 83, hence in functions Yf and YfPrime the else statements are not required If more than one species is specified then solver will fail at the saturated contructor In file OpenFOAM-dev/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/PhaseSystems/InterfaceCompositionPhaseChangePhaseSystem/InterfaceCompositionPhaseChangePhaseSystem.C Line 406 - *(*dmidtfSps_[pair])[specie]*phase.Y(specie) should be replaced by + *(*dmidtfSps_[pair])[specie]*phase.Y(specie), the negative sign is already accounted for in the declaration of *(*dmidtfSps_[pair])[specie] = - phase.rho()*KD; (line 611) Same procedure used for dmdtfs () and dmidts () All lines numbers are according to the dev version in the github account | ||||
Tags | No tags attached. | ||||
|
You are right about the sign, though this method is actually never used, so it doesn't affect anything. Corrected by https://github.com/OpenFOAM/OpenFOAM-dev/commit/ed5341f7f2bfd4c548eca3f5cc217329e2620c2d. The else statements in saturated.C are necessary. You're confusing the set of all species in a phase with the subset of species that are volatile and create a non-zero interfacial fraction in an adjacent phase. |