10.12.2012 Views

Κεφάλαιο 1 - Nemertes

Κεφάλαιο 1 - Nemertes

Κεφάλαιο 1 - Nemertes

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ΑΝΑΠΤΥΞΗ ΚΩ∆ΙΚΑ ΜΟΡΙΑΚΗΣ ∆ΥΝΑΜΙΚΗΣ<br />

}<br />

256<br />

labelData.top = new FormAttachment(0);<br />

toolBar.setLayoutData(labelData);<br />

Ο κώδικας, εκτός του να δηµιουργεί τα διάφορα κουµπιά της γραµµής εργαλείων, τους<br />

προσθέτει και την ανάλογη συµπεριφορά. Για την εξασφάλιση της ορθότητας των<br />

δεδοµένων που εµφανίζονται στην οθόνη, είναι υπεύθυνες δυο συναρτήσεις:<br />

• H applyNewParameters, που θέτει στο πείραµα τις παραµέτρους που εισάγει ο<br />

χρήστης<br />

• Η refreshGuiFromParameters, που εµφανίζει τις παραµέτρους του πειράµατος<br />

protected void applyNewParameters()<br />

{<br />

MDParameters params = mdc.getSimulationParameters();<br />

mdc.setNumberOfParticles(getInt(textXParticles), getInt(textYParticles),<br />

getInt(textZParticles));<br />

if (buttonSIParams.getSelection())<br />

{<br />

MDParameters.timeStep = getDouble(textTimeStep);<br />

params.material.removalCriterion = getDouble(textDistanceCriterion);<br />

params.material.Ec = getDouble(textCohesiveCriterion);<br />

MDParameters.interactionTime = getDouble(textInteractionTime);<br />

params.material.particleRadius = getDouble(textParticleRadius);<br />

params.material.a = getDouble(textBCCAcme);<br />

params.material.MPF_D = getDouble(textMPF_D);<br />

params.material.MPF_a = getDouble(textMPF_a);<br />

params.material.MPF_r0 = getDouble(textMPF_r0);<br />

params.material.MPF_rc = getDouble(textMPF_rc);<br />

params.material.atomicMass = getDouble(textAtomicMass);<br />

params.material.m = params.material.atomicMass / Constants.N;<br />

params.material.desiredTemperature = getDouble(textDesiredTemperature);<br />

params.material.Vcm = getDouble(textVcm);<br />

params.material.reflectivity = getDouble(textReflectivity);<br />

params.laser.setP(getDouble(textLaserPower));<br />

params.laser.setTP(getDouble(textLaserPulse));<br />

params.laser.setTD( getDouble(textLaserDeadTime));<br />

params.laser.Mpow2 = getDouble(textMpow2);<br />

params.laser.λ = getDouble(textΛ);<br />

params.laser.δf = getDouble(text∆f);<br />

params.laser.ρ = getDouble(textΡ);<br />

params.laser.rf0 = getDouble(textRf0);<br />

params.laser.radius = getDouble(textLaserRadius);

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

Saved successfully!

Ooh no, something went wrong!