Aakash Ravichandran
How to Use
This page is dedicated to providing information on how to use the NonLinear Structural Analysis tool as a PyPi module. For website, it is self-explanatory.
Start a new project by clicking " START NEW PROJECT" or select an existing one
01
General
1. Create and Assemble the Structural Model
2. Create Responses
3. Perform the Individual Response
The package contains following Modules:
1. StructuralElements - With this you can create Node, Member
2. Loads - With this you can create NeumanBC
3. main - with this you can assembale the model
4. FirstOrderResponse - With this you can create FirstOrderGLobalResponse and FirstOrderMemberResponse
5. SecondOrderResponse - With this you can create SecondOrderGLobalResponse and SecondOrderMemberResponse
6. DynamicResponse - With this you can create DynamicGlobalResponse
7. FiniteElementDivisor and Comparision
02
How to create Strucutural Model
-
Node:
-
Node_Number – Give the node number as an integer.
-
xcoordinate – Specify the x-coordinate as a float.
-
ycoordinate – Specify the y-coordinate as a float.
-
Support_Condition – Define the type of support as a string from the given options- "Hinged Support", "Fixed Support", "Rigid Joint", "Roller in X-plane", "Roller in Y-plane", "Hinge Joint", "Glided Support", "Roller in X-plane-Hinge"
-
-
Member:
-
Beam_Number – Assign a unique beam number as an integer.
-
Start_Node – Specify the starting node number as an integer.
-
End_Node – Specify the ending node number as an integer.
-
Area – Define the cross-sectional area as a float.
-
Youngs_Modulus – Specify Young’s modulus as a float.
-
Moment_of_Inertia – Provide the moment of inertia as a float.
-
-
NeumanBC:
-
type – Define the Load type as a string.
"UDL" - Uniformly Distributed Load, "PL" - Point Load -
Magnitude – Specify the magnitude of the Load as a float.
-
Distance1 – Provide the distance at which the Load is starts as a float.
-
Distance2 – Provide the distance at which the Load end as a float. ( Not needed if you use "PL")
-
AssignedTo – Indicate the member to which the load is applied as a string.
-
Members – List the member numbers assigned to this boundary condition as integers.
-
03
How to create responses
Response is created based on the Structure. Example of creating each response is given
Model1 = main.Model(Points = Points, Members = Members, Loads = Loads)
GlobalRes1 = FirstOrderResponse.FirstOrderGlobalResponse(Points = Points, Members = Members, Loads = Loads)
NodalRes1 = NodalResponse(Points = Points, Members = Members, Loads = Loads)
MemberRes1 = FirstOrderResponse.FirstOrderMemberResponse(Points = Points, Members = Members, Loads = Loads)
SecondOrderResponse1 = SecondOrderResponse.SecondOrderGlobalResponse(Points = Points, Members = Members, Loads = Loads)
SecondOrderMemberResponse1 = SecondOrderResponse.SecondOrderMemberResponse(Points = Points, Members = Members, Loads = Loads)
Comparision1 = Comparision.Comparision(MainModel = MemberRes1, Model2 = SecondOrderMemberResponse1)
DynamicResponse1 = DynamicResponse.DynamicGlobalResponse(Points = Points, Members = Members, Loads = Loads)
Instead of Model1, GlobalResponse1 you can use anyother name. Based on this model Structural results can be obtained as shown below
Follwing Structural results are availabe for each response:
1. FirstOrderGlobalResponse - SupportForcesVector, DisplacementVectorDict
2. FirstOrderNodalResponse - NodeForce, NodeDisplacement
3. FirstOrderMemberResponse - MemberForceLocal, MemberBMD, MemberSFD PlotMemberBMD, PlotMemberSFD, PlotGlobalBMD, PlotGlobalSFD, PlotGlobalDeflection
4. SecondOrderGlobalResponse - SupportForcesVector, DisplacementVectorDict, BucklingEigenLoad, PlotEigenMode
5. SecondOrderMemberResponse - MemberForceLocal, MemberBMD, MemberSFD PlotMemberBMD, PlotMemberSFD, PlotGlobalBMD, PlotGlobalSFD, PlotGlobalDeflection
6. Comparision - PlotGlobalBMDComparison, PlotGlobalSFDComparison, PlotGlobalDeflectionComparison