dynLattice
Loading...
Searching...
No Matches
MassModel.h
Go to the documentation of this file.
1
7#pragma once
8
9#include <jem/base/Class.h>
10#include <jem/util/Properties.h>
11#include <jive/Array.h>
12#include <jive/algebra/MatrixBuilder.h>
13#include <jive/fem/NodeGroup.h>
14#include <jive/fem/NodeSet.h>
15#include <jive/model/Actions.h>
16#include <jive/model/Model.h>
17#include <jive/model/ModelFactory.h>
18#include <jive/util/Assignable.h>
19#include <jive/util/DofSpace.h>
20
21using jem::Array;
22using jive::idx_t;
23using jive::IdxVector;
24using jive::Properties;
25using jive::Ref;
26using jive::String;
27using jive::StringVector;
28using jive::Vector;
29using jive::algebra::MatrixBuilder;
30using jive::fem::DofSpace;
31using jive::fem::NodeGroup;
32using jive::fem::NodeSet;
33using jive::model::ActionParams;
34using jive::model::Actions;
35using jive::model::Model;
36using jive::util::Assignable;
37
42class MassModel : public Model
43{
44public:
45 JEM_DECLARE_CLASS(MassModel, Model);
46
49 static const char *TYPE_NAME;
50 static const char *TOTAL_MASS_PROP;
51 static const char *NODE_GROUPS_PROP;
52 static const char *DOFS_PROP;
54
60 explicit MassModel
61
62 (const String &name,
63 const Properties &conf,
64 const Properties &props,
65 const Properties &globdat);
66
72 virtual bool takeAction
73
74 (const String &action,
75 const Properties &params,
76 const Properties &globdat) override;
77
84 static Ref<Model> makeNew
85
86 (const String &name,
87 const Properties &conf,
88 const Properties &props,
89 const Properties &globdat);
90
92 static void declare();
93
94protected:
95 virtual ~MassModel();
96
97private:
100 Vector totalMass_;
101 StringVector nodeGroupNames_;
102 StringVector dofNames_;
104
107 Ref<DofSpace> dofs_;
108 IdxVector dofTypes_;
109 Array<Assignable<NodeGroup>> nodeGroups_;
111};
Model for adding concentrated masses to specified node groups.
Definition MassModel.h:43
static const char * TOTAL_MASS_PROP
Total mass values.
Definition MassModel.h:50
static const char * NODE_GROUPS_PROP
Node group names.
Definition MassModel.h:51
static const char * TYPE_NAME
Model type name.
Definition MassModel.h:49
virtual bool takeAction(const String &action, const Properties &params, const Properties &globdat) override
Handle model actions for mass matrix assembly.
Definition MassModel.cpp:65
static Ref< Model > makeNew(const String &name, const Properties &conf, const Properties &props, const Properties &globdat)
Factory method for creating new MassModel instances.
Definition MassModel.cpp:122
virtual ~MassModel()
Definition MassModel.cpp:58
static const char * DOFS_PROP
DOF type names.
Definition MassModel.h:52
static void declare()
Register MassModel type with ModelFactory.
Definition MassModel.cpp:133