|
[Sponsors] |
Modified rhoCentralFoam slip boundary fails in parallel |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
June 25, 2014, 21:28 |
Modified rhoCentralFoam slip boundary fails in parallel
|
#1 |
Member
Chris
Join Date: Aug 2012
Location: Calgary, Alberta, Canada
Posts: 77
Rep Power: 14 |
I'm running a modified rhoCentralFoam which is currently based on openfoam 2.2.1 and has been modified to run with binary gas mixtures. The issue I'm having is with a modified version of the maxwellSlip boundary condition which I've changed around to use a different mean free path definition. The issue is when I try to run in parallel the code crashes with a floating point exception. It seems to run fine on a single core.
The behavior is very similar to that explained here but since it should have been fixed in this version and I have thermalCreep off (commented out in this iteration of code JUST to be sure) that can't be the issue. The standard maxwellSlip boundary condition works fine as well. The modifications made to the maxwellSlip boundary are as follows: In the part where the valueFraction is defined, the code has been modified to accept a lambda value which is passed from the main solver to the boundary condition: Code:
const fvPatchField<scalar>& plambda = patch().lookupPatchField<volScalarField, scalar>(lambdaName_); Field<scalar> C1 ( (2.0 - accommodationCoeff_)/accommodationCoeff_ ); Field<scalar> pnu(pmu/prho); valueFraction() = (1.0/(1.0 + patch().deltaCoeffs()*C1*plambda)); refValue() = Uwall_; Code:
volScalarField lambda ( IOobject ( "lambda", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE ), mesh, dimensionedScalar("lambda", dimensionSet(0,1,0,0,0), 0.0) ); Code:
lambda = 1/(3.14*(n1*pow(dsi,2)*Foam::sqrt(1+(m1/m2))+n2*pow(dsi,2)*Foam::sqrt(1+(m2/m1)))); //mean free path Info << "lambda = " << max(lambda) << endl; forAll(lambda.boundaryField(),patchi) { lambda.boundaryField()[patchi] == lambda.boundaryField()[patchi].patchInternalField(); } lambda.correctBoundaryConditions(); I'm currently running the simulation on a flat plate. Edit: turns out it crashes in serial too, it just progresses further in the simulation before this happens. It could be possible I made a mistake when I interpreted the valueFraction expected value and the place where mean free path pops up? The code diverges when it tries to solve for Ux (tangential plate velocity). Last edited by ChrisA; June 26, 2014 at 16:31. |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
simpleFoam parallel | AndrewMortimer | OpenFOAM Running, Solving & CFD | 12 | August 7, 2015 19:45 |
boundary conditions for simpleFoam calculation | foam_noob | OpenFOAM Running, Solving & CFD | 8 | July 1, 2015 09:07 |
Slip boundary around circles | zhoubinwx | OpenFOAM Running, Solving & CFD | 50 | March 2, 2013 07:59 |
strange things happen with slip boundary | lei wang | FLUENT | 0 | May 16, 2007 23:47 |
[Commercial meshers] Trimmed cell and embedded refinement mesh conversion issues | michele | OpenFOAM Meshing & Mesh Conversion | 2 | July 15, 2005 05:15 |