Oh I think I've found an explanation that multiple-time condensation is OK.
In the Constraints on degrees of freedom documentation.
On Thursday, September 28, 2017 at 7:30:27 PM UTC-5, Yiyang Zhang wrote:
>
> Hello, guys.
>
> I am doing a problem which is similar to the Sine-Gordon equation
> (Step-25). The program gets running correctly without AMR, which is the way
> of Step-25. I am using the total energy of the system as the primary
> indicator. However, when I include AMR, even only on the initial condition,
> things go wrong (total energy blows up).
>
> The initialization part looks like this (comment the for-loop if without
> AMR):
> make_mesh();
> setup_system();
> init();
> for (unsigned int init_refine = 0; init_refine < 5; ++init_refine)
> {
> refine_mesh();
> init();
> }
>
> I don't know exactly where is wrong. Maybe someone once had a similar
> problem, then please give me some ideas..
>
> Now I am thinking that if I implement the hanging node constraints
> correctly, since for a grid without AMR, there is no hanging nodes, while
> they are introduced in with AMR.
>
> Specifically, I am quite confused with the two functions: condense() and
> distribute(). Here are a few questions:
> 1) Do they do harm if I accidentally apply them twice, or apply them when
> they are not needed? for example,
> constraints.condense(matrix, vector);
> constraints.condense(matrix, vector);
> or
> constraints.distribute(vector);
> constraints.distribute(vector);
> 2) It seems condense() is only used when we have assembled a linear
> system, and prepare to solve it.
> constraints.condense(system_matrix, system_vector);
>
> Thank you!
>
>
>
--
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].
For more options, visit https://groups.google.com/d/optout.