KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
List of all members
Kratos::Controller Class Referenceabstract

The base class for all Controllers in Kratos. More...

#include <controller.h>

Inheritance diagram for Kratos::Controller:
Collaboration diagram for Kratos::Controller:

Public Member Functions

Type Definitions
 KRATOS_CLASS_POINTER_DEFINITION (Controller)
 Pointer definition of Controller. More...
 
Life Cycle
 Controller () noexcept=default
 Default constructor. More...
 
virtual ~Controller ()=default
 Destructor. More...
 
 Controller (Controller const &rOther)=default
 Copy constructor. More...
 
 Controller (Controller &&rOther) noexcept=default
 Move constructor. More...
 
Operators
Controlleroperator= (Controller const &rOther)=delete
 Assignment operator. More...
 
Operations
virtual Controller::Pointer Create (Model &rModel, Parameters ThisParameters) const =0
 This method creates an pointer of the controller. More...
 
virtual int Check () const
 Checks that input conditions are correct. More...
 
virtual bool Evaluate () const =0
 Using input data, returns bool. More...
 
virtual void Update ()
 Update the controller parameters. More...
 
virtual Parameters GetDefaultParameters () const
 This method provides the defaults parameters to avoid conflicts between the different constructors. More...
 
Input and output
virtual std::string Info () const
 Turn back information as a string. More...
 
virtual void PrintInfo (std::ostream &rOStream) const
 Print information about this object. More...
 
virtual void PrintData (std::ostream &rOStream) const
 Print object's data. More...
 

Detailed Description

The base class for all Controllers in Kratos.

Controller is the base class for all controllers and defines the interface for them. Each class must define their own Evaluate method. Controller parameters must be passed at construction time.

Author
Daniel Diez

Constructor & Destructor Documentation

◆ Controller() [1/3]

Kratos::Controller::Controller ( )
defaultnoexcept

Default constructor.

◆ ~Controller()

virtual Kratos::Controller::~Controller ( )
virtualdefault

Destructor.

◆ Controller() [2/3]

Kratos::Controller::Controller ( Controller const &  rOther)
default

Copy constructor.

◆ Controller() [3/3]

Kratos::Controller::Controller ( Controller &&  rOther)
defaultnoexcept

Move constructor.

Member Function Documentation

◆ Check()

virtual int Kratos::Controller::Check ( ) const
inlinevirtual

Checks that input conditions are correct.

Reimplemented in Kratos::OutputController.

◆ Create()

virtual Controller::Pointer Kratos::Controller::Create ( Model rModel,
Parameters  ThisParameters 
) const
pure virtual

This method creates an pointer of the controller.

We consider as input, a Model and a set of Parameters for the sake of generality

Warning
Must be overrided in controller implementation
Parameters
rModelThe model to be considered
ThisParametersThe configuration parameters

Implemented in Kratos::Python::ControllerTrampoline, and Kratos::OutputController.

◆ Evaluate()

virtual bool Kratos::Controller::Evaluate ( ) const
pure virtual

Using input data, returns bool.

Implemented in Kratos::Python::ControllerTrampoline, and Kratos::OutputController.

◆ GetDefaultParameters()

virtual Parameters Kratos::Controller::GetDefaultParameters ( ) const
inlinevirtual

This method provides the defaults parameters to avoid conflicts between the different constructors.

Reimplemented in Kratos::OutputController.

◆ Info()

virtual std::string Kratos::Controller::Info ( ) const
inlinevirtual

Turn back information as a string.

Reimplemented in Kratos::OutputController.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::Controller::KRATOS_CLASS_POINTER_DEFINITION ( Controller  )

Pointer definition of Controller.

◆ operator=()

Controller& Kratos::Controller::operator= ( Controller const &  rOther)
delete

Assignment operator.

◆ PrintData()

virtual void Kratos::Controller::PrintData ( std::ostream &  rOStream) const
inlinevirtual

Print object's data.

Reimplemented in Kratos::OutputController.

◆ PrintInfo()

virtual void Kratos::Controller::PrintInfo ( std::ostream &  rOStream) const
inlinevirtual

Print information about this object.

Reimplemented in Kratos::OutputController.

◆ Update()

virtual void Kratos::Controller::Update ( )
inlinevirtual

Update the controller parameters.

Reimplemented in Kratos::OutputController.


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