dynLattice
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | List of all members
PeriodicBCModel Class Reference

Model for applying periodic boundary conditions on rectangular unit cells. More...

#include "PeriodicBCModel.h"

Inheritance diagram for PeriodicBCModel:
Inheritance graph
[legend]
Collaboration diagram for PeriodicBCModel:
Collaboration graph
[legend]

Public Types

enum  Mode { LOAD , UPD , DISP }
 Operation modes. More...
 

Public Member Functions

 PeriodicBCModel (const String &name, const Properties &conf, const Properties &props, const Properties &globdat)
 Constructor.
 
virtual bool takeAction (const String &action, const Properties &params, const Properties &globdat) override
 Handle model actions.
 

Static Public Member Functions

static Ref< Model > makeNew (const String &name, const Properties &conf, const Properties &props, const Properties &globdat)
 Create new PeriodicBCModel instance.
 
static void declare ()
 Declare model type to factory.
 

Static Public Attributes

Property identifiers
static const char * TYPE_NAME = "PeriodicBC"
 Model type name.
 
static const char * MODE_PROP = "mode"
 Operation mode property.
 
static const char * GRAD_PROP = "grad"
 Gradient property.
 
static const char * DOF_NAMES_PROP = "dofs"
 DOF names property.
 
static const char * ROT_NAMES_PROP = "rotDofs"
 Rotation DOF names property.
 
static const char * FIXEDGRAD_PARAM = "fixedGrad"
 Fixed gradient parameter.
 

Detailed Description

The PeriodicBCModel implements periodic boundary conditions specifically designed for rectangular unit cells. It supports multiple operation modes including load control, displacement control, and gradient updates.

Features:

Note
Only works for rectangular unit cells

Member Enumeration Documentation

◆ Mode

Enumerator
LOAD 

Load control mode (NOT IMPLEMENTED)

UPD 

Update mode.

DISP 

Displacement control mode.

Constructor & Destructor Documentation

◆ PeriodicBCModel()

PeriodicBCModel::PeriodicBCModel ( const String &  name,
const Properties &  conf,
const Properties &  props,
const Properties &  globdat 
)
explicit
Parameters
nameModel name
confActually used configuration properties (output)
propsUser-specified model properties
globdatGlobal data container

Member Function Documentation

◆ declare()

void PeriodicBCModel::declare ( )
static

◆ makeNew()

Ref< Model > PeriodicBCModel::makeNew ( const String &  name,
const Properties &  conf,
const Properties &  props,
const Properties &  globdat 
)
static
Parameters
nameModel name
confActually used configuration properties (output)
propsUser-specified model properties
globdatGlobal data container
Returns
New model instance

◆ takeAction()

bool PeriodicBCModel::takeAction ( const String &  action,
const Properties &  params,
const Properties &  globdat 
)
overridevirtual
Parameters
actionAction name
paramsAction parameters
globdatGlobal data container
Returns
true if action was handled

Member Data Documentation

◆ DOF_NAMES_PROP

const char * PeriodicBCModel::DOF_NAMES_PROP = "dofs"
static

◆ FIXEDGRAD_PARAM

const char * PeriodicBCModel::FIXEDGRAD_PARAM = "fixedGrad"
static

◆ GRAD_PROP

const char * PeriodicBCModel::GRAD_PROP = "grad"
static

◆ MODE_PROP

const char * PeriodicBCModel::MODE_PROP = "mode"
static

◆ ROT_NAMES_PROP

const char * PeriodicBCModel::ROT_NAMES_PROP = "rotDofs"
static

◆ TYPE_NAME

const char * PeriodicBCModel::TYPE_NAME = "PeriodicBC"
static