Module for automatic periodic boundary condition node group generation.
More...
#include "PBCGroupInputModule.h"
|
| | PBCGroupInputModule (const String &name="pbcGroupInput") |
| | Constructor.
|
| |
| virtual Status | init (const Properties &conf, const Properties &props, const Properties &globdat) override |
| | Initialize PBC node group generation.
|
| |
| | GroupInputModule (const String &name="groupInput") |
| | Constructor.
|
| |
|
| static Ref< Module > | makeNew (const String &name, const Properties &conf, const Properties &props, const Properties &globdat) |
| | Factory method for creating new instances.
|
| |
| static void | declare () |
| | Register module type with factory.
|
| |
| static Ref< Module > | makeNew (const String &name, const Properties &conf, const Properties &props, const Properties &globdat) |
| | Factory method for creating new GroupInputModule instances.
|
| |
| static void | declare () |
| | Register GroupInputModule type with ModuleFactory.
|
| |
|
|
| static const char * | TYPE_NAME = "PBCGroupInput" |
| | Module type name.
|
| |
| static const char * | EDGES [6] |
| | Edge group names (xmin, xmax, etc.)
|
| |
| static const char * | CORNERS [4] |
| | Corner group names.
|
| |
| static const char * | DUPEDNODES_PROP = "duplicatedNodes" |
| | Duplicated nodes property name.
|
| |
| static const char * | NGROUPS_PROP = "groupSettings" |
| | Node groups property name.
|
| |
| static const char * | TYPE_NAME = "GroupInput" |
| | Module type name.
|
| |
| static const char * | NODE_GROUPS = "nodeGroups" |
| | Node groups property.
|
| |
| static const char * | ELEM_GROUPS = "elemGroups" |
| | Element groups property.
|
| |
|
| virtual | ~PBCGroupInputModule () |
| | Protected destructor.
|
| |
| void | prepareProps_ (const Properties &myProps) const |
| | Prepare properties for PBC group generation.
|
| |
| void | sortBoundaryNodes_ (const IdxVector &islaves, const IdxVector &imasters, const NodeSet &nodes, const Properties &globdat, const idx_t ix) const |
| | Sort boundary nodes into master/slave pairs.
|
| |
| virtual | ~GroupInputModule () |
| |
|
|
| idx_t | rank_ |
| | Spatial dimension of the domain.
|
| |
| double | small_ |
| | Tolerance for coordinate comparison.
|
| |
| bool | edges_ |
| | Generate edge node groups.
|
| |
| bool | corners_ |
| | Generate corner node groups.
|
| |
| Properties | groupSettings_ |
| | Group configuration settings.
|
| |
| String | dupedNodeGroup_ |
| | Name of duplicated node group.
|
| |
Extends GroupInputModule to automatically create node groups for periodic boundary conditions. Identifies boundary nodes on domain faces, edges, and corners based on coordinate analysis and generates appropriate node groups for PBC implementation.
◆ Self
◆ Super
◆ PBCGroupInputModule()
| PBCGroupInputModule::PBCGroupInputModule |
( |
const String & |
name = "pbcGroupInput" | ) |
|
|
explicit |
- Parameters
-
| name | Module name (default: "pbcGroupInput") |
◆ ~PBCGroupInputModule()
| PBCGroupInputModule::~PBCGroupInputModule |
( |
| ) |
|
|
protectedvirtual |
◆ declare()
| void PBCGroupInputModule::declare |
( |
| ) |
|
|
static |
◆ init()
| Module::Status PBCGroupInputModule::init |
( |
const Properties & |
conf, |
|
|
const Properties & |
props, |
|
|
const Properties & |
globdat |
|
) |
| |
|
overridevirtual |
- Parameters
-
| conf | Actually used configuration properties (output) |
| props | User-specified module properties |
| globdat | Global data container |
- Returns
- Module status
Reimplemented from GroupInputModule.
◆ makeNew()
| Ref< Module > PBCGroupInputModule::makeNew |
( |
const String & |
name, |
|
|
const Properties & |
conf, |
|
|
const Properties & |
props, |
|
|
const Properties & |
globdat |
|
) |
| |
|
static |
- Parameters
-
| name | Module name |
| conf | Configuration properties (output) |
| props | User properties |
| globdat | Global data container |
- Returns
- New module instance
◆ prepareProps_()
| void PBCGroupInputModule::prepareProps_ |
( |
const Properties & |
myProps | ) |
const |
|
protected |
- Parameters
-
| myProps | Module properties to configure |
◆ sortBoundaryNodes_()
| void PBCGroupInputModule::sortBoundaryNodes_ |
( |
const IdxVector & |
islaves, |
|
|
const IdxVector & |
imasters, |
|
|
const NodeSet & |
nodes, |
|
|
const Properties & |
globdat, |
|
|
const idx_t |
ix |
|
) |
| const |
|
protected |
- Parameters
-
| islaves | Slave node indices |
| imasters | Master node indices |
| nodes | Node set |
| globdat | Global data container |
| ix | Coordinate direction index |
◆ CORNERS
| const char * PBCGroupInputModule::CORNERS |
|
static |
Initial value:= {"corner0", "cornerx",
"cornery", "cornerz"}
◆ corners_
| bool PBCGroupInputModule::corners_ |
|
protected |
◆ dupedNodeGroup_
| String PBCGroupInputModule::dupedNodeGroup_ |
|
protected |
◆ DUPEDNODES_PROP
| const char * PBCGroupInputModule::DUPEDNODES_PROP = "duplicatedNodes" |
|
static |
◆ EDGES
| const char * PBCGroupInputModule::EDGES |
|
static |
Initial value:= {"xmin", "xmax", "ymin",
"ymax", "zmin", "zmax"}
◆ edges_
| bool PBCGroupInputModule::edges_ |
|
protected |
◆ groupSettings_
| Properties PBCGroupInputModule::groupSettings_ |
|
protected |
◆ NGROUPS_PROP
| const char * PBCGroupInputModule::NGROUPS_PROP = "groupSettings" |
|
static |
◆ rank_
| idx_t PBCGroupInputModule::rank_ |
|
protected |
◆ small_
| double PBCGroupInputModule::small_ |
|
protected |
◆ TYPE_NAME
| const char * PBCGroupInputModule::TYPE_NAME = "PBCGroupInput" |
|
static |