www.mooseframework.org
SmoothMultiBoundingBoxBaseIC.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 "InitialCondition.h"
13 
14 // Forward Declarations
16 
17 template <>
19 
24 class SmoothMultiBoundingBoxBaseIC : public InitialCondition
25 {
26 public:
27  SmoothMultiBoundingBoxBaseIC(const InputParameters & parameters);
28 
29  Real value(const Point & p);
30 
31 private:
32  const Real _outside;
33 
34 protected:
36  const std::vector<Point> _c1;
37  const std::vector<Point> _c2;
39 
41  const unsigned int _nbox;
42 
44  const Real _int_width;
45 
47  const unsigned int _dim;
48 
50  std::vector<Real> _inside;
51 };
SmoothMultiBoundingBoxBaseIC::value
Real value(const Point &p)
Definition: SmoothMultiBoundingBoxBaseIC.C:50
SmoothMultiBoundingBoxBaseIC::_c1
const std::vector< Point > _c1
lists of opposite corners
Definition: SmoothMultiBoundingBoxBaseIC.h:36
validParams< SmoothMultiBoundingBoxBaseIC >
InputParameters validParams< SmoothMultiBoundingBoxBaseIC >()
Definition: SmoothMultiBoundingBoxBaseIC.C:15
SmoothMultiBoundingBoxBaseIC::_dim
const unsigned int _dim
dimensionality of the mesh
Definition: SmoothMultiBoundingBoxBaseIC.h:47
SmoothMultiBoundingBoxBaseIC::SmoothMultiBoundingBoxBaseIC
SmoothMultiBoundingBoxBaseIC(const InputParameters &parameters)
Definition: SmoothMultiBoundingBoxBaseIC.C:37
SmoothMultiBoundingBoxBaseIC::_inside
std::vector< Real > _inside
values inside the boxes
Definition: SmoothMultiBoundingBoxBaseIC.h:50
SmoothMultiBoundingBoxBaseIC::_int_width
const Real _int_width
value of interfacial width
Definition: SmoothMultiBoundingBoxBaseIC.h:44
SmoothMultiBoundingBoxBaseIC::_nbox
const unsigned int _nbox
number of boxes
Definition: SmoothMultiBoundingBoxBaseIC.h:41
SmoothMultiBoundingBoxBaseIC
SmoothMultiBoundingBoxBaseIC is the base class for IsolatedBoundingBoxIC and NestedBoundingBoxIC.
Definition: SmoothMultiBoundingBoxBaseIC.h:24
SmoothMultiBoundingBoxBaseIC::_c2
const std::vector< Point > _c2
Definition: SmoothMultiBoundingBoxBaseIC.h:37
SmoothMultiBoundingBoxBaseIC::_outside
const Real _outside
Definition: SmoothMultiBoundingBoxBaseIC.h:32