8-hour “Hands-On Civil Engineering Basics Using Python” training module that blends theory, key definitions, conceptual understanding, and live Python examples with results.
I’ll structure it as if you’re running a full-day workshop (or two 4-hour sessions), so that each hour covers one topic.
Civil Engineering Basics — Hands-On with Python (8 Hours)
Module Plan Overview
| Hour | Topic | Focus Area |
|---|---|---|
| 1 | Introduction to Civil Engineering & Python Setup | What CE is, Python basics for CE |
| 2 | Units, Dimensions & Basic Engineering Calculations | Unit conversions, dimensions |
| 3 | Material Properties | Density, specific gravity, stress, strain |
| 4 | Hydrostatics | Pressure in fluids, Pascal’s Law |
| 5 | Hydraulics & Flow Calculations | Continuity, Bernoulli’s equation |
| 6 | Surveying Basics | Distance, area, coordinate calculations |
| 7 | Structural Engineering Basics | Beam bending, axial load |
| 8 | Environmental & Water Resources Applications | Water demand, ET0 basics |
Hour 1: Introduction to Civil Engineering & Python Setup
Theory & Definition
Civil Engineering is the discipline dealing with design, construction, and maintenance of infrastructure — buildings, roads, water systems, bridges, dams, etc.
Python is increasingly used in civil engineering for:
-
Automating calculations
-
Data analysis
-
Modeling & simulation
-
GIS & remote sensing
Key Concepts:
-
Why programming matters in CE
-
Python environment (Anaconda, Jupyter Notebook, or VS Code)
-
Basic syntax: variables, loops, functions
Python Example:
# Basic Python setup for Civil Engineering
project_name = "Bridge Load Analysis"
engineer = "Manikumari"
year = 2025
print(f"Project: {project_name} by Engineer: {engineer} ({year})")
# Simple calculation: Weight of water in a 2m x 3m x 1.5m tank
length = 2 # m
width = 3 # m
depth = 1.5 # m
density_water = 1000 # kg/m3
volume = length * width * depth
mass = volume * density_water
weight = mass * 9.81 # N
print(f"Volume: {volume} m³, Mass: {mass} kg, Weight: {weight:.2f} N")
Result:
Project: Bridge Load Analysis by Engineer: Manikumari (2025)
Volume: 9.0 m³, Mass: 9000 kg, Weight: 88290.00 N
Hour 2: Units, Dimensions & Basic Engineering Calculations
Concept:
Civil engineers work with many units — SI, Imperial, etc. Unit conversion is essential.
Python Example:
# Unit conversion functions
def m_to_ft(m):
return m * 3.28084
def ft_to_m(ft):
return ft / 3.28084
def m3_to_liters(m3):
return m3 * 1000
# Example usage
length_m = 5
print(f"{length_m} m = {m_to_ft(length_m):.2f} ft")
print(f"5000 liters = {5000/1000} m³")
Hour 3: Material Properties
Definition:
-
Density (ρ) = Mass / Volume
-
Specific Gravity = ρ_material / ρ_water
-
Stress = Force / Area
-
Strain = Change in length / Original length
Python Example:
# Stress and strain
force = 20000 # N
area = 0.005 # m²
stress = force / area # Pa
original_length = 2 # m
change_length = 0.001 # m
strain = change_length / original_length
print(f"Stress: {stress/1e6:.2f} MPa")
print(f"Strain: {strain:.6f}")
Hour 4: Hydrostatics
Concept:
-
Pressure = ρ * g * h
-
Pascal’s Law: Pressure in a static fluid is equal in all directions.
Python Example:
def hydrostatic_pressure(rho, h):
g = 9.81
return rho * g * h
depth = 5 # m
p = hydrostatic_pressure(1000, depth)
print(f"Pressure at {depth} m depth: {p/1000:.2f} kPa")
Hour 5: Hydraulics & Flow
Concept:
-
Continuity Equation: Q = A * v
-
Bernoulli Equation for energy in fluids.
Python Example:
import math
# Continuity
diameter1 = 0.3 # m
velocity1 = 2 # m/s
area1 = math.pi * (diameter1**2) / 4
Q = area1 * velocity1 # m³/s
diameter2 = 0.2 # m
area2 = math.pi * (diameter2**2) / 4
velocity2 = Q / area2
print(f"Flow rate: {Q:.4f} m³/s")
print(f"Velocity in smaller pipe: {velocity2:.2f} m/s")
Hour 6: Surveying Basics
Concept:
-
Distance from coordinates (Pythagoras)
-
Area by coordinates (Surveyor’s formula)
Python Example:
# Distance between two points
import math
x1, y1 = (0, 0)
x2, y2 = (100, 50)
distance = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
print(f"Distance: {distance:.2f} m")
# Polygon area (Surveyor's formula)
coords = [(0,0), (100,0), (100,50), (0,50)]
area = 0
for i in range(len(coords)):
x1, y1 = coords[i]
x2, y2 = coords[(i+1) % len(coords)]
area += (x1*y2 - x2*y1)
area = abs(area) / 2
print(f"Area: {area} m²")
Hour 7: Structural Engineering Basics
Concept:
-
Axial stress
-
Beam bending formula: σ = M*y / I
Python Example:
# Bending stress
M = 5000 # Nm
y = 0.15 # m
I = 8.1e-6 # m⁴
sigma = M * y / I
print(f"Bending stress: {sigma/1e6:.2f} MPa")
Hour 8: Environmental & Water Resources Applications
Concept:
-
Water demand per capita
-
Simplified Penman-Monteith for ET₀
Python Example:
# Simple water demand estimation
population = 5000
demand_per_capita = 135 # L/day
total_demand = population * demand_per_capita # L/day
print(f"Total daily water demand: {total_demand/1000:.2f} m³/day")
# Simple ET0 estimation (Temperature-based, Hargreaves)
def et0_hargreaves(T_mean, T_max, T_min, Ra):
return 0.0023 * (T_mean + 17.8) * ((T_max - T_min)**0.5) * Ra
ET0 = et0_hargreaves(28, 34, 22, 20)
print(f"Estimated ET0: {ET0:.2f} mm/day")
✅ Outcome of 8-Hour Module:
-
Understand core civil engineering concepts (mechanics, hydraulics, surveying, materials, environmental engineering).
-
Hands-on practice with Python for calculations, data processing, and modeling.
-
Ready-to-use Python scripts for future engineering projects.
No comments:
Post a Comment