11#ifndef FRACTURE_PRENOTCH_H
12#define FRACTURE_PRENOTCH_H
49 double xLine,
double yLo,
double yHi);
70 double xCenter,
double halfWidth,
double yLo,
71 double yHi,
int nSamples = 8);
93 Fracture &fracture,
const std::vector<util::Point> &xRef,
94 const std::vector<std::vector<std::size_t>> &neighbors,
95 const std::vector<std::size_t> &nodeParticleId, std::size_t particleId,
96 const std::vector<double> &xLines,
double yLo,
double yHi);
118 Fracture &fracture,
const std::vector<util::Point> &xRef,
119 const std::vector<std::vector<std::size_t>> &neighbors,
120 const std::vector<std::size_t> &nodeParticleId, std::size_t particleId,
121 const std::vector<double> &xCenters,
double width,
double yLo,
double yHi);
Collection of methods and data related to geometry.
bool segmentCrossesVerticalLine(double x0, double y0, double x1, double y1, double xLine, double yLo, double yHi)
Pre-notch by breaking peridynamic bonds.
bool segmentEntersSlot(double x0, double y0, double x1, double y1, double xCenter, double halfWidth, double yLo, double yHi, int nSamples)
Checks whether the segment enters the open slot centred on xCenter.
std::size_t breakBondsCrossingVerticalLines(Fracture &fracture, const std::vector< util::Point > &xRef, const std::vector< std::vector< std::size_t > > &neighbors, const std::vector< std::size_t > &nodeParticleId, std::size_t particleId, const std::vector< double > &xLines, double yLo, double yHi)
Break the bonds of one particle that cross vertical cut lines.
std::size_t breakBondsInSlots(Fracture &fracture, const std::vector< util::Point > &xRef, const std::vector< std::vector< std::size_t > > &neighbors, const std::vector< std::size_t > &nodeParticleId, std::size_t particleId, const std::vector< double > &xCenters, double width, double yLo, double yHi)
Break the bonds of one particle that enter open notch slots.