modify wiki
Tests / Hermetic test suite (push) Has been cancelled
Tests / Skill frontmatter validation (push) Has been cancelled

This commit is contained in:
김경종
2026-05-29 17:05:53 +09:00
parent b7f84e1c0f
commit b7b79e38b1
64 changed files with 3131 additions and 48 deletions
+138 -3
View File
@@ -1,6 +1,6 @@
{
"nodes": [
{"id": "title", "type": "text", "text": "# Finite Element Wiki Map\nComputational mechanics source map with solid, shell, MITC4, and buckling threads", "x": -320, "y": -360, "width": 640, "height": 120, "color": "5"},
{"id": "title", "type": "text", "text": "# Finite Element Wiki Map\nComputational mechanics source map with introductory FEM, solid, shell, MITC4, buckling, and Abaqus theory threads", "x": -320, "y": -360, "width": 640, "height": 120, "color": "5"},
{"id": "index", "type": "file", "file": "wiki/index.md", "x": -160, "y": -160, "width": 320, "height": 160, "color": "5"},
{"id": "source", "type": "file", "file": "wiki/sources/Finite Element Procedures.md", "x": -720, "y": -160, "width": 320, "height": 120, "color": "4"},
{"id": "domain", "type": "file", "file": "wiki/domains/Computational Mechanics.md", "x": 400, "y": -160, "width": 320, "height": 120, "color": "6"},
@@ -52,7 +52,45 @@
{"id": "solid-shape", "type": "file", "file": "wiki/concepts/Solid Element Shape Functions.md", "x": -360, "y": 480, "width": 320, "height": 100, "color": "2"},
{"id": "solid-b", "type": "file", "file": "wiki/concepts/Solid Element Strain-Displacement Matrix.md", "x": 0, "y": 480, "width": 320, "height": 100, "color": "2"},
{"id": "solid-k", "type": "file", "file": "wiki/concepts/Solid Element Stiffness Integration.md", "x": 360, "y": 480, "width": 320, "height": 100, "color": "3"},
{"id": "solid-inc", "type": "file", "file": "wiki/concepts/Incompatible Mode Solid Elements.md", "x": 720, "y": 480, "width": 320, "height": 100, "color": "3"}
{"id": "solid-inc", "type": "file", "file": "wiki/concepts/Incompatible Mode Solid Elements.md", "x": 720, "y": 480, "width": 320, "height": 100, "color": "3"},
{"id": "abaqus-source", "type": "file", "file": "wiki/sources/Abaqus Theory Manual.md", "x": -1800, "y": 1640, "width": 360, "height": 120, "color": "4"},
{"id": "abaqus-proc", "type": "file", "file": "wiki/concepts/Abaqus Analysis Procedures.md", "x": -360, "y": 1640, "width": 320, "height": 100, "color": "3"},
{"id": "abaqus-elements", "type": "file", "file": "wiki/concepts/Abaqus Element Library.md", "x": 0, "y": 1640, "width": 320, "height": 100, "color": "2"},
{"id": "reduced-hourglass", "type": "file", "file": "wiki/concepts/Reduced Integration and Hourglass Control.md", "x": 360, "y": 1640, "width": 320, "height": 100, "color": "3"},
{"id": "hybrid-incomp", "type": "file", "file": "wiki/concepts/Hybrid Incompressible Elements.md", "x": 720, "y": 1640, "width": 320, "height": 100, "color": "3"},
{"id": "abaqus-constitutive", "type": "file", "file": "wiki/concepts/Abaqus Constitutive Integration.md", "x": 1080, "y": 1640, "width": 320, "height": 100, "color": "2"},
{"id": "contact-formulation", "type": "file", "file": "wiki/concepts/Finite Element Contact Formulation.md", "x": 1440, "y": 1640, "width": 320, "height": 100, "color": "2"},
{"id": "logan-source", "type": "file", "file": "wiki/sources/A-First-Course-in-the-Finite-Element-Method.md", "x": -1800, "y": 1880, "width": 380, "height": 120, "color": "4"},
{"id": "logan-author", "type": "file", "file": "wiki/entities/Daryl L. Logan.md", "x": -1800, "y": 2060, "width": 320, "height": 100, "color": "6"},
{"id": "direct-stiffness", "type": "file", "file": "wiki/concepts/Direct Stiffness Method.md", "x": -360, "y": 1880, "width": 320, "height": 100, "color": "3"},
{"id": "bar-truss", "type": "file", "file": "wiki/concepts/Bar and Truss Finite Elements.md", "x": 0, "y": 1880, "width": 320, "height": 100, "color": "2"},
{"id": "beam-frame", "type": "file", "file": "wiki/concepts/Beam and Frame Finite Elements.md", "x": 360, "y": 1880, "width": 320, "height": 100, "color": "2"},
{"id": "plane-stress-strain", "type": "file", "file": "wiki/concepts/Plane Stress and Plane Strain Elements.md", "x": 720, "y": 1880, "width": 320, "height": 100, "color": "2"},
{"id": "axisymmetric", "type": "file", "file": "wiki/concepts/Axisymmetric Finite Elements.md", "x": 1080, "y": 1880, "width": 320, "height": 100, "color": "2"},
{"id": "load-vector", "type": "file", "file": "wiki/concepts/Finite Element Load Vector Assembly.md", "x": 1440, "y": 1880, "width": 320, "height": 100, "color": "3"},
{"id": "modeling-checks", "type": "file", "file": "wiki/concepts/Finite Element Modeling and Convergence Checks.md", "x": 720, "y": 2060, "width": 320, "height": 100, "color": "3"},
{"id": "thermal-stress", "type": "file", "file": "wiki/concepts/Finite Element Thermal Stress Analysis.md", "x": 1080, "y": 2060, "width": 320, "height": 100, "color": "3"},
{"id": "abaqus-user-source", "type": "file", "file": "wiki/sources/Abaqus-Analysis-User-s-Guide-Volume-I.md", "x": -1800, "y": 2240, "width": 380, "height": 120, "color": "4"},
{"id": "abaqus-input", "type": "file", "file": "wiki/concepts/Abaqus Input File Syntax.md", "x": -360, "y": 2240, "width": 320, "height": 100, "color": "3"},
{"id": "abaqus-spatial", "type": "file", "file": "wiki/concepts/Abaqus Spatial Model Definition.md", "x": 0, "y": 2240, "width": 320, "height": 100, "color": "2"},
{"id": "abaqus-surface-assembly", "type": "file", "file": "wiki/concepts/Abaqus Surface and Assembly Modeling.md", "x": 360, "y": 2240, "width": 320, "height": 100, "color": "2"},
{"id": "abaqus-matrix", "type": "file", "file": "wiki/concepts/Abaqus Matrix-Based Model Definition.md", "x": 720, "y": 2240, "width": 320, "height": 100, "color": "3"},
{"id": "abaqus-job", "type": "file", "file": "wiki/concepts/Abaqus Job Execution Workflow.md", "x": 1080, "y": 2240, "width": 320, "height": 100, "color": "3"},
{"id": "abaqus-resource", "type": "file", "file": "wiki/concepts/Abaqus Resource and Parallel Execution.md", "x": 1440, "y": 2240, "width": 320, "height": 100, "color": "3"},
{"id": "abaqus-output", "type": "file", "file": "wiki/concepts/Abaqus Output Database and Results Files.md", "x": 1080, "y": 2420, "width": 320, "height": 100, "color": "3"},
{"id": "abaqus-user2-source", "type": "file", "file": "wiki/sources/Abaqus-Analysis-User-s-Guide-Volume-II.md", "x": -1800, "y": 2660, "width": 380, "height": 120, "color": "4"},
{"id": "abaqus-steps", "type": "file", "file": "wiki/concepts/Abaqus General and Linear Perturbation Steps.md", "x": -360, "y": 2660, "width": 320, "height": 100, "color": "3"},
{"id": "abaqus-nonlinear-control", "type": "file", "file": "wiki/concepts/Abaqus Nonlinear Solution Control.md", "x": 0, "y": 2660, "width": 320, "height": 100, "color": "3"},
{"id": "abaqus-restart-transfer", "type": "file", "file": "wiki/concepts/Abaqus Restart and Results Transfer.md", "x": 360, "y": 2660, "width": 320, "height": 100, "color": "3"},
{"id": "abaqus-substruct-submodel", "type": "file", "file": "wiki/concepts/Abaqus Substructuring and Submodeling.md", "x": 720, "y": 2660, "width": 320, "height": 100, "color": "2"},
{"id": "abaqus-matrix-generation", "type": "file", "file": "wiki/concepts/Abaqus Matrix Generation and Reduced Models.md", "x": 1080, "y": 2660, "width": 320, "height": 100, "color": "3"},
{"id": "abaqus-fracture-xfem", "type": "file", "file": "wiki/concepts/Abaqus Fracture and Enriched Discontinuity Modeling.md", "x": 1440, "y": 2660, "width": 320, "height": 100, "color": "2"},
{"id": "abaqus-adaptivity", "type": "file", "file": "wiki/concepts/Abaqus Adaptivity and Mesh Replacement.md", "x": -360, "y": 2840, "width": 320, "height": 100, "color": "2"},
{"id": "abaqus-explicit-efficiency", "type": "file", "file": "wiki/concepts/Abaqus Explicit Analysis Efficiency Techniques.md", "x": 0, "y": 2840, "width": 320, "height": 100, "color": "3"},
{"id": "abaqus-eulerian-particles", "type": "file", "file": "wiki/concepts/Abaqus Eulerian and Particle Methods.md", "x": 360, "y": 2840, "width": 320, "height": 100, "color": "2"},
{"id": "abaqus-multiphysics-cosim", "type": "file", "file": "wiki/concepts/Abaqus Multiphysics Coupling and Co-simulation.md", "x": 720, "y": 2840, "width": 320, "height": 100, "color": "2"},
{"id": "abaqus-optimization", "type": "file", "file": "wiki/concepts/Abaqus Structural Optimization and Parametric Studies.md", "x": 1080, "y": 2840, "width": 320, "height": 100, "color": "3"},
{"id": "abaqus-subroutines", "type": "file", "file": "wiki/concepts/Abaqus User Subroutines and Utility Routines.md", "x": 1440, "y": 2840, "width": 320, "height": 100, "color": "3"}
],
"edges": [
{"id": "e-index-source", "fromNode": "index", "fromSide": "left", "toNode": "source", "toSide": "right", "label": "source"},
@@ -134,6 +172,103 @@
{"id": "e-solid-shape-b", "fromNode": "solid-shape", "fromSide": "right", "toNode": "solid-b", "toSide": "left", "label": "Jacobian"},
{"id": "e-solid-b-k", "fromNode": "solid-b", "fromSide": "right", "toNode": "solid-k", "toSide": "left", "label": "B^T D B"},
{"id": "e-solid-inc-k", "fromNode": "solid-inc", "fromSide": "left", "toNode": "solid-k", "toSide": "right", "label": "augments"},
{"id": "e-solid-inc-mixed", "fromNode": "solid-inc", "fromSide": "top", "toNode": "mixed", "toSide": "bottom", "label": "enrichment pattern"}
{"id": "e-solid-inc-mixed", "fromNode": "solid-inc", "fromSide": "top", "toNode": "mixed", "toSide": "bottom", "label": "enrichment pattern"},
{"id": "e-index-abaqus-source", "fromNode": "index", "fromSide": "left", "toNode": "abaqus-source", "toSide": "right", "label": "source"},
{"id": "e-abaqus-source-abaqus", "fromNode": "abaqus-source", "fromSide": "right", "toNode": "abaqus", "toSide": "left", "label": "manual"},
{"id": "e-abaqus-source-proc", "fromNode": "abaqus-source", "fromSide": "right", "toNode": "abaqus-proc", "toSide": "left", "label": "procedures"},
{"id": "e-abaqus-source-elements", "fromNode": "abaqus-source", "fromSide": "right", "toNode": "abaqus-elements", "toSide": "left", "label": "elements"},
{"id": "e-abaqus-source-constitutive", "fromNode": "abaqus-source", "fromSide": "right", "toNode": "abaqus-constitutive", "toSide": "left", "label": "materials"},
{"id": "e-abaqus-source-contact", "fromNode": "abaqus-source", "fromSide": "right", "toNode": "contact-formulation", "toSide": "left", "label": "interfaces"},
{"id": "e-abaqus-proc-nonlinear", "fromNode": "abaqus-proc", "fromSide": "top", "toNode": "nonlinear", "toSide": "bottom", "label": "Newton/increments"},
{"id": "e-abaqus-proc-time", "fromNode": "abaqus-proc", "fromSide": "top", "toNode": "time", "toSide": "bottom", "label": "transient"},
{"id": "e-abaqus-proc-eigen", "fromNode": "abaqus-proc", "fromSide": "top", "toNode": "eigen", "toSide": "bottom", "label": "modal/buckling"},
{"id": "e-abaqus-elements-iso", "fromNode": "abaqus-elements", "fromSide": "top", "toNode": "iso", "toSide": "bottom", "label": "isoparametric"},
{"id": "e-abaqus-elements-solidk", "fromNode": "abaqus-elements", "fromSide": "top", "toNode": "solid-k", "toSide": "bottom", "label": "integration"},
{"id": "e-elements-reduced", "fromNode": "abaqus-elements", "fromSide": "right", "toNode": "reduced-hourglass", "toSide": "left", "label": "reduced integration"},
{"id": "e-elements-hybrid", "fromNode": "abaqus-elements", "fromSide": "right", "toNode": "hybrid-incomp", "toSide": "left", "label": "incompressibility"},
{"id": "e-reduced-locking", "fromNode": "reduced-hourglass", "fromSide": "top", "toNode": "shell-locking", "toSide": "bottom", "label": "locking tradeoff"},
{"id": "e-hybrid-mixed", "fromNode": "hybrid-incomp", "fromSide": "top", "toNode": "mixed", "toSide": "bottom", "label": "pressure field"},
{"id": "e-constitutive-nonlinear", "fromNode": "abaqus-constitutive", "fromSide": "top", "toNode": "nonlinear", "toSide": "bottom", "label": "material tangent"},
{"id": "e-constitutive-hybrid", "fromNode": "abaqus-constitutive", "fromSide": "left", "toNode": "hybrid-incomp", "toSide": "right", "label": "deviatoric/pressure"},
{"id": "e-contact-nonlinear", "fromNode": "contact-formulation", "fromSide": "top", "toNode": "nonlinear", "toSide": "bottom", "label": "active constraints"},
{"id": "e-index-logan-source", "fromNode": "index", "fromSide": "left", "toNode": "logan-source", "toSide": "right", "label": "source"},
{"id": "e-logan-source-author", "fromNode": "logan-source", "fromSide": "bottom", "toNode": "logan-author", "toSide": "top", "label": "author"},
{"id": "e-logan-source-direct", "fromNode": "logan-source", "fromSide": "right", "toNode": "direct-stiffness", "toSide": "left", "label": "stiffness method"},
{"id": "e-logan-source-bar", "fromNode": "logan-source", "fromSide": "right", "toNode": "bar-truss", "toSide": "left", "label": "line elements"},
{"id": "e-logan-source-beam", "fromNode": "logan-source", "fromSide": "right", "toNode": "beam-frame", "toSide": "left", "label": "members"},
{"id": "e-logan-source-plane", "fromNode": "logan-source", "fromSide": "right", "toNode": "plane-stress-strain", "toSide": "left", "label": "2D continua"},
{"id": "e-logan-source-axisym", "fromNode": "logan-source", "fromSide": "right", "toNode": "axisymmetric", "toSide": "left", "label": "axisymmetry"},
{"id": "e-logan-source-modeling", "fromNode": "logan-source", "fromSide": "right", "toNode": "modeling-checks", "toSide": "left", "label": "model checks"},
{"id": "e-direct-fem", "fromNode": "direct-stiffness", "fromSide": "top", "toNode": "fem", "toSide": "bottom", "label": "assembly"},
{"id": "e-direct-disp", "fromNode": "direct-stiffness", "fromSide": "top", "toNode": "disp", "toSide": "bottom", "label": "displacement unknowns"},
{"id": "e-direct-static", "fromNode": "direct-stiffness", "fromSide": "top", "toNode": "static", "toSide": "bottom", "label": "solve Kd=F"},
{"id": "e-direct-load", "fromNode": "direct-stiffness", "fromSide": "right", "toNode": "load-vector", "toSide": "left", "label": "right-hand side"},
{"id": "e-bar-direct", "fromNode": "bar-truss", "fromSide": "left", "toNode": "direct-stiffness", "toSide": "right", "label": "uses"},
{"id": "e-beam-bar", "fromNode": "beam-frame", "fromSide": "left", "toNode": "bar-truss", "toSide": "right", "label": "adds bending"},
{"id": "e-beam-time", "fromNode": "beam-frame", "fromSide": "top", "toNode": "time", "toSide": "bottom", "label": "mass matrices"},
{"id": "e-plane-disp", "fromNode": "plane-stress-strain", "fromSide": "top", "toNode": "disp", "toSide": "bottom", "label": "2D continuum"},
{"id": "e-plane-iso", "fromNode": "plane-stress-strain", "fromSide": "top", "toNode": "iso", "toSide": "bottom", "label": "higher order"},
{"id": "e-axisym-plane", "fromNode": "axisymmetric", "fromSide": "left", "toNode": "plane-stress-strain", "toSide": "right", "label": "2D idealization"},
{"id": "e-load-thermal", "fromNode": "load-vector", "fromSide": "bottom", "toNode": "thermal-stress", "toSide": "top", "label": "thermal force"},
{"id": "e-thermal-heat", "fromNode": "thermal-stress", "fromSide": "top", "toNode": "time", "toSide": "bottom", "label": "temperature history"},
{"id": "e-modeling-plane", "fromNode": "modeling-checks", "fromSide": "top", "toNode": "plane-stress-strain", "toSide": "bottom", "label": "mesh quality"},
{"id": "e-modeling-benchmark", "fromNode": "modeling-checks", "fromSide": "top", "toNode": "shell-benchmarking", "toSide": "bottom", "label": "verification mindset"},
{"id": "e-index-abaqus-user-source", "fromNode": "index", "fromSide": "left", "toNode": "abaqus-user-source", "toSide": "right", "label": "source"},
{"id": "e-abaqus-theory-user", "fromNode": "abaqus-source", "fromSide": "bottom", "toNode": "abaqus-user-source", "toSide": "top", "label": "companion"},
{"id": "e-abaqus-user-abaqus", "fromNode": "abaqus-user-source", "fromSide": "right", "toNode": "abaqus", "toSide": "left", "label": "user guide"},
{"id": "e-abaqus-user-input", "fromNode": "abaqus-user-source", "fromSide": "right", "toNode": "abaqus-input", "toSide": "left", "label": "input"},
{"id": "e-abaqus-user-spatial", "fromNode": "abaqus-user-source", "fromSide": "right", "toNode": "abaqus-spatial", "toSide": "left", "label": "model"},
{"id": "e-abaqus-user-job", "fromNode": "abaqus-user-source", "fromSide": "right", "toNode": "abaqus-job", "toSide": "left", "label": "run"},
{"id": "e-abaqus-user-output", "fromNode": "abaqus-user-source", "fromSide": "right", "toNode": "abaqus-output", "toSide": "left", "label": "output"},
{"id": "e-input-spatial", "fromNode": "abaqus-input", "fromSide": "right", "toNode": "abaqus-spatial", "toSide": "left", "label": "defines"},
{"id": "e-spatial-elements", "fromNode": "abaqus-spatial", "fromSide": "top", "toNode": "abaqus-elements", "toSide": "bottom", "label": "element type"},
{"id": "e-spatial-surface", "fromNode": "abaqus-spatial", "fromSide": "right", "toNode": "abaqus-surface-assembly", "toSide": "left", "label": "sets/faces"},
{"id": "e-surface-contact", "fromNode": "abaqus-surface-assembly", "fromSide": "top", "toNode": "contact-formulation", "toSide": "bottom", "label": "interfaces"},
{"id": "e-surface-load", "fromNode": "abaqus-surface-assembly", "fromSide": "right", "toNode": "load-vector", "toSide": "left", "label": "loads"},
{"id": "e-matrix-direct", "fromNode": "abaqus-matrix", "fromSide": "top", "toNode": "direct-stiffness", "toSide": "bottom", "label": "matrix assembly"},
{"id": "e-matrix-static", "fromNode": "abaqus-matrix", "fromSide": "top", "toNode": "static", "toSide": "bottom", "label": "K"},
{"id": "e-matrix-time", "fromNode": "abaqus-matrix", "fromSide": "top", "toNode": "time", "toSide": "bottom", "label": "M/C"},
{"id": "e-job-resource", "fromNode": "abaqus-job", "fromSide": "right", "toNode": "abaqus-resource", "toSide": "left", "label": "environment"},
{"id": "e-job-output", "fromNode": "abaqus-job", "fromSide": "bottom", "toNode": "abaqus-output", "toSide": "top", "label": "files"},
{"id": "e-resource-static", "fromNode": "abaqus-resource", "fromSide": "top", "toNode": "static", "toSide": "bottom", "label": "solver cost"},
{"id": "e-resource-time", "fromNode": "abaqus-resource", "fromSide": "top", "toNode": "time", "toSide": "bottom", "label": "domains"},
{"id": "e-output-modeling", "fromNode": "abaqus-output", "fromSide": "top", "toNode": "modeling-checks", "toSide": "bottom", "label": "verification data"},
{"id": "e-output-impl", "fromNode": "abaqus-output", "fromSide": "top", "toNode": "impl", "toSide": "bottom", "label": "postprocessing"},
{"id": "e-index-abaqus-user2-source", "fromNode": "index", "fromSide": "left", "toNode": "abaqus-user2-source", "toSide": "right", "label": "source"},
{"id": "e-abaqus-user1-user2", "fromNode": "abaqus-user-source", "fromSide": "bottom", "toNode": "abaqus-user2-source", "toSide": "top", "label": "next volume"},
{"id": "e-abaqus-user2-abaqus", "fromNode": "abaqus-user2-source", "fromSide": "right", "toNode": "abaqus", "toSide": "left", "label": "procedure guide"},
{"id": "e-abaqus-user2-proc", "fromNode": "abaqus-user2-source", "fromSide": "right", "toNode": "abaqus-proc", "toSide": "left", "label": "procedures"},
{"id": "e-abaqus-user2-steps", "fromNode": "abaqus-user2-source", "fromSide": "right", "toNode": "abaqus-steps", "toSide": "left", "label": "steps"},
{"id": "e-abaqus-user2-control", "fromNode": "abaqus-user2-source", "fromSide": "right", "toNode": "abaqus-nonlinear-control", "toSide": "left", "label": "controls"},
{"id": "e-abaqus-user2-restart", "fromNode": "abaqus-user2-source", "fromSide": "right", "toNode": "abaqus-restart-transfer", "toSide": "left", "label": "continuation"},
{"id": "e-abaqus-user2-reduction", "fromNode": "abaqus-user2-source", "fromSide": "right", "toNode": "abaqus-substruct-submodel", "toSide": "left", "label": "reduction"},
{"id": "e-abaqus-user2-multiphysics", "fromNode": "abaqus-user2-source", "fromSide": "right", "toNode": "abaqus-multiphysics-cosim", "toSide": "left", "label": "coupling"},
{"id": "e-steps-proc", "fromNode": "abaqus-steps", "fromSide": "top", "toNode": "abaqus-proc", "toSide": "bottom", "label": "step class"},
{"id": "e-steps-eigen", "fromNode": "abaqus-steps", "fromSide": "top", "toNode": "eigen", "toSide": "bottom", "label": "perturbation"},
{"id": "e-control-nonlinear", "fromNode": "abaqus-nonlinear-control", "fromSide": "top", "toNode": "nonlinear", "toSide": "bottom", "label": "Newton"},
{"id": "e-control-static", "fromNode": "abaqus-nonlinear-control", "fromSide": "top", "toNode": "static", "toSide": "bottom", "label": "tangent solves"},
{"id": "e-control-time", "fromNode": "abaqus-nonlinear-control", "fromSide": "top", "toNode": "time", "toSide": "bottom", "label": "transient accuracy"},
{"id": "e-restart-output", "fromNode": "abaqus-restart-transfer", "fromSide": "top", "toNode": "abaqus-output", "toSide": "bottom", "label": "state files"},
{"id": "e-restart-job", "fromNode": "abaqus-restart-transfer", "fromSide": "top", "toNode": "abaqus-job", "toSide": "bottom", "label": "continue/import"},
{"id": "e-substruct-static", "fromNode": "abaqus-substruct-submodel", "fromSide": "top", "toNode": "static", "toSide": "bottom", "label": "condensation"},
{"id": "e-substruct-modeling", "fromNode": "abaqus-substruct-submodel", "fromSide": "top", "toNode": "modeling-checks", "toSide": "bottom", "label": "global-local"},
{"id": "e-matrixgen-matrix", "fromNode": "abaqus-matrix-generation", "fromSide": "top", "toNode": "abaqus-matrix", "toSide": "bottom", "label": "generate/use"},
{"id": "e-matrixgen-impl", "fromNode": "abaqus-matrix-generation", "fromSide": "top", "toNode": "impl", "toSide": "bottom", "label": "matrix exchange"},
{"id": "e-fracture-contact", "fromNode": "abaqus-fracture-xfem", "fromSide": "top", "toNode": "contact-formulation", "toSide": "bottom", "label": "crack faces"},
{"id": "e-fracture-output", "fromNode": "abaqus-fracture-xfem", "fromSide": "top", "toNode": "abaqus-output", "toSide": "bottom", "label": "contour output"},
{"id": "e-adaptivity-modeling", "fromNode": "abaqus-adaptivity", "fromSide": "top", "toNode": "modeling-checks", "toSide": "bottom", "label": "mesh quality"},
{"id": "e-adaptivity-eulerian", "fromNode": "abaqus-adaptivity", "fromSide": "right", "toNode": "abaqus-eulerian-particles", "toSide": "left", "label": "large deformation"},
{"id": "e-explicit-time", "fromNode": "abaqus-explicit-efficiency", "fromSide": "top", "toNode": "time", "toSide": "bottom", "label": "stable increment"},
{"id": "e-explicit-resource", "fromNode": "abaqus-explicit-efficiency", "fromSide": "top", "toNode": "abaqus-resource", "toSide": "bottom", "label": "cost control"},
{"id": "e-eulerian-contact", "fromNode": "abaqus-eulerian-particles", "fromSide": "top", "toNode": "contact-formulation", "toSide": "bottom", "label": "CEL/DEM contact"},
{"id": "e-eulerian-time", "fromNode": "abaqus-eulerian-particles", "fromSide": "top", "toNode": "time", "toSide": "bottom", "label": "Explicit"},
{"id": "e-multiphysics-thermal", "fromNode": "abaqus-multiphysics-cosim", "fromSide": "top", "toNode": "thermal-stress", "toSide": "bottom", "label": "thermal-stress"},
{"id": "e-multiphysics-output", "fromNode": "abaqus-multiphysics-cosim", "fromSide": "top", "toNode": "abaqus-output", "toSide": "bottom", "label": "field transfer"},
{"id": "e-multiphysics-subroutines", "fromNode": "abaqus-multiphysics-cosim", "fromSide": "right", "toNode": "abaqus-subroutines", "toSide": "left", "label": "external data"},
{"id": "e-optimization-modeling", "fromNode": "abaqus-optimization", "fromSide": "top", "toNode": "modeling-checks", "toSide": "bottom", "label": "design cycles"},
{"id": "e-optimization-output", "fromNode": "abaqus-optimization", "fromSide": "top", "toNode": "abaqus-output", "toSide": "bottom", "label": "responses"},
{"id": "e-subroutines-job", "fromNode": "abaqus-subroutines", "fromSide": "top", "toNode": "abaqus-job", "toSide": "bottom", "label": "compile/link"},
{"id": "e-subroutines-resource", "fromNode": "abaqus-subroutines", "fromSide": "top", "toNode": "abaqus-resource", "toSide": "bottom", "label": "memory/parallel"},
{"id": "e-subroutines-impl", "fromNode": "abaqus-subroutines", "fromSide": "top", "toNode": "impl", "toSide": "bottom", "label": "extension"}
]
}