Boundary Conditions¶
Boundary conditions for topology optimization (forces and fixed nodes).
Base Boundary Conditions¶
-
class
topopt.boundary_conditions.
BoundaryConditions
(nelx, nely)[source]¶ Abstract class for boundary conditions to a topology optimization problem.
Functionalty for geting fixed nodes, forces, and passive elements.
-
active_elements
¶ Active elements to be set to full density.
Type: numpy.ndarray
-
fixed_nodes
¶ Fixed nodes of the problem.
Type: numpy.ndarray
-
forces
¶ Force vector for the problem.
Type: numpy.ndarray
-
passive_elements
¶ Passive elements to be set to zero density.
Type: numpy.ndarray
-
All Boundary Conditions¶
This section contains all boundary conditions currently implemented in the library. It is not yet comprehensive, so it would be really nice if you can help me add more!
MBB Beam¶
-
class
topopt.boundary_conditions.
MBBBeamBoundaryConditions
(nelx, nely)[source]¶ Boundary conditions for the Messerschmitt–Bölkow–Blohm (MBB) beam.
-
fixed_nodes
¶ Fixed nodes in the bottom corners.
Type: numpy.ndarray
-
forces
¶ Force vector in the top center.
Type: numpy.ndarray
-
Cantilever¶
-
class
topopt.boundary_conditions.
CantileverBoundaryConditions
(nelx, nely)[source]¶ Boundary conditions for a cantilever.
-
fixed_nodes
¶ Fixed nodes on the left.
Type: numpy.ndarray
-
forces
¶ Force vector in the middle right.
Type: numpy.ndarray
-
L-Bracket¶
The L-bracket is a bracket in the shape of a capital “L”. This domain is achieved using a passive block in the upper right corner of a square domain.
The passive block is defined by its minimum x coordinate and the maximum y coordinate.
-
class
topopt.boundary_conditions.
LBracketBoundaryConditions
(nelx, nely, minx, maxy)[source]¶ Boundary conditions for a L-shaped bracket.
-
__init__
(nelx, nely, minx, maxy)[source]¶ Create L-bracket boundary conditions with the size of the grid.
Parameters: Raises: ValueError: minx and maxy must be indices in the grid.
-
fixed_nodes
¶ Fixed nodes in the top row.
Type: numpy.ndarray
-
forces
¶ Force vector in the middle right.
Type: numpy.ndarray
-
passive_elements
¶ Passive elements in the upper right corner.
Type: numpy.ndarray
-
I-Beam¶
The I-beam is a cross-section of a beam in the shape of a capital “I”. This domain is achieved using two passive blocks in the middle left and right of a square domain.
-
class
topopt.boundary_conditions.
IBeamBoundaryConditions
(nelx, nely)[source]¶ Boundary conditions for an I-shaped beam.
-
fixed_nodes
¶ Fixed nodes in the bottom row.
Type: numpy.ndarray
-
forces
¶ Force vector on the top row.
Type: numpy.ndarray
-
passive_elements
¶ Passive elements on the left and right.
Type: numpy.ndarray
-
II-Beam¶
The II-beam is a cross-section of a beam in the shape of “II”. This domain is achieved using three passive blocks in the middle left, center, and right of a square domain.
-
class
topopt.boundary_conditions.
IIBeamBoundaryConditions
(nelx, nely)[source]¶ Boundary conditions for an II-shaped beam.
-
passive_elements
¶ Passives on the left, middle, and right.
Type: numpy.ndarray
-