- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What is the accuracy of d_Helmholtz_3D? I would like to know what the residual error is after solving the equation.
Thanks.
Thanks.
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
d_Helmholtz_3D is the direct solver of matrix correspond of 7-point grid Helmholtz equation. So its provide accuracy based on floating operations.
With best regards,
Alexander Kalinkin
Link Copied
14 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
d_Helmholtz_3D is the direct solver of matrix correspond of 7-point grid Helmholtz equation. So its provide accuracy based on floating operations.
With best regards,
Alexander Kalinkin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
since it is double precision, does it mean the accuracy is 1E-16?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Not equal but about it.
With best regards,
Alexander Kalinkin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Alexander,
I checked the accuracy of d_Helmholtz_3D and it was much much larger than 1E-16. Since the solver uses a standard seven-point discretization, I verified the accuracy by the following code. (I have a uniform mesh for my problem.)
[cpp]for ( k=1; kGetTuple( i + j *NX + k *NX*NY);
phi_im1jk = Phi->GetTuple( (i-1) + j *NX + k *NX*NY);
phi_ip1jk = Phi->GetTuple( (i+1) + j *NX + k *NX*NY);
phi_ijm1k = Phi->GetTuple( i + (j-1)*NX + k *NX*NY);
phi_ijp1k = Phi->GetTuple( i + (j+1)*NX + k *NX*NY);
phi_ijkm1 = Phi->GetTuple( i + j *NX + (k-1)*NX*NY);
phi_ijkp1 = Phi->GetTuple( i + j *NX + (k+1)*NX*NY);
X_i = X->GetTuple( i );
X_im1 = X->GetTuple( i-1 );
Y_j = Y->GetTuple( j );
Y_jm1 = Y->GetTuple( j-1 );
Z_k = Z->GetTuple( k );
Z_km1 = Z->GetTuple( k-1 );
rhs= f->GetTuple( i + j*NX+ k*NX*NY);
res = ( phi_im1jk + phi_ip1jk - 2*phi_ijk)/pow( X_i - X_im1, 2 ) +
( phi_ijm1k + phi_ijp1k - 2*phi_ijk)/pow( Y_j - Y_jm1, 2 ) +
( phi_ijkm1 + phi_ijkp1 - 2*phi_ijk)/pow( Z_k - Z_km1, 2 ) +
rhs;
}
}
}[/cpp]
When I print res, the residual is about 1E-1. Is there something that I have to be careful when using the function? I need to have an accuracy about 1E-16. Please advise.
Thanks,
Ahmad
I checked the accuracy of d_Helmholtz_3D and it was much much larger than 1E-16. Since the solver uses a standard seven-point discretization, I verified the accuracy by the following code. (I have a uniform mesh for my problem.)
[cpp]for ( k=1; k
When I print res, the residual is about 1E-1. Is there something that I have to be careful when using the function? I need to have an accuracy about 1E-16. Please advise.
Thanks,
Ahmad
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Ahmad,
To verify it I need to have full example with rhs and boundary condition. Could you provide this example to me by e'mail or by private answer?
With best regards,
Alexander Kalinkin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Alexander,
I found a bug in my code which misled me to the see large residuals. I fixed it and the error now is about 1E-15.
Thanks,
Ahmad
I found a bug in my code which misled me to the see large residuals. I fixed it and the error now is about 1E-15.
Thanks,
Ahmad
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Ahmad,
Nice to hear it, feel free to ask any question about PL in particular and MKL in general.
With best regards,
Alexander Kalinkin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Alexander,
I have another question. The solver is for uniform mesh. Does this mean that it has to have dx=dy=dz? Or we can have dx!=dy!=dz (constant dx, dy, dz everywhere in the domain)?
Thanks,
Ahmad
I have another question. The solver is for uniform mesh. Does this mean that it has to have dx=dy=dz? Or we can have dx!=dy!=dz (constant dx, dy, dz everywhere in the domain)?
Thanks,
Ahmad
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Ahmad,
The uniform mesh mean that all mesh steps are equals in one direction, but mesh sizes for different dimension could be differ. For example hx=0.2, hy=0.5, hz=0.1.
With best regards,
Alexander Kalinkin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am writing a journal paper in which I have used d_Helmholtz. Regarding the 7-point grid Helmholtz equation, can I have the name of the method by which the system is solved?
Thanks,
Ahmad
Thanks,
Ahmad
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Ahmad,
The main information could be in paper prepared by us a several years ago so feel free to use it.
With best regards,
Alexander Kalinkin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks. You helped me a lot.
Best,
Ahmad
Best,
Ahmad
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Alexander,
I didn't find the method by which the library solves the system. Is it gradient bi-conjugate, multigrid, overrelaxation, or Fourier? I would appreciate it.
Thanks,
Ahmad
I didn't find the method by which the library solves the system. Is it gradient bi-conjugate, multigrid, overrelaxation, or Fourier? I would appreciate it.
Thanks,
Ahmad
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Ahmad,
Poisson library based on Fourier decomposition for elliptic problems with separable variables.
With best regards,
Alexander Kalinkin
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page