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

Module for extracting and storing group-based output data. More...

#include "GroupOutputModule.h"

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

Public Member Functions

 GroupOutputModule (const String &name="groupOutput")
 Constructor.
 
virtual Status init (const Properties &conf, const Properties &props, const Properties &globdat) override
 Initialize the module.
 
virtual Status run (const Properties &globdat) override
 Extract and store group-based output data.
 

Static Public Member Functions

static Ref< Module > makeNew (const String &name, const Properties &conf, const Properties &props, const Properties &globdat)
 Factory method for creating new GroupOutputModule instances.
 
static void declare ()
 Register GroupOutputModule type with ModuleFactory.
 

Static Public Attributes

Property identifiers
static const char * TYPE_NAME = "GroupOutput"
 Module type name.
 

Protected Member Functions

virtual ~GroupOutputModule ()
 Protected destructor.
 

Protected Attributes

Group configuration
StringVector nodeGroups_
 Node groups for singular element force/displacement calculations.
 
StringVector elemGroups_
 Element groups for extent/strain/stress value calculations.
 
DOF configuration
StringVector nodeDofNames_
 DOF names for node group calculations.
 
IdxVector nodeDofs_
 DOF indices for node group calculations.
 
StringVector elemDofNames_
 DOF names for element group calculations.
 
IdxVector elemDofs_
 DOF indices for element group calculations.
 

Detailed Description

This module extracts various state variables (displacement, velocity, acceleration, load, and response forces) from specified node and element groups and stores them in the global database. For node groups, it computes:

For element groups, it extracts data from all nodes associated with the elements in the group. The module supports flexible DOF specification and automatically handles state vector retrieval and group-based aggregation.

The extracted data is stored in the global variables database under group names and can be accessed by other modules or for post-processing.

Constructor & Destructor Documentation

◆ GroupOutputModule()

GroupOutputModule::GroupOutputModule ( const String &  name = "groupOutput")
explicit
Parameters
nameModule name (default: "groupOutput")

◆ ~GroupOutputModule()

GroupOutputModule::~GroupOutputModule ( )
protectedvirtual

Member Function Documentation

◆ declare()

void GroupOutputModule::declare ( )
static

◆ init()

Module::Status GroupOutputModule::init ( const Properties &  conf,
const Properties &  props,
const Properties &  globdat 
)
overridevirtual
Parameters
confActually used configuration properties (output)
propsUser-specified module properties
globdatGlobal data container
Returns
Module status

Configures node and element groups, DOF specifications, and translates DOF names to indices. Performs initial data extraction.

Reimplemented in PBCGroupOutputModule.

◆ makeNew()

Ref< Module > GroupOutputModule::makeNew ( const String &  name,
const Properties &  conf,
const Properties &  props,
const Properties &  globdat 
)
static
Parameters
nameModule name
confActually used configuration properties (output)
propsUser-specified module properties
globdatGlobal data container
Returns
Reference to new GroupOutputModule instance

◆ run()

Module::Status GroupOutputModule::run ( const Properties &  globdat)
overridevirtual
Parameters
globdatGlobal data container
Returns
Module status

Extracts state variables from all configured node and element groups and stores aggregated results in the global variables database

Reimplemented in PBCGroupOutputModule.

Member Data Documentation

◆ elemDofNames_

StringVector GroupOutputModule::elemDofNames_
protected

◆ elemDofs_

IdxVector GroupOutputModule::elemDofs_
protected

◆ elemGroups_

StringVector GroupOutputModule::elemGroups_
protected

◆ nodeDofNames_

StringVector GroupOutputModule::nodeDofNames_
protected

◆ nodeDofs_

IdxVector GroupOutputModule::nodeDofs_
protected

◆ nodeGroups_

StringVector GroupOutputModule::nodeGroups_
protected

◆ TYPE_NAME

const char * GroupOutputModule::TYPE_NAME = "GroupOutput"
static