I need to conduct some FEM calculations and I am wondering whether parallelization would be a good idea. The trouble is that my model is not especially large so it takes few seconds to solve a single problem on my laptop. However I need to do optimization (there's a lot of different geometric parameters to test), so I need to run solver many times for slightly different geometry models. To my knowledge, most available free software (Elmer, Fenics, OpenFOAM, ...) enable parallel computation only after partitioning domain into subdomains. In this way assembling matrices and solving system of equations for separate subdomains are the tasks for separate processors/cores. I doubt whether parallelization at this stage would compensate the overhead.
Question no 1.: Is my thinking correct?
Since in the end there will be a lot of calculations (different parameters, different frequencies) I think some kind of parallelization would be of benefit, after all. I'm thinking about embedding FE code in other language to make a parallel split for separate tasks on a higher level.
Question no 2.: Is this workflow correct? Does there exist any better approach?
Question no 3.: If there is no better approach, then what would be the preferable language to do such things? Python? C? Something else? I'm thinking about using Elmer for FE stuff but I'm not decided yet.
I mainly program in Octave/Matlab and I've never written parallel program before so I don't have enough experience in this field. Unfortunately I don't have enough time do experiments on my own, so I would really appreciate your hints.