Lucas,
Is there any way to initialize a Simulation object (akin to the StepX objects
found in the tutorials) in a method and then return it via std::move()? Or,
barring that, is there a way to reinitialize an FESystem member variable to
have a different degree?
In the former case I run into the problem that both the DoFHandler and
SparseMatrix objects have no move constructor defined, and in the latter case
that FESystem has no `reinit` function nor any way (that I know of) of
reassigning the FESystem member variable to a new FESystem instance. Are there
fundamental reasons why these operations are not implemented, or is this just
an uncommon use case?
It's an uncommon case, and so nobody has implemented it. These sorts of large,
global objects are not generally created by factory functions, and so not
commonly copied or moved. The easy way around this in your case is to let the
factory function create a std::unique_ptr<Simulator<dim>> which you can move
without actually touching the Simulator object.
The same applies to FESystem objects.
Best
W.
--
------------------------------------------------------------------------
Wolfgang Bangerth email: [email protected]
www: http://www.math.colostate.edu/~bangerth/
--
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/1d65420c-3ae7-2737-a3c9-3fefe372f79d%40colostate.edu.