Giter Club home page Giter Club logo

waam-code's Introduction

WAAM code repository

Written by Jarrod Angove; [email protected] contact me if something is broken :)

Summary

Currently, this folder contains three main scripts:

  1. The pyro_clean.jl file handles the pyrometer data.
  2. The thermo_clean.jl file handles the thermocouple array data.
  3. The graphical_tool.jl file is a pluto notebook that does the power selection and generates the final heat input vs cooling rate plot.

Other important files include the cooling_summary_expanded.csv, which contains a summary of pretty much everything this repo has done, including calculated cooling rates and file names for each sample. Currently, this file is made pseudo manually, so it needs to be updated by hand if a new sample is handled by the scripts above. The regular cooling_summary.csv only contains the cooling rate data, and is generated by the pyro_clean.jl file.

How to use

You can run julia scripts in much the same way that you would run a python script;

Pyrometer data

julia pyro_clean.jl

This will run the pyro_clean.jl script. Note that the directory of data that this script acts on is currently hard-coded in, and is set to the pyro_data folder. Therefore, if there is a new sample, it is easiest to clone the repo and simply place the new dat file inside this folder. I'm currently working on making this easier; see the TODO file for more info.

Alternatively, you can run the files from the julia REPL using the include() function. Note that you need to be in the same directory as the script you are trying to run in both cases.

include("pyro_clean.jl")

Thermocouple array data

To generate a new thermocouple video, you will need to add the data file to the thermo_data directory, then run the thermo_clean.jl script.

julia thermo_clean.jl

Power data; graphical tool

This one is a little different because it is written in a pluto notebook. These are similar to jupyter notebooks, but are reactive, meaning all of the cells update when another cell is changed. First, you will need to launch the julia REPL and add the pluto notebook package to your session. Then, you can launch the pluto application. This will open a tab in your browser with the application running.

import Pkg
Pkg.add("Pluto")
using Pluto 
Pluto.run()

Once you are in the application, you can open the graphical_tool.jl file by typing in its file location in the search bar (you need the full file path).

This will take some time to launch as there is a lot going on. From here, it is pretty simple to use the selector tool. The drop-down menu allows the selection of any file in the power_data directory. Similar to the previous sections, you can add new sample data by dropping the file into this folder, then re-running the application.

As this file also creates the cooling rate vs heat input plot, you can adjust the calculation parameters here. This notebook actually pulls the power data range from the cooling_summary_expanded.csv file, so any new ranges need to be manually written into this before a plot can be generated.

Generating the finalized plots

The final_plots.jl file can be used to create the high-quality pdf plots based on the data in the cooling_summary_expanded.csv file. This is run in the same way as the other scripts, without any input arguments.

waam-code's People

Contributors

jarrod-angove avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.