https://mooseframework.inl.gov
Loading...
Searching...
No Matches
LevelSetCutUserObject.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
14// Forward declarations
15
17{
18public:
20
22
23 virtual bool cutElementByGeometry(const Elem * elem,
24 std::vector<Xfem::CutEdge> & cut_edges,
25 std::vector<Xfem::CutNode> & cut_nodes) const override;
26 virtual bool cutElementByGeometry(const Elem * elem,
27 std::vector<Xfem::CutFace> & cut_faces) const override;
28
29 virtual bool cutFragmentByGeometry(std::vector<std::vector<Point>> & frag_edges,
30 std::vector<Xfem::CutEdge> & cut_edges) const override;
31 virtual bool cutFragmentByGeometry(std::vector<std::vector<Point>> & frag_faces,
32 std::vector<Xfem::CutFace> & cut_faces) const override;
33
34 virtual const std::vector<Point>
35 getCrackFrontPoints(unsigned int num_crack_front_points) const override;
36
37 virtual const std::vector<RealVectorValue>
38 getCrackPlaneNormals(unsigned int num_crack_front_points) const override;
39
45 virtual CutSubdomainID getCutSubdomainID(const Node * node) const override;
46
47protected:
49 const unsigned int _level_set_var_number;
50
52 const System & _system;
53
55 const NumericVector<Number> & _solution;
56
59
62};
unsigned int CutSubdomainID
const System & _system
System reference.
virtual bool cutFragmentByGeometry(std::vector< std::vector< Point > > &frag_edges, std::vector< Xfem::CutEdge > &cut_edges) const override
static InputParameters validParams()
const CutSubdomainID _negative_id
The ID for the negative side of the cut.
const unsigned int _level_set_var_number
The variable number of the level set variable we using to define the cuts.
virtual const std::vector< RealVectorValue > getCrackPlaneNormals(unsigned int num_crack_front_points) const override
get a set of normal vectors along a crack front from a XFEM GeometricCutUserObject
const NumericVector< Number > & _solution
The subproblem solution vector.
virtual bool cutElementByGeometry(const Elem *elem, std::vector< Xfem::CutEdge > &cut_edges, std::vector< Xfem::CutNode > &cut_nodes) const override
const CutSubdomainID _positive_id
The ID for the positive side of the cut.
virtual CutSubdomainID getCutSubdomainID(const Node *node) const override
If the levelset value is positive, return 1, otherwise return 0.
virtual const std::vector< Point > getCrackFrontPoints(unsigned int num_crack_front_points) const override
get a set of points along a crack front from a XFEM GeometricCutUserObject
const InputParameters & parameters() const