|
[Sponsors] |
April 18, 2012, 17:40 |
OpenFOAM 1D solver
|
#1 |
Senior Member
Vishal Nandigana
Join Date: Mar 2009
Location: Champaign, Illinois, U.S.A
Posts: 208
Rep Power: 18 |
Dear Foamers,
I would like to solve a poisson equation in a simple 1D domain (6 units) using OpenFOAM. I have created a blockmesh file and ensured the XY and XZ patches are defined as empty. See below convertToMeters 1e3; vertices ( (0 0 0) //0 (6 0 0) //1 (6 0.1 0) //2 (0 0.1 0) //3 (0 0 0.1) //4 (6 0 0.1) //5 (6 0.1 0.1) //6 (0 0.1 0.1) //7 ); blocks ( hex (0 1 2 3 4 5 6 7) (600 1 1) simpleGrading (1 1 1) ); edges ( ); patches ( patch inlet ( (0 4 7 3) ) patch outlet ( (1 5 6 2) ) empty frontAndBack ( (0 1 5 4) (3 2 6 7) (0 1 2 3) (4 5 6 7) ) ); mergePatchPairs ( ); Now I would like to solve poisson equation with different source terms at different regions in the 1D domain. For instance for the aforementioned example I would like to solve d^2T/dx^2 = a/R for 0<= x<2000 d^2T/dx^2 = a+b/R for 2000<= x <=4000 d^2T/dx^2 = a/R for 4000< x<=6000 I have looked at know how to implement the laplacian solver and define the source terms. But I would like to know how to define the source term by considering the domain. Kindly let me know. Thanks for the help. Regards Vishal Nandigana |
|
April 19, 2012, 02:22 |
|
#2 |
Senior Member
Nima Samkhaniani
Join Date: Sep 2009
Location: Tehran, Iran
Posts: 1,267
Blog Entries: 1
Rep Power: 25 |
it seems easy! your general equation is laplacian(T) = Q
and your source temr (Q) is non-uniform! then you just need to define this non-uniform volScalarField Q some like this: forAll (Q, celli){ if (Q[celli].x() < 2000){ Q[celli] =a/R } if ( 2000<Q[celli].x() < 4000 ) {...} if ( 4000<Q[celli].x() < 6000 ) {...} } i hope you get the idea |
|
April 19, 2012, 12:29 |
|
#3 |
Senior Member
Vishal Nandigana
Join Date: Mar 2009
Location: Champaign, Illinois, U.S.A
Posts: 208
Rep Power: 18 |
Thanks for the reply.
It works. Vishal |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
OpenCL linear solver for OpenFoam 1.7 (alpha) will come out very soon | qinmaple | OpenFOAM Announcements from Other Sources | 4 | August 10, 2012 12:00 |
Working directory via command line | Luiz | CFX | 4 | March 6, 2011 21:02 |
Running Problem using Openfoam solver | cfd_staruser | OpenFOAM | 5 | August 14, 2009 03:28 |
Modified OpenFOAM Forum Structure and New Mailing-List | pete | Site News & Announcements | 0 | June 29, 2009 06:56 |
OpenFOAM Training and Workshop Zagreb 2628Jan2006 | hjasak | OpenFOAM | 1 | February 2, 2006 22:07 |