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

Gravity in rotating screw

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By wyldckat

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 25, 2014, 11:14
Default Gravity in rotating screw
  #1
New Member
 
riccardo maione
Join Date: Jun 2014
Posts: 13
Rep Power: 12
riccardomaione is on a distinguished road
Hello everyone,

I am sorry I know this is a beginner question but I am fairly new to Openfoam, so I will gladly appreciate your help.
I'd like to simulate the behavior of a screw auger combustor who utilises char as the main fuel, steel is also present in this reactor and it receives the heat from conduction and convection, I know I have to divide the problem because openfoam is not capable of calculating the conduction heat transfer due to contact between particles, but my question is, is openfoam capable of simulating all the other phenomena? (hydrodynamics with char and steel balls and char combustion reaction), if yes which is the most suited solver to do that?

thanks for your kind attention,

Riccardo Maione
riccardomaione is offline   Reply With Quote

Old   September 17, 2014, 10:02
Default Gravity in rotating screw
  #2
New Member
 
riccardo maione
Join Date: Jun 2014
Posts: 13
Rep Power: 12
riccardomaione is on a distinguished road
Hello all!

I'd like to simulate a gas in a rotating screw conveyor and my idea of rotation implementation is to use a rotating non inertial system, so I have resolved the acceleration field in my mesh but now I do not know how to implement it in OpenFOAM, I am a beginner in OpenFoam so please have simpathy

thank you all by the way

P.S. the acceleration vector changes only with position, it doesn't change with time
riccardomaione is offline   Reply With Quote

Old   October 5, 2014, 06:26
Default
  #3
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Greetings Riccardo and welcome to the forum!

I moved your two posts into the same thread, because this way we can have a better picture of what you're trying to do.

Nonetheless, it feels like you didn't provide enough information in order to make it easier to give you some suggestions.
From the brief search and understanding I can gather:
  1. You're trying to simulate one of these: http://en.wikipedia.org/wiki/Screw_conveyor
  2. ... and that's all I can figure out
I have a few questions, some of which are already hinted at on this thread: http://www.cfd-online.com/Forums/ope...-get-help.html
  1. Are you trying to get a steady-state solution or a transient solution?
  2. Does the mesh really have to move, or can SRF or MRF be used?
  3. Do the solid objects/particles degrade in dimension over time?
  4. Are the solid objects small enough to consider them to be particles?
A few more questions might pop-up after you've answered these, because from what I can understand, there are a few ways this can be solved with OpenFOAM.

It's unlikely that an existing solver will do everything you need... then again, it's possible that using rhoReactingFoam in OpenFOAM 2.3, along with MRF as an "fvOption" might do the trick.

Best regards,
Bruno
__________________
wyldckat is offline   Reply With Quote

Old   October 6, 2014, 03:40
Default
  #4
New Member
 
riccardo maione
Join Date: Jun 2014
Posts: 13
Rep Power: 12
riccardomaione is on a distinguished road
Quote:
Originally Posted by wyldckat View Post
Greetings Riccardo and welcome to the forum!

I moved your two posts into the same thread, because this way we can have a better picture of what you're trying to do.

Nonetheless, it feels like you didn't provide enough information in order to make it easier to give you some suggestions.
From the brief search and understanding I can gather:
  1. You're trying to simulate one of these: http://en.wikipedia.org/wiki/Screw_conveyor
  2. ... and that's all I can figure out
I have a few questions, some of which are already hinted at on this thread: http://www.cfd-online.com/Forums/ope...-get-help.html
  1. Are you trying to get a steady-state solution or a transient solution?
  2. Does the mesh really have to move, or can SRF or MRF be used?
  3. Do the solid objects/particles degrade in dimension over time?
  4. Are the solid objects small enough to consider them to be particles?
A few more questions might pop-up after you've answered these, because from what I can understand, there are a few ways this can be solved with OpenFOAM.

It's unlikely that an existing solver will do everything you need... then again, it's possible that using rhoReactingFoam in OpenFOAM 2.3, along with MRF as an "fvOption" might do the trick.

Best regards,
Bruno
Hello Bruno

First of all thanks for your help and sorry if I didn't provide so much information, what I am trying to do is to simulate a screw conveyor like the one you linked for the combustion of char. I want to implement this in the CFDEM package (www.cfdem.com), so what i did was to code the rotating frame in the solver. what CFDEM does is to simulate a solid phase with a dem approach and the gas phase with a cfd approach and after a fixed time step they exchange information. Yes, I use a transient solver to solve this. My only problem is to implement the compressibility into the solver (I added conservation of species, continuity for compressible gasses and the possibility of a solid reaction). Yes, some particles decay over time, some particle doesn't (there is a mix of steel particles and char particle and this is the reason why I use a CFDEM approach: I need to study the heat exchange between particles by contact). Now, my question is, which changes need to be made to change a solver from an incompressible one into a compressible one in OpenFOAM?

I thank you another time for the help,
Riccardo Maione
riccardomaione is offline   Reply With Quote

Old   October 11, 2014, 17:31
Default
  #5
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Hi Riccardo,

Quote:
Originally Posted by riccardomaione View Post
Now, my question is, which changes need to be made to change a solver from an incompressible one into a compressible one in OpenFOAM?
OK, now understand all of this much better. I've moved your thread to the programming sub-forum, since it's more of a programming question than case set-up

Let's see... the basics for switching a transient incompressible solver to a transient compressible solver can easily be found by comparing these two solvers:
  • pimpleFoam - paths to the source code and tutorial can found by running these commands:
    Code:
    echo $FOAM_SOLVERS/incompressible/pimpleFoam/
    echo $FOAM_TUTORIALS/incompressible/pimpleFoam/pitzDaily/
  • rhoPimpleFoam - paths to the source code and tutorial can found by running these commands:
    Code:
    echo $FOAM_SOLVERS/compressible/rhoPimpleFoam/
    echo $FOAM_TUTORIALS/incompressible/pimpleFoam/pitzDaily/
Note: both solvers have derived solvers within then, since they are all related. But what matters for checking the main differences are in the base folders for each solver.


Let's see, what else is there... you might also want to have a look into these two, since they are more related to the reaction part of the simulation you need:
Code:
echo $FOAM_SOLVERS/combustion/reactingFoam/
echo $FOAM_SOLVERS/combustion/reactingFoam/rhoReactingFoam/
They're present at least in OpenFOAM 2.3.

Best regards,
Bruno
riccardomaione likes this.
wyldckat is offline   Reply With Quote

Old   October 15, 2014, 04:46
Default
  #6
New Member
 
riccardo maione
Join Date: Jun 2014
Posts: 13
Rep Power: 12
riccardomaione is on a distinguished road
Quote:
Originally Posted by wyldckat View Post
Hi Riccardo,


OK, now understand all of this much better. I've moved your thread to the programming sub-forum, since it's more of a programming question than case set-up

Let's see... the basics for switching a transient incompressible solver to a transient compressible solver can easily be found by comparing these two solvers:
  • pimpleFoam - paths to the source code and tutorial can found by running these commands:
    Code:
    echo $FOAM_SOLVERS/incompressible/pimpleFoam/
    echo $FOAM_TUTORIALS/incompressible/pimpleFoam/pitzDaily/
  • rhoPimpleFoam - paths to the source code and tutorial can found by running these commands:
    Code:
    echo $FOAM_SOLVERS/compressible/rhoPimpleFoam/
    echo $FOAM_TUTORIALS/incompressible/pimpleFoam/pitzDaily/
Note: both solvers have derived solvers within then, since they are all related. But what matters for checking the main differences are in the base folders for each solver.


Let's see, what else is there... you might also want to have a look into these two, since they are more related to the reaction part of the simulation you need:
Code:
echo $FOAM_SOLVERS/combustion/reactingFoam/
echo $FOAM_SOLVERS/combustion/reactingFoam/rhoReactingFoam/
They're present at least in OpenFOAM 2.3.

Best regards,
Bruno
Ok,

now all is much clearer, and I did the solver change, but what when I look to coalCombustionFoam there is a term linked to gas source term coalParcels.Srho(), shouldn't it be a momentum exchange term between particles, like + coalParcels.SU(U)?
riccardomaione is offline   Reply With Quote

Old   October 19, 2014, 05:59
Default
  #7
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Hi Riccardo,

Quote:
Originally Posted by riccardomaione View Post
but what when I look to coalCombustionFoam there is a term linked to gas source term coalParcels.Srho(), shouldn't it be a momentum exchange term between particles, like + coalParcels.SU(U)?
I have to say that this isn't enough context
Because from what I can figure out:
  1. The original solver in OpenFOAM is actually named "coalChemistryFoam".
  2. All of the equations present in these files:
    Code:
    EEqn.H
    pEqn.H
    rhoEqn.H
    UEqn.H
    YEqn.H
    look OK to me. The momentum term is in the "U" equation and the "rho" term is in the pressure and "rho" equations.
Best regards,
Bruno
__________________
wyldckat is offline   Reply With Quote

Old   October 20, 2014, 03:31
Default
  #8
New Member
 
riccardo maione
Join Date: Jun 2014
Posts: 13
Rep Power: 12
riccardomaione is on a distinguished road
Like always probably I wasn't that clear, I am sorry for that,

in pEqn.H the program solves:

while (pimple.correctNonOrthogonal())
{
fvScalarMatrix pEqn
(
fvm::ddt(psi, p)
+ fvc::div(phiHbyA)
- fvm::laplacian(rho*rAU, p)
==
coalParcels.Srho()
+ fvOptions(psi, p, rho.name())
);

so there is a mass source term, is it because continuity equation was substitued into the pressure equation?

Sorry again and best regards,
Riccardo
riccardomaione is offline   Reply With Quote

Old   January 25, 2015, 15:24
Default
  #9
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Greetings Riccardo,

Sorry for the late reply, but only now was I able to look into this again.

OK, I think there is something that you might not be familiar with, at least in OpenFOAM:
  • The "U" equation is usually referred to as it being the momentum equation.
  • The "p" equation (or "p_rgh" or whichever pressure equation is solved) is usually referred to as it being the continuity equation.
Looking at the source terms you're referring to:
  • Srho is the "total mass source for carrier phase".
  • SU is the "momentum source term".
Both are documented in the file "src/lagrangian/coalCombustion/coalCloudList/coalCloudList.H".

Best regards,
Bruno
wyldckat is offline   Reply With Quote

Old   January 25, 2015, 15:30
Default
  #10
New Member
 
riccardo maione
Join Date: Jun 2014
Posts: 13
Rep Power: 12
riccardomaione is on a distinguished road
Quote:
Originally Posted by wyldckat View Post
Greetings Riccardo,

Sorry for the late reply, but only now was I able to look into this again.

OK, I think there is something that you might not be familiar with, at least in OpenFOAM:
  • The "U" equation is usually referred to as it being the momentum equation.
  • The "p" equation (or "p_rgh" or whichever pressure equation is solved) is usually referred to as it being the continuity equation.
Looking at the source terms you're referring to:
  • Srho is the "total mass source for carrier phase".
  • SU is the "momentum source term".
Both are documented in the file "src/lagrangian/coalCombustion/coalCloudList/coalCloudList.H".

Best regards,
Bruno
Hello Bruno,

thanks for your reply, however I didn't realize how the source term of the solid phase was in the PISO equation, now I know it is due to the substitution of the continuity equation is that correct?

best regards
Riccardo
riccardomaione is offline   Reply With Quote

Old   January 25, 2015, 15:43
Default
  #11
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Hi Riccardo,

Quote:
Originally Posted by riccardomaione View Post
now I know it is due to the substitution of the continuity equation is that correct?
Sorry, I'm having trouble understanding your question
What I think I'm not understanding, is that I can't figure out what is the "before and after" you're referring to as "substitution".

What I can say for certain is that source terms are usually added to any equations, usually on the right side of the respective equation.

Best regards,
Bruno
wyldckat is offline   Reply With Quote

Old   January 25, 2015, 15:47
Default
  #12
New Member
 
riccardo maione
Join Date: Jun 2014
Posts: 13
Rep Power: 12
riccardomaione is on a distinguished road
To evaluate the pressure equation to resolve the system the navier stokes equation is manipulated to find the new pressure at the local timestep. during the manipulation of the navier stokes equation the velocity gradient is substituted with the continuity equation, in order to decouple pressure and velocity, and so the solid mass source, is that correct?
riccardomaione is offline   Reply With Quote

Old   January 25, 2015, 16:23
Default
  #13
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Mmm... OK, I think I now understood your question.

There are several solvers we need to look into, in order to understand what's going on:
  • incompressible/pisoFoam - it handles the pressure equation like this:
    Code:
                        fvScalarMatrix pEqn
                        (
                            fvm::laplacian(rAU, p) == fvc::div(phiHbyA)
                        );
    There is no temporal term here. That is only solved in the momentum equation:
    Code:
                fvVectorMatrix UEqn
                (
                    fvm::ddt(U)
                  + fvm::div(phi, U)
                  + turbulence->divDevReff(U)
                );
    
                UEqn.relax();
    
                if (momentumPredictor)
                {
                    solve(UEqn == -fvc::grad(p));
                }
  • incompressible/pimpleFoam - very similar to pisoFoam:
    Code:
        fvScalarMatrix pEqn
        (
            fvm::laplacian(rAUf, p) == fvc::div(phiHbyA)
        );
  • compressible/rhoPimpleFoam - since it's the compressible implementation of pimpleFoam, the implementation is considerably different:
    Code:
            fvScalarMatrix pEqn
            (
                fvm::ddt(psi, p)
              + fvc::div(phiHbyA)
              - fvm::laplacian(rhorAUf, p)
              ==
                fvOptions(psi, p, rho.name())
            );
    • If we compare with the incompressible implementation, we can modify the incompressible equation to look more similar to the compressible one:
      Code:
          fvScalarMatrix pEqn
          (
              0 == fvc::div(phiHbyA) - fvm::laplacian(rAUf, p)
          );
    • As we can see, the compressible implementation takes into account time as well as a source term.
    • Both terms "phiHbyA" and "rAUf" are essentially what connects the continuity equation to the result from the momentum equation.
  • lagrangian/coalChemistryFoam - the compressible implementation of rhoPimpleFoam is further extended:
    Code:
            fvScalarMatrix pEqn
            (
                fvm::ddt(psi, p)
              + fvc::div(phiHbyA)
              - fvm::laplacian(rhorAUf, p)
             ==
                coalParcels.Srho()
              + fvOptions(psi, p, rho.name())
            );
    The differences are:
    • The term "phid" is used instead of "phiHbyA".
    • The source term "coalParcels.Srho()" was added to the right side of the equation.
To answer your question:
Quote:
Originally Posted by riccardomaione View Post
during the manipulation of the navier stokes equation the velocity gradient is substituted with the continuity equation, in order to decouple pressure and velocity, and so the solid mass source, is that correct?
Well, I'm not an expert in CFD and I'm not an expert in the resolution of the Navier Stokes equations. I only know some things on this topic


Nonetheless, it seems to me that you're looking at the opposite way as to how OpenFOAM decouples the equation. It's the pressure gradient that can affect the momentum equation:
Code:
    if (pimple.momentumPredictor())
    {
        solve(UEqn == -fvc::grad(p));

        fvOptions.correct(U);
        K = 0.5*magSqr(U);
    }
You can double-check what I'm saying, by studying the following pages:


Sorry for not being able to give a better answer here, but this is a bit off my level of expertise
wyldckat is offline   Reply With Quote

Old   January 25, 2015, 16:44
Default
  #14
New Member
 
riccardo maione
Join Date: Jun 2014
Posts: 13
Rep Power: 12
riccardomaione is on a distinguished road
Thank you really much Bruno,
I had read those pages and as a matter of fact I wrote, compiled, used and tested the solver in the cfd-dem case with heterogeneous reaction, thank you again for you patience, I explained the problem with only a few words, maybe not too many. I am pretty sure of that because I was trying to say the exact same thing as you did in the last piece of code, I am really sorry. However I am pretty sure of what I said, I only wanted a word from the expert

best regards,
Riccardo
riccardomaione is offline   Reply With Quote

Reply


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
Adding gravity in rotating domain ThomasN CFX 4 November 21, 2013 03:49
Problem with gravity and rotating domain i.e. Rotor-Stator CFX Brendan CFX 0 September 2, 2013 04:58
rotating gravity olhe0002 OpenFOAM Running, Solving & CFD 1 June 7, 2010 08:40
stress analysis of a rotating beam(wind blade) Cheyannne ANSYS 0 October 19, 2009 18:06
Gravity in single rotating reference frame QinxueTan FLUENT 0 May 7, 2008 07:59


All times are GMT -4. The time now is 05:41.