CFD Online Logo CFD Online URL
Home > Forums > OpenFOAM Programming & Development

Solver for system of hyperbolic equations

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

LinkBack Thread Tools Display Modes
Old   October 17, 2012, 04:29
Default Solver for system of hyperbolic equations
Join Date: Mar 2012
Location: Munich, Germany
Posts: 67
Rep Power: 5
treima is on a distinguished road

I derived the adjoint equations from the twodimensional Eulerequation (with boundary conditions) in theory. Now I would like to solve these with OpenFOAM. Itīs a system of hyperbolic equations, so the normal discretisation of OF doesnīt work (Iīve tried ).

The system is given by

a_{21} \Lambda_{2,x} + a_{31} \Lambda_{3,x} + a_{41} \Lambda_{4,x} + b_{21} \Lambda_{2,y} + b_{31} \Lambda_{3,y} + b_{41} \Lambda_{4,y} = 0,
\Lambda_{1,x} + a_{22} \Lambda_{2,x} + a_{32} \Lambda_{3,x} + a_{42} \Lambda_{4,x} + b_{22} \Lambda_{2,y} + b_{32} \Lambda_{3,y} + b_{42} \Lambda_{4,y} = 0,
a_{23} \Lambda_{2,x} + a_{33} \Lambda_{3,x} + a_{43} \Lambda_{4,x} + \Lambda_{1,y} + b_{23} \Lambda_{2,y} +  b_{33} \Lambda_{3,y} + b_{43} \Lambda_{4,y} = 0,
a_{24} \Lambda_{2,x} + a_{44} \Lambda_{4,x} + b_{34} \Lambda_{3,y} + b_{44} \Lambda_{4,y} = 0.

where the indices x and y mean the x and y derivation and the aīs and bīs are factors, dependent from the solution of the Eulerequation.

According to the solution of the onedimensional advection equation (you can have a look at this thread: 1D advection equation) I tried to use a special discretisation with interpolation to the cell faces. You can find the code at the bottom.

For the solution I use the same timesteps like for the solution of the Eulerequation, but the adjoint solver is unstable and shows oscillations. My problem is, that I canīt explane me why .

Do you have any suggestions for a correct implementation for this system of hyperbolic equations or some hints, why my solver doesnīt work?

Thank you!


Attached Files
File Type: h adjointSolver2D.H (1.7 KB, 29 views)
treima is offline   Reply With Quote

Old   October 21, 2012, 09:34
Super Moderator
praveen's Avatar
Praveen. C
Join Date: Mar 2009
Location: Bangalore
Posts: 251
Blog Entries: 6
Rep Power: 9
praveen is on a distinguished road
You need to use an upwind scheme or add some dissipation.

In the scalar case, you are using a central scheme with implicit time scheme. This is L2 stable so the computations do not blow up. But you do not get monotone solution, your solution is not between [0,1] but is going out of this interval.
praveen is offline   Reply With Quote


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
thobois class engineTopoChangerMesh error Peter_600 OpenFOAM 4 August 2, 2014 09:52
smoothSolver diverges - solution in using PBiCG solver? makaveli_lcf OpenFOAM Running, Solving & CFD 3 September 11, 2013 12:44
Is it possible to develop a generic solver for hyp. equations?? shyamdsundar Lounge 1 January 21, 2010 09:45
Getting too many iterations by velocity solving (aborting). Changing U - Solver? suitup OpenFOAM Running, Solving & CFD 0 January 20, 2010 08:45
free " ordinary differential equations solver" ztdep Main CFD Forum 2 March 21, 2006 02:58

All times are GMT -4. The time now is 00:25.