set fvMatrix coefficients equal to those of another cell

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

 July 31, 2011, 02:37 set fvMatrix coefficients equal to those of another cell #1 New Member   Austin Kimbrell Join Date: Feb 2011 Location: Tennessee, USA Posts: 8 Rep Power: 7 Hello all, I have a problem in which I want to set the solution dependency of a particular subset of cells to that of another subset of cells, i.e. I need to set the fvMatrix coefficients in UEqn for a particular subset equal to a different subset, iterating per cell. I have done considerable reading about the addressing format for the lduMatrix but it isn't clear to me whether I can do what I need. Also I have looked at the setValues function in fvMatrix but that involves setting the value within the cell to a constant value. I want to preserve the dependency of the other cell on its neighbors when the equation is solved. Is this possible using the current mechanics of the fvMatrix, or would I need to create my own addressing system to allow me to do this? Any help would be great, I am kind of stuck and my thesis is dependent on getting this to work. Thanks, Austin

 August 1, 2011, 14:59 #2 Senior Member     Santiago Marquez Damian Join Date: Aug 2009 Location: Santa Fe, Santa Fe, Argentina Posts: 430 Rep Power: 16 Austin, changing the coeffs in a fvMatrix is possible like in negSumDiag (lduMatrixOperations.C) method, for example. In this method info from non-diagonal coeffs is readed and subtracted from diagonal coeffs. Code: ```00050 void Foam::lduMatrix::negSumDiag() 00051 { 00052 const scalarField& Lower = const_cast(*this).lower(); 00053 const scalarField& Upper = const_cast(*this).upper(); 00054 scalarField& Diag = diag(); 00055 00056 const labelUList& l = lduAddr().lowerAddr(); 00057 const labelUList& u = lduAddr().upperAddr(); 00058 00059 for (register label face=0; face

 August 8, 2011, 01:12 #3 New Member   Austin Kimbrell Join Date: Feb 2011 Location: Tennessee, USA Posts: 8 Rep Power: 7 Thank you for the bit of code, it was most helpful. After further searching I came upon a sample solver on the openfoamwiki site called icoBlockedCellFoam which also does similar operations on the fvMatrix coefficients. Between your code and this other code I have been able to understand what the coefficients are doing within the matrix. Fortunately I have also discovered that the method I am trying to implement does not in fact require me to operate on these coefficients directly - instead I can operate on the actual values of phi and U to obtain the needed results.

 August 8, 2011, 08:32 #4 Senior Member     Santiago Marquez Damian Join Date: Aug 2009 Location: Santa Fe, Santa Fe, Argentina Posts: 430 Rep Power: 16 Austin, good to hear you managed the problem. Best wishes with your thesis. __________________ Santiago MÁRQUEZ DAMIÁN, Ph.D. Research Scientist Research Center for Computational Methods (CIMEC) - CONICET/UNL Tel: 54-342-4511594 Int. 7032 Colectora Ruta Nac. 168 / Paraje El Pozo (3000) Santa Fe - Argentina. http://www.cimec.org.ar

 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 laliong Main CFD Forum 11 March 19, 2015 12:42 Conny_T OpenFOAM Programming & Development 3 September 20, 2010 14:54 H.P.LIU Phoenics 7 July 13, 2010 04:31 marco7 OpenFOAM Running, Solving & CFD 2 September 11, 2008 03:58 kanishka OpenFOAM Installation 1 September 4, 2005 10:15

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