|
[Sponsors] |
Fatal error: invalid wall function specification |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
April 19, 2018, 06:24 |
Fatal error: invalid wall function specification
|
#1 |
New Member
Jesse Cheung
Join Date: Apr 2018
Posts: 18
Rep Power: 8 |
Hello all,
I am currently trying to run a RAS simulation based on the damBreak tutorial, it shows following text when I'm trying to run it. Is there any way to solve it? Because I have tried the same model in laminar dam break and it works well. Code:
Selecting incompressible transport model Newtonian Selecting incompressible transport model Newtonian Selecting turbulence model type RAS Selecting RAS turbulence model kEpsilon [2] [2] [2] --> FOAM FATAL ERROR: [2] Invalid wall function specification Patch type for patch slope must be wall Current patch type is genericPatch [2] [2] [2] From function virtual void Foam::nutWallFunctionFvPatchScalarField::checkType() [2] in file derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.C[3] at line 45. [2] FOAM parallel run aborting [2] [3] [3] --> FOAM FATAL ERROR: [3] Invalid wall function specification Patch type for patch slope must be wall Current patch type is genericPatch [3] [3] [1] [1] [1] --> FOAM FATAL ERROR: [1] Invalid wall function specification Patch type for patch slope must be wall Current patch type is genericPatch [1] [1] [1] From function virtual void Foam::nutWallFunctionFvPatchScalarField::checkType() [1] in file derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.C at line 45. [1] FOAM parallel run aborting [1] [3] From function virtual void Foam::nutWallFunctionFvPatchScalarField::checkType() [3] in file derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.C at line 45. [3] FOAM parallel run aborting [3] [1] #0 Foam::error::printStack(Foam::Ostream&)[3] #0 Foam::error::printStack(Foam::Ostream&)[2] #0 Foam::error::printStack(Foam::Ostream&)[0] [0] [0] --> FOAM FATAL ERROR: [0] Invalid wall function specification Patch type for patch slope must be wall Current patch type is genericPatch [0] [0] [0] From function virtual void Foam::nutWallFunctionFvPatchScalarField::checkType() [0] in file derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.C at line 45. [0] FOAM parallel run aborting [0] [0] #0 Foam::error::printStack(Foam::Ostream&) at ??:? [2] #1 Foam::error::abort() at ??:? [1] #1 Foam::error::abort() at ??:? [3] #1 Foam::error::abort() at ??:? [0] #1 Foam::error::abort() at ??:? [1] #2 Foam::nutWallFunctionFvPatchScalarField::nutWallFunctionFvPatchScalarField(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) at ??:? [3] #2 Foam::nutWallFunctionFvPatchScalarField::nutWallFunctionFvPatchScalarField(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) at ??:? [2] #2 Foam::nutWallFunctionFvPatchScalarField::nutWallFunctionFvPatchScalarField(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) at ??:? [0] #2 Foam::nutWallFunctionFvPatchScalarField::nutWallFunctionFvPatchScalarField(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) at ??:? [1] #3 Foam::nutkWallFunctionFvPatchScalarField::nutkWallFunctionFvPatchScalarField(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) at ??:? [2] #3 Foam::nutkWallFunctionFvPatchScalarField::nutkWallFunctionFvPatchScalarField(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) at ??:? [3] #3 Foam::nutkWallFunctionFvPatchScalarField::nutkWallFunctionFvPatchScalarField(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) at ??:? [0] #3 Foam::nutkWallFunctionFvPatchScalarField::nutkWallFunctionFvPatchScalarField(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) at ??:? [1] #4 Foam::nutkRoughWallFunctionFvPatchScalarField::nutkRoughWallFunctionFvPatchScalarField(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) at ??:? [3] #4 Foam::nutkRoughWallFunctionFvPatchScalarField::nutkRoughWallFunctionFvPatchScalarField(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) at ??:? [2] #4 Foam::nutkRoughWallFunctionFvPatchScalarField::nutkRoughWallFunctionFvPatchScalarField(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) at ??:? [0] #4 Foam::nutkRoughWallFunctionFvPatchScalarField::nutkRoughWallFunctionFvPatchScalarField(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) at ??:? [1] #5 Foam::fvPatchField<double>::adddictionaryConstructorToTable<Foam::nutkRoughWallFunctionFvPatchScalarField>::New(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) at ??:? [2] #5 Foam::fvPatchField<double>::adddictionaryConstructorToTable<Foam::nutkRoughWallFunctionFvPatchScalarField>::New(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) at ??:? [0] #5 Foam::fvPatchField<double>::adddictionaryConstructorToTable<Foam::nutkRoughWallFunctionFvPatchScalarField>::New(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) at ??:? [3] #5 Foam::fvPatchField<double>::adddictionaryConstructorToTable<Foam::nutkRoughWallFunctionFvPatchScalarField>::New(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) at ??:? [1] #6 at ??:? [3] #6 at ??:? [2] #6 at ??:? [0] #6 Foam::fvPatchField<double>::New(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&)Foam::fvPatchField<double>::New(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&)Foam::fvPatchField<double>::New(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&)Foam::fvPatchField<double>::New(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) at ??:? [1] #7 at ??:? [3] #7 at ??:? [2] #7 at ??:? [0] #7 Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::Boundary::readField(Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&)Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::Boundary::readField(Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&)Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::Boundary::readField(Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&)Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::Boundary::readField(Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) at ??:? [3] #8 at ??:? [1] #8 at ??:? [2] #8 at ??:? [0] #8 Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::readFields(Foam::dictionary const&)Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::readFields(Foam::dictionary const&)Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::readFields(Foam::dictionary const&)Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::readFields(Foam::dictionary const&) at ??:? [1] #9 at ??:? [3] #9 at ??:? [0] #9 Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::readFields() at ??:? [2] #9 Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::readFields()Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::readFields()Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::readFields() at ??:? [3] #10 ? at ??:? [1] #10 ? at ??:? [2] #10 ? at ??:? [0] #10 ? at turbulentTransportModels.C:? [1] #11 Foam::eddyViscosity<Foam::RASModel<Foam::IncompressibleTurbulenceModel<Foam::transportModel> > >::eddyViscosity(Foam::word const&, Foam::geometricOneField const&, Foam::geometricOneField const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel const&, Foam::word const&) at turbulentTransportModels.C:? [3] #11 Foam::eddyViscosity<Foam::RASModel<Foam::IncompressibleTurbulenceModel<Foam::transportModel> > >::eddyViscosity(Foam::word const&, Foam::geometricOneField const&, Foam::geometricOneField const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel const&, Foam::word const&) at turbulentTransportModels.C:? [0] #11 Foam::eddyViscosity<Foam::RASModel<Foam::IncompressibleTurbulenceModel<Foam::transportModel> > >::eddyViscosity(Foam::word const&, Foam::geometricOneField const&, Foam::geometricOneField const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel const&, Foam::word const&) at turbulentTransportModels.C:? [2] #11 Foam::eddyViscosity<Foam::RASModel<Foam::IncompressibleTurbulenceModel<Foam::transportModel> > >::eddyViscosity(Foam::word const&, Foam::geometricOneField const&, Foam::geometricOneField const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel const&, Foam::word const&) at ??:? [1] #12 Foam::RASModels::kEpsilon<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::kEpsilon(Foam::geometricOneField const&, Foam::geometricOneField const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel const&, Foam::word const&, Foam::word const&) at ??:? [3] #12 Foam::RASModels::kEpsilon<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::kEpsilon(Foam::geometricOneField const&, Foam::geometricOneField const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel const&, Foam::word const&, Foam::word const&) at ??:? [0] #12 Foam::RASModels::kEpsilon<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::kEpsilon(Foam::geometricOneField const&, Foam::geometricOneField const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel const&, Foam::word const&, Foam::word const&) at ??:? at ??:? [1] [2] #12 #13 Foam::RASModel<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::adddictionaryConstructorToTable<Foam::RASModels::kEpsilon<Foam::IncompressibleTurbulenceModel<Foam::transportModel> > >::New(Foam::geometricOneField const&, Foam::geometricOneField const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel const&, Foam::word const&)Foam::RASModels::kEpsilon<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::kEpsilon(Foam::geometricOneField const&, Foam::geometricOneField const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel const&, Foam::word const&, Foam::word const&) at ??:? [3] #13 Foam::RASModel<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::adddictionaryConstructorToTable<Foam::RASModels::kEpsilon<Foam::IncompressibleTurbulenceModel<Foam::transportModel> > >::New(Foam::geometricOneField const&, Foam::geometricOneField const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel const&, Foam::word const&) at ??:? [0] #13 Foam::RASModel<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::adddictionaryConstructorToTable<Foam::RASModels::kEpsilon<Foam::IncompressibleTurbulenceModel<Foam::transportModel> > >::New(Foam::geometricOneField const&, Foam::geometricOneField const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel const&, Foam::word const&) at ??:? [1] #14 Foam::RASModel<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::New(Foam::geometricOneField const&, Foam::geometricOneField const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel const&, Foam::word const&) at ??:? [2] #13 Foam::RASModel<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::adddictionaryConstructorToTable<Foam::RASModels::kEpsilon<Foam::IncompressibleTurbulenceModel<Foam::transportModel> > >::New(Foam::geometricOneField const&, Foam::geometricOneField const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel const&, Foam::word const&) at ??:? [3] #14 Foam::RASModel<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::New(Foam::geometricOneField const&, Foam::geometricOneField const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel const&, Foam::word const&) at ??:? [1] #15 Foam::TurbulenceModel<Foam::geometricOneField, Foam::geometricOneField, Foam::incompressibleTurbulenceModel, Foam::transportModel>::adddictionaryConstructorToTable<Foam::RASModel<Foam::IncompressibleTurbulenceModel<Foam::transportModel> > >::NewTurbulenceModel(Foam::geometricOneField const&, Foam::geometricOneField const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel const&, Foam::word const&) at ??:? [0] # at ??:? [2] #14 14 Foam::RASModel<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::New(Foam::geometricOneField const&, Foam::geometricOneField const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel const&, Foam::word const&)Foam::RASModel<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::New(Foam::geometricOneField const&, Foam::geometricOneField const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel const&, Foam::word const&) at ??:? [3] #15 Foam::TurbulenceModel<Foam::geometricOneField, Foam::geometricOneField, Foam::incompressibleTurbulenceModel, Foam::transportModel>::adddictionaryConstructorToTable<Foam::RASModel<Foam::IncompressibleTurbulenceModel<Foam::transportModel> > >::NewTurbulenceModel(Foam::geometricOneField const&, Foam::geometricOneField const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel const&, Foam::word const&) at ??:? [1] #16 at ??:? [0] #15 Foam::TurbulenceModel<Foam::geometricOneField, Foam::geometricOneField, Foam::incompressibleTurbulenceModel, Foam::transportModel>::adddictionaryConstructorToTable<Foam::RASModel<Foam::IncompressibleTurbulenceModel<Foam::transportModel> > >::NewTurbulenceModel(Foam::geometricOneField const&, Foam::geometricOneField const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel const&, Foam::word const&) at ??:? [2] #15 Foam::TurbulenceModel<Foam::geometricOneField, Foam::geometricOneField, Foam::incompressibleTurbulenceModel, Foam::transportModel>::adddictionaryConstructorToTable<Foam::RASModel<Foam::IncompressibleTurbulenceModel<Foam::transportModel> > >::NewTurbulenceModel(Foam::geometricOneField const&, Foam::geometricOneField const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel const&, Foam::word const&) at ??:? [3] #16 ?? at ??:? [2] #16 at ??:? [0] #16 at ??:? [1] #17 ? at ??:? [3] #17 ??? at ??:? [2] #17 at ??:? [1] #18 __libc_start_main at ??:? [0] #17 ? at ??:? [3] #18 __libc_start_main? in "/lib64/libc.so.6" [1] #19 at ??:? [2] #18 __libc_start_main in "/lib64/libc.so.6" [3] #19 ? at ??:? [0] #18 __libc_start_main? at ??:? -------------------------------------------------------------------------- MPI_ABORT was invoked on rank 1 in communicator MPI_COMM_WORLD with errorcode 1. |
|
April 19, 2018, 06:35 |
|
#2 | |
Senior Member
Robert
Join Date: May 2015
Location: Bremen, GER
Posts: 292
Rep Power: 12 |
Quote:
Line 1: FOAM FATAL ERROR: The model can't run with such a setup Line 2: You are incorrectly trying to specify a wall function Line 3: The patch type of patch slope required for the wall function to work: wall Line 4: Your current patch type: genericPatch Solution: Go into your blockMeshDict and change to patch type from genericPatch to wall. /edit: The reason why it works in laminar but not in RAS: The laminar model doesn't require a nut field, thus not a nut wall function, and therefore it doesn't matter what the patch type is. The boundary condition of U, i'd guess fixedValue (0 0 0), can be applied to walls as well as to patches. /e2: Blue text. |
||
April 19, 2018, 06:41 |
|
#3 | |
New Member
Jesse Cheung
Join Date: Apr 2018
Posts: 18
Rep Power: 8 |
Quote:
Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: plus | | \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // scale 0.146; vertices ( (0 0 0) (2 0 0) (2.16438 0 0) (4 0 0) (0 0.32876 0) (2 0.32876 0) (2.16438 0.32876 0) (4 0.32876 0) (0 4 0) (2 4 0) (2.16438 4 0) (4 4 0) (0 0 0.1) (2 0 0.1) (2.16438 0 0.1) (4 0 0.1) (0 0.32876 0.1) (2 0.32876 0.1) (2.16438 0.32876 0.1) (4 0.32876 0.1) (0 4 0.1) (2 4 0.1) (2.16438 4 0.1) (4 4 0.1) ); blocks ( hex (0 1 5 4 12 13 17 16) (23 8 1) simpleGrading (1 1 1) hex (2 3 7 6 14 15 19 18) (19 8 1) simpleGrading (1 1 1) hex (4 5 9 8 16 17 21 20) (23 42 1) simpleGrading (1 1 1) hex (5 6 10 9 17 18 22 21) (4 42 1) simpleGrading (1 1 1) hex (6 7 11 10 18 19 23 22) (19 42 1) simpleGrading (1 1 1) ); edges ( ); boundary ( leftWall { type wall; faces ( (0 12 16 4) (4 16 20 8) ); } rightWall { type wall; faces ( (7 19 15 3) (11 23 19 7) ); } lowerWall { type wall; faces ( (0 1 13 12) (1 5 17 13) (5 6 18 17) (2 14 18 6) (2 3 15 14) ); } atmosphere { type patch; faces ( (8 20 21 9) (9 21 22 10) (10 22 23 11) ); } ); mergePatchPairs ( ); // ************************************************************************* // |
||
April 19, 2018, 06:50 |
|
#4 |
Senior Member
Robert
Join Date: May 2015
Location: Bremen, GER
Posts: 292
Rep Power: 12 |
From looking at your other thread:
Your nut file needs boundary conditions for all patches defined in the blockMeshDict. In your case: leftWall, rightWall, lowerWall, atmosphere. But in your nut file are: slope, house, wall So try something like this: Code:
boundaryField { "(leftWall|rightWall|lowerWall)" { type nutkWallFunction; value uniform 0; } atmosphere { type slip; } } |
|
April 19, 2018, 07:16 |
|
#5 | |
New Member
Jesse Cheung
Join Date: Apr 2018
Posts: 18
Rep Power: 8 |
Quote:
Code:
boundary ( wall { type wall; faces ( (0 12 16 4) (4 16 20 8) ); } slope { type wall; faces ( (7 19 15 3) (11 23 19 7) ); } house { type wall; faces ( (0 1 13 12) (1 5 17 13) (5 6 18 17) (2 14 18 6) (2 3 15 14) ); } atmosphere { type patch; faces ( (8 20 21 9) (9 21 22 10) (10 22 23 11) ); } ); mergePatchPairs ( ); // ************************************************************************* // |
||
April 19, 2018, 08:12 |
|
#6 |
New Member
Jesse Cheung
Join Date: Apr 2018
Posts: 18
Rep Power: 8 |
Hello Robert,
I have done some research and find out the blockmeshdict is not related to this situation as I didn't use the command blockmesh. but instead, I used ideasUnvToFoam to apply the mesh to the case, in which the mesh is generated through SALOME platform. The whole file is uploaded to google drive : https://drive.google.com/open?id=1t5...LYkrJXbRSQeAxI Do you have any advice for given situation? your help genuinely help a lot! many thanks, Jesse |
|
April 19, 2018, 08:48 |
|
#7 |
Senior Member
Robert
Join Date: May 2015
Location: Bremen, GER
Posts: 292
Rep Power: 12 |
Note (13:52 hours): I have edited the first version of this post which was generic to match your case.
That complicates things, but i think there might be a solution. After converting your salome mesh to OpenFoam it will generate a constant/polyMesh folder. In this folder is a file called boundary. The entry looks likes this: Code:
slope { type slope; nFaces 960; startFace 247728; } house { type house; nFaces 96; startFace 248688; } |
|
April 19, 2018, 09:22 |
|
#8 |
New Member
Jesse Cheung
Join Date: Apr 2018
Posts: 18
Rep Power: 8 |
Thanks!!!!
Finally, it works!!!!! Thank you so much for your help I wouldn't have made it without you I will definitely credit you in my work's acknowledgement section. |
|
September 24, 2018, 22:32 |
Similar error - Please Help me
|
#9 |
New Member
Gabriel de Souza Berestinas
Join Date: Nov 2017
Posts: 6
Rep Power: 9 |
Hello, I new Openfoam user, please could you help me with this similar error, thanks!
Create time Create mesh for time = 0 Selecting dynamicFvMesh dynamicMotionSolverFvMesh Selecting motion solver: solidBody Selecting solid-body motion function rotatingMotion Applying solid body motion to cellZone rotor PIMPLE: max iterations = 100 field U : relTol 0, tolerance 1e-05 field p : relTol 0, tolerance 0.0001 Reading field p Reading field U Reading/calculating face flux field phi AMI: Creating addressing and weights between 9914 source faces and 10224 target faces AMI: Patch source sum(weights) min/max/average = 0.996991, 1.00625, 1.00002 AMI: Patch target sum(weights) min/max/average = 0.992911, 1.00024, 0.999997 Selecting incompressible transport model Newtonian Selecting turbulence model type RAS Selecting RAS turbulence model kEpsilon [2] [2] [2] --> FOAM FATAL ERROR: [2] Invalid wall function specification Patch type for patch Side must be wall Current patch type is patch [2] [2] [2] From function virtual void Foam::nutWallFunctionFvPatchScalarField::checkType () [2] in file derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.C at line 45. [2] FOAM parallel run aborting [2] [1] [1] [1] --> FOAM FATAL ERROR: [1] Invalid wall function specification Patch type for patch Side must be wall Current patch type is patch [1] [1] [1] From function virtual void Foam::nutWallFunctionFvPatchScalarField::checkType () [1] in file derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.C at line 45. |
|
September 25, 2018, 03:26 |
|
#10 |
Senior Member
Robert
Join Date: May 2015
Location: Bremen, GER
Posts: 292
Rep Power: 12 |
Check your blockMeshDict and change the patch type for the patch called Side to "wall".
__________________
If you liked my answer to your question, please consider leaving a "Like" in return |
|
September 25, 2018, 09:01 |
Similar error - Please Help me
|
#11 |
New Member
Gabriel de Souza Berestinas
Join Date: Nov 2017
Posts: 6
Rep Power: 9 |
In this case I don't have bockMeshDict, I've only got the Boundary file as follow:
6 ( Side { type patch; nFaces 21900; startFace 3087311; } Inlet { type patch; nFaces 2772; startFace 3109211; } Outlet { type patch; nFaces 2984; startFace 3111983; } AMI2 { type cyclicAMI; neighbourPatch AMI1; nFaces 9914; startFace 3114967; } AMI1 { type cyclicAMI; neighbourPatch AMI2; nFaces 10224; startFace 3124881; } propeller { type patch; nFaces 39848; startFace 3135105; } ) PS. I used Salome to Mesh. Thanks |
|
September 25, 2018, 13:42 |
|
#12 |
Member
Geir Karlsen
Join Date: Nov 2013
Location: Norway
Posts: 59
Rep Power: 14 |
||
September 26, 2018, 04:01 |
|
#13 |
Senior Member
Robert
Join Date: May 2015
Location: Bremen, GER
Posts: 292
Rep Power: 12 |
This. Just swap patch for wall in your boundary file.
__________________
If you liked my answer to your question, please consider leaving a "Like" in return |
|
September 26, 2018, 05:07 |
|
#14 |
New Member
Gabriel de Souza Berestinas
Join Date: Nov 2017
Posts: 6
Rep Power: 9 |
Thanks all! Change done in six boundary files, because I already had executed parallel command for six processors! Error vanished!
|
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
What's the problem with turbulence models near the wall region? | Jaydi_21 | Main CFD Forum | 6 | July 7, 2017 03:39 |
Radiation interface | hinca | CFX | 15 | January 26, 2014 18:11 |
[blockMesh] error message with modeling a cube with a hold at the center | hsingtzu | OpenFOAM Meshing & Mesh Conversion | 2 | March 14, 2012 10:56 |
Version 15 on Mac OS X | gschaider | OpenFOAM Installation | 113 | December 2, 2009 11:23 |
Wall function in adverse pressure gradients | stephane baralon | Main CFD Forum | 11 | September 2, 1999 05:05 |