My next issue is that if I don't have a load, the resistance will be near zero. So my current will be shorted. How can I avoid this without dissipating huge power with a resistor in series with the battery?
First of all:
Current mode control.
You don't dissipate infinite power, by not delivering infinite power in the first place. Seems kinda obvious in retrospect, huh? :)
Current mode control isn't exactly the go-to solution for resonant power systems, but give or take adjustments: something like it, is the basis of every safe and reliable power control system.
Most importantly, you control current, to limit power dissipation in the switches (and anything upstream, e.g. to avoid browning out or damaging a limited power source), eliminating one entire mode of failure.
You still have device overvoltage and temperature to worry about, but one out of three is a pretty damn good start.
So, how do you go about that? In a square-pulse converter, you vary pulse duration. (It might not be PWM exactly; consider the peak current mode controller for instance. Yes, it produces PWM, but that's not what it's doing, per se. PWM is a consequence of what it's doing. Subtle distinction -- not something any SMPS tutorial ever mentions, let alone to explain why that's a good thing.)
In a resonant system, you might vary frequency. You might vary PWM (but this is complicated in a half-bridge direct drive circuit like shown here*). You might not even handle it at the inverter itself, but keep the inverter locked on resonance while varying the supply voltage/current instead.
*Homework challenge: demonstrate why. You can do this right here in the simulator, or preferably something SPICEy, or even on the breadboard (a scale model say 12V 1A range, is very feasible to demo), but the real value is in making sense of the jumble of waveforms you'll observe, and why that's "complicated".
Given one comment, you may find this a challenge to implement in a software solution. A software control system is hard real time computing. How confident are you, in your coding abilities, that you can be assured every cycle ends exactly on time, no hiccups, no switches on at the same time, no dead time (besides what's as designed)?
Let alone the platform and libraries you use. Do you trust Arduino? Or the HAL, or whatever other tools you're working with? Does the datasheet offer any guarantees? Have you disassembled the output code? Is it scrutable -- can you understand it?
I've been in the field a long time, and only designed a couple of software control loops. Mostly in recent history. I don't take it lightly, and I don't have much of a way to test or prove their correctness, unfortunately. It has been a long time, gaining the experience to do such projects with some confidence.
You may feel otherwise. Others may tell you otherwise. I will tell you this: there is no substitute for careful study and well applied knowledge. You can force your way through a lot of walls by banging your head against them, but the wall's loosened bricks will inevitably fall on your head.
I strongly encourage, not just using the basic building blocks (like ye olde TL494, or UC3843 for a peak current mode demo), or even breaking it down further (comparators and flip-flops), but understanding how the analog circuit works, top to bottom, and why it's a good way to approach the problem (controlling inverter current into an inductor). There is much to learn here; I spent years studying SMPS, bit by bit.
Only once you know how to solve the problem in analog (continuous time), should you consider doing a digital (discrete time) solution. Then, you will know the stakes, of slow or missed computation, of dangling pointers and CPU crashes, and why we sometimes still do things in certain ways (e.g. a much slower update loop using ADC/DAC to send setpoints to an analog circuit handling the hard real-time stuff -- the height of 1970s digital controls and DSP technology, and no less relevant today!).
As for the actual application: 200A is just way too much. Maybe you have some idea of this already. Almost no one does 200A in one go. Almost no one does it at 24V. You will find the RMS current, peak switching, and peak voltage, nigh impossible to control. You will be mystified and frustrated by poor wiring -- 200A is enough that even a(n otherwise quite good) ground plane layout won't save you.
Finally, coil loss. This one is actually very easy. You only need one number.
Coil Q varies from unloaded*, to perhaps 30-60 for a loosely coupled coil or highly conductive load, 15-30 for tightly coupled highly conductive or loosely coupled moderately conductive materials, down to 3-5 for tightly coupled magnetic, moderately conductive materials.
"Highly conductive" includes copper, aluminum, and precious metals. Many metals when very pure and cold.
"Moderately conductive" includes stainless steel, titanium, graphite, etc.
"Low conductivity" will mostly be semiconductors, composites and granular materials.
Magnetic materials exhibit bonus losses (hysteresis and magnified skin effect) below curie temperature; iron, nickel, various alloys.
"Loose coupling", for a coaxial solenoid geometry (say, coil length = dia., work height = coil height, cylindrical work on solenoid axis), might be work OD < 20% coil ID. Moderate coupling, 40-60%. Tight coupling, >80%.
*Which can be calculated with e.g.:
RF Inductance Calculator for Single‑Layer Helical Round‑Wire Coils | Serge Y. Stroobandt, ON4AA | hamwaves.com
Your geometry is all wrong, though: a "long solenoid" has divergent magnetic field at both ends, which is good for inducing eddy currents, but you're only using one end to heat work; and the bulk of the solenoid itself, is dead weight, adding inductance, and losses (unless you're cryocooling a superconductor here*), without accomplishing any, erm, "work".
*Ah, but cryocoolers are loss, too. No free lunch! (Incidentally, some superconducting cables, and materials, have significant AC losses, making them unsuitable for this application anyway. LN2 temperatures might not suffice, requiring the cost of a LHe system instead.)
Consider a pancake coil, or something else very closely fitted to the work. Distance is the killer. Every turn that's further from the work, and every turn that's shadowed behind other turns, is dead weight on the system.
You may find that such a restricted geometry forces inductance to be too low. Maybe you can only get one or two turns in place. You need too much capacitance to get a modest frequency; most industrial capacitors for this power level, are in the few-µF range, but you might need 100s. Even operating at an uncomfortably high frequency (I wouldn't suggest starting your SMPS study with a 400kHz+ project, nor at this power level), the impedance remains quite low, demanding high current and low voltage.
So don't. Use a transformer. It takes care of everything, and greatly enhances flexibility. I recommend a ferrite toroid core, litz wire primary, and a single turn secondary (which can be copper tube looped through once*). You still need to figure out capacitance, but you don't have to deal with all that current at the inverter, and voltage can be much more modest (which, at 1kW, will still be hazardous -- most likely, offline (mains) voltage -- again, more reasons NOT to do this as a first project).
*Note that, a single straight piece of wire, going from - to + infinity, with a core looped around it, is still one (1) turn. For winding number, it doesn't matter whether that turn is closed at infinity, or made up close and personal right by the core. Or, making a hairpin around the core and then returning to the circuit, such that the wire passes through the core twice, would make two turns. It's the winding number around the core that matters, or equivalently, the winding number of the core itself around the wire -- how many wire crossings does the core enclose.
Final note, regarding experience. It sounds like you may be inexperienced at various parts of this. That may be as much my guess due to the once-through, conversation-discouraged nature of the platform that is StackExchange. But as long as we're feeding AIs with gibberish, I might as well lean on the side of fostering cautious gibberish. My concerns are not final; merely impressions. Likely you have some experience, in some field(s), and just didn't mention it (perhaps because it didn't seem relevant -- but keep in mind, from my perspective, it might also mean, no experience at all, so you'll excuse me for hedging that bet).