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

starting off with OpenFOAM

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

Reply
 
LinkBack Thread Tools Display Modes
Old   February 7, 2011, 07:31
Default starting off with OpenFOAM
  #1
New Member
 
Sibusiso Mavuso
Join Date: Jul 2010
Location: South Africa/Pretoria
Posts: 21
Rep Power: 6
semaviso is on a distinguished road
HI GUYS

I am a new user of OpenFOAM and would like to solve an unsteady energy equation for a compressible gas through a porous media.

I have basic knowledge of C++ prograqming, please help.

thanx in advance
semaviso is offline   Reply With Quote

Old   February 8, 2011, 03:24
Default
  #2
Senior Member
 
Kathrin Kissling
Join Date: Mar 2009
Location: Besigheim, Germany
Posts: 134
Rep Power: 8
kathrin_kissling is on a distinguished road
Hi semaviso,

have a look into the rhoReactingFoam application to see how its done there.
This is the general way to go. Look whether theres something you need.

Best

Kathrin
kathrin_kissling is offline   Reply With Quote

Old   February 16, 2011, 09:21
Default
  #3
New Member
 
Sibusiso Mavuso
Join Date: Jul 2010
Location: South Africa/Pretoria
Posts: 21
Rep Power: 6
semaviso is on a distinguished road
thanx Kathrin

I checked it out and now I want to understand the meaning of:

00008 volScalarField rUA = 1.0/UEqn.A();
00009 U = rUA*UEqn.H();


from rhoReactingFoam/pEqn.H

How can I write Darcy's formula (U_gas = (-permK/mu)*grad(p) )
U_gas being the gas flux or velocity in m/s
in OpenFOAM to use with the mass transport equation.

thanx again for your help.
semaviso is offline   Reply With Quote

Old   February 16, 2011, 10:48
Default
  #4
Senior Member
 
Kathrin Kissling
Join Date: Mar 2009
Location: Besigheim, Germany
Posts: 134
Rep Power: 8
kathrin_kissling is on a distinguished road
1. Question
This is part of the pressure velocity coupling see:
http://powerlab.fsb.hr/ped/kturbo/Op...jeJasakPhD.pdf
for details.

What is done:
UEqn.A() gives you the central coefficient of the the fvMatrix (fv=finiteVolume) UEqn.
UEqn.H() gives you the H operator which is basically
H(UEqn)=source(UEqn)-diagonal(UEqn)U

in that way the velocity is evaluated by U = rUA*UEqn.H();

ok?

2. Question
I'm not really sure what your trying to do. Can you specify a little?
Do you want to use your U_gas in the continuity equation?
Why?

Best
Kathrin
kathrin_kissling is offline   Reply With Quote

Old   February 16, 2011, 17:37
Default
  #5
Cyp
Senior Member
 
Cyprien
Join Date: Feb 2010
Location: Stanford University
Posts: 227
Rep Power: 9
Cyp is on a distinguished road
Hi semaviso!

There are several way to solve your problem:

- either your add a source term in an existing momentum equation (for example rhoReactingFoam as suggested by Kathrin, or may be rhoPisoFoam will be easier to begin) :

Code:
    fvVectorMatrix UEqn
    (
        fvm::ddt(rho, U)
      + fvm::div(phi, U)
      + turbulence->divDevRhoReff(U)
     ==
        rho*g
      - fvm::Sp(mu/K,U)
    );
or you code your own porous media solver. For a incompressible flow, you have to solve the following diffusion equation on P variable :

Code:
solve
(
    fvm::laplacian(-K/mu,P)
);
It is not very difficult to adapt this porous solver to compressible flow (Darcy's law replaced within continuity equation).


Regards,
Cyp

Last edited by Cyp; February 17, 2011 at 06:44.
Cyp is offline   Reply With Quote

Old   February 17, 2011, 03:40
Default
  #6
Senior Member
 
Kathrin Kissling
Join Date: Mar 2009
Location: Besigheim, Germany
Posts: 134
Rep Power: 8
kathrin_kissling is on a distinguished road
Maybe you want to have a look into rhoPorousFoam. I never worked with it. But it sounds promising.

Best

Kathrin
kathrin_kissling is offline   Reply With Quote

Old   February 22, 2011, 09:21
Default
  #7
New Member
 
Sibusiso Mavuso
Join Date: Jul 2010
Location: South Africa/Pretoria
Posts: 21
Rep Power: 6
semaviso is on a distinguished road
thanx guys it worked.

another question is, how do I add a source term to an energy balance equation if the source term is as follows: [deltaH - T(Cp_ss - Cp_s)]

deltaH : Heart of reaction
Cp_ss : saturated solid (porous media) heat capacity
Cp_s : solid (porous media) heat capacity
semaviso is offline   Reply With Quote

Old   February 23, 2011, 03:10
Default
  #8
Senior Member
 
Kathrin Kissling
Join Date: Mar 2009
Location: Besigheim, Germany
Posts: 134
Rep Power: 8
kathrin_kissling is on a distinguished road
Which variable are you solving for in your energy equation T or h?

Best Kathrin
kathrin_kissling is offline   Reply With Quote

Old   February 24, 2011, 04:09
Default
  #9
New Member
 
Sibusiso Mavuso
Join Date: Jul 2010
Location: South Africa/Pretoria
Posts: 21
Rep Power: 6
semaviso is on a distinguished road
Hi Kathrin

I want "T" but I had used the energy equation with "h".
since h = Cp*T.

thanx in advance
semaviso is offline   Reply With Quote

Old   February 25, 2011, 05:07
Default
  #10
Senior Member
 
Kathrin Kissling
Join Date: Mar 2009
Location: Besigheim, Germany
Posts: 134
Rep Power: 8
kathrin_kissling is on a distinguished road
could you post the equation you have?
Do you reconstruct the Temperature from the energy?

Best

Kathrin
kathrin_kissling is offline   Reply With Quote

Old   February 25, 2011, 05:38
Default
  #11
New Member
 
Sibusiso Mavuso
Join Date: Jul 2010
Location: South Africa/Pretoria
Posts: 21
Rep Power: 6
semaviso is on a distinguished road
the equation is from http://onlinelibrary.wiley.com/doi/10.1002/er.919/pdf

equation 1 of this publication.

I have decided to use h becouse i found a lot of hEqn.H file that I think have something almost similar to this equation.
semaviso is offline   Reply With Quote

Old   February 25, 2011, 05:47
Default
  #12
Cyp
Senior Member
 
Cyprien
Join Date: Feb 2010
Location: Stanford University
Posts: 227
Rep Power: 9
Cyp is on a distinguished road
Hi semaviso!

You should try something like that:

Code:
fvm::ddt(rho*Cpg,T)
+fvm::div(phi,T)
-fvm::laplacian(lambda,T)
==
fvm::Sp(m_dot*(Cpg-Cps),T)
-m_dot*dH0
where the flux phi is defined as:
Code:
surfaceScalarField phi = rho*Cpg*linearInterpolate(U)&mesh.Sf();
(if rho or Cpg are volScalarField, you must use:

Code:
surfaceScalarField phi = fvc::interpolate(rho)*fvc::interpolate(Cpg)*linearInterpolate(U)&mesh.Sf();
Best Regards,
Cyp
Cyp is offline   Reply With Quote

Old   August 2, 2011, 07:50
Default
  #13
New Member
 
Sibusiso Mavuso
Join Date: Jul 2010
Location: South Africa/Pretoria
Posts: 21
Rep Power: 6
semaviso is on a distinguished road
thank you a lot,

I have been tryin to modify the porousExplicitSourceReactingParcelFoam to solve for a compressible gas inside a porous reactor.

Regards,
SBU
semaviso is offline   Reply With Quote

Reply

Thread Tools
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 On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Superlinear speedup in OpenFOAM 13 msrinath80 OpenFOAM Running, Solving & CFD 18 March 3, 2015 06:36
Cross-compiling OpenFOAM 1.7.0 on Linux for Windows 32 and 64bits with Mingw-w64 wyldckat OpenFOAM Announcements from Other Sources 3 September 8, 2010 06:25
Modified OpenFOAM Forum Structure and New Mailing-List pete Site News & Announcements 0 June 29, 2009 05:56
The OpenFOAM extensions project mbeaudoin OpenFOAM 16 October 9, 2007 09:33
OpenFOAM Debian packaging current status problems and TODOs oseen OpenFOAM Installation 9 August 26, 2007 13:50


All times are GMT -4. The time now is 04:46.