https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ProjectSideSetOntoLevelSetGenerator.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 "MeshGenerator.h"
13
14#include "FunctionParserUtils.h"
15
20{
21public:
23
25
26 std::unique_ptr<MeshBase> generate() override;
27
28protected:
30 const MeshGeneratorName _input_name;
32 std::unique_ptr<MeshBase> & _input;
34 Point _proj_dir;
36 const std::string _level_set;
41
49 Point pointPairLevelSetInterception(const Point & point1, const Point & point2);
50
56 Real levelSetEvaluator(const Point & point);
57};
std::shared_ptr< SymFunction > SymFunctionPtr
Shorthand for an smart pointer to an autodiff function parser object.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
MeshGenerators are objects that can modify or add to an existing mesh.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
Projects a sideset onto a level set function using a fixed vector.
const Real _max_search_distance
Maximum distance to search for from starting nodeset to projection point.
const std::string _level_set
The analytic level set function in the form of a string that can be parsed by FParser.
SymFunctionPtr _func_level_set
function parser object describing the level set
Real levelSetEvaluator(const Point &point)
Evaluate the level set function at a given point.
std::unique_ptr< MeshBase > & _input
Reference to input mesh pointer.
const MeshGeneratorName _input_name
Name of the input mesh.
std::unique_ptr< MeshBase > generate() override
Generate / modify the mesh.
Point pointPairLevelSetInterception(const Point &point1, const Point &point2)
Calculate the intersection point of a level set and a line segment defined by two points separated by...