Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "outputFilterOutputControl.H"
00027
00028
00029
00030 template<>
00031 const char* Foam::NamedEnum
00032 <
00033 Foam::outputFilterOutputControl::outputControls,
00034 2
00035 >::names[] =
00036 {
00037 "timeStep",
00038 "outputTime"
00039 };
00040
00041 const Foam::NamedEnum<Foam::outputFilterOutputControl::outputControls, 2>
00042 Foam::outputFilterOutputControl::outputControlNames_;
00043
00044
00045
00046
00047 Foam::outputFilterOutputControl::outputFilterOutputControl
00048 (
00049 const Time& t,
00050 const dictionary& dict
00051 )
00052 :
00053 time_(t),
00054 outputControl_(ocTimeStep),
00055 outputInterval_(0)
00056 {
00057 read(dict);
00058 }
00059
00060
00061
00062
00063 Foam::outputFilterOutputControl::~outputFilterOutputControl()
00064 {}
00065
00066
00067
00068
00069 void Foam::outputFilterOutputControl::read(const dictionary& dict)
00070 {
00071 outputControl_ = outputControlNames_.read(dict.lookup("outputControl"));
00072
00073 switch (outputControl_)
00074 {
00075 case ocTimeStep:
00076 {
00077 dict.lookup("outputInterval") >> outputInterval_;
00078 }
00079 default:
00080 {
00081
00082 }
00083 }
00084 }
00085
00086
00087 bool Foam::outputFilterOutputControl::output() const
00088 {
00089 switch (outputControl_)
00090 {
00091 case ocTimeStep:
00092 {
00093 return
00094 (
00095 (outputInterval_ <= 1)
00096 || !(time_.timeIndex() % outputInterval_)
00097 );
00098 break;
00099 }
00100 case ocOutputTime:
00101 {
00102 return time_.outputTime();
00103 break;
00104 }
00105 default:
00106 {
00107 FatalErrorIn("bool Foam::outputFilterOutputControl::output()")
00108 << "Unknown output control: "
00109 << outputControlNames_[outputControl_] << nl
00110 << abort(FatalError);
00111 }
00112 }
00113
00114 return false;
00115 }
00116
00117
00118