Panzer: access to field managers
Created by: rppawlo
@trilinos/panzer @eric-c-cyr Currently there is no clean way in the AssemblyEngine object to change/redirect MDField memory in between the workset evaluations. We have worked around this in a couple of ways in application codes. With some minor changes to panzer, we could make this operation easier to implement.
Options:
- Creating a field with memory for all worksets and then writing evaluators that use a workset index. field(workset_index,cell,point). Just need to add a workset index to the Workset object if it is not already there.
- Storing a vector of mdfields (one per workset) and using a setUnmanagedField() on the field manager. The AssemblyEngine hides the loops over worksets. We would have to allow users to inject calls within the assembly engine (probably via an observer or expanding the Evaluator interface) to allow for this.