1 #ifndef KATOPTRON_CONTACT_H
2 #define KATOPTRON_CONTACT_H
29 std::vector<int> initially_closed_nodes = {};
31 bool initial_closed =
true;
32 bool standard_shape_functions =
true;
33 bool is_Signorini =
false;
34 bool no_Update =
false;
35 bool sticking =
false;
36 bool mesh_tying =
false;
38 int nb_Lagrange_multipliers = 1;
49 Contact(
Problem &pbl,
int no, std::string _Contact_name, Eigen::Vector3d _slave_normal,
double dg = 0.);
50 Contact(
Problem &pbl, std::string
const &name, std::string _Contact_name, Eigen::Vector3d _slave_normal,
double dg = 0.);
51 Contact(
Problem &pbl,
int no, std::string _Contact_name, Eigen::Vector3d _slave_normal, std::vector<double> _dg);
52 Contact(
Problem &pbl, std::string
const &name, std::string _Contact_name, Eigen::Vector3d _slave_normal, std::vector<double> _dg);
55 void setMaster(
katoptron::Problem &pbl, std::string
const &name, Eigen::Vector3d _master_normal);
57 void setSlaveBoundary(std::string
const &file_name, std::string
const &name);
58 void setMasterBoundary(std::string
const &file_name, std::string
const &name);
60 void setSlaveDirichlet(std::string
const &file_name, std::string
const &name);
61 void setMasterDirichlet(std::string
const &file_name, std::string
const &name);
63 void setInitialyClosed();
64 void setInitialyOpen();
70 void setStandardShapeFunctions();
71 void setDualShapeFunctions();
72 void setSignoriniContact();
73 void setTwoBodyContact();
74 void setInitiallyClosedNodes(std::vector<double> _initially_closed_nodes);
75 void setScale(
double a);
78 virtual void write(std::ostream &out)
const;
84 #endif //KATOPTRON_CONTACT_H