Closed hovey closed 2 years ago
Applications:
notes.txt
document that records the full install path for Cubit and full install path for Python.2022-08-23-Getting-Started.pdf
file.GitHub specific:
autotwin/mesh
repo.cd ~/autotwin/
https://github.com/autotwin/mesh
to your GitHub accountgit clone
your forked version into the ~/autotwin/
folderatmeshenv
following these instructions https://github.com/autotwin/mesh/blob/main/config/README.md
.quality
and .style
shell scripts run to completion
- [x] Install Cubit version 16.06.
- [x] Install Python 3.7.x where x can be any minor version.
- [x] Start a
notes.txt
document that records the full install path for Cubit and full install path for Python.- [x] Review
2022-08-23-Getting-Started.pdf
file.- [x] Create a GitHub account (if you don't already have one, as you will need to do pull requests for this autotwin/mesh repo).
Next:
- [x] Local:
cd ~/autotwin/
- [x] fork this repo
https://github.com/autotwin/mesh
- [x] then
git clone
your forked version into the~/autotwin/
folder- [x] create a virtual environment
atmeshenv
following these instructionshttps://github.com/autotwin/mesh/blob/main/config/README.md
- [x] verify
.quality
and.style
shell scripts run to completion
Quoting to track the status
Tasks are completed as of 8/24/22 9:50a MT
You are awesome! I will contact you soon.
mesh/examples
folder, can you please construct a "stand-alone" (can run from the command line) script called examplar_boxplot.py
that makes six exemplar matplotlib box plots. The result of the script will output a .png
that appears similar to this:
You can hard code six different distributions between zero and one using numpy. This effort will be a template for how we do a study later.
The study later will investigate minimum scaled Jacobian distributions as a function of study number. Each successive study will try to make the distribution push closer toward unity (away from zero), and have a tighter band on the spread of the distribution.
It doesn't matter so much what the exemplar hard code distributions are, as long as you can
have a minimum value > 0
have a maximum value < 1
assess the 25%ile, 50%ile, and 75%ile
draw a box plot indicating the quartiles as shown above.
[ ] create a pull request (PR) to the main
repo so that I can merge in your dev
Update has been pushed. I ordered the boxes based on increasing median values, so the xlabel case numbers appear wonky. I can change that back, if needed.
Having the xlabel order as you have it is just fine. The critical step here you achieved, which was to make a small example of a box plot, so we can use it in the larger algorithms later.
I am guessing you already know markdown, but just in case, this guide may be helpful: This markdown guide may be helpful to you: https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet
Having the xlabel order as you have it is just fine. The critical step here you achieved, which was to make a small example of a box plot, so we can use it in the larger algorithms later.
The meeting yesterday helped clear up questions I had regarding this. If your hypothesis is correct, then the xlabel should be in ascending order, assuming we label the box plots along the x-axis using something like cell count (or cell count/volume, I'm not entirely sure the metric used is since FEA is outside my wheelhouse). It might be a little bit extra, but it could be a useful tool to double-check the data.
fyi, i am updating sensitivity.py so it loops over n input files. more to come later...
Can you please try to tackle this one next? I think it is in your wheelhouse.
exemplar_boxplot.py
file here: https://github.com/autotwin/mesh/commit/57438156d14acd7fa07a4418e614be0b6231953e#diff-f0e7ce47bf5f87bbee9acad6d7e27dbeaa5d51f641d4a493ba9e98942c2965dan_studies = 6 # define once-and-for-all, avoid magic numbers later
Just a minor style point that allows code to become D.R.Y. (don't repeat yourself), and allow the code to be array-reflective --- that is if the array size changes, all other downstream code automatically changes (no need to update magic numbers appearing downstream in the code).
Next, and can you tackle this one:
exemplar_boxplot.py
source as inspiration to extend sensitivity.py
so that the n histograms are plotted at the end of the script?Can you please try to tackle this one next? I think it is in your wheelhouse.
- [x] study the diff I made to your original
exemplar_boxplot.py
file here: 5743815#diff-f0e7ce47bf5f87bbee9acad6d7e27dbeaa5d51f641d4a493ba9e98942c2965dan_studies = 6 # define once-and-for-all, avoid magic numbers later
Just a minor style point that allows code to become D.R.Y. (don't repeat yourself), and allow the code to be array-reflective --- that is if the array size changes, all other downstream code automatically changes (no need to update magic numbers appearing downstream in the code).
Oh duh, yea that was some bad practice on my part (we spent the last few years telling our students not to do that and here I am doing that haha). Also quoting so I can click off the checkbox.
Next, and can you tackle this one:
- [x] Review https://github.com/autotwin/mesh/blob/main/examples/sensitivity.py#L33 and https://github.com/autotwin/mesh/blob/main/examples/sensitivity.py#L171
- [x] Can you use your
exemplar_boxplot.py
source as inspiration to extendsensitivity.py
so that the n histograms are plotted at the end of the script?
Quoting so I can check off the box as I go.
To let you know, it looks like I got bounding_box
and cell
intervals implemented in .yml
input file, so soon we can launch another automated study. So, more work coming in the pipe! FYI.
Just wanted to bump the thread. I submitted a merge request from my fork a couple weeks back. Is there anything else you want me working on at the moment?
Thanks for the PR. I am at a conference this week and will try to get the PR merged. No other near-term actions until I after a bit the merge. Thanks also for bumping the thread, email alerted me to the same. Cheers.
On Sep 13, 2022, at 11:14, calehma @.***> wrote:
Just wanted to bump the thread. I submitted a merge request from my fork a couple weeks back. Is there anything else you want me working on at the moment?
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.
Sounds good to me. I hope the conference goes well!
Started to refactor this weekend. Do you mind sending me a Teams invite on my calendar for a day/time that suits you this coming work week (if at all, since you might be too busy, which is fine too).
I moved most of the IO user configuration into .yml
files (see https://github.com/autotwin/mesh/blob/main/doc/sphere_mesh_refinement.md#create-inp-files) and have flattened and separated out the concerns from the sensitivity.py
script. So now there are independent scripts that do file IO as follows:
.stl
to .inp
.inp
to minimum scaled Jacobian .csv
Next, the individual .csv
files can be used with the histogram plotting, and I will take that up next week. This too can use a .yml
input file to control things like plot color, line width, etc.
The benefit of the .yml
approach is that we separate configuration from methodology. Then, one methodology can operate on $n$ number of configuration states. Also, then our methods do not have hard-coding to configuration.
This note is just FYI to explain some of the rationale behind the updates.
10 hr/week, target 15-20 hr/ week max.