Problem statement and knowns/unknowns

This LRC circuit analysis template is built for series R, L, and C elements. It keeps the symbolic structure intact so you can plug in new component values, solve for poles, and move between time and Laplace domains without rebuilding the sheet.

Use this template as a repeatable worksheet: update R, L, C, and the input signal, then let GrayCalc handle the algebra and transforms.

Assumptions and unit discipline

  • Series topology with capacitor output transfer function V_C/V_{in}.
  • Linear component behavior around operating point; zero initial-state Laplace baseline.
  • Use SI units: ohm, H, F, Hz/rad/s with explicit conversion.
  • If parasitics or nonlinear behavior dominate, branch to extended models.

Derivation from KVL and impedance

Model the circuit with charge q(t) (or current i(t)) and express the governing equation before you jump into Laplace transforms.

L*d^2q/dt^2 + R*dq/dt + (1/C)*q = V(t)

For analysis in the Laplace domain, the series impedance is straightforward and keeps your template compact.

Z(s) = R + L*s + 1/(C*s)

In this template, H(s) is the capacitor voltage transfer function Vc(s)/Vin(s) for the series network.

H(s) = Vc(s)/Vin(s) = 1/(L*C*s^2 + R*C*s + 1)

Laplace workflow in GrayCalc

Use GrayCalc to calculate impedance, transfer functions, and poles symbolically. Then substitute numeric values for fast design checks.

The preview uses example component values (R=15, L=22e-3, C=8.2e-6) so you can see concrete outputs; update them to match your circuit.

Step-by-step: compute Vc(s)/Vin(s)

  1. Define your components: R, L, and C.
  2. Compute impedances: ZR=R, ZL=s*L, ZC=1/(s*C).
  3. Use the voltage divider ratio H=ZC/(ZR+ZL+ZC) to get Vc(s)/Vin(s).
  4. Confirm the KVL form if needed: vin=RC*dvC/dt + LC*d2vC/dt2 + vC.
  5. Solve poles from the characteristic equation with solve(L*C*s^2+R*C*s+1, s).
Transfer functions assume zero initial conditions. If your circuit starts with stored energy, include the initial-condition terms in the Laplace setup.
Define componentsKeep R, L, and C symbolic until you finalize values.
Build Z(s)Compute impedance and derive I(s) or Vout(s).
Solve polesFind roots of the characteristic equation to assess damping.
Transform inputsApply laplace() and inverse_laplace() to compare time and s-domains.

Template lines to paste into GrayCalc

Paste these lines into a new sheet. They cover the impedance divider, KVL reference lines, standard-form parameters, poles, and response plots.

# Series RLC (LRC) — Vc/Vin
# Component values (SI units)
R=15
L=22e-3
C=8.2e-6
# Method 1: impedance divider
ZR=R
ZL=s*L
ZC=1/(s*C)
H=simplify(ZC/(ZR+ZL+ZC))
# Method 2: KVL (reference)
# vin(t)=vR(t)+vL(t)+vC(t)
# vin(t)=R*C*d(vC)/dt + L*C*d2(vC)/dt2 + vC(t)
# Standard-form parameters
w0=1/sqrt(L*C)
f0=w0/(2*pi)
zeta=(R/2)*sqrt(C/L)
Q=1/(2*zeta)
wd=w0*sqrt(1-zeta^2)
denom_std=simplify((L*C*s^2+R*C*s+1)/(L*C))
# Pole locations
poles=solve(L*C*s^2+R*C*s+1,s)
# Frequency response (Bode)
HdB=20*log(1/sqrt((1-L*C*(2*pi*f)^2)^2+(R*C*(2*pi*f))^2))
plot(HdB, f, -1000, 1000, yAuto=true, samples=3000, xTitle="f")
Hphase=-atan2(R*C*(2*pi*f),1-L*C*(2*pi*f)^2)*180/pi
plot(Hphase, f, -2000, 2000, yAuto=true, samples=3000, xTitle="f")
# Time response (unit step input)
Vc_step=inverse_laplace(H/s,s,t)
plot(Vc_step, t, -0.01, 0.05, yAuto=false, yMin=-0.08, yMax=1.9, samples=6000, xTitle="t")

Resonance and damping checks

The natural frequency is w0 = 1/sqrt(L*C). Damping depends on R, with zeta = (R/2)*sqrt(C/L) and Q = 1/(2*zeta). Use these results to classify the response as underdamped, critically damped, or overdamped.

w0 = 1/sqrt(L*C) zeta = (R/2)*sqrt(C/L) Q = 1/(2*zeta)

FAQ

Is this template only for series LRC circuits?

The lines above are for a series LRC topology. You can adapt them for parallel circuits by updating Z(s) and the transfer function definition.

Can I solve for the time response?

Yes. Use inverse_laplace() on Vout or I to return to time domain after you define an input signal.

Worked example (interpreted)

Step 1: Baseline values produce w0=2354.41 rad/s and f0=374.72 Hz.

Step 2: zeta=0.1448 and Q=3.453 indicate an underdamped response with noticeable ringing.

Step 3: The consistency row kvl_residual stays symbolic-zero, confirming transfer-function and denominator alignment.

Interpretation: this design is intentionally resonant. Increase resistance (see R_variant) to move toward critically damped behavior.

When this model is invalid

ConditionWhy invalidUse instead
Nonlinear/saturating componentsLTI transfer-function assumptions break.Piecewise or nonlinear device models.
Large parasitic ESR/ESL effectsSecond-order ideal model misses high-frequency poles/zeros.Extended RLC model with parasitic branches.
Non-zero initial energy not modeledDefault Laplace rows assume zero initial conditions.Include initial-condition terms explicitly in Laplace rows.

How to validate your worksheet

  • kvl_residual should simplify to zero.
  • damping_metric=zeta-1 indicates under/critical/over damping sign.
  • invalidity_proxy=f0/f_parasitic_ref rising means parasitic awareness should increase.

Domain-specific variants in this template

The resistance sweep rows (R_variant, zeta_variant, Q_variant) provide a fast design tradeoff path between ringing and settling time.

Practice problems (with answer outlines)

Practice 1

Adjust R to hit ζ≈1 while keeping L and C fixed.

Outline: Solve ζ=(R/2)√(C/L)=1 for R and verify pole form.

Practice 2

Compare pole locations for baseline and R_variant rows.

Outline: Track real/imaginary parts and interpret ringing/settling tradeoff.

References and standards

  • Oppenheim/Willsky, Signals and Systems (second-order system interpretation). MIT OCW companion.
  • IEEE 1597 waveform-interchange context for simulation data workflows. IEEE reference.
  • Horowitz & Hill, The Art of Electronics (practical damping/filter guidance). Reference site.