Flexible virtual capacitance control strategy for a DC microgrid with multiple constraints