Solve this nonlinear delayed differential equation?

I am using NDSolve for the solution of the following delayed, dynamical nonlinear system

NLSol = NDSolve[{Derivative[1][cf][t] == -400. cf[t] + 
     124450.79348 Sin[100 \[Pi] t] - 
     400. Sign[-0.4 Cos[100 \[Pi] t] + TriangleWave[1000 t]] vdc[t], 
   Derivative[1][vdc][t] == 
    1000. cf[t] Sign[-0.4 Cos[100 \[Pi] t] + TriangleWave[1000 t]], 
   Derivative[1][a0][t] == 50 (cf[t] - cf[t - 1/50]), 
   cf[t /; t <= 0] == 0, vdc[t /; t <= 0] == 0, 
   a0[t /; t <= 0] == 0}, {cf[t], vdc[t], a0[t]}, {t, 0, 0.5}]

I am not sure what I am doing wrong to get the error "Input value {0.48} lies outside the range of data in the
interpolating function "
Please, help.
Thanks in advance
Jesus Rico

Hi,

I haven’t had much time to play around with it, but this seems to work ok-ish:

NLSol = NDSolve[{Derivative[1][cf][t] == -400. cf[t] + 124450.79348 Sin[100 \[Pi] t] - 400. Sign[-0.4 Cos[100 \[Pi] t] + TriangleWave[1000 t]] vdc[t], Derivative[1][vdc][t] == 1000. cf[t] Sign[-0.4 Cos[100 \[Pi] t] + TriangleWave[1000 t]], Derivative[1][a0][t] == 50 (cf[t] - cf[t - 1/50]), 
cf[t /; t <= 0] == 0, vdc[t /; t <= 0] == 0, a0[t /; t <= 0] == 0}, {cf[t], vdc[t], a0[t]}, {t, 0, 0.5}, Method -> {"DiscontinuityProcessing" -> False, 
"TimeIntegration" -> "Adams"}]

At least in the sense that it integrates over the entire interval. Then you can plot it:

Plot[{cf[t] /. NLSol[[1]], vdc[t] /. NLSol[[1]], a0[t] /. NLSol[[1]]}, {t, 0, 0.5}, PlotPoints -> 200, PlotStyle -> {Blue, Red, Green}]

Cheers,

Marco

Marco,
It is working as expected. Thank you very much!
I guess some of us are very used to the idea that Mathematica would find the appropriate parameters for integration automatically. We have to be careful with that assumption.

Thanks again.

Jesus