10.12.2012 Views

Κεφάλαιο 1 - Nemertes

Κεφάλαιο 1 - Nemertes

Κεφάλαιο 1 - Nemertes

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Η παραπάνω συνάρτηση απλά µεταβιβάζει τον έλεγχο στις παραπάνω συναρτήσεις.<br />

6.4.9 Κλάση MDParameters<br />

ΚΕΦΑΛΑΙΟ 6 ο<br />

Αυτή η κλάση ενσωµατώνει όλες τις παραµέτρους ενός υπολογιστικού πειράµατος. Γι’ αυτό<br />

το λόγο ο MDCoordinator όταν ξεκινά ένα πείραµα δηµιουργεί αυτή τη κλάση η οποία<br />

µεταφέρεται σε όλους τους ενδιαφερόµενους. Για την καλύτερη οµαδοποίηση των<br />

παραµέτρων περιέχει δυο υπό κλάσεις, µια για τις παραµέτρους του υλικού και µια για την<br />

ακτίνα του Laser.<br />

public ExposedMaterial material = new ExposedMaterial();<br />

public Laser laser = new Laser();<br />

public boolean debug = true;<br />

public double initialVelocitiesSum;<br />

public double[] initialVelocities = new double[] { 0, 0, 0 };<br />

public static int THREADS = 1;<br />

public static int GRAPH_STEP = 10;<br />

public static int SNAPSHOT_STEP = 0;<br />

public static int NEIGHBOR_STEP = 50;<br />

/**<br />

* The time step in seconds.<br />

*/<br />

public static double timeStep = 1e-16;<br />

public static double interactionTime = 200e-15;<br />

public static int vafFunction = 2;<br />

public static String removalCriterion = "Distance";<br />

Η κλάση του Laser, εκτός από τις παραµέτρους, περιέχει και κάποιες συναρτήσεις σχετικές<br />

µε αυτό:<br />

/**<br />

* Equation 61 The laser beam follows equation 61 as it concerns the waste according to<br />

penetration depth.<br />

* @param z<br />

* @return<br />

*/<br />

private double r(double z)<br />

{<br />

double r = rf0 * Math.sqrt(1 + Math.pow((Mpow2 * λ * (z + δf) / (Math.PI * rf0 * rf0)), 2.0));<br />

return r;<br />

}<br />

237

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!