DAC implementation in OFDM
In a real system you actually need two DACs: one for the real part and one for the imaginary part. The implementation of the DAC model depends on what should be included in your simulation. There are two main aspects: quantization and pulse shaping.


Quantization - if quantization effects of the DAC should be modelled, the floating point output of IFFT/CP insertion has to be mapped to a discrete number of values. Quantization can, for example, be implemented by scaling and rounding. Say your DAC has a vertical resolution of 8 bit. Then the IFFT output signal should be scaled such, that its maximum value is 127. Afterwards the signal is rounded to integer numbers. Note that OFDM signals are often clipped before quantization to reduce quantization noise, especially for lower resolutions (1).
Pulse shaping - if a physical channel should be modeled (for example a wireless channel), the analog output of the DAC must be simulated. This is implemented by converting every input sample into an impulse that is weighted with the sample's value. In the simulation the impulse itself consists of $L$ samples, of course, that mimic the analog signal. $L$ is the oversampling factor (not to be confused with the OFDM oversampling that is achieved by zero padded subcarriers). The simplest impulse shape is a rectangle, i.e. every sample in the simulation is just repeated $L$ times.


If the channel model is very simple, for example an AWGN channel, DAC and ADC can be omitted. It really depends on how realistic the simulation model should be.



(1) Michael Bernhard et al.: Analytical and numerical studies of quantization effects in coherent optical OFDM transmission with 100 Gbit/s and beyond