https://mooseframework.inl.gov
Loading...
Searching...
No Matches
DiffusionPhysicsBase.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
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 "PhysicsBase.h"
14
15class ActionComponent;
16
17#define registerDiffusionPhysicsBaseTasks(app_name, derived_name) \
18 registerPhysicsBaseTasks(app_name, derived_name); \
19 registerMooseAction(app_name, derived_name, "add_preconditioning"); \
20 registerMooseAction(app_name, derived_name, "add_postprocessor"); \
21 registerMooseAction(app_name, derived_name, "add_ics_physics")
22
27class DiffusionPhysicsBase : virtual public PhysicsBase, virtual public PhysicsComponentInterface
28{
29public:
31
33
34protected:
36 const VariableName & _var_name;
38 const std::vector<BoundaryName> & _neumann_boundaries;
40 const std::vector<BoundaryName> & _dirichlet_boundaries;
41
42private:
43 virtual void addPreconditioning() override;
45 virtual void addPostprocessors() override;
46 // The initial conditions for CG and FV can use the same classes
47 virtual void addInitialConditions() override;
48 virtual void addInitialConditionsFromComponents() override;
49};
Base class for components that are defined using an action.
Base class to host all common parameters and attributes of Physics actions to solve the diffusion equ...
virtual void addPostprocessors() override
Add postprocessing of the fluxes.
virtual void addInitialConditions() override
const std::vector< BoundaryName > & _neumann_boundaries
Boundaries on which a Neumann boundary condition is applied.
virtual void addInitialConditionsFromComponents() override
const VariableName & _var_name
Name of the diffused variable.
static InputParameters validParams()
const std::vector< BoundaryName > & _dirichlet_boundaries
Boundaries on which a Dirichlet boundary condition is applied.
virtual void addPreconditioning() override
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
Base class to help creating an entire physics.
Definition PhysicsBase.h:31
Interface class to help components interact with Physics.