I'll try to summarize the comments under you post and add my two cents:
Your question is too broad to be answered simply:
- Is the processing time "normal"? Maybe, this is a very specific use case
- Are there any specific optimizations? Maybe, but don't expect people here to go through the entire Github repo to give you answers
- Are there any specific hardware requirements? Not really but your config is not tailored for heavy scientific computations
- Would using Python 3.11 instead of 3.6 improve performance? Likely not or not by a large margin
- How to improve the processing speed? Most likely by relying on built-in libraries for scientific computing (e.g. Numpy operations) the most you can
From there you have two options IMO:
- Deep dive into the code and analyse the bottlenecks, i.e. the parts that take the most time. You can use a profiler to do this. Then try some common optimization techniques. If you still have specific questions then come back here.
- Do nothing. I understand that you are not a computer science major. Do you really need to spend time trying to optimize this code? Couldn't you for example run these simulations overnight or during your lunch break?