Filters

Filter the solution to topology optimization.

Base Filter

class topopt.filters.Filter(nelx, nely, rmin)[source]

Filter solutions to topology optimization to avoid checker boarding.

__init__(nelx, nely, rmin)[source]

Create a filter to filter solutions.

Build (and assemble) the index+data vectors for the coo matrix format.

Parameters:
  • nelx (int) – The number of elements in the x direction.
  • nely (int) – The number of elements in the y direction.
  • rmin (float) – The filter radius.
filter_objective_sensitivities(xPhys, dobj)[source]

Filter derivative of the objective.

Parameters:
  • xPhys (ndarray) – The filtered density values.
  • dobj (ndarray) – The filtered objective sensitivities to be computed.
Return type:

None

filter_variables(x, xPhys)[source]

Filter the variable of the solution to produce xPhys.

Parameters:
  • x (ndarray) – The raw density values.
  • xPhys (ndarray) – The filtered density values to be computed
Return type:

None

filter_volume_sensitivities(xPhys, dv)[source]

Filter derivative of the volume.

Parameters:
  • xPhys (ndarray) – The filtered density values.
  • dv (ndarray) – The filtered volume sensitivities to be computed.
Return type:

None

Density Based Filter

class topopt.filters.DensityBasedFilter(nelx, nely, rmin)[source]

Density based filter of solutions.

filter_objective_sensitivities(xPhys, dobj)[source]

Filter derivative of the objective.

Parameters:
  • xPhys (ndarray) – The filtered density values.
  • dobj (ndarray) – The filtered objective sensitivities to be computed.
Return type:

None

filter_variables(x, xPhys)[source]

Filter the variable of the solution to produce xPhys.

Parameters:
  • x (ndarray) – The raw density values.
  • xPhys (ndarray) – The filtered density values to be computed
Return type:

None

filter_volume_sensitivities(xPhys, dv)[source]

Filter derivative of the volume.

Parameters:
  • xPhys (ndarray) – The filtered density values.
  • dv (ndarray) – The filtered volume sensitivities to be computed.
Return type:

None

Sensitivity Based Filter

class topopt.filters.SensitivityBasedFilter(nelx, nely, rmin)[source]

Sensitivity based filter of solutions.

filter_objective_sensitivities(xPhys, dobj)[source]

Filter derivative of the objective.

Parameters:
  • xPhys (ndarray) – The filtered density values.
  • dobj (ndarray) – The filtered objective sensitivities to be computed.
Return type:

None

filter_variables(x, xPhys)[source]

Filter the variable of the solution to produce xPhys.

Parameters:
  • x (ndarray) – The raw density values.
  • xPhys (ndarray) – The filtered density values to be computed
Return type:

None

filter_volume_sensitivities(xPhys, dv)[source]

Filter derivative of the volume.

Parameters:
  • xPhys (ndarray) – The filtered density values.
  • dv (ndarray) – The filtered volume sensitivities to be computed.
Return type:

None