Hi Timo and Wolfgang
I wrapped up my A preconditioner with an inner CG solver (I am using IMEX
scheme which moves the convection term to the RHS so A is symmetric) but
the SparseILU still seems not to work. I attached my code here, if you
could take a look, it is very easy to reproduce the issue:
Jie,
Looks like the direct solver is the best choice except for multigrid. The size
of problem will certainly be limited on a single machine because of the memory
usage. But what if I parallelize my code using distributed-memory? Does dealii
have a parallel version of direct solver?
There i
Hiro,
I don't know the answer (and I don't know whether there are enough people with
Macs using ASPECT), so let me redirect you further to the deal.II mailing list
(CC:ed).
If you're not subscribed to the deal.II mailing list, you should be able to
find answers on the online google group for
On 11/06/2017 04:20 AM, Felix wrote:
The above code is correct. Tethex works fine if the values in your
"iso.msh" are of type double. My used data is of type and
so I converted them in using the following code:
double d = (double) data[pos]; //data[pos] is of type unsigned char&
This
> I do not have an inner inner solve, I just use a single SparseILU
> initialized with system_matrix.block(0,0) to approximate its inverse. It is
> the trick used in step-22.
You might get SparseILU(0) to work with an inner solver like in
step-56. It might not be fast, but it should at least work.
Hi Timo
Thanks for your answer!
> Do you have an inner inner solve or do you just use a single SparseILU
> application?
I do not have an inner inner solve, I just use a single SparseILU
initialized with system_matrix.block(0,0) to approximate its inverse. It is
the trick used in step-22.
> I tried
> to use the same trick as in step-22, where an InnerPreconditioner was
> defined to switch between SparseDirectUMFPACK in 2D and SparseILU in 3D.
> However I found that SparseILU won't work even when in small 2D cases. To
> verify this I tried to replace the SparseDirectUMFPACK in step-5
Felix,
I am glad that you found the problem. It's good to know that Tethex works
correctly if you use double.
Best,
Bruno
On Nov 6, 2017 6:20 AM, "Felix" wrote:
The above code is correct. Tethex works fine if the values in your
"iso.msh" are of type double. My used data is of type and so
I c
The above code is correct. Tethex works fine if the values in your
"iso.msh" are of type double. My used data is of type and so
I converted them in using the following code:
double d = (double) data[pos];//data[pos] is of type unsigned char&
This lead to the error-prone behavior.