Advanced Multi-Physics (AMP)
On-Line Documentation
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
AMP::Operator::FlowFrapconOperator Class Referenceabstract

#include <FlowFrapconOperator.h>

Inheritance diagram for AMP::Operator::FlowFrapconOperator:
Inheritance graph
[legend]

Public Types

typedef std::shared_ptr< AMP::Operator::Operatorshared_ptr
 

Public Member Functions

void apply (AMP::LinearAlgebra::Vector::const_shared_ptr u, AMP::LinearAlgebra::Vector::shared_ptr f) override
 
virtual void apply (std::shared_ptr< const AMP::LinearAlgebra::Vector > u, std::shared_ptr< AMP::LinearAlgebra::Vector > f)=0
 
std::shared_ptr< AMP::LinearAlgebra::VariablecreateInputVariable (const std::string &name, int varId=-1)
 
virtual std::shared_ptr< AMP::LinearAlgebra::VectorcreateInputVector () const
 Get a input vector ( For \(\mathbf{A(x)}\), \(\mathbf{x}\) is a input vector )
 
std::shared_ptr< AMP::LinearAlgebra::VariablecreateOutputVariable (const std::string &name, int varId=-1)
 
virtual std::shared_ptr< AMP::LinearAlgebra::VectorcreateOutputVector () const
 Get a left vector ( For \(\mathbf{y=A(x)}\), \(\mathbf{y}\) is an output vector )
 
 FlowFrapconOperator (std::shared_ptr< const OperatorParameters > params)
 
double getHeatCapacity (double T_b)
 
std::shared_ptr< AMP::LinearAlgebra::VariablegetInputVariable () const override
 Return the input variable.
 
AMP::Utilities::MemoryType getMemoryLocation () const
 
std::shared_ptr< AMP::Mesh::MeshgetMesh ()
 Return the mesh.
 
std::shared_ptr< const AMP::Mesh::MeshgetMesh () const
 Return the mesh.
 
std::shared_ptr< AMP::LinearAlgebra::VariablegetOutputVariable () const override
 Return the output variable.
 
virtual std::shared_ptr< OperatorParametersgetParameters (const std::string &type, std::shared_ptr< const AMP::LinearAlgebra::Vector > u, std::shared_ptr< OperatorParameters > params=nullptr)
 
AMP::LinearAlgebra::Vector::shared_ptr getVector ()
 
const autogetZLocations ()
 This member function returns the 1D locations stl vector.
 
virtual bool isValidVector (std::shared_ptr< const AMP::LinearAlgebra::Vector >)
 given a vector return whether it is valid or not
 
virtual void makeConsistent (std::shared_ptr< AMP::LinearAlgebra::Vector > vec)
 
virtual void reInitializeVector (std::shared_ptr< AMP::LinearAlgebra::Vector >)
 
void reset (std::shared_ptr< const OperatorParameters > params) override
 
virtual void residual (std::shared_ptr< const AMP::LinearAlgebra::Vector > f, std::shared_ptr< const AMP::LinearAlgebra::Vector > u, std::shared_ptr< AMP::LinearAlgebra::Vector > r)
 
std::shared_ptr< AMP::LinearAlgebra::VectorSelectorselectInputVector () const override
 Return the selector for input vectors.
 
std::shared_ptr< AMP::LinearAlgebra::VectorSelectorselectOutputVector () const override
 Return the selector for output vectors.
 
virtual void setDebugPrintInfoLevel (int level)
 
void setVector (AMP::LinearAlgebra::Vector::shared_ptr frozenVec)
 
void setZLocations (const std::vector< double > &zloc)
 
std::shared_ptr< AMP::LinearAlgebra::VectorsubsetInputVector (std::shared_ptr< AMP::LinearAlgebra::Vector > vec) const
 Subset input vector.
 
std::shared_ptr< const AMP::LinearAlgebra::VectorsubsetInputVector (std::shared_ptr< const AMP::LinearAlgebra::Vector > vec) const
 Subset input vector.
 
std::shared_ptr< AMP::LinearAlgebra::VectorsubsetOutputVector (std::shared_ptr< AMP::LinearAlgebra::Vector > vec) const
 Subset output vector.
 
std::shared_ptr< const AMP::LinearAlgebra::VectorsubsetOutputVector (std::shared_ptr< const AMP::LinearAlgebra::Vector > vec) const
 Subset output vector.
 
std::string type () const override
 Return the name of the operator.
 
virtual ~FlowFrapconOperator ()
 

Public Attributes

double Cp = 0
 Channel Diameter.
 
int d_boundaryId = 0
 
AMP::LinearAlgebra::Vector::shared_ptr d_cladVec
 vector to hold z locations *‍/
 
double d_De = 0
 
std::vector< unsigned intd_dofIds
 Number of points in z direction *‍/.
 
double d_G = 0
 Heat Capacity of Coolant.
 
std::shared_ptr< AMP::LinearAlgebra::Variabled_inpVariable
 Prandtl Number.
 
double d_K = 0
 Coolant Temp Tin.
 
int d_numpoints = 0
 
std::shared_ptr< AMP::LinearAlgebra::Variabled_outVariable
 
double d_Pr = 0
 Reynolds Number.
 
double d_Re = 0
 Coolant conductivity.
 
double d_Tin = 0
 Coolant Mass Flux.
 
std::vector< doublezPoints
 

Protected Member Functions

void getBackendFromInput (std::shared_ptr< AMP::Database > db)
 
std::shared_ptr< OperatorParametersgetJacobianParameters (AMP::LinearAlgebra::Vector::const_shared_ptr u) override
 
virtual std::shared_ptr< OperatorParametersgetJacobianParameters (std::shared_ptr< const AMP::LinearAlgebra::Vector >)
 
void setMemoryAndBackendParameters (std::shared_ptr< AMP::Database > db)
 

Protected Attributes

AMP::Utilities::Backend d_backend = AMP::Utilities::Backend::Serial
 
int d_iDebugPrintInfoLevel = 0
 
int d_iObject_id
 
AMP::Utilities::MemoryType d_memory_location = AMP::Utilities::MemoryType::none
 
std::shared_ptr< AMP::Mesh::Meshd_Mesh
 

Static Protected Attributes

static int d_iInstance_id
 

Detailed Description

A class to represent Frapcon Flow operator. This operator acts as a heat sink and should be used to compute the 1D flow temperature in the axial direction of the pellet/clad.

Definition at line 14 of file FlowFrapconOperator.h.

Member Typedef Documentation

◆ shared_ptr

Definition at line 29 of file Operator.h.

Constructor & Destructor Documentation

◆ FlowFrapconOperator()

AMP::Operator::FlowFrapconOperator::FlowFrapconOperator ( std::shared_ptr< const OperatorParameters params)
explicit

Constructor creates a simpleVariables for Input and Output. The reset is called to read the flow parameters.

◆ ~FlowFrapconOperator()

virtual AMP::Operator::FlowFrapconOperator::~FlowFrapconOperator ( )
inlinevirtual

Destructor

Definition at line 26 of file FlowFrapconOperator.h.

Member Function Documentation

◆ apply() [1/2]

void AMP::Operator::FlowFrapconOperator::apply ( AMP::LinearAlgebra::Vector::const_shared_ptr  u,
AMP::LinearAlgebra::Vector::shared_ptr  f 
)
override

For this operator we have an in-place apply.

Parameters
[in]uinput vector.
[out]foutput vector.

◆ apply() [2/2]

virtual void AMP::Operator::Operator::apply ( std::shared_ptr< const AMP::LinearAlgebra::Vector u,
std::shared_ptr< AMP::LinearAlgebra::Vector f 
)
pure virtualinherited

This base class can not give a meaningful definition of apply. See the derived classes for how they define apply. Each operator is free to define apply in a way that is appropriate for that operator.

Parameters
ushared pointer to const input vector u
fshared pointer to output vector storing result of applying this operator

Implemented in AMP::Operator::RadDifOp, AMP::Operator::RadDifOpPJac, AMP::Operator::FunctionOperator, AMP::Operator::MemorySpaceMigrationLinearOperator, and AMP::Operator::MemorySpaceMigrationOperator.

◆ createInputVariable()

std::shared_ptr< AMP::LinearAlgebra::Variable > AMP::Operator::FlowFrapconOperator::createInputVariable ( const std::string &  name,
int  varId = -1 
)
inline

Definition at line 49 of file FlowFrapconOperator.h.

References d_inpVariable.

◆ createInputVector()

virtual std::shared_ptr< AMP::LinearAlgebra::Vector > AMP::Operator::Operator::createInputVector ( ) const
virtualinherited

◆ createOutputVariable()

std::shared_ptr< AMP::LinearAlgebra::Variable > AMP::Operator::FlowFrapconOperator::createOutputVariable ( const std::string &  name,
int  varId = -1 
)
inline

Definition at line 56 of file FlowFrapconOperator.h.

References d_outVariable.

◆ createOutputVector()

virtual std::shared_ptr< AMP::LinearAlgebra::Vector > AMP::Operator::Operator::createOutputVector ( ) const
virtualinherited

Get a left vector ( For \(\mathbf{y=A(x)}\), \(\mathbf{y}\) is an output vector )

Returns
A newly created output vector

Reimplemented in AMP::Operator::IdentityOperator, AMP::Operator::LinearOperator, AMP::Operator::MemorySpaceMigrationLinearOperator, and AMP::Operator::MemorySpaceMigrationOperator.

◆ getBackendFromInput()

void AMP::Operator::Operator::getBackendFromInput ( std::shared_ptr< AMP::Database db)
protectedinherited

◆ getHeatCapacity()

double AMP::Operator::FlowFrapconOperator::getHeatCapacity ( double  T_b)
inline

Definition at line 89 of file FlowFrapconOperator.h.

◆ getInputVariable()

std::shared_ptr< AMP::LinearAlgebra::Variable > AMP::Operator::FlowFrapconOperator::getInputVariable ( ) const
inlineoverridevirtual

Return the input variable.

Reimplemented from AMP::Operator::Operator.

Definition at line 63 of file FlowFrapconOperator.h.

References d_inpVariable.

◆ getJacobianParameters() [1/2]

std::shared_ptr< OperatorParameters > AMP::Operator::FlowFrapconOperator::getJacobianParameters ( AMP::LinearAlgebra::Vector::const_shared_ptr  u)
overrideprotected

This function returns a parameter object that can be used to reset the corresponding FlowFrapconOperator operator.

◆ getJacobianParameters() [2/2]

virtual std::shared_ptr< OperatorParameters > AMP::Operator::Operator::getJacobianParameters ( std::shared_ptr< const AMP::LinearAlgebra::Vector )
inlineprotectedvirtualinherited

This function returns a OperatorParameters object constructed by the operator which contains parameters from which new Jacobian operators can be created. Returning a parameter object instead of an Operator itself is meant to give users more flexibility.

Definition at line 180 of file Operator.h.

◆ getMemoryLocation()

AMP::Utilities::MemoryType AMP::Operator::Operator::getMemoryLocation ( ) const
inlineinherited

Definition at line 89 of file Operator.h.

References AMP::Operator::Operator::d_memory_location.

◆ getMesh() [1/2]

std::shared_ptr< AMP::Mesh::Mesh > AMP::Operator::Operator::getMesh ( )
inlineinherited

Return the mesh.

Definition at line 149 of file Operator.h.

References AMP::Operator::Operator::d_Mesh.

◆ getMesh() [2/2]

std::shared_ptr< const AMP::Mesh::Mesh > AMP::Operator::Operator::getMesh ( ) const
inlineinherited

Return the mesh.

Definition at line 152 of file Operator.h.

References AMP::Operator::Operator::d_Mesh.

◆ getOutputVariable()

std::shared_ptr< AMP::LinearAlgebra::Variable > AMP::Operator::FlowFrapconOperator::getOutputVariable ( ) const
inlineoverridevirtual

Return the output variable.

Reimplemented from AMP::Operator::Operator.

Definition at line 68 of file FlowFrapconOperator.h.

References d_outVariable.

◆ getParameters()

virtual std::shared_ptr< OperatorParameters > AMP::Operator::Operator::getParameters ( const std::string &  type,
std::shared_ptr< const AMP::LinearAlgebra::Vector u,
std::shared_ptr< OperatorParameters params = nullptr 
)
virtualinherited

This function returns a OperatorParameters object constructed by the operator which contains parameters from which new operators can be created. Returning a parameter object instead of an Operator itself is meant to give users more flexibility. Examples of how this functionality might be used would be the construction of Jacobian, frozen Jacobian, preconditioner approximations to the Jacobian, adjoint operators etc

Parameters
typestd:string specifying type of return operator parameters being requested. Currently the valid option is Jacobian
uconst pointer to current solution vector
paramspointer to additional parameters that might be required to construct the return parameters

Reimplemented in AMP::Operator::IdentityOperator, AMP::Operator::MemorySpaceMigrationLinearOperator, and AMP::Operator::MemorySpaceMigrationOperator.

◆ getVector()

AMP::LinearAlgebra::Vector::shared_ptr AMP::Operator::FlowFrapconOperator::getVector ( )
inline

Definition at line 84 of file FlowFrapconOperator.h.

References d_cladVec.

◆ getZLocations()

const auto & AMP::Operator::FlowFrapconOperator::getZLocations ( )
inline

This member function returns the 1D locations stl vector.

Definition at line 87 of file FlowFrapconOperator.h.

References zPoints.

◆ isValidVector()

virtual bool AMP::Operator::Operator::isValidVector ( std::shared_ptr< const AMP::LinearAlgebra::Vector )
inlinevirtualinherited

◆ makeConsistent()

virtual void AMP::Operator::Operator::makeConsistent ( std::shared_ptr< AMP::LinearAlgebra::Vector vec)
virtualinherited

virtual interface used to make a vector consistent in an operator defined way. An example of where an operator is required to make a vector consistent is in the context of AMR where ghost values on coarse-fine interfaces are filled in an operator dependent way. The default implementation is to simply call the vector makeConsistent(SET)

Reimplemented in AMP::Operator::MemorySpaceMigrationLinearOperator, AMP::Operator::MemorySpaceMigrationOperator, and AMP::TimeIntegrator::TimeOperator.

◆ reInitializeVector()

virtual void AMP::Operator::Operator::reInitializeVector ( std::shared_ptr< AMP::LinearAlgebra::Vector )
inlinevirtualinherited

re-initialize a vector, e.g. after a regrid operation has happened. This is useful for example when numerical overshoots or undershoots have happened due to interpolation for example The default is a null op

Reimplemented in AMP::TimeIntegrator::TimeOperator, AMP::Operator::MemorySpaceMigrationLinearOperator, and AMP::Operator::MemorySpaceMigrationOperator.

Definition at line 167 of file Operator.h.

◆ reset()

void AMP::Operator::FlowFrapconOperator::reset ( std::shared_ptr< const OperatorParameters params)
overridevirtual

This function reads the entries of the database for the flow operator and can also be used to change the parameters if required.

Reimplemented from AMP::Operator::Operator.

◆ residual()

virtual void AMP::Operator::Operator::residual ( std::shared_ptr< const AMP::LinearAlgebra::Vector f,
std::shared_ptr< const AMP::LinearAlgebra::Vector u,
std::shared_ptr< AMP::LinearAlgebra::Vector r 
)
virtualinherited

Default base class implementation of the residual: f-L(u)

Parameters
fshared pointer to const vector rhs
ushared pointer to const vector u
rshared pointer to vector residual

Reimplemented in AMP::Solver::AMG::HasDeferConsistency< AMP::Operator::LinearOperator >, AMP::Operator::MemorySpaceMigrationLinearOperator, AMP::Operator::MemorySpaceMigrationOperator, AMP::TimeIntegrator::IDATimeOperator, and AMP::TimeIntegrator::TimeOperator.

◆ selectInputVector()

std::shared_ptr< AMP::LinearAlgebra::VectorSelector > AMP::Operator::FlowFrapconOperator::selectInputVector ( ) const
overridevirtual

Return the selector for input vectors.

Reimplemented from AMP::Operator::Operator.

◆ selectOutputVector()

std::shared_ptr< AMP::LinearAlgebra::VectorSelector > AMP::Operator::FlowFrapconOperator::selectOutputVector ( ) const
overridevirtual

Return the selector for output vectors.

Reimplemented from AMP::Operator::Operator.

◆ setDebugPrintInfoLevel()

virtual void AMP::Operator::Operator::setDebugPrintInfoLevel ( int  level)
inlinevirtualinherited

Specify level of diagnostic information printed during iterations.

Parameters
levelzero prints none or minimal information, higher numbers provide increasingly verbose debugging information.

Reimplemented in AMP::Operator::MemorySpaceMigrationLinearOperator, and AMP::Operator::MemorySpaceMigrationOperator.

Definition at line 97 of file Operator.h.

References AMP::Operator::Operator::d_iDebugPrintInfoLevel.

◆ setMemoryAndBackendParameters()

void AMP::Operator::Operator::setMemoryAndBackendParameters ( std::shared_ptr< AMP::Database db)
protectedinherited

◆ setVector()

void AMP::Operator::FlowFrapconOperator::setVector ( AMP::LinearAlgebra::Vector::shared_ptr  frozenVec)
inline

Definition at line 82 of file FlowFrapconOperator.h.

References d_cladVec.

◆ setZLocations()

void AMP::Operator::FlowFrapconOperator::setZLocations ( const std::vector< double > &  zloc)
inline
Parameters
[in]zlocis the location vector in z direction.

Definition at line 80 of file FlowFrapconOperator.h.

References zPoints.

◆ subsetInputVector() [1/2]

std::shared_ptr< AMP::LinearAlgebra::Vector > AMP::Operator::Operator::subsetInputVector ( std::shared_ptr< AMP::LinearAlgebra::Vector vec) const
inherited

Subset input vector.

◆ subsetInputVector() [2/2]

std::shared_ptr< const AMP::LinearAlgebra::Vector > AMP::Operator::Operator::subsetInputVector ( std::shared_ptr< const AMP::LinearAlgebra::Vector vec) const
inherited

Subset input vector.

◆ subsetOutputVector() [1/2]

std::shared_ptr< AMP::LinearAlgebra::Vector > AMP::Operator::Operator::subsetOutputVector ( std::shared_ptr< AMP::LinearAlgebra::Vector vec) const
inherited

Subset output vector.

◆ subsetOutputVector() [2/2]

std::shared_ptr< const AMP::LinearAlgebra::Vector > AMP::Operator::Operator::subsetOutputVector ( std::shared_ptr< const AMP::LinearAlgebra::Vector vec) const
inherited

Subset output vector.

◆ type()

std::string AMP::Operator::FlowFrapconOperator::type ( ) const
inlineoverridevirtual

Return the name of the operator.

Implements AMP::Operator::Operator.

Definition at line 28 of file FlowFrapconOperator.h.

Member Data Documentation

◆ Cp

double AMP::Operator::FlowFrapconOperator::Cp = 0

Channel Diameter.

Definition at line 114 of file FlowFrapconOperator.h.

◆ d_backend

AMP::Utilities::Backend AMP::Operator::Operator::d_backend = AMP::Utilities::Backend::Serial
protectedinherited

Definition at line 197 of file Operator.h.

◆ d_boundaryId

int AMP::Operator::FlowFrapconOperator::d_boundaryId = 0

Definition at line 108 of file FlowFrapconOperator.h.

◆ d_cladVec

AMP::LinearAlgebra::Vector::shared_ptr AMP::Operator::FlowFrapconOperator::d_cladVec

vector to hold z locations *‍/

Definition at line 112 of file FlowFrapconOperator.h.

Referenced by getVector(), and setVector().

◆ d_De

double AMP::Operator::FlowFrapconOperator::d_De = 0

Definition at line 113 of file FlowFrapconOperator.h.

◆ d_dofIds

std::vector<unsigned int> AMP::Operator::FlowFrapconOperator::d_dofIds

Number of points in z direction *‍/.

Definition at line 110 of file FlowFrapconOperator.h.

◆ d_G

double AMP::Operator::FlowFrapconOperator::d_G = 0

Heat Capacity of Coolant.

Definition at line 115 of file FlowFrapconOperator.h.

◆ d_iDebugPrintInfoLevel

int AMP::Operator::Operator::d_iDebugPrintInfoLevel = 0
protectedinherited

Definition at line 187 of file Operator.h.

Referenced by AMP::Operator::Operator::setDebugPrintInfoLevel().

◆ d_iInstance_id

int AMP::Operator::Operator::d_iInstance_id
staticprotectedinherited

Definition at line 191 of file Operator.h.

◆ d_inpVariable

std::shared_ptr<AMP::LinearAlgebra::Variable> AMP::Operator::FlowFrapconOperator::d_inpVariable

Prandtl Number.

Definition at line 120 of file FlowFrapconOperator.h.

Referenced by createInputVariable(), and getInputVariable().

◆ d_iObject_id

int AMP::Operator::Operator::d_iObject_id
protectedinherited

Definition at line 189 of file Operator.h.

◆ d_K

double AMP::Operator::FlowFrapconOperator::d_K = 0

Coolant Temp Tin.

Definition at line 117 of file FlowFrapconOperator.h.

◆ d_memory_location

AMP::Utilities::MemoryType AMP::Operator::Operator::d_memory_location = AMP::Utilities::MemoryType::none
protectedinherited

Definition at line 195 of file Operator.h.

Referenced by AMP::Operator::Operator::getMemoryLocation().

◆ d_Mesh

std::shared_ptr<AMP::Mesh::Mesh> AMP::Operator::Operator::d_Mesh
protectedinherited

◆ d_numpoints

int AMP::Operator::FlowFrapconOperator::d_numpoints = 0

Definition at line 109 of file FlowFrapconOperator.h.

◆ d_outVariable

std::shared_ptr<AMP::LinearAlgebra::Variable> AMP::Operator::FlowFrapconOperator::d_outVariable

Definition at line 121 of file FlowFrapconOperator.h.

Referenced by createOutputVariable(), and getOutputVariable().

◆ d_Pr

double AMP::Operator::FlowFrapconOperator::d_Pr = 0

Reynolds Number.

Definition at line 119 of file FlowFrapconOperator.h.

◆ d_Re

double AMP::Operator::FlowFrapconOperator::d_Re = 0

Coolant conductivity.

Definition at line 118 of file FlowFrapconOperator.h.

◆ d_Tin

double AMP::Operator::FlowFrapconOperator::d_Tin = 0

Coolant Mass Flux.

Definition at line 116 of file FlowFrapconOperator.h.

◆ zPoints

std::vector<double> AMP::Operator::FlowFrapconOperator::zPoints

Definition at line 111 of file FlowFrapconOperator.h.

Referenced by getZLocations(), and setZLocations().


The documentation for this class was generated from the following file:



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:44.
Comments on this page