KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
List of all members
Kratos::DerivativeDataFrictional< TDim, TNumNodes, TNumNodesMaster > Class Template Reference

This class is a derived class of DerivativeData. More...

#include <mortar_classes.h>

Inheritance diagram for Kratos::DerivativeDataFrictional< TDim, TNumNodes, TNumNodesMaster >:
Collaboration diagram for Kratos::DerivativeDataFrictional< TDim, TNumNodes, TNumNodesMaster >:

Public Member Functions

Operations
void Initialize (const GeometryType &SlaveGeometry, const ProcessInfo &rCurrentProcessInfo) override
 Initializer method. More...
 
void UpdateMasterPair (const GeometryType &MasterGeometry, const ProcessInfo &rCurrentProcessInfo) override
 Updating the Master pair. More...
 
- Public Member Functions inherited from Kratos::DerivativeData< TDim, TNumNodes, TNumNodes >
virtual void ResetDerivatives ()
 This method reset to zero the cell vertex derivatives. More...
 
void InitializeDeltaAeComponents ()
 Initialize the DeltaAe components. More...
 
 DerivativeData ()=default
 
virtual ~DerivativeData ()=default
 

Type Definitions

using BaseClassType = DerivativeData< TDim, TNumNodes, TNumNodesMaster >
 The base class type. More...
 
using GeometryDoFMatrixSlaveType = BoundedMatrix< double, TNumNodes, TDim >
 The bounded matrix employed class. More...
 
using GeometryDoFMatrixMasterType = BoundedMatrix< double, TNumNodesMaster, TDim >
 
static const SizeType DoFSizeSlaveGeometry = (TNumNodes * TDim)
 
static const SizeType DoFSizeMasterGeometry = (TNumNodes * TDim)
 
static const SizeType DoFSizePairedGeometry = DoFSizeSlaveGeometry + DoFSizeMasterGeometry
 Size of DoFs of a paired dependency. More...
 

Life Cycle

double TangentFactor = 0.0
 The ALM parameters. More...
 
GeometryDoFMatrixSlaveType u1old
 Displacements and velocities. More...
 
GeometryDoFMatrixMasterType u2old
 
 DerivativeDataFrictional ()=default
 
virtual ~DerivativeDataFrictional ()=default
 

Serialization

class Serializer
 

Additional Inherited Members

- Public Types inherited from Kratos::DerivativeData< TDim, TNumNodes, TNumNodes >
using DummyBoundedMatrixType = BoundedMatrix< int, 1, 1 >
 
using GeometryArraySlaveType = array_1d< double, TNumNodes >
 
using GeometryArrayMasterType = array_1d< double, TNumNodesMaster >
 
using GeometryDoFMatrixSlaveType = BoundedMatrix< double, TNumNodes, TDim >
 
using GeometryDoFMatrixMasterType = BoundedMatrix< double, TNumNodesMaster, TDim >
 
using GeometryMatrixType = BoundedMatrix< double, TNumNodes, TNumNodes >
 
using VertexDerivativesMatrixType = typename std::conditional< TNumNodes==2, DummyBoundedMatrixType, BoundedMatrix< double, 3, 3 > >::type
 
- Public Attributes inherited from Kratos::DerivativeData< TDim, TNumNodes, TNumNodes >
array_1d< double, TNumNodes > PenaltyParameter
 The penalty parameter. More...
 
double ScaleFactor
 The scale factor. More...
 
GeometryDoFMatrixSlaveType NormalSlave
 The normals of the nodes. More...
 
GeometryDoFMatrixMasterType NormalMaster
 
GeometryDoFMatrixSlaveType X1
 Displacements and original coordinates. More...
 
GeometryDoFMatrixSlaveType u1
 
GeometryDoFMatrixMasterType X2
 
GeometryDoFMatrixMasterType u2
 
array_1d< double, DoFSizeDerivativesDependenceDeltaDetjSlave
 Jacobian derivatives. More...
 
array_1d< GeometryArraySlaveType, DoFSizeDerivativesDependenceDeltaPhi
 Dual shape function derivatives. More...
 
array_1d< GeometryArraySlaveType, DoFSizeDerivativesDependenceDeltaN1
 Shape function derivatives. More...
 
array_1d< GeometryArrayMasterType, DoFSizeDerivativesDependenceDeltaN2
 
array_1d< GeometryDoFMatrixSlaveType, DoFSizeSlaveGeometryDeltaNormalSlave
 Normal derivatives. More...
 
array_1d< GeometryDoFMatrixMasterType, DoFSizeMasterGeometryDeltaNormalMaster
 
array_1d< VertexDerivativesMatrixType, DoFSizeDerivativesVertexDeltaCellVertex
 Integration cell vertex derivatives. More...
 
GeometryMatrixType Ae
 Ae matrix. More...
 
array_1d< GeometryMatrixType, DoFSizeDerivativesDependenceDeltaAe
 Derivatives Ae. More...
 
- Static Public Attributes inherited from Kratos::DerivativeData< TDim, TNumNodes, TNumNodes >
static const SizeType DummySize
 
static const SizeType DoFSizeSlaveGeometry
 
static const SizeType DoFSizeMasterGeometry
 
static const SizeType DoFSizePairedGeometry
 
static const SizeType DoFSizeDerivativesDependence
 
static const SizeType DoFSizeDerivativesVertex
 

Detailed Description

template<const SizeType TDim, const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
class Kratos::DerivativeDataFrictional< TDim, TNumNodes, TNumNodesMaster >

This class is a derived class of DerivativeData.

Includes additionally the derivatives necessary to compute the directional derivatives for the frictional conditions

Author
Vicente Mataix Ferrandiz
Template Parameters
TDimThe dimension of work
TNumNodesThe number of nodes of the slave
TNumNodesMasterThe number of nodes of the master

Member Typedef Documentation

◆ BaseClassType

template<const SizeType TDim, const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
using Kratos::DerivativeDataFrictional< TDim, TNumNodes, TNumNodesMaster >::BaseClassType = DerivativeData<TDim, TNumNodes, TNumNodesMaster>

The base class type.

◆ GeometryDoFMatrixMasterType

template<const SizeType TDim, const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
using Kratos::DerivativeDataFrictional< TDim, TNumNodes, TNumNodesMaster >::GeometryDoFMatrixMasterType = BoundedMatrix<double, TNumNodesMaster, TDim>

◆ GeometryDoFMatrixSlaveType

template<const SizeType TDim, const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
using Kratos::DerivativeDataFrictional< TDim, TNumNodes, TNumNodesMaster >::GeometryDoFMatrixSlaveType = BoundedMatrix<double, TNumNodes, TDim>

The bounded matrix employed class.

Constructor & Destructor Documentation

◆ DerivativeDataFrictional()

template<const SizeType TDim, const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
Kratos::DerivativeDataFrictional< TDim, TNumNodes, TNumNodesMaster >::DerivativeDataFrictional ( )
default

◆ ~DerivativeDataFrictional()

template<const SizeType TDim, const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
virtual Kratos::DerivativeDataFrictional< TDim, TNumNodes, TNumNodesMaster >::~DerivativeDataFrictional ( )
virtualdefault

Member Function Documentation

◆ Initialize()

template<const SizeType TDim, const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
void Kratos::DerivativeDataFrictional< TDim, TNumNodes, TNumNodesMaster >::Initialize ( const GeometryType SlaveGeometry,
const ProcessInfo rCurrentProcessInfo 
)
inlineoverridevirtual

Initializer method.

Parameters
SlaveGeometryThe geometry of the slave
rCurrentProcessInfoThe process info from the system

Reimplemented from Kratos::DerivativeData< TDim, TNumNodes, TNumNodes >.

◆ UpdateMasterPair()

template<const SizeType TDim, const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
void Kratos::DerivativeDataFrictional< TDim, TNumNodes, TNumNodesMaster >::UpdateMasterPair ( const GeometryType MasterGeometry,
const ProcessInfo rCurrentProcessInfo 
)
inlineoverridevirtual

Updating the Master pair.

Parameters
MasterGeometryThe geometry of the master
rCurrentProcessInfoThe process info from the system

Reimplemented from Kratos::DerivativeData< TDim, TNumNodes, TNumNodes >.

Friends And Related Function Documentation

◆ Serializer

template<const SizeType TDim, const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
friend class Serializer
friend

Member Data Documentation

◆ DoFSizeMasterGeometry

template<const SizeType TDim, const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
const SizeType Kratos::DerivativeDataFrictional< TDim, TNumNodes, TNumNodesMaster >::DoFSizeMasterGeometry = (TNumNodes * TDim)
static

◆ DoFSizePairedGeometry

template<const SizeType TDim, const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
const SizeType Kratos::DerivativeDataFrictional< TDim, TNumNodes, TNumNodesMaster >::DoFSizePairedGeometry = DoFSizeSlaveGeometry + DoFSizeMasterGeometry
static

Size of DoFs of a paired dependency.

◆ DoFSizeSlaveGeometry

template<const SizeType TDim, const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
const SizeType Kratos::DerivativeDataFrictional< TDim, TNumNodes, TNumNodesMaster >::DoFSizeSlaveGeometry = (TNumNodes * TDim)
static

◆ TangentFactor

template<const SizeType TDim, const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
double Kratos::DerivativeDataFrictional< TDim, TNumNodes, TNumNodesMaster >::TangentFactor = 0.0

The ALM parameters.

◆ u1old

template<const SizeType TDim, const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
GeometryDoFMatrixSlaveType Kratos::DerivativeDataFrictional< TDim, TNumNodes, TNumNodesMaster >::u1old

Displacements and velocities.

◆ u2old

template<const SizeType TDim, const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
GeometryDoFMatrixMasterType Kratos::DerivativeDataFrictional< TDim, TNumNodes, TNumNodesMaster >::u2old

The documentation for this class was generated from the following file: