As for the second question.
So the number of Dofs isn't the only predictor of how long an LU would
take.
Two things to note:
1) In 2D a single node is connected to 4 elements while in 3D a single node
is connected to 8 elements which means that an unknown will show up in more
equations which means that your matrix is less sparse now. This makes your
LU more expensive to compute.
2) Node numbering plays a role. I am not sure to what extent and I am not
sure if it is something that is done automatically by direct solvers.
Step-2 with it's Cuthill_McKee
<https://www.dealii.org/current/doxygen/deal.II/namespaceDoFRenumbering.html#ab938a690bf4e2adff191fe969b0f21d3>
is
something you might want to have a look at .
Best,
Abbas
On Wednesday, June 2, 2021 at 10:26:29 AM UTC-4 Simon wrote:
> Dear all,
>
> I use the SparseDirectUMFPACK solver for doing some post-processing steps.
> I also measure some cpu_times in my program in order to compare different
> methods regarding efficiency. For my question only the following three
> lines of code from my program are relevant:
> ---------------------------------------------------
> timer.enter_section("Initialize Direct Solver");
> sparse_direct_solver.initialize(global_matrix);
> timer.leave_subsection("Initialize Direct Solver");
> ---------------------------------------------------
> So I only measure the time which is neeed for executing the member
> function "initialize":
> ->Solving a scalar problem with *dim=2* and *263425 DoFs* the above call
> takes about 1.3 seconds, whereas solving the linear system takes only 0.8
> seconds.
> ->Solving the same scalar problem with *dim=3* and only *72369 DoFs* the
> above call takes about 4.4 seconds and solving the linear system about 3.2
> seconds.
>
> -My first question is what this function actually does since it takes
> longer than assembling and solving the system together?
> The documentation says: "This function does nothing. It is only here to
> provide a interface consistent with other sparse direct solvers."
> By having a look in the function body I´ve seen that this function
> acutally does nothing, i.e. the function body is empty.
>
> -My second question is why for my dim=3 case the function call takes much
> longer as in the dim=2 case? In the latter I have much more DoFs.
> My guess was that the number of DoFs is the essential quantity but this is
> obviously not the case.
>
> Any input would be greatly appreciated!
>
> Best
> Simon
>
>
--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see
https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/dealii/e35b5222-a735-4678-8418-4f5d72d76627n%40googlegroups.com.