# Create a biharmonic operator

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

 January 21, 2011, 17:58 Create a biharmonic operator #1 Member   Pascal Join Date: Jun 2009 Location: Montreal Posts: 65 Rep Power: 9 Hi all, I would like to use a biharmonic operator for implicit calculation. I tried to use the laplacian of the laplacian but it didn't work. So should I implement a new operator? If yes, does anyone could help me to get started. I took a look at the laplacian scheme : /OpenFOAM/OpenFOAM-1.6.x/src/finiteVolume/finiteVolume/laplacianSchemes/laplacianScheme and I'm a little confused with the oriented object programming. Any help would be greatly appreciated. Pascal

 August 1, 2011, 17:55 #2 Senior Member   Mieszko Młody Join Date: Mar 2009 Location: POLAND, USA Posts: 136 Rep Power: 9 Hi Pascal, I am facing the same problem right now. Did you were able to implement biharmonic operator ? Or maybe you know some other solution for this problem ? Thanks ZM

 August 1, 2011, 21:45 #3 Member   Pascal Join Date: Jun 2009 Location: Montreal Posts: 65 Rep Power: 9 Hi, No solution have been found yet, but if you find one let me know. Pascal

 August 2, 2011, 16:35 #4 Senior Member   Mieszko Młody Join Date: Mar 2009 Location: POLAND, USA Posts: 136 Rep Power: 9 Hi Pascal, The only solution I can think about is just explicit discretization. If you want to calculate laplacian(laplacian(f(x,y))) = fxxxx + 2fxxyy + fyyyy then you can make it like that: fvc::laplacian(fvc::laplacian(f)) -ZM

 August 2, 2011, 17:23 #5 Member   Pascal Join Date: Jun 2009 Location: Montreal Posts: 65 Rep Power: 9 Hi Ziemowit, I tried this one but the stability condition on such explicit discretization seems very restrictive. I think it has for consequence that you need to reduce dt a lot. No? Pascal

 August 2, 2011, 17:48 #6 Senior Member   Mieszko Młody Join Date: Mar 2009 Location: POLAND, USA Posts: 136 Rep Power: 9 yes, it is very possible...

 October 19, 2011, 06:28 #7 Member   Eysteinn Helgason Join Date: Sep 2009 Location: Gothenburg, Sweden Posts: 53 Rep Power: 9 Hi all, Have you managed to get working the laplacian(laplacian)? Using the explicit formulation my simple case blows up very quickly. /Eysteinn

 October 24, 2011, 10:29 #8 Senior Member   Mieszko Młody Join Date: Mar 2009 Location: POLAND, USA Posts: 136 Rep Power: 9 Hi Eysteinn, I think that the best solution is just to solve two equations instead on one: laplacian(laplacian(f)) = g can be solves as: 1) laplacian(h) = g 2) laplacian(f) = h ZM

October 31, 2011, 08:50
#9
Member

Eysteinn Helgason
Join Date: Sep 2009
Location: Gothenburg, Sweden
Posts: 53
Rep Power: 9
Quote:
 Originally Posted by ziemowitzima Hi Eysteinn, I think that the best solution is just to solve two equations instead on one: laplacian(laplacian(f)) = g can be solves as: 1) laplacian(h) = g 2) laplacian(f) = h ZM

This does not seem to solve my problem. Yes it runs but diverges
for the simplest cases.
btw. my equation also includes time derivative + extra terms:

/Eysteinn

 October 31, 2011, 11:29 #10 Senior Member   Mieszko Młody Join Date: Mar 2009 Location: POLAND, USA Posts: 136 Rep Power: 9 Hi , As far as I know OF has only linear solvers for algebraic equations. So it means that it is impossible to discretized non-linear terms in the implicit way (using fvm:: ). In my opinion (but I am not an OF expert) it seems that in your equation: you have to treat first and third term explicitly and only second can be treated implicitly. Of course third term is not-linear but as far as I know there is no biharmonic operator in OF. In general I was dealing with biharmonic operator as well, and I solved it the way I posted before. But I was solving it in Matlab using FFT not in OF. The only idea I have now is : and because diffusion-like terms are treated explicitly then you have to pay attention to the time step, it has to be small enough to fulfill the condition: I think that it should work. I would recommend for the beginning to solve:

 October 31, 2011, 11:31 #11 Senior Member   Mieszko Młody Join Date: Mar 2009 Location: POLAND, USA Posts: 136 Rep Power: 9 sorry, it should be: ... Of course third term is not nolinear but as far as I know there ... ...

 May 20, 2016, 19:43 #12 New Member   Kareem Abdelshafy Join Date: Feb 2016 Location: Boston MA USA Posts: 4 Rep Power: 2 I think Mieszko algorithm for solving the fourth order equation is not right. fvm::laplacian (h) =c fvm::ddt(c) = -fvc::laplacian (D, h) This is equal to fvm::ddt(c) = D*c

 May 22, 2016, 06:02 #13 Senior Member   Mieszko Młody Join Date: Mar 2009 Location: POLAND, USA Posts: 136 Rep Power: 9 yes, you are right, it should be: h = fvc::laplacian (c) fvm::ddt(c) = -fvm::laplacian (D, h) This is equal to fvm::ddt(c) = -fvm::laplacian (D, fvc::laplacian (c))

 Tags biharmonic, hyper viscosity, operator, scheme

 Thread Tools Display Modes Linear Mode

 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 OffTrackbacks are On Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post Ajay FLUENT 10 September 3, 2016 14:18 phongstar OpenFOAM 11 July 26, 2010 19:23 audrich FLUENT 0 September 21, 2009 07:06 audrich FLUENT 3 August 4, 2009 01:07 SSL FLUENT 2 January 26, 2008 12:55

All times are GMT -4. The time now is 15:31.