# Solving simultaneous algebraic equations for complex coefficients

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

 May 9, 2012, 08:02 Solving simultaneous algebraic equations for complex coefficients #1 Senior Member     Hisham El Safti Join Date: Apr 2011 Location: Braunschweig, Germany Posts: 247 Blog Entries: 10 Rep Power: 8 Dear Foamers, I need to solve a system of linear equations using OpenFOAM (needed at each time step). The system has complex coefficients. I think the simpleMatrix is used for the solution of simultaneous linear algebraic equations. Although the simpleMatrix::solve() returns a Field http://foam.sourceforge.net/docs/cpp...ce.html#l00074 Code: ```00073 template 00074 Foam::Field Foam::simpleMatrix::solve() const 00075 { 00076 scalarSquareMatrix tmpMatrix = *this; 00077 Field sourceSol = source_; 00078 00079 Foam::solve(tmpMatrix, sourceSol); 00080 00081 return sourceSol; 00082 }``` It seems that it can solve only for real scalars. I need to solve for a complexField. Is it possible from within OF? It would be nice if someone points me to an example of the simpleMatrix use? Edit: As expected simpleMatrix works only for real scalars! Best regards, Hisham Last edited by Hisham; May 9, 2012 at 08:50.

 January 19, 2014, 03:57 Dear Hisham #2 Senior Member   Join Date: Jun 2011 Posts: 141 Rep Power: 6 Dear Hisham I have the same problem and I want to solve a system of linear equation with complex coefficients do you find how can it be solved ? Best Regards

 January 19, 2014, 06:01 #3 Senior Member     Hisham El Safti Join Date: Apr 2011 Location: Braunschweig, Germany Posts: 247 Blog Entries: 10 Rep Power: 8 Hi mechy, The Armadillo project was my solution: http://arma.sourceforge.net/ Hope it helps you too! Best regards, Hisham

 January 19, 2014, 10:09 #4 Senior Member   Join Date: Jun 2011 Posts: 141 Rep Power: 6 Dear Hisham you have used it separately or used it in openfoam ? is it possible to use it in openfoam codes ? Best Regards

 January 19, 2014, 10:18 #5 Senior Member     Hisham El Safti Join Date: Apr 2011 Location: Braunschweig, Germany Posts: 247 Blog Entries: 10 Rep Power: 8 In an OpenFOAM application, you just make sure that armadillo is installed on your system using Synaptic (or so). The lib names are: libarmadillo2 and libarmadillo-dev. You can try to compile it if you are more adventurous :-) In the Make/options of your application add -larmadillo to EXE_LIBS: Code: ```EXE_LIBS = -lfiniteVolume \ -larmadillo``` Then follow the examples provided by the armadillo website. You would need to (of course) include proper armadillo headers to your app. Best regards, Hisham hua1015 likes this.

 January 19, 2014, 11:40 #6 Senior Member   Join Date: Jun 2011 Posts: 141 Rep Power: 6 thanks for useful comments Best Regards

 January 19, 2014, 13:42 #7 Senior Member   Join Date: Jun 2011 Posts: 141 Rep Power: 6 Dear Hisham is it possible to couple OpenFoam and Aarmadillo in other word, is it possible to transfer data between openfoam objects and Aarmadillo objects ? Best Regards

 March 1, 2014, 11:09 #8 Member   Avdeev Evgeniy Join Date: Jan 2011 Location: Togliatty, Russia Posts: 52 Blog Entries: 1 Rep Power: 12 Probably will useful. http://openfoamwiki.net/index.php/Ho...lo_in_OpenFOAM wyldckat and anothr_acc like this.

 Tags algebraic, complex, complexfield, equations, simultaneous

 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 Niklas Wikstrom (Wikstrom) OpenFOAM Running, Solving & CFD 122 June 15, 2014 06:20 bookie56 OpenFOAM Installation 8 August 13, 2011 04:03 jonmec OpenFOAM Running, Solving & CFD 3 July 28, 2011 05:24 carsten OpenFOAM Bugs 11 September 12, 2008 11:16 liugx212 OpenFOAM Running, Solving & CFD 3 January 4, 2006 19:07

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