<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic RHS is not undefined... It is in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-poisson-solver-boundary-condtion-problem/m-p/1186414#M29610</link>
    <description>&lt;P&gt;RHS is not undefined... It is&amp;nbsp;defined&amp;nbsp;outside of this routine...&lt;/P&gt;&lt;P&gt;I know the difference&amp;nbsp;in indexing between C and Fortran.&lt;/P&gt;&lt;P&gt;The problem with ipar is that the shift is about&amp;nbsp;2 positions when I declare ipar(0:127), and 3 positions when ipar(1:128)&lt;/P&gt;</description>
    <pubDate>Wed, 17 Jun 2020 11:12:25 GMT</pubDate>
    <dc:creator>cavaiola__mattia</dc:creator>
    <dc:date>2020-06-17T11:12:25Z</dc:date>
    <item>
      <title>mkl poisson solver, boundary condtion problem</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-poisson-solver-boundary-condtion-problem/m-p/1186410#M29606</link>
      <description>&lt;P&gt;Hi, I'm trying to solve the Poisson equation with the Fast Poisson solver.&amp;nbsp;&amp;nbsp;I'm started by imposing a fully periodic 3D domain, then my BCtype='PPPPPP', but I get strange results, with a warning message:&amp;nbsp;&lt;/P&gt;&lt;P&gt;Intel MKL POISSON SOLVER WARNING:&amp;nbsp;&lt;BR /&gt;The problem is degenerate due to rounding errors. The approximate solution&lt;BR /&gt;that provides the minimal Euclidean norm of the solution will be computed.&lt;/P&gt;&lt;P&gt;I looked at the values of ipar, by referring to this page&amp;nbsp;https://software.intel.com/content/www/us/en/develop/documentation/mkl-developer-reference-fortran/top/partial-differential-equations-support/fast-poisson-solver-routines/common-parameters-for-the-poisson-solver/ipar.html&lt;/P&gt;&lt;P&gt;From this page, one can see that the integer values of the array ipar&amp;nbsp;from 4 to 9,&amp;nbsp; takes this value according to BCtype. In my case, they could be all equal to 2.&lt;/P&gt;&lt;P&gt;Then I print the values of ipar and they have different values form 2. I get 0 0 0 2 2 2.&lt;/P&gt;&lt;P&gt;Here there is my code written in fortran&lt;/P&gt;&lt;P&gt;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&lt;/P&gt;&lt;P&gt;subroutine solvermkl(phi)&lt;BR /&gt;implicit none&lt;BR /&gt;real(rp) :: ax,bx,ay,by,az,bz&lt;BR /&gt;integer :: i,j,k,l,stat&lt;BR /&gt;integer, parameter :: nx=(imax-1), ny=(jmax-1),nz=(kmax-1)&lt;BR /&gt;real(rp), parameter :: q = 0. ! constant for Helmotz equation --&amp;gt; 0 for Poisson&lt;BR /&gt;integer, dimension(128) :: ipar&lt;BR /&gt;real(rp), dimension(13.*(nx+ny)/2.+9.) :: dpar&lt;BR /&gt;type(DFTI_DESCRIPTOR), pointer :: xhandle, yhandle&lt;BR /&gt;character(6) BCtype&lt;BR /&gt;real(rp), dimension(imax,jmax,kmax), intent(out) :: phi&lt;BR /&gt;real(rp) :: bd_ax(jmax,kmax), bd_bx(jmax,kmax), bd_ay(imax,kmax), bd_by(imax,kmax), bd_az(imax,jmax), bd_bz(imax,jmax)&lt;/P&gt;&lt;P&gt;ax= 0.&lt;BR /&gt;bx= lx&lt;BR /&gt;ay= 0.&lt;BR /&gt;by= ly&lt;BR /&gt;az= 0.&lt;BR /&gt;bz= lz&lt;/P&gt;&lt;P&gt;do l=1,128&lt;BR /&gt;&amp;nbsp; &amp;nbsp;ipar(l)=0&lt;BR /&gt;enddo&lt;/P&gt;&lt;P&gt;BCtype = 'PPPPPP'&lt;/P&gt;&lt;P&gt;call d_init_Helmholtz_3D(ax, bx, ay, by, az, bz, nx, ny, nz, BCtype, q, ipar, dpar, stat)&lt;/P&gt;&lt;P&gt;do l=4,9&lt;BR /&gt;&amp;nbsp;print *, 'ipar=', ipar(l)&lt;BR /&gt;enddo&lt;/P&gt;&lt;P&gt;call d_commit_Helmholtz_3D(RHS, bd_ax, bd_bx, bd_ay, bd_by, bd_az, bd_bz, xhandle,yhandle, ipar, dpar, stat)&lt;/P&gt;&lt;P&gt;call d_Helmholtz_3D(RHS, bd_ax, bd_bx, bd_ay, bd_by, bd_az, bd_bz, xhandle, yhandle, ipar, dpar, stat)&lt;/P&gt;&lt;P&gt;call free_Helmholtz_3D(xhandle, yhandle, ipar, stat)&lt;/P&gt;&lt;P&gt;phi(:,:,:) = RHS(:,:,:)&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;end subroutine solvermkl&lt;/P&gt;&lt;P&gt;end module mod_solver_mkl&lt;/P&gt;&lt;P&gt;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&lt;/P&gt;&lt;P&gt;There is someone can help me??&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 16 Jun 2020 09:48:54 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-poisson-solver-boundary-condtion-problem/m-p/1186410#M29606</guid>
      <dc:creator>cavaiola__mattia</dc:creator>
      <dc:date>2020-06-16T09:48:54Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-poisson-solver-boundary-condtion-problem/m-p/1186411#M29607</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Without running the code, I notice that you have a 3D Poisson equation (q = 0) with periodic boundary conditions everywhere. For this case, the solution to the problem is not unique. For example, adding a constant to a solution is also a solution.&amp;nbsp;Hence the problem is degenerate and that's what the warning is saying.&lt;/P&gt;&lt;P&gt;So I think you should re-consider the statement of the problem you're trying to solve. Typically, one can avoid degeneracy by imposing additional condition or fixing a solution somewhere.&amp;nbsp;&lt;/P&gt;&lt;P&gt;We will check why the values of ipar are changed the way you see. Immediate guess is that's because we find the solution with the minimal norm (essentially, that's an additional condition MKL uses to make the solution unique).&lt;/P&gt;&lt;P&gt;Thanks,&lt;BR /&gt;Kirill&lt;/P&gt;</description>
      <pubDate>Tue, 16 Jun 2020 22:18:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-poisson-solver-boundary-condtion-problem/m-p/1186411#M29607</guid>
      <dc:creator>Kirill_V_Intel</dc:creator>
      <dc:date>2020-06-16T22:18:16Z</dc:date>
    </item>
    <item>
      <title>Thank you for your answer...</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-poisson-solver-boundary-condtion-problem/m-p/1186412#M29608</link>
      <description>&lt;P&gt;Thank you for your answer... But I already solved Poisson with periodic boundary conditions everywhere, with other direct solvers, without encountering this kind of problem&lt;/P&gt;&lt;P&gt;As regards the ipar, by running the tutorial case, such as d_Poisson_3D_f.f90, I noticed the same shift of index. Seems that the information about boundary conditions are stored in ipar from index 7 to 12. I think there is an error in&amp;nbsp;https://software.intel.com/content/www/us/en/develop/documentation/mkl-developer-reference-c/top/partial-differential-equations-support/fast-poisson-solver-routines/common-parameters-for-the-poisson-solver/ipar.html&lt;/P&gt;</description>
      <pubDate>Wed, 17 Jun 2020 08:40:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-poisson-solver-boundary-condtion-problem/m-p/1186412#M29608</guid>
      <dc:creator>cavaiola__mattia</dc:creator>
      <dc:date>2020-06-17T08:40:36Z</dc:date>
    </item>
    <item>
      <title>In C, array indices start at</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-poisson-solver-boundary-condtion-problem/m-p/1186413#M29609</link>
      <description>&lt;P&gt;In C, array indices start at 0. In Fortran, by default, array indices start at 1. If you wish to use 0-base indices in Fortran, you have to dimension ipar(0:127), rather than ipar(128). You could avoid some of this confusion by using the MKL documentation for Fortran, instead of MKL-C.&lt;/P&gt;&lt;P&gt;Before calling ?_commit_Helmholtz_3D, you have to set values into the array RHS, which you have left undefined in the code above.&lt;/P&gt;&lt;P&gt;The document for the 2020 version of MKL, at&amp;nbsp;https://software.intel.com/content/www/us/en/develop/documentation/mkl-developer-reference-fortran/top/partial-differential-equations-support/fast-poisson-solver-routines/routines-for-the-cartesian-solver/init-helmholtz-2d-init-helmholtz-3d.html , supposedly for Fortran users, unfortunately displays only C syntax! You may need to look at the include file&amp;nbsp;mkl_poisson.f90 to clarify the interface. Or is there a new expectation that Fortran users of MKL should start learning C?&lt;/P&gt;</description>
      <pubDate>Wed, 17 Jun 2020 10:26:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-poisson-solver-boundary-condtion-problem/m-p/1186413#M29609</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2020-06-17T10:26:00Z</dc:date>
    </item>
    <item>
      <title>RHS is not undefined... It is</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-poisson-solver-boundary-condtion-problem/m-p/1186414#M29610</link>
      <description>&lt;P&gt;RHS is not undefined... It is&amp;nbsp;defined&amp;nbsp;outside of this routine...&lt;/P&gt;&lt;P&gt;I know the difference&amp;nbsp;in indexing between C and Fortran.&lt;/P&gt;&lt;P&gt;The problem with ipar is that the shift is about&amp;nbsp;2 positions when I declare ipar(0:127), and 3 positions when ipar(1:128)&lt;/P&gt;</description>
      <pubDate>Wed, 17 Jun 2020 11:12:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-poisson-solver-boundary-condtion-problem/m-p/1186414#M29610</guid>
      <dc:creator>cavaiola__mattia</dc:creator>
      <dc:date>2020-06-17T11:12:25Z</dc:date>
    </item>
    <item>
      <title>I am trying to troubleshoot</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-poisson-solver-boundary-condtion-problem/m-p/1186415#M29611</link>
      <description>&lt;P&gt;I am trying to troubleshoot this issue, and it would be helpful if you would state the mathematical problem being solved. Poisson equation in 3D box, with periodic boundary conditions, source term (RHS) specified -- this part I see. Can I take it that RHS = uniform, say 1.0, or does it have to have some specified spatial distribution?&lt;/P&gt;</description>
      <pubDate>Thu, 18 Jun 2020 12:51:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-poisson-solver-boundary-condtion-problem/m-p/1186415#M29611</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2020-06-18T12:51:51Z</dc:date>
    </item>
    <item>
      <title>This is a part of code to</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-poisson-solver-boundary-condtion-problem/m-p/1186416#M29612</link>
      <description>&lt;P&gt;This is a part of code to solve the incompressible Navier-Stokes equations.&amp;nbsp;I need to solve the Pressure Poisson equation, where the right-hand side is:&lt;/P&gt;&lt;P&gt;rhs= 1/dt*(div(u*)). Then in general it is not uniform.&lt;/P&gt;</description>
      <pubDate>Thu, 18 Jun 2020 13:35:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-poisson-solver-boundary-condtion-problem/m-p/1186416#M29612</guid>
      <dc:creator>cavaiola__mattia</dc:creator>
      <dc:date>2020-06-18T13:35:26Z</dc:date>
    </item>
    <item>
      <title>Thanks for answering my query</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-poisson-solver-boundary-condtion-problem/m-p/1186417#M29613</link>
      <description>&lt;P&gt;Thanks for answering my query.&lt;/P&gt;</description>
      <pubDate>Thu, 18 Jun 2020 16:09:24 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-poisson-solver-boundary-condtion-problem/m-p/1186417#M29613</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2020-06-18T16:09:24Z</dc:date>
    </item>
    <item>
      <title>Re: mkl poisson solver, boundary condtion problem</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-poisson-solver-boundary-condtion-problem/m-p/1188211#M29649</link>
      <description>&lt;P&gt;Hello again,&lt;/P&gt;
&lt;P&gt;(somehow my previous reply has not been published so I repeat it)&lt;/P&gt;
&lt;P&gt;I've looked at the issue. Most likely it is a documentation bug, description of the ipar array is incorrect. We're going to&amp;nbsp; check it all carefully and fix it.&lt;/P&gt;
&lt;P&gt;At the doc page&amp;nbsp;&lt;A href="https://software.intel.com/content/www/us/en/develop/documentation/mkl-developer-reference-fortran/top/partial-differential-equations-support/fast-poisson-solver-routines/common-parameters-for-the-poisson-solver/ipar.html" target="_blank"&gt;https://software.intel.com/content/www/us/en/develop/documentation/mkl-developer-reference-fortran/top/partial-differential-equations-support/fast-poisson-solver-routines/common-parameters-for-the-poisson-solver/ipar.html&lt;/A&gt;&amp;nbsp;(notice, it is for C)&amp;nbsp;&lt;SPAN style="font-family: inherit;"&gt;it is said that ipar[15]-[16] are unused and ipar[4]-ipar[9] descibed the boundary conditions. However, it should say instead that ipar[4]-ipar[5] are unused, and shift the definitions of ipar[4]-ipar[14] two items below, so the BC are described in ipar[6]-ipar[11]. In Fortran, hence, you should see BC in ipar(7)-ipar(12) and I believe in your case you will see all 2's there.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: inherit;"&gt;As for the warning, as I said earlier, it comes from the fact that the poblem is degenerate and I believe that this behavior is correct.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: inherit;"&gt;Hope this helps.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: inherit;"&gt;Best,&lt;BR /&gt;Kirill&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 30 Jun 2020 02:53:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-poisson-solver-boundary-condtion-problem/m-p/1188211#M29649</guid>
      <dc:creator>Kirill_V_Intel</dc:creator>
      <dc:date>2020-06-30T02:53:59Z</dc:date>
    </item>
  </channel>
</rss>

