00001 00005 class FieldConst : public Field 00006 00007 { 00008 NUMT constvalue; 00009 00010 public: 00011 FieldConst (const char* name = NULL); 00012 FieldConst (NUMT value, const char* name = NULL); 00013 ~FieldConst () {} 00014 00015 virtual bool ok () const; 00016 virtual void minmax (NUMT& min, NUMT& max, GridWithPts* grid =NULL) const; 00017 00018 NUMT& value () { return constvalue; } 00019 NUMT value () const { return constvalue; } 00020 00021 virtual NUMT valuePt (const Ptv(real)& x, real t = DUMMY); 00022 virtual NUMT valueFEM (const FiniteElement& fe, real t = DUMMY); 00023 virtual NUMT valueNode (int node, real t = DUMMY) const; 00024 00025 virtual NUMT divergencePt (const Ptv(real)& x, real t = DUMMY); 00026 virtual NUMT divergenceFEM (const FiniteElement& fe, real t = DUMMY); 00027 virtual NUMT divergenceNode (int node, real t = DUMMY); 00028 00029 virtual Ptv(NUMT) derivativePt (const Ptv(real)& x, real t); 00030 virtual void derivativeFEM (Ptv(NUMT)& d, const FiniteElement& fe, 00031 real t = DUMMY); 00032 virtual void derivativeNode (Ptv(NUMT)&, int node, real t = DUMMY); 00033 00034 virtual void hessianPt (Ptv(NUMT)&, const Ptv(real)& x, real = DUMMY); 00035 virtual void hessianFEM (Ptv(NUMT)&, const FiniteElement& fe, real = DUMMY); 00036 virtual void hessianNode (Ptv(NUMT)&, int node, real = DUMMY); 00037 00038 virtual void fill (NUMT value); 00039 virtual void add (NUMT value); 00040 virtual void mult (NUMT value); 00041 virtual void apply (Func(NUMT) f); 00042 virtual void add (Field& field, int power, NUMT front_factor); 00043 00044 virtual void print (Os os) const; 00045 00046 virtual Field& scale (); 00047 virtual Field& unscale (); 00048 00049 00050 CLASS_INFO 00051 00052 VIRTUAL_CAST(FieldConst) 00053 }; 00054 00055