|
[Sponsors] |
Adding non-newtonian treatment to reactingTwoPhaseEulerFoam |
![]() |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
![]() |
![]() |
#1 |
Senior Member
Julio Pieri
Join Date: Sep 2017
Posts: 105
Rep Power: 8 ![]() |
Hi all,
I'm using ESI's OF2212 and I found that there is no non-newtonian treatment in the reactingTwoPhaseEulerFoam. This problem was solved in Foundation's OF11, by the introduction of the laminar turbulence model "generaliSedNewtonian", which deals with shear-viscosity relations. This functionality has been ported to OF2212 by the name of "generaliZedNewtonian", but it hasn't been implemented for all solvers. The files are there, though. I tried to simply add this generalizedNewtonian model to the file: Code:
src/phaseSystemModels/reactingEuler/twoPhaseCompressibleTurbulenceModels/twoPhaseCompressibleTurbulenceModels.C Code:
#include "generalizedNewtonian.H" makeLaminarModel(generalizedNewtonian); Code:
Calculating face flux field phi.water Selecting turbulence model type laminar Selecting laminar stress model generalizedNewtonian Selecting generalized Newtonian model powerLaw #0 Foam::error::printStack(Foam::Ostream&) in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so #1 Foam::sigSegv::sigHandler(int) in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so #2 ? in /lib/x86_64-linux-gnu/libc.so.6 #3 Foam::phaseModel::correct() in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libreactingMultiphaseSystem.so #4 ? in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libreactingMultiphaseSystem.so #5 Foam::laminarModels::generalizedNewtonian<Foam::ThermalDiffusivity<Foam::PhaseCompressibleTurbulenceModel<Foam::phaseModel> > >::generalizedNewtonian(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> 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::phaseModel const&, Foam::word const&) in ~/OpenFOAM/jpieri-v2212/platforms/linux64GccDPInt32Opt/lib/libmyTwoPhaseReactingTurbulenceModels.so #6 Foam::laminarModel<Foam::ThermalDiffusivity<Foam::PhaseCompressibleTurbulenceModel<Foam::phaseModel> > >::adddictionaryConstructorToTable<Foam::laminarModels::generalizedNewtonian<Foam::ThermalDiffusivity<Foam::PhaseCompressibleTurbulenceModel<Foam::phaseModel> > > >::New(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> 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::phaseModel const&, Foam::word const&) in ~/OpenFOAM/jpieri-v2212/platforms/linux64GccDPInt32Opt/lib/libmyTwoPhaseReactingTurbulenceModels.so #7 ? in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libreactingMultiphaseSystem.so #8 Foam::TurbulenceModel<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>, Foam::compressibleTurbulenceModel, Foam::phaseModel>::adddictionaryConstructorToTable<Foam::laminarModel<Foam::ThermalDiffusivity<Foam::PhaseCompressibleTurbulenceModel<Foam::phaseModel> > > >::NewTurbulenceModel(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> 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::phaseModel const&, Foam::word const&) in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libreactingMultiphaseSystem.so #9 ? in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libreactingMultiphaseSystem.so #10 ? in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libreactingMultiphaseSystem.so #11 Foam::phaseModel::addphaseSystemConstructorToTable<Foam::AnisothermalPhaseModel<Foam::PurePhaseModel<Foam::InertPhaseModel<Foam::MovingPhaseModel<Foam::ThermoPhaseModel<Foam::phaseModel, Foam::rhoThermo> > > > > >::New(Foam::phaseSystem const&, Foam::word const&, int) in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libreactingMultiphaseSystem.so #12 Foam::phaseModel::New(Foam::phaseSystem const&, Foam::word const&, int) in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libreactingMultiphaseSystem.so #13 Foam::phaseSystem::phaseSystem(Foam::fvMesh const&) in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libreactingMultiphaseSystem.so #14 Foam::twoPhaseSystem::twoPhaseSystem(Foam::fvMesh const&) in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libreactingTwoPhaseSystem.so #15 ? in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libreactingTwoPhaseSystem.so #16 ? in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libreactingTwoPhaseSystem.so #17 ? in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libreactingTwoPhaseSystem.so #18 Foam::twoPhaseSystem::adddictionaryConstructorToTable<Foam::PopulationBalancePhaseSystem<Foam::PhaseTransferPhaseSystem<Foam::OneResistanceHeatTransferPhaseSystem<Foam::MomentumTransferPhaseSystem<Foam::twoPhaseSystem> > > > >::New(Foam::fvMesh const&) in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libreactingTwoPhaseSystem.so #19 Foam::twoPhaseSystem::New(Foam::fvMesh const&) in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/lib/libreactingTwoPhaseSystem.so #20 ? in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/bin/reactingTwoPhaseEulerFoam #21 ? in /lib/x86_64-linux-gnu/libc.so.6 #22 __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6 #23 ? in /usr/lib/openfoam/openfoam2212/platforms/linux64GccDPInt32Opt/bin/reactingTwoPhaseEulerFoam Segmentation fault First question: did anyone used this laminar model in ESI OpenFOAM, in any solver? Second question: can this error be a compiling-link (Make/options) error? Third question: or maybe the portability of this turbulence model was not yet completed, thus leading to untraceable errors? Fourth question: any suggestion on how to consider a non-newtonian fluid in a twoPhaseEuler simulation? Note that I converted this same case to OF Foundation. It does run with this generalisedNewtonian model, but I faced many other compatibility errors that are taking me more time to solve than I wanted. Thank you! |
|
![]() |
![]() |
![]() |
Tags |
generalizednewtonian, non-newtonian, reactingtwophaseeulerfoam |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
chtMultiRegionFoam solver stops without any error | amol_patel | OpenFOAM Running, Solving & CFD | 4 | July 5, 2024 01:41 |
chtmultiRegion case is not generating sets folder in postprocessing | boffin5 | OpenFOAM Running, Solving & CFD | 14 | April 19, 2024 17:40 |
2 ways to mesh a multiRegion case - one works, the other fails | boffin5 | OpenFOAM Running, Solving & CFD | 16 | March 27, 2023 12:58 |
multiRegionHeater error | ordinary | OpenFOAM Running, Solving & CFD | 2 | June 9, 2020 17:43 |
conjugateHeatFoam + interFoam | farhagim | OpenFOAM Programming & Development | 15 | July 19, 2016 07:55 |