Loading...
Searching...
No Matches
SIMPInterpolation Class Reference

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

#include <SIMPInterpolation.H>

Inheritance diagram for SIMPInterpolation:
Collaboration diagram for SIMPInterpolation:

Public Member Functions

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

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.
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 41 of file SIMPInterpolation.C.

References dict, mesh, and topOInterpolationFunction::New().

Here is the call graph for this function:

◆ ~SIMPInterpolation()

virtual ~SIMPInterpolation ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "SIMP" )

Runtime type information.

References dict, and mesh.

◆ interpolate()

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

Interpolate argument and write to result.

Implements topOInterpolationFunction.

Definition at line 54 of file SIMPInterpolation.C.

References b, topOInterpolationFunction::mesh_, 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 b, topOInterpolationFunction::mesh_, tmp< T >::New(), Foam::pow(), tmp< T >::ref(), UList< T >::size(), and Foam::Zero.

Here is the call graph for this function:

The documentation for this class was generated from the following files:
  • src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/interpolationFunctions/SIMP/SIMPInterpolation.H
  • src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/topODesignVariables/interpolationFunctions/SIMP/SIMPInterpolation.C