MFEM
v3.0
|
Class for linear form - Vector with associated FE space and LFIntegrators. More...
#include <linearform.hpp>
Public Member Functions | |
LinearForm (FiniteElementSpace *f) | |
Creates linear form associated with FE space *f. More... | |
LinearForm () | |
FiniteElementSpace * | GetFES () |
void | AddDomainIntegrator (LinearFormIntegrator *lfi) |
Adds new Domain Integrator. More... | |
void | AddBoundaryIntegrator (LinearFormIntegrator *lfi) |
Adds new Boundary Integrator. More... | |
void | AddBdrFaceIntegrator (LinearFormIntegrator *lfi) |
Adds new Boundary Face Integrator. More... | |
void | Assemble () |
Assembles the linear form i.e. sums over all domain/bdr integrators. More... | |
void | ConformingAssemble (Vector &b) const |
Apply the conforming interpolation matrix and return 'b': b = P'*this. More... | |
void | ConformingAssemble () |
Apply the conforming interpolation matrix to 'this': this = P'*this. More... | |
void | Update () |
void | Update (FiniteElementSpace *f) |
void | Update (FiniteElementSpace *f, Vector &v, int v_offset) |
~LinearForm () | |
Destroys linear form. More... | |
Public Member Functions inherited from mfem::Vector | |
Vector () | |
Default constructor for Vector. Sets size = 0 and data = NULL. More... | |
Vector (const Vector &) | |
Copy constructor. More... | |
Vector (int s) | |
Creates vector of size s. More... | |
Vector (double *_data, int _size) | |
void | Load (std::istream **in, int np, int *dim) |
Reads a vector from multiple files. More... | |
void | Load (std::istream &in, int Size) |
Load a vector from an input stream. More... | |
void | Load (std::istream &in) |
Load a vector from an input stream. More... | |
void | SetSize (int s) |
Resizes the vector if the new size is different. More... | |
void | SetData (double *d) |
void | SetDataAndSize (double *d, int s) |
void | NewDataAndSize (double *d, int s) |
void | MakeDataOwner () |
void | Destroy () |
Destroy a vector. More... | |
int | Size () const |
Returns the size of the vector. More... | |
double * | GetData () const |
operator double * () | |
operator const double * () const | |
bool | OwnsData () const |
void | StealData (double **p) |
Changes the ownership of the data; after the call the Vector is empty. More... | |
double * | StealData () |
Changes the ownership of the data; after the call the Vector is empty. More... | |
double & | Elem (int i) |
Sets value in vector. Index i = 0 .. size-1. More... | |
const double & | Elem (int i) const |
Sets value in vector. Index i = 0 .. size-1. More... | |
double & | operator() (int i) |
Sets value in vector. Index i = 0 .. size-1. More... | |
const double & | operator() (int i) const |
Sets value in vector. Index i = 0 .. size-1. More... | |
double | operator* (const double *) const |
double | operator* (const Vector &v) const |
Return the inner-product. More... | |
Vector & | operator= (const double *v) |
Vector & | operator= (const Vector &v) |
Redefine '=' for vector = vector. More... | |
Vector & | operator= (double value) |
Redefine '=' for vector = constant. More... | |
Vector & | operator*= (double c) |
Vector & | operator/= (double c) |
Vector & | operator-= (double c) |
Vector & | operator-= (const Vector &v) |
Vector & | operator+= (const Vector &v) |
Vector & | Add (const double a, const Vector &Va) |
(*this) += a * Va More... | |
Vector & | Set (const double a, const Vector &x) |
(*this) = a * x More... | |
void | SetVector (const Vector &v, int offset) |
void | Neg () |
(*this) = -(*this) More... | |
void | median (const Vector &lo, const Vector &hi) |
v = median(v,lo,hi) entrywise. Implementation assumes lo <= hi. More... | |
void | GetSubVector (const Array< int > &dofs, Vector &elemvect) const |
void | GetSubVector (const Array< int > &dofs, double *elem_data) const |
void | SetSubVector (const Array< int > &dofs, const Vector &elemvect) |
void | SetSubVector (const Array< int > &dofs, double *elem_data) |
void | AddElementVector (const Array< int > &dofs, const Vector &elemvect) |
Add (element) subvector to the vector. More... | |
void | AddElementVector (const Array< int > &dofs, double *elem_data) |
void | AddElementVector (const Array< int > &dofs, const double a, const Vector &elemvect) |
void | Print (std::ostream &out=std::cout, int width=8) const |
Prints vector to stream out. More... | |
void | Print_HYPRE (std::ostream &out) const |
Prints vector to stream out in HYPRE_Vector format. More... | |
void | Randomize (int seed=0) |
Set random values in the vector. More... | |
double | Norml2 () const |
Returns the l2 norm of the vector. More... | |
double | Normlinf () const |
Returns the l_infinity norm of the vector. More... | |
double | Norml1 () const |
Returns the l_1 norm of the vector. More... | |
double | Normlp (double p) const |
Returns the l_p norm of the vector. More... | |
double | Max () const |
Returns the maximal element of the vector. More... | |
double | Min () const |
Returns the minimal element of the vector. More... | |
double | Sum () const |
Return the sum of the vector entries. More... | |
double | DistanceTo (const double *p) const |
Compute the Euclidian distance to another vector. More... | |
int | CheckFinite () const |
~Vector () | |
Destroys vector. More... | |
Additional Inherited Members | |
Protected Attributes inherited from mfem::Vector | |
int | size |
int | allocsize |
double * | data |
Class for linear form - Vector with associated FE space and LFIntegrators.
Definition at line 23 of file linearform.hpp.
|
inline |
Creates linear form associated with FE space *f.
Definition at line 40 of file linearform.hpp.
|
inline |
Definition at line 43 of file linearform.hpp.
mfem::LinearForm::~LinearForm | ( | ) |
Destroys linear form.
Definition at line 119 of file linearform.cpp.
void mfem::LinearForm::AddBdrFaceIntegrator | ( | LinearFormIntegrator * | lfi | ) |
Adds new Boundary Face Integrator.
Definition at line 29 of file linearform.cpp.
void mfem::LinearForm::AddBoundaryIntegrator | ( | LinearFormIntegrator * | lfi | ) |
Adds new Boundary Integrator.
Definition at line 24 of file linearform.cpp.
void mfem::LinearForm::AddDomainIntegrator | ( | LinearFormIntegrator * | lfi | ) |
Adds new Domain Integrator.
Definition at line 19 of file linearform.cpp.
void mfem::LinearForm::Assemble | ( | ) |
Assembles the linear form i.e. sums over all domain/bdr integrators.
Definition at line 34 of file linearform.cpp.
void mfem::LinearForm::ConformingAssemble | ( | Vector & | b | ) | const |
Apply the conforming interpolation matrix and return 'b': b = P'*this.
Definition at line 89 of file linearform.cpp.
void mfem::LinearForm::ConformingAssemble | ( | ) |
Apply the conforming interpolation matrix to 'this': this = P'*this.
Definition at line 103 of file linearform.cpp.
|
inline |
Definition at line 45 of file linearform.hpp.
|
inline |
Definition at line 65 of file linearform.hpp.
|
inline |
Definition at line 67 of file linearform.hpp.
void mfem::LinearForm::Update | ( | FiniteElementSpace * | f, |
Vector & | v, | ||
int | v_offset | ||
) |
Definition at line 113 of file linearform.cpp.