{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Simulating yield surfaces with DAMASK simulations"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This Jupyter notebook processes the results from the demo workflow `simulate_yield_surface_2D`, and generates a plot of yield surfaces for a range of known-textures (e.g. Cube, Goss, etc.)."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from collections import defaultdict\n",
"\n",
"import numpy as np\n",
"from IPython.display import Image\n",
"from plotly.subplots import make_subplots\n",
"from plotly.graph_objects import FigureWidget\n",
"\n",
"import matflow as mf"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Utility functions"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"def get_hydrostatic_tensor(tensor):\n",
" \"\"\"Returns the hydrostatic tensor from an input stress strain tensor\n",
"\n",
" Parameters\n",
" ----------\n",
" tensor : ndarray of shape array (..., 3, 3)\n",
"\n",
" Returns\n",
" -------\n",
" (..., 3, 3) array hydrostatic stress on the diagonal of tensor with 0 in shear values\n",
"\n",
" \"\"\"\n",
"\n",
" hydro = np.zeros_like(tensor)\n",
" hydro[..., [0, 1, 2], [0, 1, 2]] = (np.trace(tensor, axis1=-2, axis2=-1) / 3)[\n",
" ..., None\n",
" ]\n",
" return hydro\n",
"\n",
"\n",
"def get_von_mises(s, tensor):\n",
" \"\"\"Returns the equivalent value of stress or strain tensor\n",
"\n",
" Parameters\n",
" ----------\n",
" tensor : ndarray of shape (..., 3, 3)\n",
" Tensor of which to get the von Mises equivalent.\n",
" s : float\n",
" Scaling factor: 3/2 for stress, 2/3 for strain.\n",
"\n",
" Returns\n",
" -------\n",
" Von Mises equivalent value of tensor.\n",
"\n",
" \"\"\"\n",
"\n",
" deviatoric = tensor - get_hydrostatic_tensor(tensor)\n",
"\n",
" return np.sqrt(s * np.sum(deviatoric**2.0, axis=(-2, -1)))\n",
"\n",
"\n",
"def get_von_mises_stress(stress):\n",
" return get_von_mises(3 / 2, stress)\n",
"\n",
"\n",
"def get_von_mises_strain(strain):\n",
" return get_von_mises(2 / 3, strain)\n",
"\n",
"\n",
"def order_coplanar_points(points, normal, anticlockwise=True):\n",
" \"\"\"\n",
" Find the clockwise or anticlockwise ordering of a set of coplanar 3D points.\n",
"\n",
" Parameters\n",
" ----------\n",
" points : ndarray of shape (3, N)\n",
" The set of coplanar points (three-vector columns) whose ordering is to be found.\n",
" normal : ndarray of shape (3, 1)\n",
" Column three-vector representing the normal of the plane on which all points lie.\n",
"\n",
" Returns\n",
" -------\n",
" Ordered indices of points according to a clockwise or anticlockwise direction when\n",
" looking in the opposite direction to `normal`.\n",
"\n",
" \"\"\"\n",
"\n",
" # Normalise `normal` to a unit vector:\n",
" normal = normal / np.linalg.norm(normal)\n",
"\n",
" # Compute the centroid:\n",
" centroid = np.mean(points, axis=1)\n",
"\n",
" # Get the direction vectors from each point to the centroid\n",
" p = points - centroid[:, np.newaxis]\n",
"\n",
" # Use the first point as the reference point\n",
" # Find cross product of each point with the reference point\n",
" crs = np.cross(p[:, 0:1], p, axis=0)\n",
"\n",
" # Find the scalar triple product of the point pairs and the normal vector\n",
" stp = np.einsum(\"ij,ik->k\", normal, crs)\n",
"\n",
" # Find the dot product of the point pairs\n",
" dot = np.einsum(\"ij,ik->k\", p[:, 0:1], p)\n",
"\n",
" # Find signed angles from reference point to each other point\n",
" ang = np.arctan2(stp, dot)\n",
" ang_order = np.argsort(ang)\n",
"\n",
" if not anticlockwise:\n",
" ang_order = ang_order[::-1]\n",
"\n",
" return ang_order"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Processing functions"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"def group_elements_by_texture(workflow, err_ids=None):\n",
" \"\"\"Group elements by the RVE texture.\"\"\"\n",
" # TODO: speed up this sort of scenario (upstream dependencies inputs/ouputs\n",
" # retrieval; and could cache all elements first)\n",
" sim_elems_by_ori = defaultdict(list)\n",
" for elem in workflow.tasks.simulate_VE_loading_damask.elements:\n",
" if elem.index in (err_ids or []):\n",
" continue\n",
"\n",
" gen_VE_elem = [\n",
" i\n",
" for i in elem.get_element_dependencies(as_objects=True)\n",
" if i.task.name == \"generate_volume_element_from_voronoi\"\n",
" ][0]\n",
"\n",
" sample_texture_elem = [\n",
" i\n",
" for i in gen_VE_elem.get_element_dependencies(as_objects=True)\n",
" if i.task.name == \"sample_texture_from_model_ODF_mtex\"\n",
" ][0]\n",
"\n",
" modal_ori_euler = sample_texture_elem.inputs.ODF_components.value[0][\n",
" \"modal_orientation_euler\"\n",
" ]\n",
"\n",
" sim_elems_by_ori[tuple(modal_ori_euler)].append(elem)\n",
"\n",
" return sim_elems_by_ori\n",
"\n",
"\n",
"def get_stress_at_yield(VE_response, criterion=0.002):\n",
" stress = VE_response.value[\"phase_data\"][\"vol_avg_stress\"][\"data\"][:]\n",
" plastic_strain = VE_response.value[\"phase_data\"][\"vol_avg_plastic_strain\"][\"data\"][\n",
" :\n",
" ]\n",
"\n",
" plastic_strain_vM = get_von_mises_strain(plastic_strain)\n",
" yield_idx = (np.abs(plastic_strain_vM - criterion)).argmin()\n",
" stress_at_yield = stress[yield_idx]\n",
"\n",
" return stress_at_yield\n",
"\n",
"\n",
"def get_yield_tensors(sim_elements, criterion=0.002):\n",
" yield_tensors = np.array(\n",
" [get_stress_at_yield(i.outputs.VE_response, criterion) for i in sim_elements]\n",
" )\n",
"\n",
" # find where y-stress is closest to zero:\n",
" eq_stress_idx = np.abs(yield_tensors[:, 1, 1]).argmin()\n",
" eq_stress = np.abs(yield_tensors[eq_stress_idx, 0, 0])\n",
"\n",
" # normalise by equivalent stress:\n",
" yield_tensors = yield_tensors / eq_stress\n",
"\n",
" return yield_tensors\n",
"\n",
"\n",
"def plot_yield_surfaces(sim_elems_by_ori, texture_eulers):\n",
"\n",
" nsubplots = len(sim_elems_by_ori)\n",
" ncols = 2\n",
" nrows = int(np.ceil(nsubplots / ncols))\n",
"\n",
" fig = make_subplots(\n",
" rows=nrows,\n",
" cols=ncols,\n",
" subplot_titles=list(texture_eulers),\n",
" vertical_spacing=0.12,\n",
" horizontal_spacing=0.2,\n",
" )\n",
" fig.update_layout(\n",
" height=300 * nrows,\n",
" width=300 * ncols,\n",
" showlegend=False,\n",
" template=\"seaborn\",\n",
" title_text=\"Known-texture yield surfaces from DAMASK simulations\",\n",
" )\n",
"\n",
" for i in range(1, nsubplots + 1):\n",
" fig.layout[f\"yaxis{i}\"].update(\n",
" scaleanchor=f\"x{i}\",\n",
" scaleratio=1,\n",
" range=[-2.1, 2.1],\n",
" title=\"σTD / σeq.\",\n",
" )\n",
" fig.layout[f\"xaxis{i}\"].update(\n",
" title=\"σRD / σeq.\",\n",
" )\n",
"\n",
" for idx, (text_name, eulers) in enumerate(texture_eulers.items()):\n",
" elems = sim_elems_by_ori[eulers]\n",
" yield_tensors = get_yield_tensors(elems)\n",
"\n",
" x = yield_tensors[:, 0, 0]\n",
" y = yield_tensors[:, 1, 1]\n",
" xy0 = np.array([x, y, np.zeros_like(x)])\n",
"\n",
" order_idx = order_coplanar_points(xy0, np.array([0, 0, 1])[:, None])\n",
" order_idx = np.concatenate((order_idx, order_idx[0:1])) # close the loop\n",
"\n",
" x = x[order_idx]\n",
" y = y[order_idx]\n",
"\n",
" fig.add_scatter(x=x, y=y, row=(idx // 2) + 1, col=(idx % 2) + 1)\n",
"\n",
" return fig"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Load and process simulations"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"TEXTURE_EULERS = {\n",
" \"Copper\": (90, 35, 45),\n",
" \"S\": (59, 37, 63),\n",
" \"Goss\": (0, 45, 90),\n",
" \"Brass\": (35, 45, 90),\n",
" \"Cube\": (0, 0, 0),\n",
"}\n",
"\n",
"wk = mf.Workflow(r\"/path/to/simulate_yield_surface_2D/workflow\")\n",
"\n",
"# simulate task element indices that failed\n",
"err_ids = (19,) # 19: out of memory"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"sim_elems_by_ori = group_elements_by_texture(workflow=wk, err_ids=err_ids) # ~ 1 min runtime"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plot yield surfaces"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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BKwQpuXClTqUa7BCAMYswhZhTLgQh7FFGAKJIggggEACAQJWAJ734GH/tqD/EAJWgtkXcCgBy5wtAcucLTUjgAACSoCAFTAP1G0ZJicnryg1MTGRv3UDAcvcG4mAZc6WgGXOlpoRQAABApaGOUDA0oBYpgoCljlbApY5W2pGAAEECFga5gABSwMiAcscYpmaCVipk9MgAghkTIAtwoQDTsBKCFjhcFawzNkSsMzZUjMCCCDACpaGOUDA0oDICpY5RFawUrelQQQQQICApWEOELA0IBKwzCESsFK3pUEEEECAgKVhDhCwNCASsMwhErBSt6VBBBBAgIClYQ4QsDQgErDMIRKwUrelQQQQQICApWEOELA0IBKwzCESsFK3pUEEEECAgKVhDhCwNCASsMwhErBSt6VBBBBAgIClYQ4QsDQgErDMIRKwUrelQQQQQICApWEOELA0IBKwzCESsFK3pUEEEECAgKVhDhCwNCASsMwhErBSt6VBBBBAgIClYQ4QsDQgErDMIRKwUrelQQQQQICApWEOELA0IBKwzCESsFK3pUEEEECAgKVhDhCwNCASsMwhErBSt6VBBBBAgIClYQ4QsDQgErDMIRKwUrelQQQQQICApWEOELA0IBKwzCESsFK3pUEEEECAgKVhDhCwNCASsMwhErBSt6VBBBBAgIClYQ4QsDQgErDMIRKwUrelQQQQQICApWEOELA0IBKwzCESsFK3pUEEEECAgKVhDhCwNCASsMwhErBSt6VBBBBAgIClYQ4QsDQgErDMIRKwUrelQQQQQICApWEOELA0IBKwzCESsFK3pUEEEECAgKVhDhCwNCASsMwhErBSt6VBBBBAgIClYQ4QsDQgErDMIRKwUrelQQQQQICApWEOELA0IBKwzCESsFK3pUEEEECAgKVhDhCwNCASsMwhErBSt6VBBBBAgIClYQ4QsDQgErDMIRKwUrelQQQQQICApWEOELA0IBKwzCESsFK3pUEEEECAgKVhDhCwNCASsMwhErBSt6VBBBBAgIClYQ4QsDQgErDMIRKwUrelQQQQQICApWEOELA0IBKwzCESsFK3pUEEEECAgKVhDhCwNCASsMwhErBSt6VBBBBAgIClYQ4QsDQgErDMIRKwUrelQQQQQICApWEOELA0IBKwzCESsFK3pUEEEECAgBVhDkxNTUlPT49MT08v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",
"text/plain": [
""
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fig = plot_yield_surfaces(sim_elems_by_ori, TEXTURE_EULERS)\n",
"fig.write_image(\"yield_surfaces.png\")\n",
"Image(\"yield_surfaces.png\")"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "matflow-new-vP_eCcSe-py3.11",
"language": "python",
"name": "python3"
},
"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.11.9"
}
},
"nbformat": 4,
"nbformat_minor": 2
}