Is Java a Suitable Language for Monte Carlo Modelling of Magnetic Nanoparticles?

  • Context: Undergrad 
  • Thread starter Thread starter mgorbach
  • Start date Start date
  • Tags Tags
    Monte carlo
Click For Summary

Discussion Overview

The discussion centers around the suitability of Java as a programming language for Monte Carlo modeling of magnetic nanoparticles, particularly in the context of cross-platform capabilities and computational efficiency. Participants explore various aspects of implementing Monte Carlo methods, including performance considerations and alternative approaches.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • One participant expresses interest in using Java for Monte Carlo modeling of magnetic nanoparticles and seeks advice on its suitability and resources for help.
  • Another participant suggests reviewing a relevant paper, although they acknowledge it may not provide direct assistance.
  • A different participant notes that efficient codes have been written in Java, questioning what parameters will be sampled and considering whether standard Monte Carlo methods or alternatives like Latin Hypercube Sampling (LHS) would be more appropriate.
  • A participant with experience in hybrid Monte Carlo packages raises concerns about using Java, emphasizing the importance of performance and the need for parallel computing in intensive calculations. They share their preference for C or C++ based on their own computational needs and question the current performance of Java code.
  • Concerns are raised about the potential challenges of running Java code on high-performance computing systems and the implications for future project maintenance.

Areas of Agreement / Disagreement

Participants do not reach a consensus on the suitability of Java for Monte Carlo modeling, with some expressing skepticism about its performance and others suggesting it could be viable depending on specific needs and parameters.

Contextual Notes

Participants highlight various assumptions about computational intensity, the need for parallel processing, and the potential for future scalability challenges, which remain unresolved.

Who May Find This Useful

Researchers and practitioners involved in computational modeling, particularly in the fields of physics and materials science, may find this discussion relevant.

mgorbach
Messages
2
Reaction score
0
Hello guys,
I am trying to do monte carlo modelling for a system of magnetic nanoparticles that my lab is studying (optinally in external magnetic fields). I played around with this last summer and wrote some simple monte carlo code in csharp (i wanted to learn it). Now ... its time for this to get more serious. I want something that will be cross platform. Is it reasonable to use Java for a task like this? Does anyone have any suggestions on where I could go for help on this issue?
 
Physics news on Phys.org
Though, this is not a gr8 help...

go thru this paper recently published on the topic..

http://scitation.aip.org/getabs/servlet/GetabsServlet?prog=normal&id=JAPIAU000099000010104306000001&idtype=cvips&gifs=Yes&type=ALERT
 
Last edited by a moderator:
Have seen some pretty efficient codes (not Monte Carlo but anyways) done with Java so at least to some point why not. I'm left thinking what all parameters are you going to sample in your analysis -> how heavy the solution will turn out (thinking whether standard MC would do it or might it be preferable to use something else like LHS, or what might consider best applicable for your problem)?
 
having implemented a hybrid monte carlo package, I am not so sure that you want to go with java - it really depends upon what you need to do. in my case i have a small periodic system, but there are MD steps and also a very intensive energy calculation that scales as ~9N^2 in addition to the MD. for me, MPI or a highly SMP machine is a must. i found C to be appropriate, but C++ would have worked just as well.

what is the performance of java code these days?

you may have trouble running a java code on a cray of MPI cluster - then again, I'm not a java coder so maybe it's not a big deal. do you need parallel computing? how intense are your calculations? how do they scale, and do you plan on ever running large system sizes? could someone wind up taking over your project at some time, and find themselves screwed by a java codebase in ways that weren't anticipated? these are things that i would consider.

my $0.02
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
5K
  • · Replies 4 ·
Replies
4
Views
4K
  • · Replies 5 ·
Replies
5
Views
4K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 4 ·
Replies
4
Views
4K
  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 9 ·
Replies
9
Views
2K