From 536c4aa210f60e4623b84da84eb414550cc1fbf5 Mon Sep 17 00:00:00 2001
From: andy <andy>
Date: Mon, 13 Aug 2012 14:29:42 +0100
Subject: [PATCH] ENH: Updated function object documentation

---
 .../cloud/cloudInfo/cloudInfo.H               | 23 ++++++---
 .../functionObjects/doc/functionObjects.dox   | 50 +++++++++++++------
 2 files changed, 53 insertions(+), 20 deletions(-)

diff --git a/src/postProcessing/functionObjects/cloud/cloudInfo/cloudInfo.H b/src/postProcessing/functionObjects/cloud/cloudInfo/cloudInfo.H
index 4dd82e6b548..a2a9b799414 100644
--- a/src/postProcessing/functionObjects/cloud/cloudInfo/cloudInfo.H
+++ b/src/postProcessing/functionObjects/cloud/cloudInfo/cloudInfo.H
@@ -28,7 +28,7 @@ Group
     grpCloudFunctionObjects
 
 Description
-    This function object outputs lagrangian cloud information to a file.  The
+    This function object outputs Lagrangian cloud information to a file.  The
     current outputs include:
     - total current number of parcels
     - total current mass of parcels
@@ -37,13 +37,9 @@ Description
     \verbatim
     cloudInfo1
     {
-        // Type of functionObject
-        type cloudInfo;
-
-        // Where to load it from (if not already in solver)
+        type        cloudInfo;
         functionObjectLibs ("libcloudFunctionObjects.so");
 
-        // Clouds to process
         clouds
         (
             kinematicCloud1
@@ -52,6 +48,21 @@ Description
     }
     \endverbatim
 
+
+    \heading Function object usage
+
+    \table
+        Property     | Description             | Required    | Default value
+        type         | type name: cloudInfo    | yes         |
+        clouds       | list of clouds names to process |yes  |
+    \endtable
+
+    The output data of each cloud is written to a file named \<cloudName\>.dat
+
+SeeAlso
+    functionObject.H
+    OutputFilterFunctionObject.H
+
 SourceFiles
     cloudInfo.C
     IOcloudInfo.H
diff --git a/src/postProcessing/functionObjects/doc/functionObjects.dox b/src/postProcessing/functionObjects/doc/functionObjects.dox
index d6ae8946854..b3ea86de52a 100644
--- a/src/postProcessing/functionObjects/doc/functionObjects.dox
+++ b/src/postProcessing/functionObjects/doc/functionObjects.dox
@@ -27,9 +27,15 @@ License
 
 \section secFunctionObjects Function objects
 
-OpenFOAM includes a variety of \ref grpFunctionObjects that can be applied during
-the calculation, or afterwards using the execFlowFunctionObjects utility.  The
-range of uses include:
+OpenFOAM includes a collection of \ref grpFunctionObjects that offer users the
+opportunity to closely manage their computational analyses.  These objects can
+be applied to manipulate the workflow process, and provide a mechanism to
+extract predicted field and derived quantities at run-time.  Alternatively,
+the actions can be executed afterwards using the \c execFlowFunctionObjects
+utility.
+
+<br>
+The current range of features comprises of:
 - \ref grpCloudFunctionObjects
 - \ref grpFieldFunctionObjects
 - \ref grpForcesFunctionObjects
@@ -40,31 +46,47 @@ range of uses include:
 <br>
 \subsection secFieldFunctionObjectUsage Using function objects
 
-To employ function objects, additional entries are required in the
+Function objects are defined by additional entries in the
 $FOAM_CASE/system/controlDict input dictionary.  Each object is listed in a
-\c functions sub-dictionary entry, e.g.
+\c functions sub-dictionary entry, e.g. for `output' type objects:
 
 \verbatim
 functions
 {
-    myFunctionObject
+    myFunctionObject    // user-defined name of function object entry
     {
         type            functionObjectType;
         libs            ("libMyFunctionObjectlib.so");
-        active          yes;        // active by default
-        outputControl   outputTime; // output or timeStep
-        outputInterval  1;          // only necessary for outputControl=timeStep
+        region          defaultRegion;
+        enabled         yes;
+        timeStart       0;
+        timeEnd         10;
+        outputControl   outputTime;
+        outputInterval  1;
         ...
     }
 }
 \endverbatim
 
+Where:
+\table
+    Property | Description                           | Required | Default value
+    type     | type of function object               | yes      |
+    libs     | libraries containing object implementation | yes |
+    region   | name of region for multi-region cases | no       |
+    enabled  | on/off switch                         | no       | yes
+    timeStart| start time                            | no       |
+    timeEnd  | end time                              | no       | 
+    outputControl | when to output: either 'outputTime' or 'timeStep'| no | timeStep
+    outputInterval| steps between output when outputControl=timeStep | no | 1
+\endtable
+
 The sub-dictionary name \c myFunctionObject is chosen by the user, and is
-often used as the name of the output folder of any generated data.  The \c type
-entry defines the type of function object properties that follow.  Since the
-function objects are packaged into separate libraries, the user must tell the
-code where to find the function object implementation, identified using the
-\c libs entry.  
+typically used as the name of the output folder for any derived data.  The
+\c type entry defines the type of function object properties that follow.
+Since the function objects are packaged into separate libraries, the user must
+tell the code where to find the function object implementation, identified
+using the \c libs entry.  
 
 
 \*---------------------------------------------------------------------------*/
-- 
GitLab