20#ifndef _GENERALIZED_ELASTIC_STRUCTURE_H_
21#define _GENERALIZED_ELASTIC_STRUCTURE_H_
23#include "mbsim/links/rigid_body_link.h"
24#include "mbsim/functions/function.h"
30 Function<fmatvec::VecV(fmatvec::VecV,fmatvec::VecV)> *func;
31 std::vector<fmatvec::RangeV> ila;
32 std::vector<std::string> saved_body;
36 void updateGeneralizedForces()
override;
37 void updateGeneralizedPositions()
override;
38 void updateGeneralizedVelocities()
override;
39 void updateForce()
override;
40 void updateMoment()
override;
41 void updateR()
override;
42 void updateh(
int i=0)
override;
43 void addRigidBody(
RigidBody* body_) { body.push_back(body_); }
45 void calcSize()
override;
47 bool isActive()
const override {
return true; }
50 void init(
InitStage stage,
const InitConfigSet &config)
override;
52 void setGeneralizedForceFunction(
Function<fmatvec::VecV(fmatvec::VecV,fmatvec::VecV)> *func_) {
54 func->setParent(
this);
55 func->
setName(
"GeneralizedForce");
58 void initializeUsingXML(xercesc::DOMElement * element)
override;
InitStage
The stages of the initialization.
Definition: element.h:62
std::string name
name of element
Definition: element.h:260
void setName(const std::string &str)
Definition: element.h:115
Definition: function.h:53
Definition: generalized_elastic_structure.h:28
void init(InitStage stage, const InitConfigSet &config) override
plots time series header
Definition: generalized_elastic_structure.cc:97
bool gActiveChanged() override
Definition: generalized_elastic_structure.h:48
bool isSingleValued() const override
asks the link if it contains single valued force laws that contribute to the right-hand side vector h
Definition: generalized_elastic_structure.h:49
bool isActive() const override
Definition: generalized_elastic_structure.h:47
Definition: rigid_body_link.h:30
rigid bodies with arbitrary kinematics
Definition: rigid_body.h:50
namespace MBSim
Definition: bilateral_constraint.cc:30