Loading...
Searching...
No Matches
sigmoidalHeaviside Class Reference

A smooth Heaviside function to project the signed distance field in level set topology optimization. More...

#include <sigmoidalHeaviside.H>

Inheritance diagram for sigmoidalHeaviside:
Collaboration diagram for sigmoidalHeaviside:

Public Member Functions

 TypeName ("sigmoidalHeaviside")
 Runtime type information.
 sigmoidalHeaviside (const fvMesh &mesh, const dictionary &dict)
 Construct from mesh and dictionary.
virtual ~sigmoidalHeaviside ()=default
virtual void interpolate (const scalarField &arg, scalarField &res) const
 Interpolate argument 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.

Protected Member Functions

scalar computeNearBandWidth () const
 Compute the near-band width of the fluid-solid interface as.

Protected Attributes

scalar dNB_
 The near-band distance.
Protected Attributes inherited from topOInterpolationFunction
const fvMeshmesh_
dictionary dict_

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.

Detailed Description

A smooth Heaviside function to project the signed distance field in level set topology optimization.

Definition at line 44 of file sigmoidalHeaviside.H.

Constructor & Destructor Documentation

◆ sigmoidalHeaviside()

sigmoidalHeaviside ( const fvMesh & mesh,
const dictionary & dict )

Construct from mesh and dictionary.

Definition at line 75 of file sigmoidalHeaviside.C.

References computeNearBandWidth(), dict, dNB_, and mesh.

Here is the call graph for this function:

◆ ~sigmoidalHeaviside()

virtual ~sigmoidalHeaviside ( )
virtualdefault

Member Function Documentation

◆ computeNearBandWidth()

scalar computeNearBandWidth ( ) const
protected

Compute the near-band width of the fluid-solid interface as.

the mean edge length of mesh cells

Definition at line 45 of file sigmoidalHeaviside.C.

References DebugInfo, topOInterpolationFunction::dict_, Foam::endl(), forAll, Foam::gAverage(), topOInterpolationFunction::mesh_, and Foam::pow().

Referenced by sigmoidalHeaviside().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TypeName()

TypeName ( "sigmoidalHeaviside" )

Runtime type information.

References dict, and mesh.

◆ interpolate()

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

Interpolate argument to result.

Implements topOInterpolationFunction.

Definition at line 89 of file sigmoidalHeaviside.C.

References DebugInfo, dNB_, Foam::endl(), Foam::max(), topOInterpolationFunction::mesh_, Foam::min(), Foam::constant::mathematical::pi(), pi(), Foam::sin(), and Foam::type().

Here is the call graph for this function:

◆ derivative()

tmp< scalarField > derivative ( const scalarField & arg) const
virtual

Return of function with respect to the argument field.

Implements topOInterpolationFunction.

Definition at line 106 of file sigmoidalHeaviside.C.

References Foam::cos(), DebugInfo, dNB_, Foam::endl(), Foam::max(), topOInterpolationFunction::mesh_, Foam::min(), tmp< T >::New(), Foam::constant::mathematical::pi(), pi(), tmp< T >::ref(), UList< T >::size(), Foam::type(), and Foam::Zero.

Here is the call graph for this function:

Member Data Documentation

◆ dNB_

scalar dNB_
protected

The near-band distance.

Definition at line 55 of file sigmoidalHeaviside.H.

Referenced by derivative(), interpolate(), and sigmoidalHeaviside().


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