CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Dynamic Mesh issue concerning rotation in rhoCentralFoam/sonicFoam

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree1Likes
  • 1 Post By emjaey3590

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 11, 2021, 03:38
Default Dynamic Mesh issue concerning rotation in rhoCentralFoam/sonicFoam
  #1
New Member
 
manoj
Join Date: Dec 2013
Posts: 2
Rep Power: 0
emjaey3590 is on a distinguished road
Hello Foamers,

I am trying to use supersonic compressible solver (rhoCentralFoam/sonicFoam) to simulate flow across a bullet, which has a rotational motion (dynamicMeshDict). The bullet used is a stl file, henceforth I used snappyHexMesh to generate the Mesh. The arbitrary mesh interface (AMI) is also introduced in the simulation to enable simulation across disconnected, adjacent, mesh domains.

The boundary condition used for pressure (p) is:
For inlet, walls, bullet wall I have used "zeroGradient" boundary condition.
For outlet I have used "waveTransmissive" boundary condition.
For AMI I have used "cyclicAMI" boundary condition.

The boundary condition used for velocity (U) is:
For inlet "supersonicFreestream" is used.
For outlet "inletOutlet" is used.
For bullet "movingWallVelocity" is used.
For walls "zeroGradient" is used.
For AMI "cyclicAMI" is used.

The boundary condition used for temperature (T) is:
For inlet and outlet "inletOutlet" is used.
For walls and bullet wall "zeroGradient" is used.
For AMI "cyclicAMI" is used.

The fvSchemes and FvSolution that I have used is same as that of the tutorials that are provided for rhoCentralFoam and sonicFoam.

But when I try to launch the simulation, it runs for few iterations and finally fives the error mentioned below

Code:
--> FOAM FATAL ERROR: 
Negative initial temperature T0: -26.69115

    From function Foam::scalar Foam::species::thermo<Thermo, Type>::T(Foam::scalar, Foam::scalar, Foam::scalar, Foam::scalar (Foam::species::thermo<Thermo, Type>::*)(Foam::scalar, Foam::scalar) const, Foam::scalar (Foam::species::thermo<Thermo, Type>::*)(Foam::scalar, Foam::scalar) const, Foam::scalar (Foam::species::thermo<Thermo, Type>::*)(Foam::scalar) const) const [with Thermo = Foam::hConstThermo<Foam::perfectGas<Foam::specie> >; Type = Foam::sensibleInternalEnergy; Foam::scalar = double; Foam::species::thermo<Thermo, Type> = Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleInternalEnergy>]
    in file /home/ubuntu/OpenFOAM/OpenFOAM-6/src/thermophysicalModels/specie/lnInclude/thermoI.H at line 54.

FOAM aborting

#0  Foam::error::printStack(Foam::Ostream&) at ??:?
#1  Foam::error::abort() at ??:?
#2  Foam::hePsiThermo<Foam::psiThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::calculate() at ??:?
#3  Foam::hePsiThermo<Foam::psiThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::correct() at ??:?
#4  ? in "/opt/openfoam6/platforms/linux64GccDPInt32Opt/bin/rhoCentralFoam"
#5  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#6  ? in "/opt/openfoam6/platforms/linux64GccDPInt32Opt/bin/rhoCentralFoam"
^C
[1]+  Aborted                 (core dumped) rhoCentralFoam > log
Would somebody be kind enough to help me solve this problem.
thunde47 likes this.
emjaey3590 is offline   Reply With Quote

Old   March 19, 2022, 22:29
Default
  #2
Senior Member
 
Join Date: Mar 2010
Posts: 181
Rep Power: 18
Jonathan is on a distinguished road
Quote:
Originally Posted by emjaey3590 View Post
Hello Foamers,

I am trying to use supersonic compressible solver (rhoCentralFoam/sonicFoam) to simulate flow across a bullet, which has a rotational motion (dynamicMeshDict). The bullet used is a stl file, henceforth I used snappyHexMesh to generate the Mesh. The arbitrary mesh interface (AMI) is also introduced in the simulation to enable simulation across disconnected, adjacent, mesh domains.

The boundary condition used for pressure (p) is:
For inlet, walls, bullet wall I have used "zeroGradient" boundary condition.
For outlet I have used "waveTransmissive" boundary condition.
For AMI I have used "cyclicAMI" boundary condition.

The boundary condition used for velocity (U) is:
For inlet "supersonicFreestream" is used.
For outlet "inletOutlet" is used.
For bullet "movingWallVelocity" is used.
For walls "zeroGradient" is used.
For AMI "cyclicAMI" is used.

The boundary condition used for temperature (T) is:
For inlet and outlet "inletOutlet" is used.
For walls and bullet wall "zeroGradient" is used.
For AMI "cyclicAMI" is used.

The fvSchemes and FvSolution that I have used is same as that of the tutorials that are provided for rhoCentralFoam and sonicFoam.

But when I try to launch the simulation, it runs for few iterations and finally fives the error mentioned below

Code:
--> FOAM FATAL ERROR: 
Negative initial temperature T0: -26.69115

    From function Foam::scalar Foam::species::thermo<Thermo, Type>::T(Foam::scalar, Foam::scalar, Foam::scalar, Foam::scalar (Foam::species::thermo<Thermo, Type>::*)(Foam::scalar, Foam::scalar) const, Foam::scalar (Foam::species::thermo<Thermo, Type>::*)(Foam::scalar, Foam::scalar) const, Foam::scalar (Foam::species::thermo<Thermo, Type>::*)(Foam::scalar) const) const [with Thermo = Foam::hConstThermo<Foam::perfectGas<Foam::specie> >; Type = Foam::sensibleInternalEnergy; Foam::scalar = double; Foam::species::thermo<Thermo, Type> = Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleInternalEnergy>]
    in file /home/ubuntu/OpenFOAM/OpenFOAM-6/src/thermophysicalModels/specie/lnInclude/thermoI.H at line 54.

FOAM aborting

#0  Foam::error::printStack(Foam::Ostream&) at ??:?
#1  Foam::error::abort() at ??:?
#2  Foam::hePsiThermo<Foam::psiThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::calculate() at ??:?
#3  Foam::hePsiThermo<Foam::psiThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::correct() at ??:?
#4  ? in "/opt/openfoam6/platforms/linux64GccDPInt32Opt/bin/rhoCentralFoam"
#5  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#6  ? in "/opt/openfoam6/platforms/linux64GccDPInt32Opt/bin/rhoCentralFoam"
^C
[1]+  Aborted                 (core dumped) rhoCentralFoam > log
Would somebody be kind enough to help me solve this problem.
Not sure if you solved this, but I have found with compressible simulations (rhoCentral and others) that time step size is really important. I often get (got) negative temperatures as soon as the shocks started forming if my Courant number was too high. Using adaptive time stepping based on Co number really helped, otherwise reducing the timestep to something smaller usually helps.

The other thing which people sometimes miss is to check your fluid properties - if you have an error and you try to do sonic flow, you're going to get funny results. For instance, make sure if you copy transportProperties / thermoPhysicalProperties from another case they are correct for your set up.

Hope it helps.
Jonathan is offline   Reply With Quote

Old   March 5, 2025, 03:40
Default
  #3
New Member
 
Zaki
Join Date: Aug 2024
Posts: 15
Rep Power: 2
ZakiLeon is on a distinguished road
Hi everyone,

I have the very same issue with a simulation using NCC dynamic mesh methods (Updated version of ACMI), and I think it is related to the userTime configuration.

My model represents a piston engine. The piston movement is defined not directly by a time but by the crank angle. When I am using a rhoPimpleFoam sovler, everything works fine, (Delta theta = 0.1). But when I switch to a rhoCentralFoam solver, I need to greatly reduce the time step (1e-6). Moving the piston by a time step of 1e-6 degrees is not releastic, which means that I need to switch back to a userTime defining a time and not a crank angle.

Does anyone know if it's possible to use userTime Engine and rhoCentralFoam at the same time ?
ZakiLeon is offline   Reply With Quote

Reply

Tags
amicyclic, dynamicmeshdict, rhocentralfoam, sonicfoam

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
decomposePar problem: Cell 0contains face labels out of range vaina74 OpenFOAM Pre-Processing 37 July 20, 2020 05:38
objects oscillate at high speed causing collapse in Dynamic mesh and overset mesh ca insane OpenFOAM Running, Solving & CFD 0 May 17, 2020 22:35
UDF CG_MOTION rotation dynamic mesh Mads FLUENT 2 April 15, 2014 03:30
Mesh motion with Translation & Rotation Doginal CFX 2 January 12, 2014 06:21
Postprocessing issue with dynamic mesh? ghost82 FLUENT 1 November 2, 2012 10:06


All times are GMT -4. The time now is 06:58.