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

Model for managing lattice structures composed of rod elements. More...

#include "LatticeModel.h"

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

Public Member Functions

 LatticeModel (const String &name, const Properties &conf, const Properties &props, const Properties &globdat)
 Constructor with configuration and properties.
 
virtual bool takeAction (const String &action, const Properties &params, const Properties &globdat) override
 Handle model actions for lattice coordination.
 
double getKineticEnergy (const Properties &globdat) const
 Calculate total kinetic energy of the lattice.
 
void getKineticEnergy (XTable &energy_table, const Vector &table_weights, const Properties &globdat) const
 Calculate kinetic energy and store in table.
 
double getMass (const Properties &globdat) const
 Calculate total mass of the lattice.
 
void getMass (XTable &mass_table, const Vector &table_weights, const Properties &globdat) const
 Calculate mass and store in table.
 

Static Public Member Functions

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

Static Public Attributes

Property identifiers
static const char * TYPE_NAME = "Lattice"
 Model type name.
 
static const char * CHILD_PROPS = "child"
 Child model properties.
 
static const char * ROD_CONTACT_PROP = "contact"
 Rod contact model property.
 
static const char * JOINT_CONTACT_PROP = "jointContact"
 Joint contact model property.
 
static const char * ROD_LIST_PROP = "rodList"
 Rod list property.
 
static const char * NAME_PREFIX = "prefix"
 Child name prefix.
 

Detailed Description

Coordinates multiple child models representing rod elements and handles contact interactions between rods and joints. Provides utilities for computing global properties like kinetic energy and total mass.

Constructor & Destructor Documentation

◆ LatticeModel()

LatticeModel::LatticeModel ( const String &  name,
const Properties &  conf,
const Properties &  props,
const Properties &  globdat 
)
explicit
Parameters
nameModel name
confActually used configuration properties (output)
propsUser-specified model properties
globdatGlobal data container

Member Function Documentation

◆ declare()

void LatticeModel::declare ( )
static

◆ getKineticEnergy() [1/2]

double LatticeModel::getKineticEnergy ( const Properties &  globdat) const
Parameters
globdatGlobal data container
Returns
Total kinetic energy

◆ getKineticEnergy() [2/2]

void LatticeModel::getKineticEnergy ( XTable &  energy_table,
const Vector &  table_weights,
const Properties &  globdat 
) const
Parameters
energy_tableOutput energy table
table_weightsTable weights
globdatGlobal data container

◆ getMass() [1/2]

double LatticeModel::getMass ( const Properties &  globdat) const
Parameters
globdatGlobal data container
Returns
Total mass

◆ getMass() [2/2]

void LatticeModel::getMass ( XTable &  mass_table,
const Vector &  table_weights,
const Properties &  globdat 
) const
Parameters
mass_tableOutput mass table
table_weightsTable weights
globdatGlobal data container

◆ makeNew()

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

◆ takeAction()

bool LatticeModel::takeAction ( const String &  action,
const Properties &  params,
const Properties &  globdat 
)
overridevirtual
Parameters
actionAction name to execute
paramsAction parameters
globdatGlobal data container
Returns
true if action was handled

Member Data Documentation

◆ CHILD_PROPS

const char * LatticeModel::CHILD_PROPS = "child"
static

◆ JOINT_CONTACT_PROP

const char * LatticeModel::JOINT_CONTACT_PROP = "jointContact"
static

◆ NAME_PREFIX

const char * LatticeModel::NAME_PREFIX = "prefix"
static

◆ ROD_CONTACT_PROP

const char * LatticeModel::ROD_CONTACT_PROP = "contact"
static

◆ ROD_LIST_PROP

const char * LatticeModel::ROD_LIST_PROP = "rodList"
static

◆ TYPE_NAME

const char * LatticeModel::TYPE_NAME = "Lattice"
static