dynLattice
Loading...
Searching...
No Matches
ImpactModel.h
Go to the documentation of this file.
1
7#pragma once
8
9#include <jem/base/Class.h>
10
11#include <jem/base/System.h>
12#include <jem/util/Properties.h>
13#include <jive/Array.h>
14#include <jive/fem/NodeGroup.h>
15#include <jive/fem/NodeSet.h>
16#include <jive/model/Actions.h>
17#include <jive/model/Model.h>
18#include <jive/model/ModelFactory.h>
19#include <jive/util/Assignable.h>
20#include <jive/util/Constraints.h>
21#include <jive/util/DofSpace.h>
22#include <jive/util/Globdat.h>
23
24using jem::idx_t;
25using jem::newInstance;
26using jive::IdxVector;
27using jive::Properties;
28using jive::Ref;
29using jive::String;
30using jive::StringVector;
31using jive::Vector;
32using jive::fem::NodeGroup;
33using jive::fem::NodeSet;
34using jive::model::Actions;
35using jive::model::Model;
36using jive::util::Assignable;
37using jive::util::Constraints;
38using jive::util::DofSpace;
39using jive::util::Globdat;
40
44class ImpactModel : public Model
45{
46public:
47 JEM_DECLARE_CLASS(ImpactModel, Model);
48
51 static const char *TYPE_NAME;
52 static const char *NODES_PROP;
53 static const char *DOF_PROP;
54 static const char *WEIGHTS_PROP;
56
62 explicit ImpactModel
63
64 (const String &name,
65 const Properties &conf,
66 const Properties &props,
67 const Properties &globdat);
68
74 virtual bool takeAction
75
76 (const String &action,
77 const Properties &params,
78 const Properties &globdat) override;
79
86 static Ref<Model> makeNew
87
88 (const String &name,
89 const Properties &conf,
90 const Properties &props,
91 const Properties &globdat);
92
94 static void declare();
95
96private:
99 Ref<DofSpace> dofs_;
100 Ref<Constraints> cons_;
101 Assignable<NodeSet> nodes_;
103
106 StringVector nodeGroups_;
107 StringVector dofNames_;
108 Vector weights_;
110};
Model for impact boundary conditions with weighted acceleration updates.
Definition ImpactModel.h:45
static const char * NODES_PROP
Node groups property.
Definition ImpactModel.h:52
static const char * WEIGHTS_PROP
Impactor weights property.
Definition ImpactModel.h:54
static Ref< Model > makeNew(const String &name, const Properties &conf, const Properties &props, const Properties &globdat)
Factory method for creating new ImpactModel instances.
Definition ImpactModel.cpp:118
virtual bool takeAction(const String &action, const Properties &params, const Properties &globdat) override
Handle model actions for impact boundary conditions.
Definition ImpactModel.cpp:67
static const char * DOF_PROP
DOF types property.
Definition ImpactModel.h:53
static const char * TYPE_NAME
Model type name.
Definition ImpactModel.h:51
static void declare()
Register ImpactModel type with ModelFactory.
Definition ImpactModel.cpp:131