Difference between ENT:PhysicsSimulate() and ENT:PhysicsUpdate()

What’s the difference between ENT:PhysicsSimulate() and ENT:PhysicsUpdate() ? What are they used for that’s different? Are they always called together? How are the game’s physics calculated and updated, and how are these processes different? Let’s say I wanted to make an entity that constantly pulls itself in a certain direction. Which one of these hooks would I call the function in? please help.

i suppose simulate calculates how fast something will go and update moves the position and rotation of the entity. just brainstorming

It seems like PhysicsSimulate provides more control and is more reliable. Although for something simply moving an entity in one direction PhysicsUpdate would probably be best.