23#include "mbsim/element.h"
28 class ContactKinematics;
63 virtual ContourFrame* createContourFrame(
const std::string &
name=
"P") {
return nullptr; }
65 const std::vector<double>& getEtaNodes()
const {
return etaNodes; }
66 const std::vector<double>& getXiNodes()
const {
return xiNodes; }
68 void setEtaNodes(
const std::vector<double> &etaNodes_) { etaNodes = etaNodes_; }
69 void setXiNodes(
const std::vector<double> &xiNodes_) { xiNodes = xiNodes_; }
71 virtual int gethSize(
int i=0)
const {
return hSize[i]; }
72 virtual int gethInd(
int i=0)
const {
return hInd[i]; }
73 virtual void sethSize(
int size,
int i=0) {
hSize[i] = size; }
74 virtual void sethInd(
int ind,
int i=0) { hInd[i] = ind; }
80 virtual fmatvec::Vec3
evalPosition(
const fmatvec::Vec2 &zeta);
87 virtual fmatvec::Vec3
evalWu(
const fmatvec::Vec2 &zeta);
93 virtual fmatvec::Vec3
evalWv(
const fmatvec::Vec2 &zeta);
99 virtual fmatvec::Vec3
evalWn(
const fmatvec::Vec2 &zeta);
106 virtual fmatvec::Vec3
evalParDer1Wn(
const fmatvec::Vec2 &zeta);
113 virtual fmatvec::Vec3
evalParDer2Wn(
const fmatvec::Vec2 &zeta);
120 virtual fmatvec::Vec3
evalParDer1Wu(
const fmatvec::Vec2 &zeta);
127 virtual fmatvec::Vec3
evalParDer2Wu(
const fmatvec::Vec2 &zeta);
134 virtual fmatvec::Vec3
evalParDer1Wv(
const fmatvec::Vec2 &zeta);
141 virtual fmatvec::Vec3
evalParDer2Wv(
const fmatvec::Vec2 &zeta);
148 virtual fmatvec::Vec3
evalWs(
const fmatvec::Vec2 &zeta);
155 virtual fmatvec::Vec3
evalWt(
const fmatvec::Vec2 &zeta);
157 virtual fmatvec::Mat3x2 evalWN(
const fmatvec::Vec2 &zeta);
159 virtual fmatvec::Mat3x2 evalWR(
const fmatvec::Vec2 &zeta);
161 virtual fmatvec::Mat3x2 evalWU(
const fmatvec::Vec2 &zeta);
163 virtual fmatvec::Mat3x2 evalWV(
const fmatvec::Vec2 &zeta);
165 virtual fmatvec::Vec3 evalParWvCParEta(
const fmatvec::Vec2 &zeta);
167 virtual fmatvec::Vec3 evalParWvCParXi(
const fmatvec::Vec2 &zeta);
169 virtual fmatvec::Mat3x2 evalParWvCParZeta(
const fmatvec::Vec2 &zeta);
171 virtual fmatvec::Vec3 evalParWnPart(
const fmatvec::Vec2 &zeta);
173 virtual fmatvec::Vec3 evalParWuPart(
const fmatvec::Vec2 &zeta);
175 virtual fmatvec::Vec3 evalParWvPart(
const fmatvec::Vec2 &zeta);
177 virtual fmatvec::Vec2 evalZeta(
const fmatvec::Vec3 &WrPS);
179 virtual fmatvec::Vec2 evalCurvatures(
const fmatvec::Vec2 &zeta);
181 void initializeUsingXML(xercesc::DOMElement *element)
override;
183 void setThickness(
double thickness_) {
thickness = thickness_; }
184 double getThickness()
const {
return thickness; }
186 virtual bool isZetaOutside(
const fmatvec::Vec2 &zeta) {
return false; }
196 std::vector<double> etaNodes;
197 std::vector<double> xiNodes;
204 static fmatvec::Vec3 zero3;
205 static fmatvec::Vec3 ex;
206 static fmatvec::Vec3 ey;
207 static fmatvec::Vec3 ez;
Definition: contour_frame.h:27
basic class for contour definition for rigid (which do not know about their shape) and flexible (they...
Definition: contour.h:40
double thickness
thickness of contour
Definition: contour.h:202
virtual fmatvec::Vec3 evalWt(const fmatvec::Vec2 &zeta)
Definition: contour.cc:89
int hSize[2]
size and index of right hand side for frame JACOBIAN settings
Definition: contour.h:194
void createPlotGroup() override
creates the plotGroup for H5-output
Definition: contour.cc:162
virtual fmatvec::Vec3 evalParDer2Wu(const fmatvec::Vec2 &zeta)
Definition: contour.cc:73
virtual fmatvec::Vec3 evalWv(const fmatvec::Vec2 &zeta)
Definition: contour.cc:52
~Contour() override=default
destructor
virtual fmatvec::Vec3 evalWs(const fmatvec::Vec2 &zeta)
Definition: contour.cc:85
virtual fmatvec::Vec3 evalWn(const fmatvec::Vec2 &zeta)
Definition: contour.cc:56
Contour(const std::string &name)
constructor
Definition: contour.cc:36
virtual fmatvec::Vec3 evalParDer1Wv(const fmatvec::Vec2 &zeta)
Definition: contour.cc:77
virtual fmatvec::Vec3 evalParDer1Wn(const fmatvec::Vec2 &zeta)
Definition: contour.cc:61
virtual fmatvec::Vec3 evalParDer1Wu(const fmatvec::Vec2 &zeta)
Definition: contour.cc:69
virtual fmatvec::Vec3 evalParDer2Wn(const fmatvec::Vec2 &zeta)
Definition: contour.cc:65
virtual fmatvec::Vec3 evalPosition(const fmatvec::Vec2 &zeta)
Definition: contour.cc:43
virtual fmatvec::Vec3 evalWu(const fmatvec::Vec2 &zeta)
Definition: contour.cc:47
virtual fmatvec::Vec3 evalParDer2Wv(const fmatvec::Vec2 &zeta)
Definition: contour.cc:81
virtual ContactKinematics * findContactPairingWith(const std::type_info &type0, const std::type_info &type1)=0
find contact kinematics
basic class of MBSim mainly for plotting
Definition: element.h:56
std::string name
name of element
Definition: element.h:260
namespace MBSim
Definition: bilateral_constraint.cc:30