{
  "id": "competency:meng-civil",
  "code": "CDU-ENG-CIV-900",
  "level": "MEng",
  "name": "Master of Engineering — Civil & Structural Engineering",
  "faculty": "Faculty of Engineering and the Built Environment",
  "lineage": [
    {
      "institution": "University of South Florida",
      "year": 1996,
      "note": "BEng Civil and Structural Engineering — supposed to be"
    }
  ],
  "researchProject": "Structures and services for the buildings that house compute: beams, columns, water and pressure",
  "description": "Structural members and building services from first principles: bending and deflection of beams, Euler buckling of columns, hydrostatic pressure in water systems, and the pipe wall thickness that contains it.",
  "syllabus": [
    "Simply supported beams under uniformly distributed load: moment, shear, deflection",
    "Column buckling: Euler critical load and effective length",
    "Hydrostatics: pressure from head, head from pressure",
    "Pressure pipes: Barlow’s formula for wall thickness and allowable pressure"
  ],
  "reference": {
    "g": "9.81 m/s²",
    "ρ water": "1000 kg/m³ — 10 m of head ≈ 98.1 kPa ≈ 1 bar",
    "Beam (UDL, simply supported)": "M_max = wL²/8 · V_max = wL/2 · δ_max = 5wL⁴/(384EI)",
    "Euler": "P_cr = π²EI/(KL)²",
    "Barlow": "t = P·D/(2·S) ; P_allow = 2·S·t/D",
    "Steel E": "200 GPa; timber ≈ 11 GPa; concrete ≈ 30 GPa"
  },
  "role": "You are a professional structural and building services engineer explaining a calculation to a builder or plumber on site. Assumptions first, then the numbers, then the decision — and when a member does not work, say what would.",
  "feeUsd": 1,
  "version": "1.0.0",
  "qualification": {
    "award": "MEng",
    "nqfLevel": 9,
    "qualificationType": "Professional Master's Degree (HEQSF qualification type 9b)",
    "totalCredits": 180,
    "minCreditsAtExitLevel": 120,
    "iscedFields": [
      "073"
    ],
    "standards": [],
    "registration": "not registered"
  },
  "modules": [
    {
      "code": "CDU-ENG-CIV-900-901",
      "title": "Coursework — the executable units",
      "nqfLevel": 9,
      "credits": 60,
      "prerequisites": [],
      "coRequisites": [],
      "outcomes": [
        "answer every unit of the qualification against its published reference, with the working shown"
      ],
      "assessment": {
        "formative": [
          "worked examples re-run against the published reference",
          "seeded practice scenarios, deterministic per (pan, unit, attempt)"
        ],
        "summative": "every unit passed once through the seeded assessment (the seeded assessment room)",
        "passMark": 50,
        "subminimum": 40,
        "moderation": "internally assessed by the unit itself — its reference implementation is the marker; the working is published so anyone can re-run the mark (D-13.1 — no model marks anything)"
      },
      "unitIds": [
        "beam_udl",
        "column_euler",
        "water_pressure",
        "pipe_wall_barlow"
      ],
      "notionalHours": 600
    },
    {
      "code": "CDU-ENG-CIV-900-902",
      "title": "Research report",
      "nqfLevel": 9,
      "credits": 120,
      "prerequisites": [
        "CDU-ENG-CIV-900-901"
      ],
      "coRequisites": [],
      "outcomes": [
        "Structures and services for the buildings that house compute: beams, columns, water and pressure"
      ],
      "assessment": {
        "formative": [
          "worked examples re-run against the published reference",
          "seeded practice scenarios, deterministic per (pan, unit, attempt)"
        ],
        "summative": "the research report, assessed against the qualification’s published reference block",
        "passMark": 50,
        "subminimum": 40,
        "moderation": "internally assessed by the unit itself — its reference implementation is the marker; the working is published so anyone can re-run the mark (D-13.1 — no model marks anything)"
      },
      "unitIds": [],
      "notionalHours": 1200
    }
  ],
  "units": [
    {
      "id": "beam_udl",
      "name": "Simply supported beam under uniform load",
      "answers": "What are the maximum moment, shear and deflection of a simply supported beam under a uniformly distributed load, and is the deflection within limit?",
      "example": {
        "spanM": 4.5,
        "udlKnPerM": 12,
        "iCm4": 3000
      },
      "reference": "M = wL²/8, V = wL/2, δ = 5wL⁴/(384EI); deflection limit span/250 (serviceability)",
      "signature": {
        "input": {
          "spanM": {
            "type": "number",
            "describe": "Span between supports",
            "unit": "m",
            "min": 0.1
          },
          "udlKnPerM": {
            "type": "number",
            "describe": "Uniformly distributed load including self-weight",
            "unit": "kN/m",
            "min": 0
          },
          "eGpa": {
            "type": "number",
            "describe": "Elastic modulus",
            "unit": "GPa",
            "min": 1,
            "default": 200
          },
          "iCm4": {
            "type": "number",
            "describe": "Second moment of area",
            "unit": "cm⁴",
            "min": 0.01
          },
          "deflectionLimitRatio": {
            "type": "number",
            "describe": "Allowed deflection as span ÷ this",
            "min": 100,
            "max": 1000,
            "default": 250
          }
        },
        "output": {
          "maxMomentKnm": {
            "type": "number",
            "describe": "Maximum bending moment at midspan",
            "unit": "kN·m"
          },
          "maxShearKn": {
            "type": "number",
            "describe": "Maximum shear at the supports",
            "unit": "kN"
          },
          "maxDeflectionMm": {
            "type": "number",
            "describe": "Maximum deflection at midspan",
            "unit": "mm"
          },
          "allowedDeflectionMm": {
            "type": "number",
            "describe": "Serviceability limit",
            "unit": "mm"
          },
          "deflectionOk": {
            "type": "boolean",
            "describe": "Deflection within limit"
          }
        }
      }
    },
    {
      "id": "column_euler",
      "name": "Column buckling (Euler)",
      "answers": "What axial load buckles a slender column, and what is the safe load with a factor of safety?",
      "example": {
        "lengthM": 3.5,
        "iCm4": 800,
        "appliedLoadKn": 200
      },
      "reference": "P_cr = π²EI/(KL)²; K = 1 pinned-pinned, 0.5 fixed-fixed, 0.7 fixed-pinned, 2 fixed-free",
      "signature": {
        "input": {
          "lengthM": {
            "type": "number",
            "describe": "Unbraced length",
            "unit": "m",
            "min": 0.1
          },
          "eGpa": {
            "type": "number",
            "describe": "Elastic modulus",
            "unit": "GPa",
            "min": 1,
            "default": 200
          },
          "iCm4": {
            "type": "number",
            "describe": "Least second moment of area",
            "unit": "cm⁴",
            "min": 0.01
          },
          "endCondition": {
            "type": "string",
            "describe": "End restraint",
            "oneOf": [
              "pinned-pinned",
              "fixed-fixed",
              "fixed-pinned",
              "fixed-free"
            ],
            "default": "pinned-pinned"
          },
          "factorOfSafety": {
            "type": "number",
            "describe": "Factor of safety on buckling",
            "min": 1,
            "max": 10,
            "default": 2.5
          },
          "appliedLoadKn": {
            "type": "number",
            "describe": "Applied axial load",
            "unit": "kN",
            "min": 0,
            "optional": true
          }
        },
        "output": {
          "effectiveLengthM": {
            "type": "number",
            "describe": "KL",
            "unit": "m"
          },
          "criticalLoadKn": {
            "type": "number",
            "describe": "Euler critical load",
            "unit": "kN"
          },
          "safeLoadKn": {
            "type": "number",
            "describe": "Critical load ÷ factor of safety",
            "unit": "kN"
          },
          "appliedOk": {
            "type": "boolean",
            "describe": "Applied load ≤ safe load (true when no load given)"
          }
        }
      }
    },
    {
      "id": "water_pressure",
      "name": "Water pressure and head",
      "answers": "What pressure does a height of water give at a fixture, and what head does a pressure represent?",
      "example": {
        "headM": 25
      },
      "reference": "p = ρ·g·h; 1 bar = 100 kPa ≈ 10.2 m of water",
      "signature": {
        "input": {
          "headM": {
            "type": "number",
            "describe": "Height of water above the point",
            "unit": "m",
            "min": 0,
            "optional": true
          },
          "pressureKpa": {
            "type": "number",
            "describe": "Pressure to convert to head",
            "unit": "kPa",
            "min": 0,
            "optional": true
          },
          "minFixturePressureKpa": {
            "type": "number",
            "describe": "Minimum pressure the fixture needs",
            "unit": "kPa",
            "min": 0,
            "default": 100
          }
        },
        "output": {
          "pressureKpa": {
            "type": "number",
            "describe": "Static pressure",
            "unit": "kPa"
          },
          "pressureBar": {
            "type": "number",
            "describe": "The same pressure",
            "unit": "bar"
          },
          "headM": {
            "type": "number",
            "describe": "Equivalent head of water",
            "unit": "m"
          },
          "fixtureOk": {
            "type": "boolean",
            "describe": "Static pressure ≥ minimum for the fixture"
          }
        }
      }
    },
    {
      "id": "pipe_wall_barlow",
      "name": "Pipe wall thickness (Barlow)",
      "answers": "What wall thickness contains a pressure in a pipe of a given diameter and material, and what pressure can a given pipe take?",
      "example": {
        "outsideDiameterMm": 63,
        "pressureKpa": 1600,
        "yieldStrengthMpa": 22,
        "wallThicknessMm": 5.8
      },
      "reference": "Barlow: t = P·D/(2·S); allowable stress S = yield ÷ factor of safety",
      "signature": {
        "input": {
          "outsideDiameterMm": {
            "type": "number",
            "describe": "Pipe outside diameter",
            "unit": "mm",
            "min": 1
          },
          "pressureKpa": {
            "type": "number",
            "describe": "Design pressure",
            "unit": "kPa",
            "min": 0.1
          },
          "yieldStrengthMpa": {
            "type": "number",
            "describe": "Material yield strength (copper 70, PVC 50, steel 240, HDPE 22)",
            "unit": "MPa",
            "min": 1,
            "default": 240
          },
          "factorOfSafety": {
            "type": "number",
            "describe": "Factor of safety on yield",
            "min": 1,
            "max": 10,
            "default": 2
          },
          "wallThicknessMm": {
            "type": "number",
            "describe": "Actual wall thickness, to check a pipe",
            "unit": "mm",
            "min": 0.1,
            "optional": true
          }
        },
        "output": {
          "requiredWallMm": {
            "type": "number",
            "describe": "Minimum wall thickness",
            "unit": "mm"
          },
          "allowablePressureKpa": {
            "type": "number",
            "describe": "Allowable pressure for the given wall (when given)",
            "unit": "kPa"
          },
          "wallOk": {
            "type": "boolean",
            "describe": "Given wall ≥ required (true when none given)"
          }
        }
      }
    }
  ]
}