From: Paul T. B. <ptb...@gm...> - 2012-09-19 21:43:21
|
Is there any reason DifferentiableQoI::postprocess() is pure virtual? For the case where the user relies on DiffSystem as inherited from DifferentiableQoI, the method gets overridden in FEMSystem anyway. For the attached DifferentiableQoI case, the method never actually gets called within the system AFAICT. Am I missing something? Since I can grab the stored qoi when it's assembled, I don't see the need for having to implement postprocess() for the attached DifferentiableQoI case. Thanks, Paul |
From: Roy S. <roy...@ic...> - 2012-09-19 21:59:50
|
On Wed, 19 Sep 2012, Paul T. Bauman wrote: > Is there any reason DifferentiableQoI::postprocess() is pure > virtual? For the case where the user relies on DiffSystem as > inherited from DifferentiableQoI, the method gets overridden in > FEMSystem anyway. For the attached DifferentiableQoI case, the > method never actually gets called within the system AFAICT. Am I > missing something? Since I can grab the stored qoi when it's > assembled, I don't see the need for having to implement > postprocess() for the attached DifferentiableQoI case. > Thanks, I'm actually not sure what I was thinking. I wanted to pull all the QoI-type functions out of DiffSystem... but honestly, postprocess() ought to be deprecated with implementation discouraged, not pure virtual with implementation required. It predates the QoI methods and its intended use can only be described as "calculate QoIs, but don't bother giving the library access to them so you can't do as many interesting things with them". I'd be fine stripping the postprocess() methods out of DifferentiableQoI entirely (restoring them to DiffSystem as necessary for backwards compatibility) then sticking a libmesh_deprecated() default implementation on the postprocess() methods in DiffSystem. --- Roy |
From: Paul T. B. <ptb...@gm...> - 2012-09-19 22:02:41
|
On Wed, Sep 19, 2012 at 4:59 PM, Roy Stogner <roy...@ic...>wrote: > > I'd be fine stripping the postprocess() methods out of > DifferentiableQoI entirely (restoring them to DiffSystem as necessary > for backwards compatibility) then sticking a libmesh_deprecated() > default implementation on the postprocess() methods in DiffSystem > Cool, I'll cook up a patch that does that. Thanks, Paul |
From: Roy S. <roy...@ic...> - 2012-09-20 00:25:28
|
On Wed, 19 Sep 2012, Paul T. Bauman wrote: > Patch attached. Patch made against r6062 and examples run in dbg > mode with --n_threads=2. OK for trunk? Looked great to me. Thanks, --- Roy |
From: Paul T. B. <ptb...@gm...> - 2012-09-20 00:29:27
|
On Wed, Sep 19, 2012 at 7:25 PM, Roy Stogner <roy...@ic...>wrote: > > Looked great to me. > r6063. Thanks! |