Skip to content

Conversation

@flbrandao
Copy link
Collaborator

The film surface renewal combined theory of Dobbins [1] for the film side mass transfer coefficient is implemented in this PR.

[1] Dobbins, W. E. (1956). Biological treatment of sewage and industrial wastes. New York, Reinhold: ML McCable and WW Eckenfelder, 1-2.

@flbrandao flbrandao self-assigned this Oct 31, 2025
@flbrandao flbrandao requested a review from kincaidkc October 31, 2025 18:11
@flbrandao
Copy link
Collaborator Author

@kincaidkc can you take a look at this one?

@flbrandao
Copy link
Collaborator Author

@kincaidkc can you review this one?

}
}

using Foam::constant::mathematical::pi;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this isn't used so you can remove it

const scalar D = (D1_.value() * Tboun[facei]) + D2_.value();

//- Calculate surface renewal time and coefficient
// kl = sqrt(D*s)*coth(sqrt(s * delta^2 / D))
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this line needs to be indented with 8 spaces, not a tab

else
{
FatalErrorInFunction
<< "Model not available for the bulk phase"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you specify here "Dobbins model not available for bulk phase"

const scalarField& Tboun = T.boundaryField()[patchID_];

//- Get density field from solver
const volScalarField& rho = thermo_->rho();
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this isn't used either

//- Set rate coefficient
k_[celli] = Foam::sqrt(D * s) * Foam::cosh(arg) / Foam::sinh(arg);
}
else
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think it would make more sense if you threw this error in the constructor if it can't find a multicomponent film solver, i.e. do this at line 66:

if (mesh.foundObject<solvers::multicomponentFilm>("solver"))
{
    ...
}
else
{
    // throw error about not working in bulk phase
}

then you can remove the check for isFilm_ in the k() function

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants