CFD Online Logo CFD Online URL
Home > Forums > Software User Forums > OpenFOAM

blockCoupled solver for multiple regions

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

Like Tree1Likes
  • 1 Post By cliffoi

LinkBack Thread Tools Display Modes
Old   July 9, 2011, 15:59
Default blockCoupled solver for multiple regions
Senior Member
Ben K
Join Date: Feb 2010
Location: Ottawa, Canada
Posts: 140
Rep Power: 13
benk is on a distinguished road
I'm looking for some guidance on how to use the block-coupled solver over multiple regions. I have a feeling this is quite difficult to do (at least after reading slide 44 of

But if an example could be provided, this would be especially useful for electrochemical systems which are all similar (like fuel cells and batteries) but can be highly coupled and also exist over at least 3 different regions: anode | electrolyte | cathode

In these systems, there are normally 2 to 3 PDEs (all involving scalars) that exist over all three regions and these equations would all be the same over each region other than transport coefficients changing based on the region and some source terms usually go to 0 in the middle region.

There are also 2 more PDEs that exist only in the anode and the cathode and are also coupled to the multi-region PDEs.
benk is offline   Reply With Quote

Old   July 9, 2011, 18:05
Ivor Clifford
Join Date: Mar 2009
Location: Switzerland
Posts: 91
Rep Power: 10
cliffoi is on a distinguished road
Hi Ben,
So if I understand you correctly, you have 5 | 2 | 5 equations in your 3 regions. You have three options here.
  1. Easiest and probably the first place to start is to solve the full 5x5 system of equations over all 3 regions and to cancel out the unused equations in the electrolyte by careful selection of equation coefficients in this region. This is probably not the optimal approach but it's fully implicit, relatively simple and you can start getting results almost immediately.
  2. Solve the 3 regions in a segregated fashion using 5x5 block-coupled solution in two of the regions and 2x2 in the other, and update the interface boundary conditions after each solver call. Convergence could be slow or unstable since you are explicitly updating boundary contributions but if you really need to use a separate mesh for each region this would be your starting point. You will need to use ggi or patchToPatch interpolation to exchange information at the interfaces so this is not for the faint of heart.
  3. Set up the equations as in option 2, but instead of using explicit boundary updates you exchange information at every solver iteration. This is what I was referring to on slide 44 of my OpenFOAM Workshop presentation. I had to code up my own solvers for this and they are very problem specific at the moment. I will probably look at improving this in the near future but right now it'll involve a lot of work.

Of the three I'd really suggest you look at option 1. If the number of cells in you electrolyte region is relatively small, the penalty for taking this "lazy route" probably won't be big.
elvis likes this.
cliffoi is offline   Reply With Quote

Old   February 13, 2014, 23:35
hua1015's Avatar
Join Date: May 2012
Posts: 30
Rep Power: 7
hua1015 is on a distinguished road
Hi Ben,
Recently, I am interested in the same problem and have not any ideas. Have you got any progress?
hua1015 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
Quarter Burner mesh with periosic condition SamCanuck FLUENT 2 August 31, 2011 11:34
Working directory via command line Luiz CFX 4 March 6, 2011 21:02
how the interface between 2 solid regions is treater in chtMultiRegionFoam ? Cyp OpenFOAM 1 June 16, 2010 16:03
why the solver reject it? Anyone with experience? bearcat CFX 6 April 28, 2008 14:08
Error during Solver cfd guy CFX 4 May 8, 2001 06:04

All times are GMT -4. The time now is 09:33.