gemseo.problems.topology_optimization.density_filter_disc module#
A discipline for topology optimization density filter.
- class DensityFilter(n_x=100, n_y=100, min_member_size=1.5, name='')[source]#
Bases:
Discipline
Apply density filter to the design variables of a topology optimization problem.
This helps to avoid checkerboard patterns in density based topology optimization. A filter matrix \(H\) is assembled at instantiation. The discipline computes the physical density \(xPhys\) from the design variables \(x\) with the formula \(xPhys=Hx\). This physical density is an approximation of a convolution integral.
Initialize self. See help(type(self)) for accurate signature.
- Parameters:
n_x (int) --
The number of elements in the x-direction.
By default it is set to 100.
n_y (int) --
The number of elements in the y-direction.
By default it is set to 100.
min_member_size (float) --
The minimum structural member size.
By default it is set to 1.5.
name (str) --
The name of the discipline. If empty, use the name of the class.
By default it is set to "".
- execution_statistics: ExecutionStatistics#
The execution statistics of the process.
- execution_status: ExecutionStatus#
The execution status of the process.
- jac: JacobianData#
The Jacobian matrices of the outputs.
The structure is
{output_name: {input_name: jacobian_matrix}}
.