Programming a duty cycle in CFX
Ok, I'm guessing this is probably a simple thing to implement, but I've spent all morning searching and can only jury rig a solution so far. How do I use a loop or create and expression to turn a boundary condition on and off for 10, 20, 30...% of the time.
Right now, I'm using a simple if statement to create the cycle: .6253 [V] - if(atstep >(DutyCyclePercentage*.8[s]/10)/TimestepSize, .6253 [V], 0 [V]) +if(atstep > 8[s]/TimestepSize,.6253[V],0[V])- if(atstep >(8[s]+DutyCyclePercentage*.8[s]/10)/TimestepSize, .6253 [V], 0 [V]) + if(atstep >16[s]/TimestepSize,.6253[V],0[V])-..... but I basically have to repeat this over and over for the length of my simulation. How do I simplify this with a loop? I can't find the syntax. |
Use the mod function to work out where in the current cycle you are. Then do a single if statement on that value to get a repeating duty cycle signal.
|
Ah, so simple. Yeah thanks.
if(mod(atstep,cyclelength),true,false) |
All times are GMT -4. The time now is 20:47. |