This solver can be used to analyse 2 degrees of freedom of 1 dimensional problems with beam elements connected in series and having 1D forces acting perpendicular to the axis of the beam. It uses the direct stiffness method and assembles the global nodal force vector, global element stiffness matrix, and the global nodal displacement vector and uses the elimination approach on the global relationship after applying all the boundary conditions provided by the user to solve for the unknown nodal displacements and slopes.
-
Make sure you have Python 3 installed and working.
-
Clone the repo:
git clone https://github.com/RahulShagri/1D-Beam-Element-2-DOF-FEM-Solver.git
- Install prerequisites using pip, preferably in a new environment:
pip install -r requirements.txt
- Run the Beam_element_FEM_solver.py file.
Points to note:
- All forces acting downwards are negative and all forces acting upwards are positive.
- All moments acting clockwise are negative and all moments acting anti-clockwise are positive.
- The user has to make sure the values entered have the correct units. The software does not convert any values entered. Results are obtained based on the values that are entered without converting them to different units. In the following examples, the displacements are in mm and stresses are in MPa.
Solving for a uniform circular cross-section beam element that is divided into 2 elements with several displacement constraints, force, and pressure boundary conditions.
Known values are:
- Number of elements = 2
- Modulus of elasticity, E = 200 GPa
- Diameter of the beam = 23 cm
- Area moment of inertia, I = 1.3737 × 10-4 m4
Enter the respective values of the material properties and boundary conditions.
Hit the solve button.
Note: Generate Diagram feature is still under development.
Ensure no errors are shown in the log window.
Analyse the results in the results window.
Note: All units are in SI units in this example.
You can contact me using the messaging form or the emailing option on my engineering portfolio website.