www.mooseframework.org
ViewFactorBase.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 "SideUserObject.h"
13 
14 // Forward Declarations
15 class ViewFactorBase;
16 
17 template <>
18 InputParameters validParams<ViewFactorBase>();
19 
23 class ViewFactorBase : public SideUserObject
24 {
25 public:
26  static InputParameters validParams();
27 
28  ViewFactorBase(const InputParameters & parameters);
29 
31  Real getViewFactor(BoundaryID from_id, BoundaryID to_id) const;
32  Real getViewFactor(BoundaryName from_name, BoundaryName to_name) const;
34 
35  virtual void finalize() override final;
36 
37 protected:
38  virtual void threadJoin(const UserObject & y) override final;
39 
42 
44  virtual void finalizeViewFactor() = 0;
45 
47  virtual void threadJoinViewFactor(const UserObject & y) = 0;
48 
50  unsigned int _n_sides;
51 
53  std::vector<Real> _areas;
54 
56  const Real _view_factor_tol;
57 
60 
62  std::vector<std::vector<Real>> _view_factors;
63 
65  std::unordered_map<std::string, unsigned int> _side_name_index;
66 };
ViewFactorBase
A base class for automatic computation of view factors between sidesets.
Definition: ViewFactorBase.h:23
ViewFactorBase::_side_name_index
std::unordered_map< std::string, unsigned int > _side_name_index
boundary name to index map
Definition: ViewFactorBase.h:65
ViewFactorBase::finalize
virtual void finalize() override final
Definition: ViewFactorBase.C:83
ViewFactorBase::_areas
std::vector< Real > _areas
area of the sides i
Definition: ViewFactorBase.h:53
ViewFactorBase::_normalize_view_factor
const bool _normalize_view_factor
whether to normalize view factors so vf[from][:] sums to one
Definition: ViewFactorBase.h:59
ViewFactorBase::finalizeViewFactor
virtual void finalizeViewFactor()=0
a purely virtural function called in finalize, must be overriden by derived class
ViewFactorBase::_n_sides
unsigned int _n_sides
number of boundaries of this side uo
Definition: ViewFactorBase.h:50
ViewFactorBase::_view_factors
std::vector< std::vector< Real > > _view_factors
the view factor from side i to side j
Definition: ViewFactorBase.h:62
ViewFactorBase::_view_factor_tol
const Real _view_factor_tol
view factor tolerance
Definition: ViewFactorBase.h:56
ViewFactorBase::getViewFactor
Real getViewFactor(BoundaryID from_id, BoundaryID to_id) const
public interface for obtaining view factors
Definition: ViewFactorBase.C:52
ViewFactorBase::ViewFactorBase
ViewFactorBase(const InputParameters &parameters)
Definition: ViewFactorBase.C:33
ViewFactorBase::threadJoinViewFactor
virtual void threadJoinViewFactor(const UserObject &y)=0
a purely virtural function called in finalize, must be overriden by derived class
ViewFactorBase::checkAndNormalizeViewFactor
void checkAndNormalizeViewFactor()
this function checks & normalizes view factors to sum to one, this is not always
Definition: ViewFactorBase.C:106
validParams< ViewFactorBase >
InputParameters validParams< ViewFactorBase >()
ViewFactorBase::threadJoin
virtual void threadJoin(const UserObject &y) override final
Definition: ViewFactorBase.C:94
ViewFactorBase::validParams
static InputParameters validParams()
Definition: ViewFactorBase.C:18