Yes, as long as Blender has the functionality you need, I would say automation in Python is one of Blenders strengths.
In fact Blender's SPH fluid simulator was developed/improved by a company who made a product that did automated fluid simulation that ran on a supercomputer to test fluids behavior in through different pipes/containers for a commercial project.
But you can automate many other tasks too. see AutoCRC (bottom of credits page link).
Blender can for example be compiled without a user interface, as a Python module (or just run release builds in background mode), and perform automated physics simulations, video editing, rendering, file format conversions, mesh processing - etc.
There are some caveats though:
- Not every area of Blender has been used in automation, if you try to automate something that nobody tried before, you mileage may vary
(fluid simulation should go fine, but some areas rely on a user interface - game engine or sculpting for eg).
- Its best to first use the interface to setup tasks before automating.
From your questions it sounds like you may want to avoid using Blender at all? I think its not wise to avoid using the UI at least for testing steps to be automated.
As a starting point for automation in Blender, I'd recommend see the Background Job template. See:
Text Editor -> Templates -> Background Job
.
This means you can run Blender from the command line to execute the task.
Another example (based on that template) that renders FBX files from the command line.
Any pure-python solution depends totally on the python-modules available to use, I wasn't aware of PyOgre being able to do fluid simulation - and am not familiar with fluid simulation in Python in general, so its hard to answer this part of your question.
Note:
Your question asks "for a beginner", I wouldn't consider this a beginner project, and I don't think being a beginner makes any difference to the answer. This stuff you have to learn one way or another and if you are a beginner you may just take longer to figure it all out.
Interactive Python Workflow
? - Automation and interactivity are not mutually exclusive - but in this context I'm not sure how you intend to interact with blender without using the mouse, for eg. $\endgroup$