Sylvain is working on a GRINS-compatible physics module that is going to want to do some preprocessing at every assembly step to calculate some radiation terms.
I'm currently thinking that the most appropriate place for this is as a DifferentiablePhysics::preassembly() method, defaulting to doing nothing, which gets called near the beginning (after vectors are closed) of each FEMSystem::assembly(), and which can then be subclassed by middleware and user code. We could add a DifferentiablePhysics::postassembly() later if it's ever needed. Obvious pros: Maximum flexibility, for people like Sylvain whose requirements (another damn integro-differential equations!) don't fit well into the existing FEMSystem framework. Completely backwards API compatible with existing code. Obvious cons: The library can't get at the guts of such a coarse user-supplied function, so there's no way to automatically multithread or even MPI-parallelize the contents. Before I implement this, can anyone think of any issues (or any alternatives) I'm missing? --- Roy ------------------------------------------------------------------------------ CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk _______________________________________________ Libmesh-devel mailing list Libmesh-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-devel