{ "cells": [ { "cell_type": "markdown", "id": "0227ddf8-a43c-4487-a896-175d8f2c824e", "metadata": {}, "source": [ "\n", "# Fitting single crystal parameters with DAMASK simulations\n", "This notebook processes the results from the demo workflow `fit_single_crystal_parameters`, and generates a plot of stress strain both simulated and experimental, showing the model converging on the desired deformation behavior with each pertubation of the plastic single crystal parameters.\n" ] }, { "cell_type": "code", "execution_count": 1, "id": "4fe0f116-af9c-434b-9457-228b239ab801", "metadata": {}, "outputs": [], "source": [ "\n", "import matflow as mf\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "from pathlib import Path\n" ] }, { "cell_type": "markdown", "id": "3daf19ff-af46-4b04-a6c5-dfc9959e1063", "metadata": {}, "source": [ "## Utility functions" ] }, { "cell_type": "code", "execution_count": null, "id": "98425fdb-e6c3-43c1-96b2-4af9bbdc2a52", "metadata": { "jupyter": { "source_hidden": true } }, "outputs": [], "source": [ "def clean_nonetypes(stress_array, strain_array):\n", " \"\"\"\n", " For some reason experimental data has nonetypes:\n", " This function cleans the stress array of nonetypes\n", " and also ensures the strain array is matched to it.\n", " \"\"\"\n", " # DEBUG\n", " # print(f\"input array : {stress_array}\")\n", " # print(f\"bool array of nonetypes : {stress_array != np.array(None)}\")\n", " \n", " cleaned_stress_array = stress_array[stress_array != np.array(None)]\n", " cleaned_strain_array = strain_array[stress_array != np.array(None)]\n", "\n", " return cleaned_stress_array, cleaned_strain_array\n", "\n", "\n" ] }, { "cell_type": "markdown", "id": "decd5ae3-44ef-44b5-ae65-72130db3cb58", "metadata": {}, "source": [ "## Define workflow" ] }, { "cell_type": "code", "execution_count": 2, "id": "b8d7257f-63f5-406c-8a0c-5b30d69d1213", "metadata": {}, "outputs": [], "source": [ "\n", "workflow_path = Path(\"fit_single_crystal_parameters_2025-05-28_143539\")\n", "workflow = mf.Workflow(workflow_path)\n" ] }, { "cell_type": "markdown", "id": "4f6640da-c555-4109-a88e-7304c0f523ce", "metadata": { "jupyter": { "source_hidden": true } }, "source": [ "Your workflow output (from `matflow show -f`) should look like this:\n", "```\n", "┌────┬───────────────────────────────────────────────┬──────────┬────────────────────────────┬────────────────────────────────────────────────┐\n", "│ ID │ Name │ Status │ Times │ Actions │\n", "├────┼───────────────────────────────────────────────┼──────────┼────────────────────────────┼────────────────────────────────────────────────┤\n", "│ 33 │ fit_single_crystal_parameters_2025-05-28_143… │ inactive │ sb. 2025-05-28 14:35:41 │ generate_microstructu… 0 | ■ │\n", "│ │ │ │ st. 16:36:35 │ generate_volume_eleme… 0 | ■ │\n", "│ │ │ │ en. 16:36:31 │ read_tensile_test_fro… 0 | ■ │\n", "│ │ │ │ │ simulate_VE_loading_d… 0 | ■■■■■■■■■■■■■■ │\n", "│ │ │ │ │ 1 | ■■■■■■■■■■■■■■ │\n", "│ │ │ │ │ 2 | ■■■■■■■■■■■■■■ │\n", "│ │ │ │ │ 3 | ■■■■■■■■■■■■■■ │\n", "│ │ │ │ │ fit_single_crystal_pa… 0 | ■■ \n", "└────┴───────────────────────────────────────────────┴──────────┴────────────────────────────┴────────────────────────────────────────────────┘\n", "```" ] }, { "cell_type": "markdown", "id": "fcb42ada-098c-4a7b-a2a9-730291c7a71b", "metadata": {}, "source": [ "## Extract and clean data" ] }, { "cell_type": "code", "execution_count": 3, "id": "fdca31f5-70e6-4822-942e-8f17f0aec052", "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true, "source_hidden": true } }, "outputs": [ { "data": { "text/plain": [ "['_IndexPath1',\n", " '_IndexPath2',\n", " '_IndexPath3',\n", " '_Workflow__EAR_obj_map',\n", " '_Workflow__template_components',\n", " '_Workflow__wait_for_direct_jobscripts',\n", " '_Workflow__wait_for_scheduled_jobscripts',\n", " '__annotations__',\n", " '__class__',\n", " '__delattr__',\n", " '__dict__',\n", " '__dir__',\n", " '__doc__',\n", " '__eq__',\n", " '__format__',\n", " '__ge__',\n", " '__getattribute__',\n", " '__gt__',\n", " '__hash__',\n", " '__init__',\n", " '__init_subclass__',\n", " '__le__',\n", " '__lt__',\n", " '__module__',\n", " '__ne__',\n", " '__new__',\n", " '__reduce__',\n", " '__reduce_ex__',\n", " '__repr__',\n", " '__setattr__',\n", " '__sizeof__',\n", " '__slots__',\n", " '__str__',\n", " '__subclasshook__',\n", " '__weakref__',\n", " '_abort_run',\n", " '_accept_pending',\n", " '_add_empty_loop',\n", " '_add_empty_task',\n", " '_add_file',\n", " '_add_loop',\n", " '_add_parameter_data',\n", " '_add_submission',\n", " '_add_task',\n", " '_add_unset_parameter_data',\n", " '_app',\n", " '_app_attr',\n", " '_check_loop_termination',\n", " '_creation_info',\n", " '_default_ts_fmt',\n", " '_default_ts_name_fmt',\n", " '_delete_no_confirm',\n", " '_exec_dir_name',\n", " '_get_empty_pending',\n", " '_get_new_task_unique_name',\n", " '_in_batch_mode',\n", " '_input_files_dir_name',\n", " '_is_tracking_unset',\n", " '_loops',\n", " '_merged_parameters_cache',\n", " '_name',\n", " '_pending',\n", " '_reject_pending',\n", " '_reset_pending',\n", " '_resolve_input_source_task_reference',\n", " '_resolve_singular_jobscripts',\n", " '_set_file',\n", " '_store',\n", " '_submissions',\n", " '_submit',\n", " '_tasks',\n", " '_template',\n", " '_template_components',\n", " '_tracked_unset',\n", " '_ts_fmt',\n", " '_ts_name_fmt',\n", " '_use_merged_parameters_cache',\n", " '_write_empty_workflow',\n", " 'abort_run',\n", " 'add_loop',\n", " 'add_submission',\n", " 'add_task',\n", " 'add_task_after',\n", " 'add_task_before',\n", " 'artifacts_path',\n", " 'batch_update',\n", " 'cached_merged_parameters',\n", " 'cancel',\n", " 'check_parameters_exist',\n", " 'copy',\n", " 'creation_info',\n", " 'delete',\n", " 'elements',\n", " 'ensure_commands_file',\n", " 'execute_combined_runs',\n", " 'execute_run',\n", " 'execution_path',\n", " 'from_JSON_file',\n", " 'from_JSON_string',\n", " 'from_YAML_file',\n", " 'from_YAML_string',\n", " 'from_file',\n", " 'from_template',\n", " 'from_template_data',\n", " 'get_EAR_IDs_of_tasks',\n", " 'get_EAR_skipped',\n", " 'get_EARs_from_IDs',\n", " 'get_EARs_of_tasks',\n", " 'get_all_EARs',\n", " 'get_all_element_iterations',\n", " 'get_all_elements',\n", " 'get_all_parameter_data',\n", " 'get_all_parameter_sources',\n", " 'get_all_parameters',\n", " 'get_all_submission_run_IDs',\n", " 'get_element_IDs_from_EAR_IDs',\n", " 'get_element_iteration_IDs_from_EAR_IDs',\n", " 'get_element_iterations_from_IDs',\n", " 'get_element_iterations_of_tasks',\n", " 'get_elements_from_IDs',\n", " 'get_iteration_task_pathway',\n", " 'get_parameter',\n", " 'get_parameter_data',\n", " 'get_parameter_set_statuses',\n", " 'get_parameter_source',\n", " 'get_parameter_sources',\n", " 'get_parameters',\n", " 'get_process_IDs',\n", " 'get_run_directories',\n", " 'get_running_elements',\n", " 'get_running_runs',\n", " 'get_scheduler_job_IDs',\n", " 'get_store_EARs',\n", " 'get_store_element_iterations',\n", " 'get_store_elements',\n", " 'get_store_tasks',\n", " 'get_task_IDs_from_element_IDs',\n", " 'get_task_elements',\n", " 'get_task_unique_names',\n", " 'get_text_file',\n", " 'id_',\n", " 'input_files_path',\n", " 'is_parameter_set',\n", " 'list_jobscripts',\n", " 'list_task_jobscripts',\n", " 'loops',\n", " 'name',\n", " 'num_EARs',\n", " 'num_added_tasks',\n", " 'num_element_iterations',\n", " 'num_elements',\n", " 'num_loops',\n", " 'num_submissions',\n", " 'num_tasks',\n", " 'path',\n", " 'process_shell_parameter_output',\n", " 'rechunk',\n", " 'rechunk_parameter_base',\n", " 'rechunk_runs',\n", " 'reload',\n", " 'resolve_jobscripts',\n", " 'save_parameter',\n", " 'set_EAR_end',\n", " 'set_EAR_skip',\n", " 'set_EAR_start',\n", " 'set_EARs_initialised',\n", " 'set_multi_run_ends',\n", " 'set_multi_run_starts',\n", " 'set_parameter_value',\n", " 'set_parameter_values',\n", " 'show_all_EAR_statuses',\n", " 'store_format',\n", " 'submissions',\n", " 'submissions_path',\n", " 'submit',\n", " 'task_artifacts_path',\n", " 'tasks',\n", " 'template',\n", " 'template_components',\n", " 'temporary_rename',\n", " 'ts_fmt',\n", " 'ts_name_fmt',\n", " 'unzip',\n", " 'url',\n", " 'wait',\n", " 'zip']" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# show attrs of workflow obj with dir:\n", "dir(workflow)" ] }, { "cell_type": "code", "execution_count": 9, "id": "3b25d2d3-fd05-4e81-b2f5-5f5d38f76fd0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "input array : [None None -34700.0 ... None None None]\n", "bool array of nonetypes : [False False True ... False False False]\n", "(171, 3, 3)\n", "(171, 3, 3)\n" ] } ], "source": [ "\n", "## Experimental Stress-strains ##\n", "exp_data = workflow.tasks.read_tensile_test_from_CSV.elements[0].iterations[0].outputs.tensile_test.value\n", "exp_stress = np.array(exp_data['true_stress'])\n", "exp_strain = np.array(exp_data['true_strain'])\n", "# clean experimental data of nonetypes\n", "exp_stress, exp_strain = clean_nonetypes(exp_stress, exp_strain)\n", "\n", "## Simulated stress-strains ##\n", "# Getting an error? try running twice.\n", "VE_response = workflow.tasks.simulate_VE_loading_damask.elements[0].iterations[0].outputs.VE_response.value\n", "sim_stress = np.array(VE_response['volume_data']['vol_avg_stress']['data'])\n", "sim_strain = np.array(VE_response['volume_data']['vol_avg_strain']['data'])\n" ] }, { "cell_type": "markdown", "id": "c5c054f2-bdbf-460f-b1d6-dadb43fb51b8", "metadata": {}, "source": [ "## Plot simulated stress strains against experimental" ] }, { "cell_type": "markdown", "id": "acf1578d-9feb-4e16-afc7-374dee565149", "metadata": {}, "source": [ "It is shown that with successive pertubations of the single crystal parameters `h_0_sl-sl`, `xi_0_sl`, and `xi_inf_sl`, the predicted stress-strain curve approaches the measured stress-strain curve. With the simulation more and more closely capturing the deformation behavior of the real material:" ] }, { "cell_type": "code", "execution_count": 15, "id": "27d4eaf4-6963-4b89-8e92-89a66de26c39", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Sim 0 iter 0... \n", "Sim 0 iter 1... \n", "Sim 1 iter 0... \n", "Sim 1 iter 1... \n", "Sim 2 iter 0... \n", "Sim 2 iter 1... \n", "Sim 3 iter 0... \n", "Sim 3 iter 1... \n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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O7///e+Pa+lvU1NTYEWEIPQVUVFRpKens3//frZt28aQIUN6ukkBot9REAThCEVFRcyePRulUonRaDxmOLn22mtpbm5GlmURToQ+a//+/YB/qXtvInpQBEE46zkcDh555BFee+21Y54XFxfHr371K26++eZe9ZumIJyMa6+9lm3btnHeeef1dFOCiB4UQRDOWq2trWRnZ2MwGI4ZTj744ANkWaayspIXX3xRhBPhjDJmzBh8Ph//7//9v55uShARUARBOKusWLEiaJO+goKCTs/75ptv8Hg8gTongnCm2rhxI3v37u112yyIgCIIwhnP6/WiUqlQKBSBug9H85///AdZlpk4caLYMVg4KxzqOWlvb6e2traHW3OYCCiCIJyRtmzZwqhRo1AoFGg0GiRJ6vS8CRMmUFVVFajuerRdhgXhTBUbGxv4+m9/+1sPtiSYQpZluacb0VUtLS2YzWZsNhsmk6mnmyMIQi/R0NBAVFTUL5537733MmnSJKZOnYpWqz0NLROE3i0iIoKmpibAv8T+VOnK57foQREEoc9yOp18//33zJo1i5iYmGOGk1tvvRWXy4Usy7z22mtcfvnlIpwIwkGffvpp4Ouj9TaebmKAVRCEPqW5uZlFixZx6623HvM8tVpNfn4+6enpKJVKUW5eEI7hoosuCnz96aefcvXVV/dga/zE/7GCIPRqXq+X7777LrDyJjw8/Jjh5NVXX8XlcuHxeOjXrx9qtVqEE0E4DgMHDgTA4/H0cEv8RA+KIAi90tdff83UqVN/8byXX36ZCy64gKFDh56GVgnCmWvz5s1oNJqebkaACCiCIPQau3fvJjc395jnZGVl8dBDD3HXXXehUqlOU8sE4cwnSRLz5s1j9+7dvPTSSz2+caBYxSMIQo+qqqpi5MiRlJeXH/Wc1NRUPvroI0aMGHEaWyYIZ5fW1tbAZ6rD4SAkJKTb79GVz2/RgyIIQo+54oorWLRo0VFfv++++3jsscdISEg4fY0ShLNUaGgoN910E0ajsVes5BEzxwRBOK22bNnCM888g0KhOGo4eeSRRygrK+OVV14R4UQQThOlUklISAgbNmxg48aNPd2crgWU559/nnPPPZewsDCsViszZszosI+F0+lk9uzZREZGYjQamTlzJjU1NUHnlJWVMX36dAwGA1arlUceeQSv13vy340gCL3ajz/+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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "\n", "plt.figure(1)\n", "plt.plot(exp_strain, exp_stress/1e6,\n", " color='k',\n", " linestyle=\"dotted\",\n", " label=\"Measured\")\n", "\n", "for e, sim in enumerate(workflow.tasks.simulate_VE_loading_damask.elements):\n", " for i, itr in enumerate(sim.iterations):\n", " print(f\"Sim {e} iter {i}... \")\n", "\n", " VE_response = itr.outputs.VE_response.value\n", " sim_stress = np.array(VE_response['volume_data']['vol_avg_stress']['data'])\n", " sim_strain = np.array(VE_response['volume_data']['vol_avg_strain']['data'])\n", "\n", "\n", " plt.plot(sim_strain[:,0,0], sim_stress[:,0,0]/1e6,\n", " linestyle=\"solid\",\n", " label=f\"Sim {e} itr {i}\")\n", "\n", "plt.legend()\n" ] }, { "cell_type": "markdown", "id": "23f02135-52ca-4463-bf37-974e1f6de935", "metadata": {}, "source": [ "## Plot regression value" ] }, { "cell_type": "code", "execution_count": null, "id": "7f0c886b-b546-484b-8d41-b0485d3a347a", "metadata": {}, "outputs": [], "source": [ "\n", "\n" ] } ], "metadata": { "kernelspec": { "display_name": "damask-venv", "language": "python", "name": "damask-venv" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.16" } }, "nbformat": 4, "nbformat_minor": 5 }