Hi Martin,

>> Well, if the boundary conditions change in every time step, I don't
>> think ConstraintMatrix is very efficient: One would need to hold a
>> ConstraintMatrix with other constraints (e.g. hanging nodes), copy that
>> over to the actual constraint matrix _in every time step_, insert the
>> boundary conditions, and then close that constraint matrix.

If the inhomogeneous part of the constraint is the only part that
changes after each time step then I found that the method
set_inhomogeneity (const unsigned int line, const double value) can be
called even when the ConstraintMatrix is closed. This saves the
expense of closing the constraint matrix each time step. (Admittedly I
am using older versions of the library currently so this might have
changed recently.) The user still requires the line number of the
constraint to update which they might not have if they called
VectorTools::interpolate_boundary_values to create the original
constraints.

Hopefully this behavior hasn't been changed because I found it useful!

Cheers,
Michael

On Wed, Jan 12, 2011 at 4:39 PM, Wolfgang Bangerth
<[email protected]> wrote:
>
>> For non-time-dependent problems I would simply use
>> apply_boundary_conditions to get the right-hand-side contributions. Is
>> there any way to do this efficiently for N_T (number of time-steps)
>> boundary conditions?
>
> In addition to all the other advice, you can compare with how step-23 does
> this.
>
> Best
>  W.
>
> -------------------------------------------------------------------------
> Wolfgang Bangerth                email:            [email protected]
>                                 www: http://www.math.tamu.edu/~bangerth/
> _______________________________________________
> dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii
>
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to