SIMPInterpolation Class Reference

Computes the Brickmann penalization function for topology optimisation, using the SIMP approach proposed by Bendsøe. More...

Inheritance diagram for SIMPInterpolation:
Collaboration diagram for SIMPInterpolation:

Public Member Functions

 TypeName ("SIMP")
 Runtime type information. More...
 
 SIMPInterpolation (const fvMesh &mesh, const dictionary &dict)
 Construct from components. More...
 
virtual ~SIMPInterpolation ()=default
 Destructor. More...
 
virtual void interpolate (const scalarField &arg, scalarField &res) const
 Interpolate argument and write to result. More...
 
virtual tmp< scalarFieldderivative (const scalarField &arg) const
 Return of function with respect to the argument field. More...
 
- Public Member Functions inherited from topOInterpolationFunction
 TypeName ("topOInterpolationFunction")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, topOInterpolationFunction, dictionary,(const fvMesh &mesh, const dictionary &dict),(mesh, dict))
 
 topOInterpolationFunction (const fvMesh &mesh, const dictionary &dict)
 Construct from components. More...
 
virtual ~topOInterpolationFunction ()=default
 Destructor. More...
 
virtual void setLengthScaleParam (const scalar lengthScale)
 Set the parameter determining length scale. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from topOInterpolationFunction
static autoPtr< topOInterpolationFunctionNew (const fvMesh &mesh, const dictionary &dict)
 Return an autoPtr to the selected interpolation type. More...
 
- Protected Attributes inherited from topOInterpolationFunction
const fvMeshmesh_
 
dictionary dict_
 

Detailed Description

Computes the Brickmann penalization function for topology optimisation, using the SIMP approach proposed by Bendsøe.

Reference:

    Bendsøe, M. P. (1989)
    Optimal shape design as a material distribution problem.
    Structural optimization, 1(4), 193–202.
    https://doi.org/10.1007/BF01650949

InterpolationFiles SIMPInterpolation.C

Definition at line 54 of file SIMPInterpolation.H.

Constructor & Destructor Documentation

◆ SIMPInterpolation()

SIMPInterpolation ( const fvMesh mesh,
const dictionary dict 
)

Construct from components.

Definition at line 42 of file SIMPInterpolation.C.

◆ ~SIMPInterpolation()

virtual ~SIMPInterpolation ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "SIMP"  )

Runtime type information.

◆ interpolate()

void interpolate ( const scalarField arg,
scalarField res 
) const
virtual

Interpolate argument and write to result.

Implements topOInterpolationFunction.

Definition at line 55 of file SIMPInterpolation.C.

References Foam::constant::physicoChemical::b, and Foam::pow().

Here is the call graph for this function:

◆ derivative()

Foam::tmp< Foam::scalarField > derivative ( const scalarField arg) const
virtual

Return of function with respect to the argument field.

Implements topOInterpolationFunction.

Definition at line 70 of file SIMPInterpolation.C.

References Foam::constant::physicoChemical::b, topOInterpolationFunction::mesh_, Foam::pow(), tmp< T >::ref(), UList< T >::size(), fvMesh::time(), TimeState::timeOutputValue(), and Foam::Zero.

Here is the call graph for this function:

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