Hello and thanks for using Just Answer! My name is XXXXX XXXXX I would be glad to assist.
What type of vehicle do you have and what is the engine size?
I would first check if the gauge is functioning. It should move some after running 20 mins. The sensor is located on the thermostat housing and has a single wire running to it. The sensor changes the resistance depending on the temp. You can unplug the sensor and ground the wire by touching it to the engine / housing, have someone watch the gauge. The gauge should spike to one extreme, once un grounded the gauge should swing to the opposite. This will confirm the gauge functions properly. In this case the sensor or gauge may need replacement.
You are very correct in checking the fluid level as air pockets from low fluid can affect the gauges ability to accurately read the temp however I would expect the gauge to move some so this is not likely the issue.
A stuck open thermostat also can cause the problem as fluid is not staying in the engine long enough to heat up before being pumped to the radiator to cool down. You can test the thermostat by removing it, if it is open it is faulty. It should not open until 195 degrees, which you can test by dropping one into boiling water.
The fluid in your vehicle needs to be mostly antifreeze and very little water. If you have mostly water it needs to be drained and refilled. I'm not sure how to proceed if the water is frozen. Running the engine should melt it quickly however this is not something I have experienced. Please try these things I have mentioned and let me know. Please click "Accept" if this information has helped so I may get credit and positive feedback is much appreciated. Thanks!