IFEM  90A354
GlbNorm.h
Go to the documentation of this file.
1 // $Id$
2 //==============================================================================
12 //==============================================================================
13 
14 #ifndef _GLB_NORM_H
15 #define _GLB_NORM_H
16 
17 #include "GlobalIntegral.h"
18 #include "MatVec.h"
19 #include "ASMenums.h"
20 
21 
28 class GlbNorm : public GlobalIntegral
29 {
30 public:
34  explicit GlbNorm(Vectors& v, ASM::FinalNormOp op = ASM::NONE);
36  virtual ~GlbNorm();
37 
41  virtual bool assemble(const LocalIntegral* elmObj, int elmId = 0);
42 
44  virtual bool threadSafe() const { return delAss; }
46  void delayAssembly() { delAss = true; }
47 
48 private:
50  void applyFinalOp(double& value) const;
51 
54  bool delAss;
55 };
56 
57 #endif
Various enums for assembly scope.
Abstract interface for classes representing integrated quantities.
Global algebraic operations on index 1-based matrices and vectors.
std::vector< Vector > Vectors
An array of real-valued vectors with algebraic operations.
Definition: MatVec.h:37
Class representing integrated global norms.
Definition: GlbNorm.h:29
void applyFinalOp(double &value) const
Applies the operation myOp on the given value.
Definition: GlbNorm.C:61
GlbNorm(Vectors &v, ASM::FinalNormOp op=ASM::NONE)
The constructor initializes a reference to the global norm vector.
Definition: GlbNorm.C:19
virtual bool assemble(const LocalIntegral *elmObj, int elmId=0)
Adds element norm quantities into the global norm object.
Definition: GlbNorm.C:33
void delayAssembly()
Flags that the element values are assembled in the final stage.
Definition: GlbNorm.h:46
bool delAss
If true, element assembly is delayed.
Definition: GlbNorm.h:54
virtual ~GlbNorm()
The destructor applies the operation myOp on myVals.
Definition: GlbNorm.C:25
Vectors & myVals
Reference to a vector of global norm values.
Definition: GlbNorm.h:52
virtual bool threadSafe() const
Returns true if all elements can be assembled in parallel.
Definition: GlbNorm.h:44
ASM::FinalNormOp myOp
Operation to be performed on summed values.
Definition: GlbNorm.h:53
Abstract base class representing a system level integrated quantity.
Definition: GlobalIntegral.h:29
Abstract base class representing an element level integrated quantity.
Definition: LocalIntegral.h:25
FinalNormOp
Operations to be applied after summing norm element contributions.
Definition: ASMenums.h:35