civil-engineering

star 2

Civil engineering design and construction

ffsshhttiikk By ffsshhttiikk schedule Updated 2/28/2026

name: civil-engineering description: Civil engineering design and construction license: MIT compatibility: opencode metadata: audience: engineers, architects, construction professionals category: engineering

What I do

  • Design structural systems for buildings and infrastructure
  • Perform geotechnical analysis and foundation design
  • Plan and design transportation systems
  • Design water resources and hydraulic systems
  • Manage construction projects and specifications

When to use me

  • When designing buildings, bridges, or infrastructure
  • When analyzing soil and foundation conditions
  • When planning roads, railways, or airports
  • When designing water supply or drainage systems
  • When preparing construction documents and specifications

Key Concepts

Structural Analysis

# Basic structural analysis
class StructuralAnalysis:
    def beam_stress(self, M, y, I):
        """Bending stress"""
        return M * y / I
    
    def beam_deflection(self, P, L, E, I):
        """Simply supported beam, point load at center"""
        return P * L**3 / (48 * E * I)
    
    def column_buckling(self, L, E, I):
        """Euler buckling load"""
        # P_cr = π²EI/L²
        return (np.pi**2 * E * I) / L**2
    
    def shear_stress(self, V, Q, I, t):
        """Shear stress in beams"""
        return V * Q / (I * t)

Load Types

Load Type Symbol Description
Dead Load DL Self-weight of structure
Live Load LL Occupancy/usage loads
Wind Load WL Wind pressure on structure
Seismic EL Earthquake forces
Snow SL Snow accumulation
Rain RL Ponding on flat roofs

Foundation Design

# Shallow foundation
class FoundationDesign:
    @staticmethod
    def bearing_capacity(c, phi, gamma, D_f, B):
        """Terzaghi's bearing capacity"""
        # q_ult = cN_c + γD_fN_q + 0.5γBN_γ
        N_q = np.exp(2 * np.pi * np.tan(np.radians(phi))) * np.tan(np.pi/4 + phi/2)**2
        N_c = (N_q - 1) / (2 * np.tan(np.radians(phi)))
        N_gamma = (N_q - 1) * np.tan(1.4 * phi)
        
        return c * N_c + gamma * D_f * N_q + 0.5 * gamma * B * N_gamma
    
    @staticmethod
    def settlement(Es, mu, q, B):
        """Immediate settlement (elastic)"""
        # s_i = (qB(1-μ²) / Es) × I
        return (q * B * (1 - mu**2) / Es) * 1.5

Concrete Design

# Reinforced concrete
class ConcreteDesign:
    @staticmethod
    def steel_area(f_strength, d, As_required):
        """Calculate reinforcement"""
        return As_required
    
    @staticmethod
    def crack_width(f_s, z, A):
        """Calculate crack width"""
        # w = f_s × A / (0.6 × Es × z)
        return f_s * A / (0.6 * 200000 * z)
    
    @staticmethod
    def deflection(I, M, E):
        """Calculate deflection"""
        return 5 * M * 12**2 / (384 * E * I)

Geotechnical Parameters

Soil Type γ (kN/m³) c (kPa) φ (°) E (MPa)
Sand (dense) 18-20 0 35-40 50-80
Sand (loose) 15-17 0 30-35 20-40
Clay (stiff) 18-20 50-100 20-25 20-50
Clay (soft) 15-17 10-25 10-15 2-10
Gravel 19-22 0 35-45 100-200

Transportation Design

# Pavement design (AASHTO)
class PavementDesign:
    @staticmethod
    def structural_number(W_18, R, S, Z):
        """Calculate required SN"""
        # Logarithmic relationship
        return (W_18 - 7.35*np.log10(R+1) + 0.2 - 
                9.36*np.log10(S+1) + 8.27*Z) / (0.4 + 1094/(S+1)**2.2)

Common Codes and Standards

  • ACI: American Concrete Institute
  • AISC: American Institute of Steel Construction
  • ASCE: American Society of Civil Engineers
  • IBC: International Building Code
  • AASHTO: American Association of State Highway Officials
Install via CLI
npx skills add https://github.com/ffsshhttiikk/opencode-agents-skills --skill civil-engineering
Repository Details
star Stars 2
call_split Forks 2
navigation Branch main
article Path SKILL.md
More from Creator
ffsshhttiikk
ffsshhttiikk Explore all skills →