Skip to content

NaLeslie/SECMFit_Utilities

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 

Repository files navigation

SECMFit_Utilities

Utility methods for fitting arbitrary SECM features

Notes about the structure:

  • run() and runk() are dummy methods to stand-in for methods auto-generated by COMSOL Multiphysics. As is the Model class.
    • run() should simulate the SECM current at a list of points and export the currents to text file data.txt.
    • runk() should simulate the SECM current over the middle of the reactive feature to be fit using a range of k-values and export the currents to text file data.txt.
  • comsolcompile (the compiler that must be used for COMSOL api apps) does not like anything being outside of the main class that is not part of Java 1.7 jdk or their proprietary libraries. The .java file will compile, but the resulting program always quietly crashes.
  • /src/ is meant to just hold the code that is copied into the auto-generated .java file from COMSOL. Some modifications need to be made within the run() and runk() methods.
  • /Example-impl shows two example implementations.
    • /Example-impl/ToyModel fits 3 parameters L, r, and logk.
    • /Example-impl/Experiment fits 5 parameters L, r, logk and adjustments for the x and y position of the reactive shape. The latter example is intended for use with experimental SECM images. This example loads two control files, due to a second reactive feature in close proximity that could interfere with the feature that was being fit. This interfering feature is turned on and was assumed to hav the same kinetics as the subject, but needed its pixels turned off when measuring the logk-i curve so that the getCentre() function work work properly.

Operating systems:

  • /Example-impl/*/run.bat will compile and run the simulation on Windows machines.
  • On Windows systems, C:\Program Files\COMSOL\COMSOL##\Multiphysics\bin\win64 must be added to the PATH environment variable.
  • The comsol compiler has a different name in Unix-based systems (comsol compile instead of comsolcompile).
  • COMSOL's security preferences need to be updated. In File>Preferences>Security:
    • Give COMSOL access to all files (so that you can write to files).
    • Give COMSOL access to system properties (so that you can find the current working directory).

About

Utility methods for fitting arbitrary SECM features

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published