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

Module for tangent elastic property calculation via homogenization. More...

#include "TangentOutputModule.h"

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

Public Member Functions

 TangentOutputModule (const String &name="tangentOutput")
 Constructor.
 
virtual Status init (const Properties &conf, const Properties &props, const Properties &globdat) override
 Initialize tangent property calculation.
 
virtual Status run (const Properties &globdat) override
 Run tangent property calculation.
 
virtual void shutdown (const Properties &globdat) override
 Shutdown module and finalize output.
 

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 instances.
 
static void declare ()
 Register module type with factory.
 

Static Public Attributes

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

Protected Member Functions

virtual ~TangentOutputModule ()
 Protected destructor.
 

Detailed Description

Computes effective elastic properties of heterogeneous materials using periodic boundary conditions. Supports two computation modes:

The module performs strain-stress analysis on boundary nodes and calculates homogenized material properties for multi-scale modeling applications.

Note
Only for static analyses with an implicit (Newton) solver. The finite-difference perturbations are solved with an internal NonlinModule; combined with an explicit integrator, output modules would read the internal force published for the committed state instead of the perturbed one, and the tangent would be zero. run() therefore refuses to work when such a published force is present.

Constructor & Destructor Documentation

◆ TangentOutputModule()

TangentOutputModule::TangentOutputModule ( const String &  name = "tangentOutput")
explicit
Parameters
[in]nameModule name (default: "tangentOutput")

◆ ~TangentOutputModule()

TangentOutputModule::~TangentOutputModule ( )
protectedvirtual

Member Function Documentation

◆ declare()

void TangentOutputModule::declare ( )
static

◆ init()

Module::Status TangentOutputModule::init ( const Properties &  conf,
const Properties &  props,
const Properties &  globdat 
)
overridevirtual
Parameters
[out]confConfiguration properties (output)
[in]propsUser properties
[in]globdatGlobal data container
Returns
Module status

◆ makeNew()

Ref< Module > TangentOutputModule::makeNew ( const String &  name,
const Properties &  conf,
const Properties &  props,
const Properties &  globdat 
)
static
Parameters
[in]nameModule name
[out]confConfiguration properties (output)
[in]propsUser properties
[in]globdatGlobal data container
Returns
New module instance

◆ run()

Module::Status TangentOutputModule::run ( const Properties &  globdat)
overridevirtual
Parameters
[in]globdatGlobal data container
Returns
Module status

◆ shutdown()

void TangentOutputModule::shutdown ( const Properties &  globdat)
overridevirtual
Parameters
[in]globdatGlobal data container

Member Data Documentation

◆ TYPE_NAME

const char * TangentOutputModule::TYPE_NAME = "TangentOutput"
static