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

Module for adaptive time stepping in nonlinear analysis. More...

#include "AdaptiveStepModule.h"

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

Public Member Functions

 AdaptiveStepModule (const String &name="AdaptiveStep", Ref< NonlinModule > solver=nullptr)
 Constructor with optional nonlinear solver.
 
virtual Status init (const Properties &conf, const Properties &props, const Properties &globdat) override
 Initialize the module.
 
virtual void configure (const Properties &props, const Properties &globdat) override
 Configure the module from properties.
 
virtual void getConfig (const Properties &props, const Properties &globdat) const override
 Get current module configuration.
 
virtual void advance (const Properties &globdat) override
 Advance to next time step.
 
virtual void solve (const Properties &info, const Properties &globdat) override
 Solve the current step with adaptive control.
 
virtual void cancel (const Properties &globdat) override
 Cancel current solution attempt.
 
virtual bool commit (const Properties &globdat) override
 Commit current solution.
 
virtual void setPrecision (double eps) override
 Set convergence precision.
 
virtual double getPrecision () const override
 Get current convergence precision.
 

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

Static Public Attributes

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

Protected Member Functions

virtual ~AdaptiveStepModule ()
 Protected destructor.
 

Detailed Description

Implements adaptive time step control by monitoring convergence behavior and adjusting load increments automatically. Particularly useful for problems with plasticity where step size needs to adapt to material nonlinearity.

Constructor & Destructor Documentation

◆ AdaptiveStepModule()

AdaptiveStepModule::AdaptiveStepModule ( const String &  name = "AdaptiveStep",
Ref< NonlinModule >  solver = nullptr 
)
explicit
Parameters
nameModule name
solverNonlinear solver module

◆ ~AdaptiveStepModule()

AdaptiveStepModule::~AdaptiveStepModule ( )
protectedvirtual

Member Function Documentation

◆ advance()

void AdaptiveStepModule::advance ( const Properties &  globdat)
overridevirtual
Parameters
globdatGlobal data container

◆ cancel()

void AdaptiveStepModule::cancel ( const Properties &  globdat)
overridevirtual
Parameters
globdatGlobal data container

◆ commit()

bool AdaptiveStepModule::commit ( const Properties &  globdat)
overridevirtual
Parameters
globdatGlobal data container
Returns
true if commit was successful

◆ configure()

void AdaptiveStepModule::configure ( const Properties &  props,
const Properties &  globdat 
)
overridevirtual
Parameters
propsUser-specified module properties
globdatGlobal data container

◆ declare()

void AdaptiveStepModule::declare ( )
static

◆ getConfig()

void AdaptiveStepModule::getConfig ( const Properties &  props,
const Properties &  globdat 
) const
overridevirtual
Parameters
propsActually used configuration properties (output)
globdatGlobal data container

◆ getPrecision()

double AdaptiveStepModule::getPrecision ( ) const
inlineoverridevirtual

Get current convergence precision from the underlying solver.

Returns
Current convergence tolerance

◆ init()

Module::Status AdaptiveStepModule::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

◆ makeNew()

Ref< Module > AdaptiveStepModule::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 AdaptiveStepModule instance

◆ setPrecision()

void AdaptiveStepModule::setPrecision ( double  eps)
inlineoverridevirtual

Set convergence precision for the underlying solver.

Parameters
epsConvergence tolerance

◆ solve()

void AdaptiveStepModule::solve ( const Properties &  info,
const Properties &  globdat 
)
overridevirtual
Parameters
infoSolver information
globdatGlobal data container

Member Data Documentation

◆ TYPE_NAME

const char * AdaptiveStepModule::TYPE_NAME = "AdaptiveStep"
static