https://mooseframework.inl.gov
Loading...
Searching...
No Matches
MultiSmoothSuperellipsoidIC.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
13
20{
21public:
23
25
26 virtual void initialSetup();
27
28protected:
29 virtual void computeSuperellipsoidSemiaxes();
30 virtual void computeSuperellipsoidCenters();
31 virtual void computeSuperellipsoidExponents();
32
33 virtual bool ellipsoidsOverlap(unsigned int i, unsigned int j);
34 virtual bool checkExtremes(unsigned int i, unsigned int j);
35
36 const unsigned int _max_num_tries;
37 unsigned int _gk;
38
40 const bool _prevent_overlap;
41 const bool _check_extremes;
43
46 Point _range;
47
48 std::vector<unsigned int> _numbub;
49 std::vector<Real> _bubspac;
50 std::vector<Real> _exponent;
51 std::vector<Real> _semiaxis_a;
52 std::vector<Real> _semiaxis_b;
53 std::vector<Real> _semiaxis_c;
54 std::vector<Real> _semiaxis_a_variation;
55 std::vector<Real> _semiaxis_b_variation;
56 std::vector<Real> _semiaxis_c_variation;
57};
const InputParameters & parameters() const
MultismoothSuperellipsoidIC creates multiple SmoothSuperellipsoid (number = numbub) that are randomly...
virtual bool checkExtremes(unsigned int i, unsigned int j)
virtual bool ellipsoidsOverlap(unsigned int i, unsigned int j)
std::vector< unsigned int > _numbub
SmoothSuperellipsoidBaseIC is the base class for all initial conditions that create superellipsoids.