NuTo
Numerics Tool
GlobalFractureEnergyIntegrator.h
Go to the documentation of this file.
1 //
2 // Created by Thomas Titscher on 10/28/16.
3 //
4 #pragma once
5 #include <string>
6 #include <Eigen/Core>
7 
8 namespace NuTo
9 {
10 namespace Tools
11 {
12 
15 {
16 public:
20  GlobalFractureEnergyIntegrator(const Eigen::VectorXd& rForces, const Eigen::VectorXd& rDisplacements);
21 
26  GlobalFractureEnergyIntegrator(std::string rFileForces, std::string rFileDisplacements, int rColumn);
27 
31  double IntegrateSofteningCurve(double rArea) const;
32 
37  double IntegrateSofteningCurve(double rArea, double rForceThreshold) const;
38 
39 private:
41  double IntegrateIndexToForceThreshold(int rIndexEnd, double rForceThreshold) const;
42 
46  int FindIndexJustAboveForceThreshold(double rForceThreshold) const;
47 
51  double IntegrateSofteningCurveInternal(int rEnd) const;
52 
53  void CheckData() const;
54 
55  Eigen::VectorXd mForce;
56  Eigen::VectorXd mDispl;
57 };
58 
59 } // namespace Tools
60 } // namespace NuTo
class that helps with the evaluation of global load displacement curves
Definition: GlobalFractureEnergyIntegrator.h:14
GlobalFractureEnergyIntegrator(const Eigen::VectorXd &rForces, const Eigen::VectorXd &rDisplacements)
constructs from data vectors
Definition: GlobalFractureEnergyIntegrator.cpp:8
double IntegrateSofteningCurve(double rArea) const
calculates the global fracture energy by integrating over the load-displacement curve ...
Definition: GlobalFractureEnergyIntegrator.cpp:26
Definition: Exception.h:6