OOFEM 3.0
Loading...
Searching...
No Matches
oofem::PrescribedGradientHomogenization Class Referenceabstract

#include <prescribedgradienthomogenization.h>

Inheritance diagram for oofem::PrescribedGradientHomogenization:
Collaboration diagram for oofem::PrescribedGradientHomogenization:

Public Member Functions

 PrescribedGradientHomogenization ()
virtual ~PrescribedGradientHomogenization ()
virtual double domainSize ()
virtual void initializeFrom (InputRecord &ir)
virtual void giveInputRecord (DynamicInputRecord &input)
virtual void computeField (FloatArray &sigma, TimeStep *tStep)=0
virtual void computeTangent (FloatMatrix &tangent, TimeStep *tStep)=0
void setPrescribedGradient (const FloatMatrix &t)
void setPrescribedGradientVoigt (const FloatArray &t)
void giveGradientVoigt (FloatArray &oGradient) const
void setCenterCoordinate (FloatArray &x)
FloatArraygiveCenterCoordinate ()
 Returns the center coordinate.
virtual const char * giveClassName () const =0

Protected Member Functions

virtual double domainSize (Domain *d, int set)

Protected Attributes

FloatMatrix mGradient
 Prescribed gradient \( d_{ij} \).
FloatArray mCenterCoord
 Center coordinate \( \bar{x}_i \).

Detailed Description

Class for homogenization of applied gradients. This is typically applied to a boundary condition in multiscale analysis where \( d = \partial_x s\)

Author
Mikael Öhman

Definition at line 62 of file prescribedgradienthomogenization.h.

Constructor & Destructor Documentation

◆ PrescribedGradientHomogenization()

◆ ~PrescribedGradientHomogenization()

virtual oofem::PrescribedGradientHomogenization::~PrescribedGradientHomogenization ( )
inlinevirtual

Definition at line 75 of file prescribedgradienthomogenization.h.

Member Function Documentation

◆ computeField()

virtual void oofem::PrescribedGradientHomogenization::computeField ( FloatArray & sigma,
TimeStep * tStep )
pure virtual

Computes the homogenized, macroscopic, field (stress).

Parameters
sigmaOutput quantity (typically stress).
tStepActive time step.

Implemented in oofem::PrescribedGradient, oofem::PrescribedGradientBCNeumann, oofem::PrescribedGradientBCPeriodic, oofem::PrescribedGradientBCWeak, and oofem::PrescribedGradientMultiple.

◆ computeTangent()

virtual void oofem::PrescribedGradientHomogenization::computeTangent ( FloatMatrix & tangent,
TimeStep * tStep )
pure virtual

Computes the macroscopic tangent for homogenization problems through sensitivity analysis.

Parameters
tangentOutput tangent.
tStepActive time step.

Implemented in oofem::PrescribedGradient, oofem::PrescribedGradientBCNeumann, oofem::PrescribedGradientBCPeriodic, oofem::PrescribedGradientBCWeak, and oofem::PrescribedGradientMultiple.

◆ domainSize() [1/2]

virtual double oofem::PrescribedGradientHomogenization::domainSize ( )
inlinevirtual

◆ domainSize() [2/2]

◆ giveCenterCoordinate()

FloatArray & oofem::PrescribedGradientHomogenization::giveCenterCoordinate ( )
inline

Returns the center coordinate.

Definition at line 128 of file prescribedgradienthomogenization.h.

References mCenterCoord.

Referenced by oofem::PrescribedGradient::updateCoefficientMatrix().

◆ giveClassName()

◆ giveGradientVoigt()

void oofem::PrescribedGradientHomogenization::giveGradientVoigt ( FloatArray & oGradient) const

◆ giveInputRecord()

◆ initializeFrom()

void oofem::PrescribedGradientHomogenization::initializeFrom ( InputRecord & ir)
virtual

Initializes receiver according to object description stored in input record. The input record contains two fields;

  • gradient #rows #columns { d_11 d_12 ... ; d_21 ... } (required)
  • cCoords #columns x_1 x_2 ... (optional, default 0) The prescribed gradients columns must be equal to the size of the center coordinates. The size of the center coordinates must be equal to the size of the coordinates in the applied nodes.

Reimplemented in oofem::PrescribedGradient, oofem::PrescribedGradientBCNeumann, oofem::PrescribedGradientBCPeriodic, oofem::PrescribedGradientBCWeak, oofem::PrescribedGradientBCWeakDirichlet, oofem::PrescribedGradientBCWeakPeriodic, and oofem::PrescribedGradientMultiple.

Definition at line 45 of file prescribedgradienthomogenization.C.

References _IFT_PrescribedGradientHomogenization_centercoords, _IFT_PrescribedGradientHomogenization_gradient, IR_GIVE_FIELD, IR_GIVE_OPTIONAL_FIELD, mCenterCoord, and mGradient.

Referenced by oofem::PrescribedGradientBCPeriodic::initializeFrom().

◆ setCenterCoordinate()

void oofem::PrescribedGradientHomogenization::setCenterCoordinate ( FloatArray & x)
inline

Set the center coordinate for the prescribed values to be set for.

Parameters
xCenter coordinate.

Definition at line 126 of file prescribedgradienthomogenization.h.

References mCenterCoord.

◆ setPrescribedGradient()

void oofem::PrescribedGradientHomogenization::setPrescribedGradient ( const FloatMatrix & t)
inline

Set prescribed gradient.

Parameters
tNew prescribed gradient.

Definition at line 108 of file prescribedgradienthomogenization.h.

References mGradient.

◆ setPrescribedGradientVoigt()

void oofem::PrescribedGradientHomogenization::setPrescribedGradientVoigt ( const FloatArray & t)

Sets the prescribed gradient from the matrix from given voigt notation. Assumes use of double values for off-diagonal, usually the way for strain in Voigt form.

Parameters
tVector in voigt format.

Definition at line 61 of file prescribedgradienthomogenization.C.

References oofem::FloatArray::at(), oofem::FloatArray::giveSize(), mGradient, and OOFEM_ERROR.

Member Data Documentation

◆ mCenterCoord

◆ mGradient


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

This page is part of the OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak Bořek Patzák
Project e-mail: oofem@fsv.cvut.cz
Generated at for OOFEM by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2011