ug4
|
matrix operator based on the assembling of a problem More...
#include <assembled_linear_operator.h>
Public Types | |
typedef TAlgebra | algebra_type |
Type of Algebra. More... | |
typedef MatrixOperator< matrix_type, vector_type > | base_type |
Type of base class. More... | |
typedef TAlgebra::matrix_type | matrix_type |
Type of Matrix. More... | |
typedef TAlgebra::vector_type | vector_type |
Type of Vector. More... | |
Public Types inherited from ug::MatrixOperator< TAlgebra::matrix_type, TAlgebra::vector_type > | |
typedef TAlgebra::vector_type | codomain_function_type |
typedef TAlgebra::vector_type | domain_function_type |
typedef TAlgebra::matrix_type | matrix_type |
Public Types inherited from ug::ILinearOperator< TAlgebra::vector_type, TAlgebra::vector_type > | |
typedef TAlgebra::vector_type | codomain_function_type |
Range space. More... | |
typedef TAlgebra::vector_type | domain_function_type |
Domain space. More... | |
Public Types inherited from ug::IOperator< X, Y > | |
typedef Y | codomain_function_type |
Range space. More... | |
typedef X | domain_function_type |
Domain space. More... | |
Public Member Functions | |
virtual void | apply (vector_type &d, const vector_type &c) |
compute d = J(u)*c (here, J(u) is a Matrix) More... | |
virtual void | apply_sub (vector_type &d, const vector_type &c) |
Compute d := d - J(u)*c. More... | |
AssembledLinearOperator () | |
Default Constructor. More... | |
AssembledLinearOperator (SmartPtr< IAssemble< TAlgebra > > ass) | |
Constructor. More... | |
AssembledLinearOperator (SmartPtr< IAssemble< TAlgebra > > ass, const GridLevel &gl) | |
Constructor. More... | |
SmartPtr< IAssemble< TAlgebra > > | discretization () |
returns the discretization to be used More... | |
virtual void | init () |
initialize the operator More... | |
virtual void | init (const vector_type &u) |
initializes the operator that may depend on the current solution More... | |
void | init_op_and_rhs (vector_type &b) |
initializes the operator and assembles the passed rhs vector More... | |
const GridLevel & | level () const |
returns the level More... | |
void | set_dirichlet_values (vector_type &u) |
Set Dirichlet values. More... | |
void | set_discretization (SmartPtr< IAssemble< TAlgebra > > ass) |
sets the discretization to be used More... | |
void | set_level (const GridLevel &gl) |
sets the level used for assembling More... | |
virtual | ~AssembledLinearOperator () |
Destructor. More... | |
Public Member Functions inherited from ug::MatrixOperator< TAlgebra::matrix_type, TAlgebra::vector_type > | |
virtual TAlgebra::matrix_type & | get_matrix () |
Public Member Functions inherited from ug::ILinearOperator< TAlgebra::vector_type, TAlgebra::vector_type > | |
virtual void | prepare (TAlgebra::vector_type &u) |
default implementation for IOperator interface More... | |
virtual | ~ILinearOperator () |
virtual destructor More... | |
Public Member Functions inherited from ug::IOperator< X, Y > | |
virtual void | apply (Y &d, const X &u)=0 |
computes the nonlinear mapping d := N(u) More... | |
virtual void | prepare (X &u)=0 |
prepares domain and codomain functions for application More... | |
virtual | ~IOperator () |
virtual destructor More... | |
Protected Attributes | |
GridLevel | m_gridLevel |
SmartPtr< IAssemble< TAlgebra > > | m_spAss |
matrix operator based on the assembling of a problem
This operator implements the MatrixOperator interface, thus is basically a matrix that can be applied to vectors. In addition the class allows to set an IAssemble object and an the GridLevel. Invoking the init method the matrix is created using the IAssemble routine on the given GridLevel.
TAlgebra | algebra type |
typedef TAlgebra ug::AssembledLinearOperator< TAlgebra >::algebra_type |
Type of Algebra.
typedef MatrixOperator<matrix_type,vector_type> ug::AssembledLinearOperator< TAlgebra >::base_type |
Type of base class.
typedef TAlgebra::matrix_type ug::AssembledLinearOperator< TAlgebra >::matrix_type |
Type of Matrix.
typedef TAlgebra::vector_type ug::AssembledLinearOperator< TAlgebra >::vector_type |
Type of Vector.
|
inline |
Default Constructor.
|
inline |
Constructor.
|
inline |
Constructor.
|
inlinevirtual |
Destructor.
|
virtual |
compute d = J(u)*c (here, J(u) is a Matrix)
Reimplemented from ug::MatrixOperator< TAlgebra::matrix_type, TAlgebra::vector_type >.
References num_cols(), num_rows(), ug::PST_CONSISTENT, and UG_THROW.
|
virtual |
Compute d := d - J(u)*c.
Reimplemented from ug::MatrixOperator< TAlgebra::matrix_type, TAlgebra::vector_type >.
References num_cols(), num_rows(), ug::PST_ADDITIVE, ug::PST_CONSISTENT, and UG_THROW.
|
inline |
returns the discretization to be used
References ug::AssembledLinearOperator< TAlgebra >::m_spAss.
|
virtual |
initialize the operator
Reimplemented from ug::MatrixOperator< TAlgebra::matrix_type, TAlgebra::vector_type >.
References UG_CATCH_THROW, and UG_THROW.
|
virtual |
initializes the operator that may depend on the current solution
Reimplemented from ug::MatrixOperator< TAlgebra::matrix_type, TAlgebra::vector_type >.
References UG_CATCH_THROW, and UG_THROW.
void ug::AssembledLinearOperator< TAlgebra >::init_op_and_rhs | ( | vector_type & | b | ) |
initializes the operator and assembles the passed rhs vector
References UG_CATCH_THROW, and UG_THROW.
Referenced by ug::AssembleLinearOperatorRhsAndSolution().
|
inline |
returns the level
References ug::AssembledLinearOperator< TAlgebra >::m_gridLevel.
void ug::AssembledLinearOperator< TAlgebra >::set_dirichlet_values | ( | vector_type & | u | ) |
Set Dirichlet values.
References UG_CATCH_THROW, and UG_THROW.
Referenced by ug::AssembleLinearOperatorRhsAndSolution().
|
inline |
sets the discretization to be used
References ug::AssembledLinearOperator< TAlgebra >::m_spAss.
|
inline |
sets the level used for assembling
References ug::AssembledLinearOperator< TAlgebra >::m_gridLevel.
|
protected |
|
protected |