From: Robert <libmesh@ro...> - 2011-06-24 10:30:52
I was trying to build a TransientSystem<FEMSystem> and ran into some
trouble with the template instantiation: Because you seem to need
definition and declaration when building a new template specification, I
had to include transient_system.C into my source-file to get a
As this is a really bad solution, there either have to be typedefs for
all child classes of System or the implementation of TransientSystem
has to be moved to the header as well. The first solution would make the
instantiation while compiling the library and the second one would defer
it to compiling the user-code and give therefore more flexibility.
From: Robert <libmesh@ro...> - 2011-06-27 13:14:00
On Fri, Jun 24, 2011 at 10:35:18AM -0500, Roy Stogner wrote:
> On Fri, 24 Jun 2011, Robert wrote:
> > I was trying to build a TransientSystem<FEMSystem>
> Any reason why? FEMSystem already has a mechanism for transient
> solves, via the TimeSolver subclasses.
I actually want to build a TimeSolver class for a Newmark-style solver
(I have already a System based on FEMSystem for my problem, so I don't
wanted to use the NewmarkSystem) and needed therefore some more
variables. TransientSystem<> provides these together with the necessary
routines to localize/delocalize the values, so I used this.