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

Converting implicit solver to explicit one

Register Blogs Community New Posts Updated Threads Search

 
 
LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
Old   August 13, 2009, 08:28
Default Converting implicit solver to explicit one
  #1
Member
 
Florian Ettner
Join Date: Mar 2009
Location: Munich, Germany
Posts: 41
Rep Power: 17
dohnie is on a distinguished road
Hello,
I'd like to simulate detonation instabilities. The reactingFoam solver is a good basis for this, however I removed the diffusive terms and now need an explicit formulation of the solver. So, my first approach was to use the fvc:: formulation instead of fvm:: wherever possible:

fvm::ddt(rho) + fvc::div(phi)
fvm::ddt(rho, U) + fvm::div(phi, U) == rho*g - fvc::grad(p)
fvm::ddt(rho, h) + mvConvection->fvmDiv(phi, h) == DpDt
fvm::ddt(rho, Yi) + mvConvection->fvmDiv(phi, Yi) == chemistry.RR(i)
becomes
fvm::ddt(rho) + fvc::div(phi)
fvm::ddt(rho, U) + fvc::div(phi, U) == rho*g - fvc::grad(p)
fvm::ddt(rho, h) + mvConvection->fvcDiv(phi, h) == DpDt
fvm::ddt(rho, Yi) + mvConvection->fvcDiv(phi, Yi) == chemistry.RR(i)

Is this really all? Do I now have an explicit solver?
So far, everything works. Now I have to handle the pressure-velocity coupling in the PISO loop. Initially it looks like this:

fvm::ddt(psi, p) + fvm::div(phid, p) - fvm::laplacian(rho*rUA, p)

Here, the solver crashes if I replace the fvm::'s in the respective terms. Can anybody explain the problem, please?

The error message:
Quote:
lowerPtr_ or upperPtr_ unallocated#0 Foam::error::printStack(Foam::Ostream&) in "/nfs/opt/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libOpenFOAM.so"
#1 Foam::error::abort() in "/nfs/opt/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libOpenFOAM.so"
#2 Foam::Ostream& Foam::operator<< <Foam::error>(Foam::Ostream&, Foam::errorManip<Foam::error>) in "/nfs/home/ettner/OpenFOAM/ettner-1.5/applications/bin/linux64GccDPOpt/expReacEulerFoam"
#3 Foam::lduMatrix::lower() const in "/nfs/opt/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libOpenFOAM.so"
#4 Foam::tmp<Foam::Field<double> > Foam::lduMatrix::faceH<double>(Foam::Field<double> const&) const in "/nfs/home/ettner/OpenFOAM/ettner-1.5/applications/bin/linux64GccDPOpt/expReacEulerFoam"
#5 Foam::fvMatrix<double>::flux() const in "/nfs/home/ettner/OpenFOAM/ettner-1.5/applications/bin/linux64GccDPOpt/expReacEulerFoam"
#6 main in "/nfs/home/ettner/OpenFOAM/ettner-1.5/applications/bin/linux64GccDPOpt/expReacEulerFoam"
#7 __libc_start_main in "/lib64/libc.so.6"
#8 _start at /usr/src/packages/BUILD/glibc-2.9/csu/../sysdeps/x86_64/elf/start.S:116


From function lduMatrix::lower() const
in file matrices/lduMatrix/lduMatrix/lduMatrix.C at line 206.

FOAM aborting
dohnie is offline   Reply With Quote

 


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
Implicit versus Explicit Deepak Main CFD Forum 17 November 7, 2015 13:14
Working directory via command line Luiz CFX 4 March 6, 2011 20:02
Euler (explicit or implicit) anybody Main CFD Forum 2 May 8, 2006 02:12
implicit vs explicit pXYZ Main CFD Forum 2 April 21, 2006 09:48
Convergence with coupled implicit solver Henrik Ström FLUENT 1 October 29, 2005 03:57


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