9#include <jem/io/Writer.h>
10#include <jem/util/Properties.h>
11#include <jive/Array.h>
12#include <jive/fem/NodeSet.h>
13#include <jive/model/Model.h>
14#include <jive/model/ModelFactory.h>
15#include <jive/model/Names.h>
16#include <jive/util/Assignable.h>
17#include <jive/util/Constraints.h>
18#include <jive/util/DofSpace.h>
19#include <jive/util/Globdat.h>
23using jem::IllegalInputException;
24using jem::newInstance;
31using jem::util::Properties;
33using jive::StringVector;
35using jive::fem::NodeSet;
36using jive::model::Model;
37using jive::util::Assignable;
38using jive::util::Constraints;
39using jive::util::DofSpace;
40using jive::util::Globdat;
80 (
const String &name =
"dirichlet");
87 (
const Properties &props,
const Properties &globdat)
override;
94 (
const Properties &conf,
const Properties &globdat)
const override;
103 (
const String &action,
const Properties ¶ms,
104 const Properties &globdat)
override;
114 (
const String &name,
const Properties &conf,
115 const Properties &props,
const Properties &globdat);
128 (
const Properties &globdat);
135 (
const Properties &globdat);
143 (
const Properties ¶ms,
const Properties &globdat);
151 (
const Properties ¶ms,
const Properties &globdat);
159 (
const Properties ¶ms,
const Properties &globdat);
166 (
const Properties ¶ms);
172 Ref<Constraints> cons_;
173 Assignable<NodeSet> nodes_;
193 StringVector nodeGroups_;
194 StringVector dofTypes_;
203 Properties lbcProps_;
Model for applying Dirichlet boundary conditions with displacement control.
Definition DirichletModel.h:50
static const char * TYPE_NAME
Definition DirichletModel.h:62
static const char * MAX_DISP_PROP
Maximum displacement value.
Definition DirichletModel.h:64
static const char * FACTORS_PROP
Displacement factors.
Definition DirichletModel.h:70
static const char * NODES_PROP
Node groups.
Definition DirichletModel.h:68
void init_(const Properties &globdat)
Initialize model state and DOF mappings.
Definition DirichletModel.cpp:289
static const char * INIT_DISP_PROP
Initial displacement.
Definition DirichletModel.h:67
void checkCommit_(const Properties ¶ms, const Properties &globdat)
Check if current state should be committed.
Definition DirichletModel.cpp:374
void advance_(const Properties &globdat)
Advance to next time step.
Definition DirichletModel.cpp:304
virtual ~DirichletModel()
Definition DirichletModel.cpp:77
void setDT_(const Properties ¶ms)
Set time step size for displacement control.
Definition DirichletModel.cpp:413
Method
Displacement control methods.
Definition DirichletModel.h:54
@ LOADSCALE
Load scale factor control.
Definition DirichletModel.h:57
@ INCREMENT
Displacement increment control.
Definition DirichletModel.h:56
@ RATE
Displacement rate control.
Definition DirichletModel.h:55
static void declare()
Register DirichletModel type with ModelFactory.
Definition DirichletModel.cpp:439
static Ref< Model > makeNew(const String &name, const Properties &conf, const Properties &props, const Properties &globdat)
Factory method for creating new DirichletModel instances.
Definition DirichletModel.cpp:278
static const char * DISP_RATE_PROP
Displacement rate.
Definition DirichletModel.h:66
static const char * DISP_INCR_PROP
Displacement increment.
Definition DirichletModel.h:65
static const char * LOADED_PROP
Loaded node group index.
Definition DirichletModel.h:71
virtual bool takeAction(const String &action, const Properties ¶ms, const Properties &globdat) override
Handle model actions (INIT, GET_CONSTRAINTS, ADVANCE, etc.)
Definition DirichletModel.cpp:87
static const char * DOF_PROP
Degree of freedom types.
Definition DirichletModel.h:69
virtual void configure(const Properties &props, const Properties &globdat) override
Configure Dirichlet boundary conditions from properties.
Definition DirichletModel.cpp:171
void commit_(const Properties ¶ms, const Properties &globdat)
Commit current displacement state.
Definition DirichletModel.cpp:397
virtual void getConfig(const Properties &conf, const Properties &globdat) const override
Get current configuration.
Definition DirichletModel.cpp:243
void applyConstraints_(const Properties ¶ms, const Properties &globdat)
Apply displacement constraints to system.
Definition DirichletModel.cpp:328