Your problem is very specific. To help you in a Socratic way, here are a few questions you should probably consider. The answers to these questions might enrich your post and help people giving you better and more specific answers.
How well do you know the theory behind polycrystalline film growth?
I ask this question because coding requires that you know pretty well the equations and simulation strategy you are going to use BEFORE even considering a programming language. For example, the computational load of your simulations might be such that you need to run it in a parallel way or event on GPUs. This might make some language much more appropriate than others... or not.
Is C++ may the right language to experiment?
C++ is a language with a very steep learning curve and it's much easier to do dangerous, inefficient and unmaintainable code in C++ than Python or Matlab for example. You did not specify your level of expertise in C++ in your question but in the absence of a framework or library already implementing your problem domain (film growth simulation), I would suggest using an easier language, unless your goal is to develop such a library and you are already experienced in OO programming, SOLID design principles and scientific computing.
Is there already a library or framework that supports the kind of simulations you want to do in ANY language?
This might solve your problem if your goal is not to design and implement such a C++ library. Even if that is your goal, having a look at such software implementation and design might help you a lot and prevent MANY mistakes and architectural dead ends... Better learn as much as possible from others mistakes before making your own!
Thank you Brother for you answer. Few things I have to mention here to let you know about my level in this field.
1. I am studying from last three months about Polycrystalline thin film growth. I am new in this field. I just know few equations like Allen Cahn and Cahn Hilliard as I am doing phase filed modelling of polycrystalline thin film growth in semiconductors. I don't know which language is better for my project but my supervisor told me to use C++ because we have to commercialize our code at the end.
2. I don't know that C++ is right language for my project and I am not a computer engineer. My level in C++ is beginner but I learn some basics of C++ language and already convert the MATLAB grain growth code to the C++ code. I also don't know about OO programming, SOLID design principles and scientific computing.
3. I don't know the library or framework that supports the kind of simulations which I want to work.
I'm afraid there is no "easy" way to do your project but there are certainly extremely difficult ways and some just difficult ;) Wanting to commercialize software on your own from your current level of computer engineering knowledge is like doing the national football team by training alone, on your own in your backyard without a ball... not very likely.
Many scientists write relatively big software library without knowing and paying attention to basic software engineering methods and principles (see attached paper). If you are a beginner C++ programmer without experience in OO programming, SOLID design principles, automated testing, etc. I suggest you get someone who does onboard at least part time in the beginning to help you at least layout the architecture of your library, versioning and automated unit testing (crucial). No piece of useful and robust commercial software can be written without these basics and nobody wants to use and pay for buggy software.
Also, take a day or two to really look for libraries implementing what you want to do in ANY language. Having even a bad architecture to test and start from would help you a lot. You can even post a more specific question about this on RG if you do not find anything.