IFEM  90A354
Public Member Functions | Private Member Functions | Private Attributes | List of all members
GlbNorm Class Reference

Class representing integrated global norms. More...

#include <GlbNorm.h>

Inheritance diagram for GlbNorm:
Inheritance graph
[legend]
Collaboration diagram for GlbNorm:
Collaboration graph
[legend]

Public Member Functions

 GlbNorm (Vectors &v, ASM::FinalNormOp op=ASM::NONE)
 The constructor initializes a reference to the global norm vector. More...
 
virtual ~GlbNorm ()
 The destructor applies the operation myOp on myVals.
 
virtual bool assemble (const LocalIntegral *elmObj, int elmId=0)
 Adds element norm quantities into the global norm object. More...
 
virtual bool threadSafe () const
 Returns true if all elements can be assembled in parallel.
 
void delayAssembly ()
 Flags that the element values are assembled in the final stage.
 
- Public Member Functions inherited from GlobalIntegral
 GlobalIntegral ()
 The default constructor.
 
virtual ~GlobalIntegral ()
 Empty destructor.
 
virtual void initialize (char)
 Initializes the integrated quantity to zero.
 
virtual bool finalize (bool)
 Finalizes the integrated quantity after element assembly.
 
virtual bool haveContributions (size_t, const std::vector< Property > &) const
 Returns false if no contributions from a specified patch.
 

Private Member Functions

void applyFinalOp (double &value) const
 Applies the operation myOp on the given value.
 

Private Attributes

VectorsmyVals
 Reference to a vector of global norm values.
 
ASM::FinalNormOp myOp
 Operation to be performed on summed values.
 
bool delAss
 If true, element assembly is delayed.
 

Detailed Description

Class representing integrated global norms.

The class is essentially a vector of doubles, but is derived from GlobalIntegral such that it may be passed as argument to ASMbase::integrate.

Constructor & Destructor Documentation

◆ GlbNorm()

GlbNorm::GlbNorm ( Vectors v,
ASM::FinalNormOp  op = ASM::NONE 
)
explicit

The constructor initializes a reference to the global norm vector.

Parameters
[in]vVector of global norm quantities
[in]opOperation to be performed after accumulating element norms

References delAss.

Member Function Documentation

◆ assemble()

bool GlbNorm::assemble ( const LocalIntegral elmObj,
int  elmId = 0 
)
virtual

Adds element norm quantities into the global norm object.

Parameters
[in]elmObjPointer to the element norms to add into *this
[in]elmIdGlobal number of the element associated with *elmObj

Reimplemented from GlobalIntegral.

References applyFinalOp(), delAss, ElmNorm::externalStorage(), myVals, and ElmNorm::size().

Referenced by SIMbase::solutionNorms().


The documentation for this class was generated from the following files: