www.mooseframework.org
ExternalProblem.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "FEProblemBase.h"
13 
15 {
16 public:
18 
20 
21  enum class Direction : unsigned char
22  {
25  };
26 
30  virtual void solve(unsigned int nl_sys_num = 0) override final;
31 
36  virtual void externalSolve() = 0;
37 
41  virtual void syncSolutions(Direction direction) = 0;
42 
48  virtual void addExternalVariables() {}
49 };
static InputParameters validParams()
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
virtual void addExternalVariables()
Method called to add AuxVariables to the simulation.
virtual void syncSolutions(Direction direction)=0
Method to transfer data to/from the external application to the associated transfer mesh...
virtual void solve(unsigned int nl_sys_num=0) override final
Solve is implemented to providing syncing to/from the "transfer" mesh.
const InputParameters & parameters() const
Get the parameters of the object.
ExternalProblem(const InputParameters &parameters)
virtual void externalSolve()=0
New interface for solving an External problem.