www.mooseframework.org
XFEMCrackGrowthIncrement2DCut.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 "libmesh/libmesh_common.h"
13 #include "libmesh/libmesh.h" // libMesh::invalid_uint
14 #include "libmesh/elem.h"
15 
16 using namespace libMesh;
17 
19 {
20  unsigned int _id1;
21  unsigned int _id2;
23  unsigned int _host_side_id;
24 };
25 
27 {
28 public:
29  XFEMCrackGrowthIncrement2DCut(Real x0, Real y0, Real x1, Real y1, Real t0, Real t1);
30 
31  virtual bool cutElementByCrackGrowthIncrement(const Elem * elem,
32  std::vector<CutEdgeForCrackGrowthIncr> & cut_edges,
33  Real time);
34 
35  Real cutCompletionFraction(Real time);
36 
37 protected:
38  const std::pair<Real, Real> _time_range;
39 
40 private:
41  const std::pair<Point, Point> _cut_line_endpoints;
42 };
const std::pair< Point, Point > _cut_line_endpoints
const std::pair< Real, Real > _time_range
The following methods are specializations for using the Parallel::packed_range_* routines for a vecto...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real