Intended users
This tool enables truss system designers to create the most lightweight truss system capable of supporting all potential loads.
Need you’re trying to provide a solution or support for
According to a 2019 United Nations Environment Programme report, the AEC industry is responsible for 38% of total CO2 emissions. To prioritize sustainability, it is crucial to design structures with minimal resource usage.
Trusses, a commonly used structural element, offer significant material savings and efficient load capacity utilization. Truss elements, typically designed with smaller dimensions in the axial direction, are connected by pins or hinges to transmit forces without moments.
Truss optimization involves three types: size optimization, shape optimization, and topology optimization. By simultaneously applying these optimization techniques, the most efficient truss structure can be achieved during the preliminary design stage.
In this assignment we will be dealing with 2D truss system only. But similar kind of implementation can be done for 3D space trusses
Inputs
- Nodes locations
- Connecting bars
- Loads on the truss
- Boundary Conditions
- Properties of truss bars (Young’s modulus)
- Maximum allowable displacement and stress values
Underlying logic of the model you’ll implement
Design Variables: Position of nodes, Size of truss bars and a variable ‘k’ associated with the existence of the truss bar
Weight of the truss can be calculated as follows:
Displacement and Stresses can be calculated using Finite Element Analysis- Direct Stiffness Method:
The direct stiffness method is an analysis technique for trusses that breaks them into smaller elements. Each element's stiffness is determined based on its properties, and then combined into a global stiffness matrix. By solving equilibrium equations using this matrix, the displacements and forces in the truss can be calculated, enabling accurate prediction of its behavior. This method helps optimize truss designs for strength and stability.
By solving above equation we can get the nodal displacements and using this we can find stresses in the bars as follows:
The problem here, the above equations require matrix operations. The solution is, matrices can be created in dynamo with the help of python script node. (Relevant python libraries must be installed in the dynamo python environment path)
Objective function: Minimize Weight (W) of the truss system adhering to displacement and stress limits, This constrained problem can be converted to unconstrained problem as follows:
Outputs
- Total weight of the structure
- Maximum displacement among all the nodal displacements
- Maximum stress among all the bars
- Optimal Solution containing the information of the nodal positions, connecting bars and their sizes (cross-section area)