|
WarpX
|
This is a base class for defining a linear function class to use with WarpX implicit solvers. More...
#include <LinearFunction.H>
Public Types | |
| using | RT = typename T::value_type |
Public Member Functions | |
| LinearFunction ()=default | |
| default constructor | |
| virtual | ~LinearFunction ()=default |
| default destructore | |
| LinearFunction (const LinearFunction &)=default | |
| LinearFunction & | operator= (const LinearFunction &)=default |
| LinearFunction (LinearFunction &&) noexcept=default | |
| LinearFunction & | operator= (LinearFunction &&) noexcept=default |
| virtual void | apply (T &a_dF, const T &a_dU)=0 |
| apply the linear function on a given vector of type T | |
| virtual void | precond (T &a_U, const T &a_X)=0 |
| apply the preconditioner on a given vector of type T | |
| virtual void | updatePreCondMat (const T &a_X)=0 |
| update preconditioner | |
| void | create (T &a_Z, const T &a_U) |
| create a new vector given a defined vector | |
| virtual T | makeVecLHS () const =0 |
| make LHS vector | |
| virtual T | makeVecRHS () const =0 |
| make RHS vector | |
| void | assign (T &a_Z, const T &a_U) |
| vector copy operation | |
| void | increment (T &a_Z, const T &a_U, RT a_scale) |
| vector scaled-increment operation | |
| void | scale (T &a_U, RT a_scale) |
| vector scaled operation | |
| void | linComb (T &a_U, RT a, const T &X, RT b, const T &Y) |
| compute linear combination | |
| void | setToZero (T &a_U) |
| set vector to zero | |
| void | setVal (T &a_U, RT a_val) |
| set vector to a scalar value | |
| RT | dotProduct (const T &a_X, const T &a_Y) |
| compute dot product of two vectors | |
| RT | norm2 (const T &a_U) |
| compute 2-norm of a vector | |
| virtual void | define (const T &, Ops *, const PreconditionerType &)=0 |
| define the linear function object | |
| virtual PreconditionerType | pcType () const =0 |
| returns the preconditioner type | |
This is a base class for defining a linear function class to use with WarpX implicit solvers.
| using LinearFunction< T, Ops >::RT = typename T::value_type |
|
default |
default constructor
|
virtualdefault |
default destructore
|
default |
|
defaultnoexcept |
|
pure virtual |
apply the linear function on a given vector of type T
Implemented in JacobianFunctionMF< T, Ops >, and JacobianFunctionMF< Vec, Ops >.
|
inline |
vector copy operation
|
inline |
create a new vector given a defined vector
|
pure virtual |
define the linear function object
Implemented in JacobianFunctionMF< T, Ops >, and JacobianFunctionMF< Vec, Ops >.
|
inline |
compute dot product of two vectors
|
inline |
vector scaled-increment operation
|
inline |
compute linear combination
|
pure virtual |
make LHS vector
Implemented in JacobianFunctionMF< T, Ops >, and JacobianFunctionMF< Vec, Ops >.
|
pure virtual |
make RHS vector
Implemented in JacobianFunctionMF< T, Ops >, and JacobianFunctionMF< Vec, Ops >.
|
inline |
compute 2-norm of a vector
|
default |
|
defaultnoexcept |
|
pure virtual |
returns the preconditioner type
Implemented in JacobianFunctionMF< T, Ops >, and JacobianFunctionMF< Vec, Ops >.
|
pure virtual |
apply the preconditioner on a given vector of type T
Implemented in JacobianFunctionMF< T, Ops >, and JacobianFunctionMF< Vec, Ops >.
|
inline |
vector scaled operation
|
inline |
set vector to zero
|
inline |
set vector to a scalar value
|
pure virtual |
update preconditioner
Implemented in JacobianFunctionMF< T, Ops >, and JacobianFunctionMF< Vec, Ops >.