OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
oofem::PrescribedGradientHomogenization Class Referenceabstract

Class for homogenization of applied gradients. More...

#include <prescribedgradienthomogenization.h>

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

Public Member Functions

 PrescribedGradientHomogenization ()
 
virtual ~PrescribedGradientHomogenization ()
 
virtual double domainSize ()
 
virtual IRResultType initializeFrom (InputRecord *ir)
 Initializes receiver according to object description stored in input record. More...
 
virtual void giveInputRecord (DynamicInputRecord &input)
 
virtual void computeField (FloatArray &sigma, TimeStep *tStep)=0
 Computes the homogenized, macroscopic, field (stress). More...
 
virtual void computeTangent (FloatMatrix &tangent, TimeStep *tStep)=0
 Computes the macroscopic tangent for homogenization problems through sensitivity analysis. More...
 
void setPrescribedGradient (const FloatMatrix &t)
 Set prescribed gradient. More...
 
void setPrescribedGradientVoigt (const FloatArray &t)
 Sets the prescribed gradient from the matrix from given voigt notation. More...
 
void giveGradientVoigt (FloatArray &oGradient) const
 Gives back the applied gradient in Voigt form. More...
 
void setCenterCoordinate (FloatArray &x)
 Set the center coordinate for the prescribed values to be set for. More...
 
FloatArraygiveCenterCoordinate ()
 Returns the center coordinate. More...
 
virtual const char * giveClassName () const =0
 

Protected Member Functions

virtual double domainSize (Domain *d, int set)
 

Protected Attributes

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

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

oofem::PrescribedGradientHomogenization::PrescribedGradientHomogenization ( )
inline

Definition at line 74 of file prescribedgradienthomogenization.h.

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

Definition at line 75 of file prescribedgradienthomogenization.h.

Member Function Documentation

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::PrescribedGradientBCWeak, oofem::PrescribedGradient, oofem::PrescribedGradientBCPeriodic, and oofem::PrescribedGradientBCNeumann.

Referenced by oofem::StructuralFE2Material::giveRealStressVector_3d().

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::PrescribedGradientBCWeak, oofem::PrescribedGradient, oofem::PrescribedGradientBCPeriodic, and oofem::PrescribedGradientBCNeumann.

Referenced by oofem::StructuralFE2MaterialStatus::computeTangent().

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

Returns the center coordinate.

Definition at line 128 of file prescribedgradienthomogenization.h.

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

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

Gives back the applied gradient in Voigt form.

Parameters
oGradientThe applied gradient, in Voigt form.

Definition at line 92 of file prescribedgradienthomogenization.C.

References oofem::FloatMatrix::at(), oofem::FloatMatrix::giveNumberOfRows(), and mGradient.

Referenced by oofem::PrescribedGradientBCNeumann::assembleVector(), and oofem::GnuplotExportModule::outputBoundaryCondition().

IRResultType 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::PrescribedGradientBCWeak, oofem::PrescribedGradient, oofem::PrescribedGradientBCPeriodic, oofem::PrescribedGradientBCNeumann, oofem::PrescribedGradientBCWeakDirichlet, and oofem::PrescribedGradientBCWeakPeriodic.

Definition at line 45 of file prescribedgradienthomogenization.C.

References _IFT_PrescribedGradientHomogenization_centercoords, _IFT_PrescribedGradientHomogenization_gradient, oofem::FloatMatrix::giveNumberOfColumns(), IR_GIVE_FIELD, IR_GIVE_OPTIONAL_FIELD, oofem::IRRT_OK, mCenterCoord, mGradient, oofem::FloatArray::resize(), and oofem::FloatArray::zero().

Referenced by oofem::PrescribedGradientBCNeumann::initializeFrom(), oofem::PrescribedGradientBCPeriodic::initializeFrom(), oofem::PrescribedGradient::initializeFrom(), and oofem::PrescribedGradientBCWeak::initializeFrom().

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.

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

Set prescribed gradient.

Parameters
tNew prescribed gradient.

Definition at line 108 of file prescribedgradienthomogenization.h.

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 65 of file prescribedgradienthomogenization.C.

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

Referenced by oofem::StructuralFE2Material::giveRealStressVector_3d().

Member Data Documentation

FloatArray oofem::PrescribedGradientHomogenization::mCenterCoord
protected

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

This page is part of the OOFEM documentation. Copyright (c) 2011 Borek Patzak
Project e-mail: info@oofem.org
Generated at Tue Jan 2 2018 20:07:39 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011