sigmoidalHeaviside Class Reference

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

Inheritance diagram for sigmoidalHeaviside:
Collaboration diagram for sigmoidalHeaviside:

Public Member Functions

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

Protected Member Functions

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

Protected Attributes

scalar dNB_
 The near-band distance. More...
 
- 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. More...
 

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 76 of file sigmoidalHeaviside.C.

◆ ~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 polyMesh::bounds(), DebugInfo, topOInterpolationFunction::dict_, Foam::endl(), forAll, Foam::gAverage(), dictionary::getOrDefaultCompat(), topOInterpolationFunction::mesh_, polyMesh::nGeometricD(), Foam::pow(), polyMesh::solutionD(), boundBox::span(), and fvMesh::V().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "sigmoidalHeaviside"  )

Runtime type information.

◆ interpolate()

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

Interpolate argument to result.

Implements topOInterpolationFunction.

Definition at line 90 of file sigmoidalHeaviside.C.

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

Here is the call graph for this function:

◆ derivative()

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

Member Data Documentation

◆ dNB_

scalar dNB_
protected

The near-band distance.

Definition at line 55 of file sigmoidalHeaviside.H.

Referenced by sigmoidalHeaviside::derivative().


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