Model for applying periodic boundary conditions on rectangular unit cells.
More...
#include "PeriodicBCModel.h"
|
| | PeriodicBCModel (const String &name, const Properties &conf, const Properties &props, const Properties &globdat) |
| | Constructor.
|
| |
| virtual bool | takeAction (const String &action, const Properties ¶ms, const Properties &globdat) override |
| | Handle model actions.
|
| |
|
| 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 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.
|
| |
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:
- Three operation modes: LOAD, UPD (update), and DISP (displacement)
- Automatic corner constraint handling
- Master-slave edge DOF pairing for periodicity
- Gradient-based deformation control
- Support for rotational DOFs
- Note
- Only works for rectangular unit cells
◆ Mode
| Enumerator |
|---|
| LOAD | Load control mode (NOT IMPLEMENTED)
|
| UPD | Update mode.
|
| DISP | Displacement control mode.
|
◆ PeriodicBCModel()
| PeriodicBCModel::PeriodicBCModel |
( |
const String & |
name, |
|
|
const Properties & |
conf, |
|
|
const Properties & |
props, |
|
|
const Properties & |
globdat |
|
) |
| |
|
explicit |
- Parameters
-
| name | Model name |
| conf | Actually used configuration properties (output) |
| props | User-specified model properties |
| globdat | Global data container |
◆ declare()
| void PeriodicBCModel::declare |
( |
| ) |
|
|
static |
◆ makeNew()
| Ref< Model > PeriodicBCModel::makeNew |
( |
const String & |
name, |
|
|
const Properties & |
conf, |
|
|
const Properties & |
props, |
|
|
const Properties & |
globdat |
|
) |
| |
|
static |
- Parameters
-
| name | Model name |
| conf | Actually used configuration properties (output) |
| props | User-specified model properties |
| globdat | Global data container |
- Returns
- New model instance
◆ takeAction()
| bool PeriodicBCModel::takeAction |
( |
const String & |
action, |
|
|
const Properties & |
params, |
|
|
const Properties & |
globdat |
|
) |
| |
|
overridevirtual |
- Parameters
-
| action | Action name |
| params | Action parameters |
| globdat | Global data container |
- Returns
- true if action was handled
◆ 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 |