--- id: model-06 title: "Part 4 Review and Comprehensive Modeling Project" section: "Advanced Modeling" difficulty: "advanced" estimated_time: 90 prerequisites: ["model-01", "model-02", "model-03", "model-04", "model-05"] objectives: - Synthesize all advanced modeling concepts from Part 4 - Apply complete workflow from FEMM to validated spark model - Compare lumped vs distributed approaches systematically - Execute comprehensive modeling project integrating all skills tags: ["review", "integration", "project", "validation", "comprehensive"] --- # Part 4 Review and Comprehensive Modeling Project This lesson reviews all advanced modeling concepts from Part 4 and guides you through a comprehensive project that integrates FEMM extraction, circuit implementation, resistance optimization, and validation. ## Part 4 Concepts Summary ### Lesson 1: Lumped Model Theory **Key concepts:** ``` Structure: C_mut - R - C_sh network - C_mut: Topload to spark coupling - R: Effective plasma resistance - C_sh: Spark to ground shunt When to use: ✓ Sparks <1-2 m ✓ Impedance matching studies ✓ Quick design iterations ✓ Engineering estimates Workflow: 1. FEMM electrostatic (2-body) 2. Extract C_mut, C_sh from 2×2 matrix 3. Calculate R = 1/(ω × C_total) 4. Build SPICE, simulate 5. Validate: φ_Z, R range, C_sh ≈ 2 pF/ft ``` ### Lesson 2: FEMM Extraction - Lumped **Key concepts:** ``` Maxwell matrix convention: - Diagonal: C_ii > 0 (self-capacitance) - Off-diagonal: C_ij < 0 (mutual, negative!) - Symmetric: C_ij = C_ji - Row sum ≈ 0 (ground at infinity) Extraction formulas: C_mut = |C₁₂| (absolute value!) C_sh = C₂₂ - |C₁₂| (subtract absolute) Sign convention critical: - Maxwell: negative off-diagonals - Circuit: positive capacitances - Conversion: Take absolute value Validation: ✓ Symmetry <1% error ✓ C_sh ≈ 2 pF/ft ± factor 2 ✓ Physical value ranges ✓ Ground distance sensitivity test ``` ### Lesson 3: Distributed Model Theory **Key concepts:** ``` Why distributed: - Long sparks (>2 m) - Current distribution matters - Leader/streamer transitions - Research applications Segmentation: - Equal-length segments - n = 5-20 typical - Convergence test: double n Circuit topology: - (n+1)×(n+1) capacitance matrix - n resistance values - O(n²) complexity Physical expectations: - R monotonically increasing - Current decreasing base→tip - Voltage non-linear drop - Power concentrated at base Trade-off: 1000-2000× slower than lumped ``` ### Lesson 4: FEMM Extraction - Distributed **Key concepts:** ``` Multi-body setup: - n conductors + topload - 0.1 mm gaps between segments - Consistent numbering critical Matrix validation: ✓ Symmetry ✓ Positive semi-definite (passivity) ✓ Adjacent > distant coupling ✓ Total C_sh vs 2 pF/ft rule SPICE implementation: 1. Partial capacitance (flip signs) 2. Controlled sources (direct) 3. Nearest-neighbor (approximation) C_sh discrepancy: - Factor 2-3 normal for distributed - Matrix method vs empirical rule - Use FEMM values (more accurate) ``` ### Lesson 5: Resistance Optimization **Key concepts:** ``` Iterative method: - Initialize: tapered profile - Optimize each R[i] sequentially - Apply damping (α ≈ 0.3-0.5) - Position-dependent bounds - Convergence: <1% change Position-dependent bounds: R_min: 1 kΩ → 10 kΩ (base to tip) R_max: 100 kΩ → 100 MΩ (quadratic) Simplified method: R[i] = 1/(ω × C_total[i]) - 1000× faster - ±20% accuracy - Use for standard cases Validation: ✓ R_total: 50-500 kΩ at 200 kHz ✓ Monotonic increase ✓ Scales as R ∝ 1/f, R ∝ L ``` ## Complete Modeling Workflow Checklist ### Phase 1: Problem Definition ``` [ ] Define spark length L_total [ ] Specify operating frequency f [ ] Choose model type: [ ] Lumped (if L < 2 m) [ ] Distributed n=___ (if L ≥ 2 m) [ ] Gather topload geometry data [ ] Determine ground plane position ``` ### Phase 2: FEMM Geometry and Solve ``` [ ] Create FEMM geometry: [ ] Axisymmetric (r-z) [ ] Topload (toroid/sphere) [ ] Spark segment(s) [ ] Ground plane [ ] Outer boundary [ ] Define materials (Air, ε_r=1) [ ] Assign conductors: [ ] Conductor 0: Topload, V=1V [ ] Conductors 1-n: Segments, floating [ ] Boundary: Ground, V=0 [ ] Generate mesh (check quality) [ ] Solve electrostatic problem [ ] Extract capacitance matrix [C] ``` ### Phase 3: Matrix Validation ``` [ ] Check symmetry: |C[i,j] - C[j,i]| / |C[i,j]| < 0.01 [ ] Check diagonal positive: C[i,i] > 0 for all i [ ] Check off-diagonal negative: C[i,j] < 0 for i≠j [ ] Check passivity: Eigenvalues ≥ 0 [ ] Check physical patterns: [ ] Adjacent > distant coupling [ ] Topload coupling decreases with distance [ ] Check total C_sh vs 2 pF/ft rule (factor 2-3 OK) ``` ### Phase 4: Resistance Determination ``` [ ] Choose method: [ ] Iterative (research, extreme cases) [ ] Simplified (standard cases, engineering) If Iterative: [ ] Initialize tapered profile [ ] Define position-dependent bounds [ ] Set damping factor α [ ] Run optimization loop [ ] Check convergence (<1% or <5% for tip) [ ] Validate R distribution (monotonic, ranges) If Simplified: [ ] Calculate C_total[i] for each segment [ ] Compute R[i] = 1/(ω × C_total[i]) [ ] Apply bounds: R[i] = clip(R[i], R_min[i], R_max[i]) [ ] Validate total R_total (50-500 kΩ at 200 kHz) ``` ### Phase 5: SPICE Implementation ``` [ ] Convert C matrix to SPICE format: [ ] Partial capacitances (most common) [ ] Or controlled sources (advanced) [ ] Or nearest-neighbor (approximation) [ ] Add resistance elements R[i] [ ] Define voltage source (test or from coil) [ ] Set up AC analysis at operating frequency [ ] Verify netlist syntax ``` ### Phase 6: Simulation and Analysis ``` [ ] Run SPICE AC analysis [ ] Extract results: [ ] Voltages V[i] at each node [ ] Currents I[i] through each segment [ ] Admittance Y_spark at topload [ ] Impedance Z_spark = 1/Y_spark [ ] Calculate power distribution: [ ] P[i] = 0.5 × |I[i]|² × R[i] [ ] P_total = Σ P[i] [ ] Plot distributions: [ ] V vs position [ ] I vs position [ ] P vs position ``` ### Phase 7: Validation ``` [ ] Phase angle: -55° < φ_Z < -75° [ ] Total resistance: 50-500 kΩ at 200 kHz [ ] Current distribution: Decreasing base→tip [ ] Voltage distribution: Non-linear, physical [ ] Power balance: Concentrated at base [ ] Compare to lumped model (if applicable) [ ] Compare to measurements (if available) ``` ### Phase 8: Documentation ``` [ ] Save FEMM geometry and results [ ] Save capacitance matrix [ ] Save resistance values [ ] Save SPICE netlist [ ] Save simulation results [ ] Document validation checks [ ] Record any issues/assumptions ``` ## Lumped vs Distributed Comparison ### When Results Should Agree **Equivalent impedance at topload:** ``` Lumped: Z_spark = R + 1/(jωC_total) Distributed: Z_spark (from network) Expected: Within 20-30% for well-designed models Example: Lumped: |Z| = 180 kΩ ∠-70° Distributed: |Z| = 195 kΩ ∠-68° Difference: 8% ✓ Good agreement ``` **Total resistance:** ``` Lumped: Single R value Distributed: R_total = Σ R[i] Should be similar order of magnitude Factor <2 difference: Excellent Factor 2-3: Acceptable Factor >5: Investigate ``` **Total capacitance:** ``` Lumped: C_total = C_mut + C_sh Distributed: More complex (matrix network) At topload, should see similar capacitive reactance ``` ### When Results May Differ **Current distribution:** ``` Lumped: Assumes uniform (no spatial info) Distributed: Non-uniform, physically realistic Cannot compare directly - distributed provides extra detail ``` **Power distribution:** ``` Lumped: Single power value (total) Distributed: Spatial distribution P[i] Lumped gives total only Distributed shows WHERE power dissipated ``` **Tip behavior:** ``` Lumped: Averaged properties Distributed: Can show tip streaming (low current, high R) Distributed more realistic for long sparks ``` **Short spark (e.g., 0.8 m):** ``` Lumped and distributed should agree closely Spatial variations small Use lumped (simpler, faster) ``` **Long spark (e.g., 3 m):** ``` Distributed shows significant spatial variation Lumped may over-predict tip current/power Use distributed for accuracy ``` ## Comprehensive Modeling Project ### Project Goal **Design and model a complete spark system:** ``` Objective: Predict performance of 2.5 m spark at 200 kHz Approach: Use distributed model (n=10) Output: Current, voltage, power distributions + validation ``` ### Project Specifications ``` Tesla coil system: - Operating frequency: f = 200 kHz - Topload: Toroid, 40 cm major dia, 12 cm minor dia - Target spark length: 2.5 m = 8.2 feet - Ground plane: 20 cm below spark tip - Topload voltage: 350 kV (estimate) Model requirements: - Distributed model: n = 10 segments - Each segment: 0.25 m length - FEMM extraction: Full 11×11 matrix - Resistance: Simplified method - Validation: All checks ``` ### Step 1: FEMM Setup **Geometry parameters:** ``` Topload (toroid): - Major radius: 20 cm - Minor radius: 6 cm - Center at z = 0 - Lowest point: z = -6 cm 10 spark segments: - Each length: 25 cm - Diameter: 2 mm (uniform) - Positions: Segment 1 (base): z = -6.1 to -31.1 cm Segment 2: z = -31.2 to -56.2 cm ... Segment 10 (tip): z = -231.5 to -256.5 cm Ground plane: - z = -270 cm (20 cm below tip) - r = 0 to 400 cm Outer boundary: - r = 400 cm - z = -300 to +50 cm - V = 0 boundary condition ``` **Expected mesh:** ``` Elements: 40,000-70,000 Refinement: 0.5 mm near spark, 50 mm at boundary Solve time: 30-60 seconds ``` ### Step 2: Matrix Extraction (Example Results) **Hypothetical FEMM output (11×11 matrix):** ``` [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [0] [ 38.2 -10.5 -4.2 -2.1 -1.2 -0.8 -0.5 -0.4 -0.3 -0.2 -0.1 ] [1] [ -10.5 16.2 -3.5 -1.4 -0.7 -0.4 -0.3 -0.2 -0.2 -0.1 -0.1 ] [2] [ -4.2 -3.5 12.8 -3.2 -1.3 -0.6 -0.4 -0.3 -0.2 -0.1 -0.1 ] [3] [ -2.1 -1.4 -3.2 11.4 -2.9 -1.2 -0.5 -0.3 -0.2 -0.1 -0.1 ] [4] [ -1.2 -0.7 -1.3 -2.9 10.6 -2.7 -1.1 -0.5 -0.3 -0.2 -0.1 ] [5] [ -0.8 -0.4 -0.6 -1.2 -2.7 9.8 -2.5 -1.0 -0.4 -0.2 -0.1 ] [6] [ -0.5 -0.3 -0.4 -0.5 -1.1 -2.5 9.2 -2.3 -0.9 -0.4 -0.1 ] [7] [ -0.4 -0.2 -0.3 -0.3 -0.5 -1.0 -2.3 8.6 -2.1 -0.8 -0.2 ] [8] [ -0.3 -0.2 -0.2 -0.2 -0.3 -0.4 -0.9 -2.1 8.2 -1.9 -0.5 ] [9] [ -0.2 -0.1 -0.1 -0.1 -0.2 -0.2 -0.4 -0.8 -1.9 7.6 -1.6 ] [10] [ -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.2 -0.5 -1.6 6.8 ] pF ``` *Note: These are illustrative values for the exercise.* ### Step 3: Matrix Validation **Check symmetry:** ``` Example: C[2,5] = -0.6 pF, C[5,2] = -0.6 pF Error: |(-0.6) - (-0.6)| / 0.6 = 0% ✓ Symmetric (check all pairs) ``` **Check patterns:** ``` Topload coupling: |C[0,1]| = 10.5 > |C[0,5]| = 0.8 > |C[0,10]| = 0.1 ✓ Adjacent coupling: |C[3,4]| = 2.9 > |C[3,7]| = 0.3 ✓ Diagonal positive: All C[i,i] > 0 ✓ Off-diagonal negative: All C[i,j] < 0 for i≠j ✓ ``` **Total shunt capacitance:** ``` C_sh_total = Σᵢ₌₁¹⁰ (C[i,i] - |C[i,0]|) = (16.2-10.5) + (12.8-4.2) + ... + (6.8-0.1) = 5.7 + 8.6 + 9.3 + 9.4 + 9.8 + 9.7 + 9.6 + 9.4 + 9.3 + 6.7 = 87.5 pF Expected: 2 pF/ft × 8.2 ft = 16.4 pF Ratio: 87.5 / 16.4 = 5.3 Higher than lumped expectation, but within factor 2-6 for distributed Matrix method includes all couplings - acceptable ✓ ``` ### Step 4: Calculate Resistances (Simplified Method) **Frequency:** ``` f = 200 kHz ω = 2π × 200×10³ = 1.257×10⁶ rad/s ``` **Segment 1 (base):** ``` C_total[1] = |C[1,0]| + |C[1,2]| + ... + |C[1,10]| = 10.5 + 3.5 + 1.4 + 0.7 + 0.4 + 0.3 + 0.2 + 0.2 + 0.1 + 0.1 = 17.4 pF R[1] = 1 / (ω × C_total[1]) = 1 / (1.257×10⁶ × 17.4×10⁻¹²) = 45.7 kΩ Bounds: R_min[1] = 1 kΩ, R_max[1] = 100 kΩ Check: 1 < 45.7 < 100 ✓ ``` **Calculate similarly for all segments:** ``` Results (example): R[1] = 45.7 kΩ (position 0.00) R[2] = 58.3 kΩ (position 0.11) R[3] = 71.2 kΩ (position 0.22) R[4] = 86.5 kΩ (position 0.33) R[5] = 105 kΩ (position 0.44) R[6] = 128 kΩ (position 0.56) R[7] = 157 kΩ (position 0.67) R[8] = 195 kΩ (position 0.78) R[9] = 248 kΩ (position 0.89) R[10] = 320 kΩ (position 1.00) Total: R_total = 1415 kΩ = 1.42 MΩ ``` **Validation:** ``` ✓ Monotonically increasing ✓ Each within position-dependent bounds ✓ Total: Expected 50-500 kΩ, got 1.42 MΩ Higher than typical - long spark (2.5 m), tip-dominated Within factor 3-5 of estimates - acceptable for distributed model ``` ### Step 5: Build SPICE Netlist **Partial capacitance conversion (selected):** ```spice * 10-segment distributed spark model - 2.5 m at 200 kHz .param freq=200k * Test voltage source V_test topload 0 AC 1V * Partial capacitances - between nodes (sample) C_0_1 topload seg1 10.5p C_0_2 topload seg2 4.2p C_1_2 seg1 seg2 3.5p C_2_3 seg2 seg3 3.2p C_3_4 seg3 seg4 2.9p * ... (continue for all pairs) ... * Partial capacitances - to ground (sample) C_0_gnd topload 0 {38.2 - (10.5+4.2+2.1+1.2+0.8+0.5+0.4+0.3+0.2+0.1)} C_1_gnd seg1 0 {16.2 - (10.5+3.5+1.4+0.7+0.4+0.3+0.2+0.2+0.1+0.1)} * ... (continue for all nodes) ... * Resistances R1 seg1 seg1_r 45.7k R2 seg2 seg2_r 58.3k R3 seg3 seg3_r 71.2k R4 seg4 seg4_r 86.5k R5 seg5 seg5_r 105k R6 seg6 seg6_r 128k R7 seg7 seg7_r 157k R8 seg8 seg8_r 195k R9 seg9 seg9_r 248k R10 seg10 seg10_r 320k * AC analysis .ac lin 1 200k 200k * Output .print ac v(topload) v(seg1) v(seg2) v(seg3) v(seg4) v(seg5) + v(seg6) v(seg7) v(seg8) v(seg9) v(seg10) .print ac i(V_test) i(R1) i(R2) i(R3) i(R4) i(R5) + i(R6) i(R7) i(R8) i(R9) i(R10) .end ``` ### Step 6: Simulation Results (Example) **Voltage distribution (normalized, V_topload = 1V test):** ``` V[topload] = 1.000 V V[seg1] = 0.842 V (16% drop from topload) V[seg2] = 0.714 V V[seg3] = 0.608 V V[seg4] = 0.518 V V[seg5] = 0.441 V (56% of topload) V[seg6] = 0.375 V V[seg7] = 0.318 V V[seg8] = 0.269 V V[seg9] = 0.227 V V[seg10] = 0.192 V (tip, 19% of topload) Non-linear drop ✓ Expected for distributed capacitance ``` **Current distribution:** ``` I[seg1] = 18.4 μA (base, highest) I[seg2] = 12.2 μA (66% of base) I[seg3] = 8.54 μA I[seg4] = 6.00 μA I[seg5] = 4.20 μA (23% of base) I[seg6] = 2.93 μA I[seg7] = 2.03 μA I[seg8] = 1.38 μA I[seg9] = 0.91 μA I[seg10] = 0.60 μA (tip, 3% of base) Monotonically decreasing ✓ Capacitive shunting effect ``` **Power distribution:** ``` P[1] = 0.5 × (18.4×10⁻⁶)² × 45.7×10³ = 7.74 μW P[2] = 0.5 × (12.2×10⁻⁶)² × 58.3×10³ = 4.34 μW P[3] = 0.5 × (8.54×10⁻⁶)² × 71.2×10³ = 2.60 μW ... P[10] = 0.5 × (0.60×10⁻⁶)² × 320×10³ = 0.058 μW Total: P_total ≈ 21.5 μW (at 1V test) Base segments (1-3): 14.7 μW (68% of total) Middle (4-7): 5.8 μW (27%) Tip (8-10): 1.0 μW (5%) Power concentrated at base ✓ Physical expectation ``` **Impedance at topload:** ``` Y = I_test / V_test = 18.4 μA / 1V = 18.4 μS |Z| = 1/18.4×10⁻⁶ = 54.3 kΩ φ_Z ≈ -62° (calculated from Re{Y}, Im{Y}) Check: -55° < -62° < -75° ✓ Expected range ``` ### Step 7: Scale to Actual Voltage **Given: V_topload = 350 kV actual** **Power scaling:** ``` P_actual = P_test × (V_actual / V_test)² = 21.5 μW × (350×10³ / 1)² = 21.5×10⁻⁶ × 1.225×10¹¹ = 2.63 MW Total power to spark: 2.63 MW ``` **Segment powers:** ``` P[1] = 7.74 μW × scale = 949 kW (36%) P[2] = 4.34 μW × scale = 532 kW (20%) P[3] = 2.60 μW × scale = 319 kW (12%) ... Base heavily loaded, tip lightly loaded ✓ ``` ### Step 8: Final Validation ``` ✓ Phase angle: φ_Z = -62° in range (-55° to -75°) ✓ Total resistance: 1.42 MΩ (high end, but acceptable for 2.5 m) ✓ Voltage distribution: Non-linear, physically reasonable ✓ Current distribution: Decreasing base→tip monotonically ✓ Power distribution: 68% in base 1/3, physical ✓ Matrix validation: All checks passed ✓ Resistance monotonic: Increasing base→tip Model complete and validated! ``` ## Key Takeaways from Part 4 - **Lumped models:** Fast (<1s), accurate for short sparks (<2 m), C_mut-R-C_sh structure - **FEMM extraction:** Maxwell matrix has negative off-diagonals, C_mut = |C₁₂|, C_sh = C₂₂ - |C₁₂| - **Distributed models:** Necessary for long sparks (>2 m), captures spatial variations, 1000× slower - **Segmentation:** Equal lengths, n = 5-20, convergence test by doubling n - **Matrix validation:** Symmetry, passivity (eigenvalues ≥ 0), physical patterns critical - **SPICE implementation:** Partial capacitance method (flip signs), controlled sources, or nearest-neighbor - **Resistance optimization:** Iterative (rigorous, slow) or simplified R = 1/(ωC) (fast, ±20%) - **Position-dependent bounds:** R_min 1k→10k, R_max 100k→100M, prevents unphysical solutions - **Validation ranges:** R_total 50-500 kΩ at 200 kHz typical, factor 2-3 variation acceptable - **C_sh discrepancy:** Factor 2-3 from 2 pF/ft rule normal for distributed (use FEMM values) - **Current distribution:** Decreases base→tip due to capacitive shunting (can be 20:1 ratio) - **Power concentration:** 60-70% in base 1/3 of spark, tip contributes <10% ## Practice {exercise:model-ex-06} --- **Congratulations!** You have completed Part 4: Advanced Modeling. You now have the skills to: - Build lumped spark models for quick analysis - Extract capacitance matrices from FEMM for single and multi-body problems - Construct distributed models for long sparks and research applications - Optimize resistance distributions using iterative or simplified methods - Validate models against physical expectations and measurements - Apply complete modeling workflow from geometry to validated predictions **Next Steps:** - Part 5: Integration and Calibration (coming soon) - Apply these techniques to your own Tesla coil designs - Validate against measurements and refine models - Contribute to the community knowledge base