Merge branch 'feature-functionObjects' into 'develop'
Feature function objects Lots of updates migrated from internal development line ### Updated functionObjectFile Old code maintained a list of file pointers, and provided a clunky interface to output to file. Although OK for function objects that only created a single file, those that created multiple files were required to refer to each by an index and making it very easy to introduce errors. The new code simplifies the functionObjectFile class so that it provides helper functions to create and write to files, and no longer maintains a list of file pointers. Instead, each function object must create and take responsibility for all of the file streams that it requires. Changes propagated across dependencies: * fieldValues * forces/forceCoeffs * yPlus * fieldMinMax * residuals * regionSizeDistribution * fieldMinMax * cloudInfo ### Created new functionObjectState Previously, if function objects required to store data on disk to enable smooth restarts, e.g. fieldAverage, the object would need to provide the mechanism for reading/writing state information itself. This class abstracts out the reading/writing of state information in a straightforward manner, whereby an object can retrieve its own data, or retrieve e.g. the latest available data from another object (e.g. see fieldValueDelta). * fieldAverage * fieldMinMax * forces * forceCoeffs ### Created new runTimePostProcessing function object New function object to generate images at run-time, or in 'post-processing' mode via the execFlowFunctionObjects utility * Constant DataEntry - added construct from components * Set and surface writers updated to enable retrieval of filename of generated output * Additional changes to surface writers from internal line: + Ensight collate times option + Nastran output updated based on user feedback + new boundaryData output See merge request !5