1#ifndef included_AMP_FickSoretNonlinearFEOperator
2#define included_AMP_FickSoretNonlinearFEOperator
5#include "AMP/discretization/DOF_Manager.h"
6#include "AMP/mesh/Mesh.h"
7#include "AMP/mesh/MeshElement.h"
8#include "AMP/operators/diffusion/DiffusionNonlinearFEOperator.h"
9#include "AMP/operators/diffusion/FickSoretNonlinearFEOperatorParameters.h"
24 std::string
type()
const override {
return "FickSoretNonlinearFEOperator"; }
26 void reset( std::shared_ptr<const OperatorParameters> params )
override;
31 std::shared_ptr<OperatorParameters>
34 std::shared_ptr<OperatorParameters> params =
nullptr )
override
std::shared_ptr< Vector > shared_ptr
Shorthand for shared pointer to Vector.
std::shared_ptr< const Vector > const_shared_ptr
std::string type() const override
Return the name of the operator.
std::shared_ptr< AMP::LinearAlgebra::Variable > getOutputVariable() const override
Return the output variable.
std::shared_ptr< DiffusionNonlinearFEOperator > d_FickOperator
std::shared_ptr< AMP::LinearAlgebra::Variable > getInputVariable() const override
Return the input variable.
bool isValidVector(AMP::LinearAlgebra::Vector::const_shared_ptr u) override
checks input to apply operator for satisfaction of range conditions
virtual ~FickSoretNonlinearFEOperator()
void reset(std::shared_ptr< const OperatorParameters > params) override
std::shared_ptr< OperatorParameters > getParameters(const std::string &type, AMP::LinearAlgebra::Vector::const_shared_ptr u, std::shared_ptr< OperatorParameters > params=nullptr) override
std::shared_ptr< AMP::LinearAlgebra::Variable > d_OutputVariable
FickSoretNonlinearFEOperator(std::shared_ptr< const OperatorParameters > params)
std::shared_ptr< DiffusionNonlinearFEOperator > d_SoretOperator
void apply(AMP::LinearAlgebra::Vector::const_shared_ptr u, AMP::LinearAlgebra::Vector::shared_ptr f) override
std::shared_ptr< AMP::Operator::Operator > shared_ptr