module relay(contact1,contact2,control1,control2); inout contact1,contact2; input control1,control2; electrical contact1,contact2; voltage control1,control2; parameter real r=1 from (0:inf); parameter real vth = 0; branch (control1,control2) control, (contact1,contact2) contact; analog begin @(cross(V(control))) discontinuity(0); if (V(control) >= vth) I(contact) <+ V(contact)/r; else I(contact) <+ 0; end endmodule