2#ifndef included_AMP_SubchannelTwoEqNonlinearOperator
3#define included_AMP_SubchannelTwoEqNonlinearOperator
5#include "AMP/operators/Operator.h"
6#include "AMP/operators/subchannel/SubchannelOperatorParameters.h"
7#include "AMP/operators/subchannel/SubchannelPhysicsModel.h"
20 typedef std::unique_ptr<AMP::Mesh::MeshElement>
ElementPtr;
29 std::string
type()
const override {
return "SubchannelTwoEqNonlinearOperator"; }
39 void reset( std::shared_ptr<const OperatorParameters> params )
override;
73 std::shared_ptr<OperatorParameters>
76 std::shared_ptr<const SubchannelOperatorParameters>
d_params;
117 std::vector<std::vector<ElementPtr>>
std::shared_ptr< Vector > shared_ptr
Shorthand for shared pointer to Vector.
std::shared_ptr< const Vector > const_shared_ptr
std::shared_ptr< AMP::Operator::Operator > shared_ptr
std::vector< double > d_z
std::shared_ptr< AMP::LinearAlgebra::Variable > d_outVariable
double getInletTemperature()
Get the Inlet Temperature [K].
std::shared_ptr< OperatorParameters > getJacobianParameters(AMP::LinearAlgebra::Vector::const_shared_ptr u) override
Gets parameters from nonlinear operator for use in linear operator.
std::shared_ptr< SubchannelPhysicsModel > getSubchannelPhysicsModel()
Get the element physics model.
std::vector< double > d_x
std::shared_ptr< const SubchannelOperatorParameters > d_params
std::shared_ptr< AMP::LinearAlgebra::Variable > getOutputVariable() const override
Return the output variable.
std::shared_ptr< AMP::LinearAlgebra::Vector > d_cladTemperature
std::vector< bool > d_ownSubChannel
int getSubchannelIndex(double x, double y)
SubchannelTwoEqNonlinearOperator(std::shared_ptr< const OperatorParameters > params)
Constructor.
std::vector< double > d_rodFraction
std::vector< double > d_zMaxGrid
std::string d_frictionModel
void reset(std::shared_ptr< const OperatorParameters > params) override
std::string type() const override
Return the name of the operator.
std::vector< double > d_rodDiameter
void setVector(AMP::LinearAlgebra::Vector::shared_ptr frozenVec)
std::vector< double > d_lossGrid
std::vector< std::vector< ElementPtr > > d_subchannelFace
virtual ~SubchannelTwoEqNonlinearOperator()
Destructor.
std::unique_ptr< AMP::Mesh::MeshElement > ElementPtr
void apply(AMP::LinearAlgebra::Vector::const_shared_ptr u, AMP::LinearAlgebra::Vector::shared_ptr f) override
std::vector< double > d_zMinGrid
double getOutletPressure()
Get the Outlet Pressure [Pa].
auto getParams()
Get the current operator parameters.
std::vector< double > d_y
std::vector< double > d_channelDiam
std::vector< double > d_channelMass
std::vector< double > d_channelArea
std::shared_ptr< AMP::LinearAlgebra::Variable > getInputVariable() const override
Return the input variable.
std::vector< std::vector< ElementPtr > > d_subchannelElem
std::shared_ptr< AMP::LinearAlgebra::Variable > d_inpVariable
std::shared_ptr< SubchannelPhysicsModel > d_subchannelPhysicsModel