Your OPA604 needs at least a 9v supply and even then it doesn't have the 'rail-to-rail' outputs of the TLV2471.
Your circuit might still work work this opamp if you increase the supply voltage though.
The LM3900 is not a 'normal' opamp. Its a Norton type which works on the currents into/out of its inputs and not the voltages on them.
This one will never work in that circuit.
You could easily do a highly flexible DDS on an STM32F4 Discovery board for ~$15 using an internal DAC, DMA, a timer and a sine lookup table. People have blogged examples of similar things if you look for them.
In order to get the required frequency (the STM32F4xx DAC's can only do 300ksps at full swing, which equates to ~1V/\$\mu\$s) you will need to constrain the range of the DAC.
For a sinusoid, maximum slew rate (in V/s) is \$2 \pi \times f \times A\$.
Inserting the values from the OP's requirements and assuming Vref of the DAC is 3.3V (which if I recall correctly is the case for an STM32F4Disco), a 3.3Vpp sine wave at 100kHz, max slew rate is \$2 \pi \times 10^5 \times 3.3 / 2 = 1036726\$V/s, or \$\approx1.04\$V/\$\mu\$s.
In order to comply with this constraint, the sine wave's amplitude has to be limited, from \$3.3\$V to \$3.3 \times 1 / 1.04 = 3.18\$V.
This now brings in the apparent issue of the 300ksps limit on the STM32F4 DAC. That limit is a furphy. I don't know what the actual physical upper limit is, but I suspect it's the APB1 bus speed. I do know (because I've done it) that you can write at least 2Msps to the DAC and as long as you respect the 1V/us slew rate it will behave predictably. So, you can do 16 samples per cycle for a 100kHz sine wave, a 1.6Msps update rate, as long as you limit the sine wave amplitude to 3.18V instead of 3.3V.
At some point you're probably going to have to deal with digital pots because the reality is that if you want a smooth, continuous output signal, particularly at low speed, then you're going to have to run your DDS through a filter, and that filter is going to have to be adjustable - you can't just put a 100kHz LPF on it and expect it to be useful at sub-1Hz frequencies.
Best Answer
To generate the sine wave, there are a few possibilities- AD9850 DDS modules are readily available, as are other DDS in chip form (you'll need a micro to set them up).
A micro could be used directly, using DAC or PWM output. You would implement a sine lookup table.
A triangle wave oscillator is easy to make with a couple op-amps, the waveform can be flattened with diodes and resistors or JFETs (I don't recommend this old school method -too many parts- unless you have a real aversion to digital).
To actually drive the electromagnet, you probably need a power amplifier, and the details will depend on the current required. It could be just an op-amp, a high current op-amp, or perhaps something more substantial would be required. You might need +/-6V supplies (plus a low voltage digital supply) to generate a 3V RMS sine wave.