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);
129 (
const Properties &globdat);
136 (
const Properties &globdat);
144 (
const Properties ¶ms,
const Properties &globdat);
152 (
const Properties ¶ms,
const Properties &globdat);
160 (
const Properties ¶ms,
const Properties &globdat);
167 (
const Properties ¶ms);
173 Ref<Constraints> cons_;
174 Assignable<NodeSet> nodes_;
194 StringVector nodeGroups_;
195 StringVector dofTypes_;
204 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:290
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:377
void advance_(const Properties &globdat)
Advance to next time step.
Definition DirichletModel.cpp:305
virtual ~DirichletModel()
Protected destructor.
Definition DirichletModel.cpp:78
void setDT_(const Properties ¶ms)
Set time step size for displacement control.
Definition DirichletModel.cpp:416
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:442
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:279
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:88
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:172
void commit_(const Properties ¶ms, const Properties &globdat)
Commit current displacement state.
Definition DirichletModel.cpp:400
virtual void getConfig(const Properties &conf, const Properties &globdat) const override
Get current configuration.
Definition DirichletModel.cpp:244
void applyConstraints_(const Properties ¶ms, const Properties &globdat)
Apply displacement constraints to system.
Definition DirichletModel.cpp:329