<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Scicho</title><link>https://SadjadAbedi.ir/</link><atom:link href="https://SadjadAbedi.ir/index.xml" rel="self" type="application/rss+xml"/><description>Scicho</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Mon, 24 Oct 2022 00:00:00 +0000</lastBuildDate><image><url>https://SadjadAbedi.ir/media/icon_hu2154990329143673713.png</url><title>Scicho</title><link>https://SadjadAbedi.ir/</link></image><item><title>BME Field Overview</title><link>https://SadjadAbedi.ir/courses/field/</link><pubDate>Tue, 24 Feb 2026 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/courses/field/</guid><description>&lt;h2 id="course-information">Course Information&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Course Title&lt;/strong>: BME Field Overview&lt;/li>
&lt;li>&lt;strong>Course Type&lt;/strong>: Practical (Skill &amp;amp; Employability)&lt;/li>
&lt;li>&lt;strong>Credits&lt;/strong>: 1&lt;/li>
&lt;li>&lt;strong>Total Hours&lt;/strong>: 32&lt;/li>
&lt;li>&lt;strong>Schedule&lt;/strong>: Sunday 10:00 - 12:00&lt;/li>
&lt;li>&lt;strong>Location&lt;/strong>: Class 43&lt;/li>
&lt;li>&lt;strong>Instructor&lt;/strong>: Seyed Sadjad Abedi-Shahri
&lt;ul>
&lt;li>&lt;strong>Email&lt;/strong>:
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture Materials&lt;/strong>: Provided via LMS.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="course-overview">Course Overview&lt;/h2>
&lt;p>This course familiarizes students with &lt;strong>career paths in Biomedical Engineering&lt;/strong> and the &lt;strong>technical and soft skills&lt;/strong> needed for related roles. It offers an overview of major subfields, common professional environments (industry, startups, healthcare, research centers), and includes talks/visits to connect classroom learning with real-world practice.&lt;/p>
&lt;hr>
&lt;h2 id="learning-objectives">Learning Objectives&lt;/h2>
&lt;p>By the end of this course, students will be able to:&lt;/p>
&lt;ol>
&lt;li>Describe major Biomedical Engineering areas (e.g., biomaterials, bioelectric, biomechanics, health technologies).&lt;/li>
&lt;li>Identify common job roles and professional opportunities in the health ecosystem.&lt;/li>
&lt;li>Explain how core undergraduate courses connect to practical skills and employability.&lt;/li>
&lt;li>Gain introductory familiarity with key technical topics and typical tools/software used in the field.&lt;/li>
&lt;li>Recognize essential professional and engineering ethics in healthcare-related work.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="syllabus">Syllabus&lt;/h2>
&lt;ol>
&lt;li>History of Biomedical Engineering; domains and specializations&lt;/li>
&lt;li>Biomedical Engineering careers and job opportunities (including industry guests)&lt;/li>
&lt;li>Undergraduate curriculum overview and the need for deep disciplinary understanding&lt;/li>
&lt;li>Intro technical topics (signals, biomechanics equipment, orthotics/prosthetics/implants, biomaterials, tissue engineering, data analysis, etc.)&lt;/li>
&lt;li>Types of health-related companies and businesses (startups, manufacturers, labs, tech centers)&lt;/li>
&lt;li>Incubators, science &amp;amp; technology parks, and health-related research centers&lt;/li>
&lt;li>Field visits related to Biomedical Engineering jobs (industry/health services/startups)&lt;/li>
&lt;li>General and specialized software overview (e.g., MATLAB, LabVIEW, CATIA, ImageJ, OsiriX)&lt;/li>
&lt;li>Professional ethics and engineering ethics in health applications&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="evaluation-scheme">Evaluation Scheme&lt;/h2>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Class Activities + Assignments&lt;/strong>: 50%&lt;/p>
&lt;ul>
&lt;li>Attendance and participation&lt;/li>
&lt;li>Short reflections or assignments&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Written Exam&lt;/strong>: 50%&lt;/p>
&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="teaching--learning-methods">Teaching &amp;amp; Learning Methods&lt;/h2>
&lt;p>A combination of &lt;strong>instructor-led sessions&lt;/strong>, &lt;strong>discussion-based learning&lt;/strong>, &lt;strong>guest talks by industry professionals&lt;/strong>, and &lt;strong>field visits&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="session-outline">Session Outline&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Session&lt;/th>
&lt;th>Date&lt;/th>
&lt;th>Outline&lt;/th>
&lt;th>Additional Resources&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>1&lt;/td>
&lt;td>3 Esfand&lt;/td>
&lt;td>History of Biomedical Engineering&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="additional-information">Additional Information&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Special requirements (if applicable):&lt;/strong> Scientific visits and seminars (as scheduled).&lt;/li>
&lt;li>&lt;strong>References:&lt;/strong> No fixed textbook; materials are provided during the course.&lt;/li>
&lt;/ul></description></item><item><title>Impact Mechanics in Biomechanics</title><link>https://SadjadAbedi.ir/courses/impact/</link><pubDate>Wed, 24 Dec 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/courses/impact/</guid><description>&lt;h2 id="course-information">Course Information&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Course Title&lt;/strong>: Impact Mechanics in Biomechanics&lt;/li>
&lt;li>&lt;strong>Course Code&lt;/strong>: 2014353-01&lt;/li>
&lt;li>&lt;strong>Credits&lt;/strong>: 3&lt;/li>
&lt;li>&lt;strong>Schedule&lt;/strong>: Monday 14:00-16:00 &amp;amp; Tuesday 14:00-16:00&lt;/li>
&lt;li>&lt;strong>Location&lt;/strong>: Class 30&lt;/li>
&lt;li>&lt;strong>Instructor&lt;/strong>: Seyed Sadjad Abedi-Shahri
&lt;ul>
&lt;li>&lt;strong>Email&lt;/strong>:
&lt;/li>
&lt;li>&lt;strong>Telegram&lt;/strong>: @Sad4Abd&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;!--
- **Teaching Assistant**: *TBA*
- **Email**: *TBA*
-->
&lt;ul>
&lt;li>&lt;strong>Lecture Materials&lt;/strong>: Provided weekly in
.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="course-overview">Course Overview&lt;/h2>
&lt;p>This course introduces advanced concepts in &lt;strong>impact mechanics&lt;/strong> as applied to biomechanics, focusing on theoretical foundations and practical applications. Students will gain an understanding of impact phenomena in engineering and biomechanics, with hands-on experience using &lt;strong>ABAQUS&lt;/strong> for dynamic explicit simulations of human anatomical structures under impact loads.&lt;/p>
&lt;p>The course covers impact mechanics theory (including rigid body impacts, wave propagation, and deformation of bodies), and provides an introduction to computational tools, specifically &lt;strong>ABAQUS&lt;/strong>, to model and simulate impact events on biological tissues such as bones and soft tissues.&lt;/p>
&lt;hr>
&lt;h2 id="learning-objectives">Learning Objectives&lt;/h2>
&lt;p>By the end of this course, students will be able to:&lt;/p>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Theoretical Foundations&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Understand core principles of impact mechanics.&lt;/li>
&lt;li>Apply impact mechanics to biomechanical problems, including rigid body impacts and material deformation under impact loads.&lt;/li>
&lt;li>Analyze the role of material properties in impact behavior.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Computational Modeling&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Use &lt;strong>ABAQUS&lt;/strong> to develop and simulate impact models for human anatomical structures.&lt;/li>
&lt;li>Set up and analyze dynamic explicit simulations in &lt;strong>ABAQUS&lt;/strong>.&lt;/li>
&lt;li>Implement material models, including failure criteria, for simulating biological tissues under impact.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Biomechanical Applications&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Apply theoretical and computational concepts to real-world biomechanical problems, such as simulating fractures or soft tissue injuries from impact events.&lt;/li>
&lt;li>Interpret simulation results to assess injury risks and mechanical behavior of biological systems.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Problem-Solving Skills&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Design impact scenarios with appropriate material properties, boundary conditions, and loading conditions in &lt;strong>ABAQUS&lt;/strong>.&lt;/li>
&lt;li>Analyze the results from simulations, interpret the impact of different conditions, and generate technical reports.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="syllabus">Syllabus&lt;/h2>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Introduction to Impact Mechanics&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Overview of impact mechanics and its relevance to biomechanics.&lt;/li>
&lt;li>Basic principles of rigid body impacts and material deformation.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Theoretical Foundations of Impact Mechanics&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Impact of rigid bodies: Impulse-momentum and coefficient of restitution.&lt;/li>
&lt;li>Deformation under impact: One-dimensional and multi-dimensional impact mechanics.&lt;/li>
&lt;li>Wave propagation and stress analysis in deformable bodies.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Computational Impact Mechanics&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Introduction to computational methods for impact analysis.&lt;/li>
&lt;li>Overview of material models for dynamic analysis (elastic, plastic, viscoelastic).&lt;/li>
&lt;li>Introduction to &lt;strong>ABAQUS&lt;/strong>: Setup and basics of dynamic explicit analysis.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>ABAQUS Software Tutorial&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Modeling of basic impact problems using &lt;strong>ABAQUS&lt;/strong>.&lt;/li>
&lt;li>Material modeling and dynamic loading conditions in impact simulations.&lt;/li>
&lt;li>Simulating human anatomical structures (bones, soft tissues) under impact.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Advanced Impact Simulation Techniques&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fracture and failure modeling in &lt;strong>ABAQUS&lt;/strong>.&lt;/li>
&lt;li>Handling large deformations and mesh refinement.&lt;/li>
&lt;li>Simulating impact events like trauma, falls, and accidents.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="software-tools">Software Tools&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>ABAQUS&lt;/strong>: Finite element analysis and dynamic explicit simulation.&lt;/li>
&lt;li>&lt;strong>3D Slicer&lt;/strong> (if applicable): Medical image processing and segmentation.&lt;/li>
&lt;li>&lt;strong>MeshMixer&lt;/strong> and &lt;strong>CATIA&lt;/strong> (if applicable): Geometry modeling and improvement tools.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="references">References&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>[RAO]&lt;/strong> &lt;strong>Applied Impact Mechanics&lt;/strong> by C. Lakshmana Rao et. al.&lt;/li>
&lt;li>&lt;strong>[QIU]&lt;/strong> &lt;strong>Introduction to Impact Dynamics&lt;/strong> by T.X. Yu and XinMing Qiu&lt;/li>
&lt;li>&lt;strong>[MEY]&lt;/strong> &lt;strong>Dynamic Behavior of Materials&lt;/strong> by Marc Andre Meyers&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="evaluation-scheme">Evaluation Scheme&lt;/h2>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Homeworks&lt;/strong>: 30%&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Final Exam&lt;/strong>: 70%&lt;/p>
&lt;ul>
&lt;li>Theoretical exam on impact mechanics principles and computational methods.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="session-outline">Session Outline&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Session&lt;/th>
&lt;th>Date&lt;/th>
&lt;th>Outline&lt;/th>
&lt;th>Additional Resources&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>1&lt;/td>
&lt;td>4 Esfand&lt;/td>
&lt;td>Module 1 (U)&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>2&lt;/td>
&lt;td>5 Esfand&lt;/td>
&lt;td>Module 1 (U)&lt;sup id="fnref1:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="additional-information">Additional Information&lt;/h2>
&lt;h3 id="prerequisites">Prerequisites&lt;/h3>
&lt;p>Students are expected to have a basic understanding of:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Finite Element Methods in Biomechanics&lt;/strong> or similar introductory courses in computational biomechanics.&lt;/li>
&lt;/ul>
&lt;h3 id="policies">Policies&lt;/h3>
&lt;ol>
&lt;li>Regular attendance is recommended to stay on track with the course material.&lt;/li>
&lt;li>Collaboration on assignments is encouraged, but all submissions must reflect individual understanding.&lt;/li>
&lt;li>Late submissions will incur penalties unless prior arrangements are made.&lt;/li>
&lt;li>&lt;strong>Academic Integrity&lt;/strong>: Plagiarism or copying will not be tolerated.&lt;/li>
&lt;/ol>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>(U): Unfinished&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&amp;#160;&lt;a href="#fnref1:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Advanced Scaled Boundary Finite Element Framework for Complex and Biological Materials</title><link>https://SadjadAbedi.ir/project/sbfem/</link><pubDate>Sat, 20 Dec 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/project/sbfem/</guid><description>&lt;p>&lt;strong>Description&lt;/strong>
This project focuses on the development of the Scaled Boundary Finite Element Method (SBFEM) for complex material behavior, extending the classical formulation to nonlinear, viscoelastic, and anisotropic hyperelastic responses. The framework preserves the boundary-only discretization of SBFEM while enabling robust treatment of material and geometric nonlinearities.&lt;/p>
&lt;p>&lt;strong>Key Contributions&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Nonlinear SBFEM (NL-SBFEM) formulation for large deformations.&lt;/li>
&lt;li>Viscoelastic SBFEM for time-dependent material response.&lt;/li>
&lt;li>Modular material interface enabling automatic differentiation.&lt;/li>
&lt;li>Extension to anisotropic hyperelastic models for soft tissues.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Biomechanics Focus&lt;/strong>&lt;/p>
&lt;p>The final objective is biomechanical modeling of soft tissues, particularly fiber-reinforced materials relevant to ligaments, tendons, and vascular tissues, avoiding volumetric meshing while retaining high accuracy.&lt;/p></description></item><item><title>Computational Biomechanics: Necessity, Importance, and Applications</title><link>https://SadjadAbedi.ir/event/comp_bio/</link><pubDate>Mon, 15 Dec 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/event/comp_bio/</guid><description>&lt;!--
&lt;div class="alert alert-note">
&lt;div>
Click on the &lt;strong>Slides&lt;/strong> button above to view the built-in slides feature.
&lt;/div>
&lt;/div>
Slides can be added in a few ways:
- **Create** slides using Hugo Blox Builder's [_Slides_](https://docs.hugoblox.com/reference/content-types/) feature and link using `slides` parameter in the front matter of the talk file
- **Upload** an existing slide deck to `static/` and link using `url_slides` parameter in the front matter of the talk file
- **Embed** your slides (e.g. Google Slides) or presentation video on this page using [shortcodes](https://docs.hugoblox.com/reference/markdown/).
Further event details, including [page elements](https://docs.hugoblox.com/reference/markdown/) such as image galleries, can be added to the body of this page.-->
&lt;script type="text/javascript" src= '/js/pdf-js/build/pdf.js'>&lt;/script>
&lt;style>
#embed-pdf-container {
position: relative;
width: 100%;
height: auto;
min-height: 20vh;
}
.pdf-canvas {
border: 1px solid black;
direction: ltr;
width: 100%;
height: auto;
display: none;
}
#the-canvas {
border: 1px solid black;
direction: ltr;
width: 100%;
height: auto;
display: none;
}
.pdf-loadingWrapper {
display: none;
justify-content: center;
align-items: center;
width: 100%;
height: 350px;
}
.pdf-loading {
display: inline-block;
width: 50px;
height: 50px;
border: 3px solid #d2d0d0;;
border-radius: 50%;
border-top-color: #383838;
animation: spin 1s ease-in-out infinite;
-webkit-animation: spin 1s ease-in-out infinite;
}
#overlayText {
word-wrap: break-word;
display: grid;
justify-content: end;
}
#overlayText a {
position: relative;
top: 10px;
right: 4px;
color: #000;
margin: auto;
background-color: #eeeeee;
padding: 0.3em 1em;
border: solid 2px;
border-radius: 12px;
border-color: #00000030;
text-decoration: none;
}
#overlayText svg {
height: clamp(1em, 2vw, 1.4em);
width: clamp(1em, 2vw, 1.4em);
}
@keyframes spin {
to { -webkit-transform: rotate(360deg); }
}
@-webkit-keyframes spin {
to { -webkit-transform: rotate(360deg); }
}
&lt;/style>&lt;div class="embed-pdf-container" id="embed-pdf-container-6aad6807">
&lt;div class="pdf-loadingWrapper" id="pdf-loadingWrapper-6aad6807">
&lt;div class="pdf-loading" id="pdf-loading-6aad6807">&lt;/div>
&lt;/div>
&lt;div id="overlayText">
&lt;a href="./file.pdf" aria-label="Download" download>
&lt;svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18">
&lt;path d="M9 13c.3 0 .5-.1.7-.3L15.4 7 14 5.6l-4 4V1H8v8.6l-4-4L2.6 7l5.7 5.7c.2.2.4.3.7.3zm-7 2h14v2H2z" />
&lt;/svg>
&lt;/a>
&lt;/div>
&lt;canvas class="pdf-canvas" id="pdf-canvas-6aad6807">&lt;/canvas>
&lt;/div>
&lt;div class="pdf-paginator" id="pdf-paginator-6aad6807">
&lt;button id="pdf-prev-6aad6807">Previous&lt;/button>
&lt;button id="pdf-next-6aad6807">Next&lt;/button> &amp;nbsp; &amp;nbsp;
&lt;span>
&lt;span class="pdf-pagenum" id="pdf-pagenum-6aad6807">&lt;/span> / &lt;span class="pdf-pagecount" id="pdf-pagecount-6aad6807">&lt;/span>
&lt;/span>
&lt;a class="pdf-source" id="pdf-source-6aad6807" href="./file.pdf">[pdf]&lt;/a>
&lt;/div>
&lt;noscript>
View the PDF file &lt;a class="pdf-source" id="pdf-source-noscript-6aad6807" href="./file.pdf">here&lt;/a>.
&lt;/noscript>
&lt;script type="text/javascript">
(function(){
var url = '.\/file.pdf';
var hidePaginator = "" === "true";
var hideLoader = "" === "true";
var selectedPageNum = parseInt("") || 1;
var pdfjsLib = window['pdfjs-dist/build/pdf'];
if (pdfjsLib.GlobalWorkerOptions.workerSrc == '')
pdfjsLib.GlobalWorkerOptions.workerSrc = "https:\/\/SadjadAbedi.ir\/" + 'js/pdf-js/build/pdf.worker.js';
var pdfDoc = null,
pageNum = selectedPageNum,
pageRendering = false,
pageNumPending = null,
scale = 3,
canvas = document.getElementById('pdf-canvas-6aad6807'),
ctx = canvas.getContext('2d'),
paginator = document.getElementById("pdf-paginator-6aad6807"),
loadingWrapper = document.getElementById('pdf-loadingWrapper-6aad6807');
showPaginator();
showLoader();
function renderPage(num) {
pageRendering = true;
pdfDoc.getPage(num).then(function(page) {
var viewport = page.getViewport({scale: scale});
canvas.height = viewport.height;
canvas.width = viewport.width;
var renderContext = {
canvasContext: ctx,
viewport: viewport
};
var renderTask = page.render(renderContext);
renderTask.promise.then(function() {
pageRendering = false;
showContent();
if (pageNumPending !== null) {
renderPage(pageNumPending);
pageNumPending = null;
}
});
});
document.getElementById('pdf-pagenum-6aad6807').textContent = num;
}
function showContent() {
loadingWrapper.style.display = 'none';
canvas.style.display = 'block';
}
function showLoader() {
if(hideLoader) return
loadingWrapper.style.display = 'flex';
canvas.style.display = 'none';
}
function showPaginator() {
if(hidePaginator) return
paginator.style.display = 'block';
}
function queueRenderPage(num) {
if (pageRendering) {
pageNumPending = num;
} else {
renderPage(num);
}
}
function onPrevPage() {
if (pageNum &lt;= 1) {
return;
}
pageNum--;
queueRenderPage(pageNum);
}
document.getElementById('pdf-prev-6aad6807').addEventListener('click', onPrevPage);
function onNextPage() {
if (pageNum >= pdfDoc.numPages) {
return;
}
pageNum++;
queueRenderPage(pageNum);
}
document.getElementById('pdf-next-6aad6807').addEventListener('click', onNextPage);
pdfjsLib.getDocument(url).promise.then(function(pdfDoc_) {
pdfDoc = pdfDoc_;
var numPages = pdfDoc.numPages;
document.getElementById('pdf-pagecount-6aad6807').textContent = numPages;
if(pageNum > numPages) {
pageNum = numPages
}
renderPage(pageNum);
});
})();
&lt;/script></description></item><item><title>ICBME 2025 - Oral Presentation 2</title><link>https://SadjadAbedi.ir/event/icbme2025_2/</link><pubDate>Thu, 20 Nov 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/event/icbme2025_2/</guid><description>&lt;!--
&lt;div class="alert alert-note">
&lt;div>
Click on the &lt;strong>Slides&lt;/strong> button above to view the built-in slides feature.
&lt;/div>
&lt;/div>
Slides can be added in a few ways:
- **Create** slides using Hugo Blox Builder's [_Slides_](https://docs.hugoblox.com/reference/content-types/) feature and link using `slides` parameter in the front matter of the talk file
- **Upload** an existing slide deck to `static/` and link using `url_slides` parameter in the front matter of the talk file
- **Embed** your slides (e.g. Google Slides) or presentation video on this page using [shortcodes](https://docs.hugoblox.com/reference/markdown/).
Further event details, including [page elements](https://docs.hugoblox.com/reference/markdown/) such as image galleries, can be added to the body of this page.-->
&lt;iframe src="https://docs.google.com/presentation/d/e/2PACX-1vR2deTtuQFWdBGL2_vsKcqyQW-va9tFd5sbu_bAJk0VW9GHTiGCton6qFqHroksp1S01w33C553Z8pK/embed?start=false&amp;amp;loop=false&amp;amp;delayms=10000" width=100% height="400" frameborder="0" scrolling="auto" allowfullscreen="allowfullscreen">&lt;/iframe></description></item><item><title>ICBME 2025 - Oral Presentation 1</title><link>https://SadjadAbedi.ir/event/icbme2025_1/</link><pubDate>Wed, 19 Nov 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/event/icbme2025_1/</guid><description>&lt;!--
&lt;div class="alert alert-note">
&lt;div>
Click on the &lt;strong>Slides&lt;/strong> button above to view the built-in slides feature.
&lt;/div>
&lt;/div>
Slides can be added in a few ways:
- **Create** slides using Hugo Blox Builder's [_Slides_](https://docs.hugoblox.com/reference/content-types/) feature and link using `slides` parameter in the front matter of the talk file
- **Upload** an existing slide deck to `static/` and link using `url_slides` parameter in the front matter of the talk file
- **Embed** your slides (e.g. Google Slides) or presentation video on this page using [shortcodes](https://docs.hugoblox.com/reference/markdown/).
Further event details, including [page elements](https://docs.hugoblox.com/reference/markdown/) such as image galleries, can be added to the body of this page.-->
&lt;iframe src="https://docs.google.com/presentation/d/e/2PACX-1vTMgrADaq-uAWlUDRRrOPzNs1v7Iqb1SuAlKvmo_VNCi9jZeBLfXH-CAbreSsbvnwkJG2xH4s8fflh-/embed?start=false&amp;amp;loop=false&amp;amp;delayms=10000" width=100% height="400" frameborder="0" scrolling="auto" allowfullscreen="allowfullscreen">&lt;/iframe></description></item><item><title>Introduction to Biomedical Engineering - Biomechanics</title><link>https://SadjadAbedi.ir/courses/introbme_01/</link><pubDate>Mon, 15 Sep 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/courses/introbme_01/</guid><description>&lt;h2 id="course-information">Course Information&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Course Title&lt;/strong>: Introduction to Biomedical Engineering - Biomechanics&lt;/li>
&lt;li>&lt;strong>Course Code&lt;/strong>: 2014170-02&lt;/li>
&lt;li>&lt;strong>Credits&lt;/strong>: 3&lt;/li>
&lt;li>&lt;strong>Schedule&lt;/strong>: Saturday 12:00–14:00 &amp;amp; Monday 16:00-18:00&lt;/li>
&lt;li>&lt;strong>Location&lt;/strong>: Class 32&lt;/li>
&lt;li>&lt;strong>Instructor&lt;/strong>: Seyed Sadjad Abedi-Shahri
&lt;ul>
&lt;li>&lt;strong>Email&lt;/strong>:
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="course-overview">Course Overview&lt;/h2>
&lt;p>This course introduces the biomechanics of the cardiovascular system and the fundamentals of biomaterials. The first part covers blood flow mechanics, cardiac and vascular function, and simplified modeling of circulation. The second part introduces biomaterials, biocompatibility, and their applications in medical implants. The course provides biomedical engineering students with essential theoretical foundations and applied knowledge at the interface of physiology, mechanics, and materials.&lt;/p>
&lt;hr>
&lt;h2 id="learning-objectives">Learning Objectives&lt;/h2>
&lt;p>Students completing this course will be able to:&lt;/p>
&lt;ol>
&lt;li>Explain the mechanics of blood flow and the cardiovascular system.&lt;/li>
&lt;li>Describe cardiac output, vascular resistance, compliance, and related pathologies.&lt;/li>
&lt;li>Apply simplified hemodynamic models (resistance, compliance, inertance).&lt;/li>
&lt;li>Identify major classes of biomaterials and evaluate their biocompatibility.&lt;/li>
&lt;li>Recognize common biomedical implant applications and design considerations.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="syllabus">Syllabus&lt;/h2>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Cardiovascular Biomechanics&lt;/strong>:&lt;br>
Fundamentals of hemodynamics, cardiac cycle, vascular mechanics, blood rheology, vascular pathologies, and simplified cardiovascular models.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Biomaterials&lt;/strong>:&lt;br>
Introduction to biomaterials, biocompatibility and hemocompatibility, types of biomaterials, and their applications in implants.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="references">References&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>[WAI]&lt;/strong> &lt;strong>Applied Biofluid Mechanics&lt;/strong> by Lee Waite and Jerry Fine&lt;/li>
&lt;li>&lt;strong>[END]&lt;/strong> &lt;strong>Introduction to Biomedical Engineering&lt;/strong> [&lt;em>3rd ed.&lt;/em>] by John Enderle and Joseph Bronzino&lt;/li>
&lt;li>&lt;strong>[BRO]&lt;/strong> &lt;strong>Biomedical Engineering Fundamentals&lt;/strong> [&lt;em>3rd ed.&lt;/em>] by Joseph Bronzino&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="evaluation-scheme">Evaluation Scheme&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Final Exam&lt;/strong>: 80 points&lt;/li>
&lt;li>&lt;strong>Continuous Assessment&lt;/strong>: 20 points&lt;/li>
&lt;li>&lt;strong>Extracurricular Activities (optional)&lt;/strong>: Up to 20 bonus points&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="session-outline">Session Outline&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Session&lt;/th>
&lt;th>Date&lt;/th>
&lt;th>Outline&lt;/th>
&lt;th>Additional Resources&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>1&lt;/td>
&lt;td>29 Shahrivar&lt;/td>
&lt;td>Part 1&lt;/td>
&lt;td>[WAI]: 1.2 and 1.4&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>2&lt;/td>
&lt;td>5 Mehr&lt;/td>
&lt;td>Part 2 (U)&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>3&lt;/td>
&lt;td>7 Mehr&lt;/td>
&lt;td>Part 2&lt;/td>
&lt;td>[WAI]: 2.1-2.5 and 2.7-2.9&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>4&lt;/td>
&lt;td>12 Mehr&lt;/td>
&lt;td>Part 3&lt;/td>
&lt;td>[WAI]: 4.1-4.3 and 4.5-4.6&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>5&lt;/td>
&lt;td>14 Mehr&lt;/td>
&lt;td>Part 4 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>6&lt;/td>
&lt;td>21 Mehr&lt;/td>
&lt;td>Part 4 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>7&lt;/td>
&lt;td>26 Mehr&lt;/td>
&lt;td>Part 4&lt;/td>
&lt;td>[WAI]: 5.1-5.7&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>8&lt;/td>
&lt;td>28 Mehr&lt;/td>
&lt;td>Bonus Lecture (Computational Cardivascular Biomechanics)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>9&lt;/td>
&lt;td>24 Aban&lt;/td>
&lt;td>Part 5 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>10&lt;/td>
&lt;td>26 Aban&lt;/td>
&lt;td>Part 5&lt;/td>
&lt;td>Fundamentals of Biomaterials by Vasif Hasirci &amp;amp; Nesrin Hasirci: [Chapter 1] and Biomaterials Science by Buddy D. Ratner, et al.: [Introduction]&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;ul>
&lt;li>&lt;strong>Part 1: Introduction and Fundamentals of Flow&lt;/strong>
&lt;ul>
&lt;li>Fluid Characteristics&lt;/li>
&lt;li>Introduction to Pipe Flow&lt;/li>
&lt;li>Reynolds Number and Flow Types&lt;/li>
&lt;li>Poiseuille&amp;rsquo;s Law&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Part 2: Cardiovascular Structure and Function&lt;/strong>
&lt;ul>
&lt;li>Introduction to Cardiovascular System&lt;/li>
&lt;li>Functional Anatomy of Circulation&lt;/li>
&lt;li>Cardiac Muscle Structure and Function&lt;/li>
&lt;li>Heart Valves and Their Function&lt;/li>
&lt;li>Cardiac Cycle and Pressure-Volume Relationships&lt;/li>
&lt;li>Heart Sounds&lt;/li>
&lt;li>Factors Controlling Blood Pressure and Flow&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Part 3: Hematology and Blood Rheology&lt;/strong>
&lt;ul>
&lt;li>Introduction to Blood Rheology&lt;/li>
&lt;li>Elements and Characteristics of Blood&lt;/li>
&lt;li>Types of Fluids and Blood Viscosity&lt;/li>
&lt;li>Erythrocytes (Red Blood Cells)&lt;/li>
&lt;li>Leukocytes (White Blood Cells)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Part 4: Anatomy and Physiology of Blood Vessels&lt;/strong>
&lt;ul>
&lt;li>Introduction&lt;/li>
&lt;li>General Structure of Arteries&lt;/li>
&lt;li>Types of Arteries&lt;/li>
&lt;li>Mechanics of Arterial Walls&lt;/li>
&lt;li>Compliance&lt;/li>
&lt;li>Pulse Wave Velocity and the Moens–Korteweg Equation&lt;/li>
&lt;li>Vascular Pathologies&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Part 5: Introduction to Biomaterials&lt;/strong>
&lt;ul>
&lt;li>Biomaterials Definition and Evolution&lt;/li>
&lt;li>Material Categories and Properties&lt;/li>
&lt;li>Biocompatibility&lt;/li>
&lt;li>Hemocompatibility&lt;/li>
&lt;li>Clinical Examples and Case Studies&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="additional-information">Additional Information&lt;/h2>
&lt;h3 id="prerequisites">Prerequisites&lt;/h3>
&lt;ul>
&lt;li>Principles of Medical Physics&lt;/li>
&lt;/ul>
&lt;h3 id="policies">Policies&lt;/h3>
&lt;ol>
&lt;li>Regular attendance is strongly recommended to stay on track with course material and acquire continuous evaluation score&lt;/li>
&lt;li>Students are expected to arrive on time. Late arrivals may disrupt the class and could impact participation evaluation.&lt;/li>
&lt;li>Collaboration on assignments, exercises, and projects is encouraged. However, all submissions must reflect individual understanding and adhere to academic integrity policies. Plagiarism or copying will not be tolerated.&lt;/li>
&lt;/ol>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>(U): Unfinished&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Finite Element Method in Biomechanics</title><link>https://SadjadAbedi.ir/courses/fembio_01/</link><pubDate>Wed, 10 Sep 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/courses/fembio_01/</guid><description>&lt;h2 id="course-information">Course Information&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Course Title&lt;/strong>: Special Topics 1 (Finite Element Methods in Biomechanics)&lt;/li>
&lt;li>&lt;strong>Course Code&lt;/strong>: 2014352-01&lt;/li>
&lt;li>&lt;strong>Credits&lt;/strong>: 3&lt;/li>
&lt;li>&lt;strong>Schedule&lt;/strong>: Saturday 12:00–14:00 &amp;amp; Monday 10:00-12:00&lt;/li>
&lt;li>&lt;strong>Location&lt;/strong>: Class 25 &amp;amp; Class 2&lt;/li>
&lt;li>&lt;strong>Instructor&lt;/strong>: Seyed Sadjad Abedi-Shahri
&lt;ul>
&lt;li>&lt;strong>Email&lt;/strong>:
&lt;/li>
&lt;li>&lt;strong>Telegram&lt;/strong>: @Sad4Abd&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;!--
- **Teaching Assistant**: *TBA*
- **Email**: *TBA*
-->
&lt;ul>
&lt;li>&lt;strong>Lecture Materials&lt;/strong>: Provided weekly in
.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="course-overview">Course Overview&lt;/h2>
&lt;p>This course introduces students to the finite element method (FEM) as applied to biomechanics problems. Students will learn both theoretical foundations and practical implementation of computational biomechanics using professional software tools. The course emphasizes hands-on experience with medical imaging data, geometric modeling, and finite element analysis of biological structures.&lt;/p>
&lt;hr>
&lt;h2 id="learning-objectives">Learning Objectives&lt;/h2>
&lt;p>By the end of this course, students will be able to:&lt;/p>
&lt;ol>
&lt;li>Theoretical Foundations
&lt;ul>
&lt;li>Understand fundamental concepts of computational biomechanics&lt;/li>
&lt;li>Apply finite element method principles to biomechanical problems&lt;/li>
&lt;li>Comprehend the mathematical framework underlying FEM&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Medical Imaging and Geometry
&lt;ul>
&lt;li>Extract geometry from medical images using 3D Slicer software&lt;/li>
&lt;li>Perform segmentation of anatomical structures from medical imaging data&lt;/li>
&lt;li>Create and improve geometric models using CATIA and MeshMixer&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Computational Modeling
&lt;ul>
&lt;li>Develop finite element models in ABAQUS software&lt;/li>
&lt;li>Perform biomechanical simulations of various anatomical structures&lt;/li>
&lt;li>Analyze and interpret computational results&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Problem-Solving Skills
&lt;ul>
&lt;li>Apply FEM to real biomechanical problems&lt;/li>
&lt;li>Design simulation scenarios for different loading conditions&lt;/li>
&lt;li>Generate comprehensive technical reports&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h3 id="syllabus">Syllabus&lt;/h3>
&lt;ol>
&lt;li>Introduction to Computational Biomechanics
&lt;ul>
&lt;li>Necessity, importance, and future of computational biomechanics&lt;/li>
&lt;li>Overview of biomechanical modeling applications&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Medical Imaging and Geometry Extraction
&lt;ul>
&lt;li>Types of medical images and their applications&lt;/li>
&lt;li>Segmentation techniques using 3D Slicer software&lt;/li>
&lt;li>Geometry extraction from medical imaging data&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Geometric Model Development and Improvement
&lt;ul>
&lt;li>Creating geometric models using CATIA and MeshMixer&lt;/li>
&lt;li>Quality improvement techniques for geometric models&lt;/li>
&lt;li>Model preparation for finite element analysis&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Introduction to Finite Element Method
&lt;ul>
&lt;li>Theoretical foundations of FEM&lt;/li>
&lt;li>Basic equations and mathematical framework&lt;/li>
&lt;li>Fundamentals of discretization and numerical methods&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Modeling with ABAQUS Software
&lt;ul>
&lt;li>Introduction to ABAQUS environment&lt;/li>
&lt;li>Model setup and boundary conditions&lt;/li>
&lt;li>Material properties and loading scenarios&lt;/li>
&lt;li>Mesh generation and quality assessment&lt;/li>
&lt;li>Solution procedures and convergence&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h3 id="software-tools">Software Tools&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>3D Slicer&lt;/strong>: Medical image processing and segmentation&lt;/li>
&lt;li>&lt;strong>MeshMixer&lt;/strong>: Mesh processing and improvement&lt;/li>
&lt;li>&lt;strong>CATIA&lt;/strong>: Geometric modeling and design&lt;/li>
&lt;li>&lt;strong>ABAQUS&lt;/strong>: Finite element analysis and simulation&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="references">References&lt;/h2>
&lt;p>&lt;em>Provided in Lecture Materials&lt;/em>&lt;/p>
&lt;hr>
&lt;h2 id="evaluation-scheme">Evaluation Scheme&lt;/h2>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Group Project&lt;/strong>: 60 points&lt;/p>
&lt;ul>
&lt;li>Project Phase 1 (10%): Due: 3rd week of Mehr
&lt;ul>
&lt;li>Topic selection&lt;/li>
&lt;li>Anatomical and biomechanical review of chosen topic&lt;/li>
&lt;li>Medical image acquisition&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Project Phase 2 (15%): Due: 4th week of Aban
&lt;ul>
&lt;li>Geometry extraction from medical images&lt;/li>
&lt;li>Geometric model improvement&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Project Phase 3 (20%): Due: 2nd week of Azar
&lt;ul>
&lt;li>Model import into ABAQUS&lt;/li>
&lt;li>Initial simulation setup&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Project Phase 4 (35%): Due: 2nd week of Dey
&lt;ul>
&lt;li>Main simulations based on different scenarios&lt;/li>
&lt;li>Analysis of various loading conditions&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Final Project Report (20%): Due: 17th of Dey
&lt;ul>
&lt;li>Analysis results&lt;/li>
&lt;li>Comprehensive report preparation&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Exercises&lt;/strong>: 10 points&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Final Exam&lt;/strong>: 30 points&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Extracurricular Activities (optional)&lt;/strong>: Up to 10 bonus points&lt;/p>
&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="session-outline">Session Outline&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Session&lt;/th>
&lt;th>Date&lt;/th>
&lt;th>Outline&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>1&lt;/td>
&lt;td>31 Shahrivar&lt;/td>
&lt;td>Course Introduction&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>2&lt;/td>
&lt;td>5 Mehr&lt;/td>
&lt;td>An Introduction to Computational Biomechanics&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>3&lt;/td>
&lt;td>7 Mehr&lt;/td>
&lt;td>An Introduction to Finite Element Method&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>4&lt;/td>
&lt;td>14 Mehr&lt;/td>
&lt;td>Medical Images in Computational Biomechanics&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>5&lt;/td>
&lt;td>19 Mehr&lt;/td>
&lt;td>3D-Slicer and MeshMixer&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>6&lt;/td>
&lt;td>21 Mehr&lt;/td>
&lt;td>CATIA&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>7&lt;/td>
&lt;td>28 Mehr&lt;/td>
&lt;td>FEM - Spring&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>8&lt;/td>
&lt;td>26 Aban&lt;/td>
&lt;td>FEM - Bar&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>9&lt;/td>
&lt;td>27 Aban&lt;/td>
&lt;td>FEM - Truss&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>10&lt;/td>
&lt;td>1 Azar&lt;/td>
&lt;td>FEM - ABAQUS 1&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>11&lt;/td>
&lt;td>11 Azar&lt;/td>
&lt;td>FEM - ABAQUS 2&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>12&lt;/td>
&lt;td>15 Azar&lt;/td>
&lt;td>FEM - ABAQUS 3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>13&lt;/td>
&lt;td>17 Azar&lt;/td>
&lt;td>FEM - ABAQUS 4&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>14&lt;/td>
&lt;td>18 Azar&lt;/td>
&lt;td>FEM - ABAQUS 5&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>15&lt;/td>
&lt;td>24 Azar&lt;/td>
&lt;td>FEM - ABAQUS 6&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>16&lt;/td>
&lt;td>25 Azar&lt;/td>
&lt;td>FEM - ABAQUS 7&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>17&lt;/td>
&lt;td>29 Azar&lt;/td>
&lt;td>FEM - ABAQUS 8&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>18&lt;/td>
&lt;td>1 Dey&lt;/td>
&lt;td>FEM - ABAQUS 9&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>19&lt;/td>
&lt;td>8 Dey&lt;/td>
&lt;td>Review and Exercises&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="additional-information">Additional Information&lt;/h2>
&lt;h3 id="prerequisites">Prerequisites&lt;/h3>
&lt;p>Students are expected to have a basic understanding of:&lt;/p>
&lt;ul>
&lt;li>Mechanics of Materials (Optional)&lt;/li>
&lt;/ul>
&lt;h3 id="policies">Policies&lt;/h3>
&lt;ol>
&lt;li>Regular attendance is strongly recommended to stay on track with course material.&lt;/li>
&lt;li>Students are expected to arrive on time. Late arrivals may disrupt the class and could impact participation evaluation.&lt;/li>
&lt;li>Collaboration on assignments, exercises, and projects is encouraged. However, all submissions must reflect individual understanding and adhere to academic integrity policies. Plagiarism or copying will not be tolerated.&lt;/li>
&lt;li>Project phases have strict deadlines due to sequential dependencies. Late submissions may significantly impact final grades.&lt;/li>
&lt;/ol></description></item><item><title>Fluid Mechanics</title><link>https://SadjadAbedi.ir/courses/fluid_01/</link><pubDate>Wed, 10 Sep 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/courses/fluid_01/</guid><description>&lt;h2 id="course-information">Course Information&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Course Title&lt;/strong>: Fluid Mechanics&lt;/li>
&lt;li>&lt;strong>Course Code&lt;/strong>: 2014091-01&lt;/li>
&lt;li>&lt;strong>Credits&lt;/strong>: 3&lt;/li>
&lt;li>&lt;strong>Schedule&lt;/strong>: Saturday 16:00–18:00 &amp;amp; Sunday 16:00-18:00&lt;/li>
&lt;li>&lt;strong>Location&lt;/strong>: Class 32&lt;/li>
&lt;li>&lt;strong>Instructor&lt;/strong>: Seyed Sadjad Abedi-Shahri
&lt;ul>
&lt;li>&lt;strong>Email&lt;/strong>:
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;!--
- **Teaching Assistant**: *TBA*
- **Email**: *TBA*
-->
&lt;ul>
&lt;li>&lt;strong>Lecture Materials&lt;/strong>: Provided weekly in LMS&lt;/li>
&lt;li>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="course-overview">Course Overview&lt;/h2>
&lt;p>This fluid mechanics course provides a comprehensive foundation in the principles of fluid mechanics. The course covers fundamental concepts from basic fluid properties to advanced flow analysis, including static fluid systems, flow kinematics and dynamics, viscous flow, and dimensional analysis. Students will develop both theoretical understanding and practical problem-solving skills essential for engineering applications in various fields including mechanical, civil, chemical, and biomedical engineering.&lt;/p>
&lt;hr>
&lt;h2 id="learning-objectives">Learning Objectives&lt;/h2>
&lt;p>By the end of this course, students will be able to:&lt;/p>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Fundamental Understanding&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Understand basic fluid properties and behavior in both static and dynamic systems&lt;/li>
&lt;li>Apply conservation principles (mass, momentum, energy) to fluid flow problems&lt;/li>
&lt;li>Analyze pressure distribution and forces in static fluid systems&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Mathematical Analysis&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Apply differential and integral analysis methods to fluid flow problems&lt;/li>
&lt;li>Use dimensional analysis for scaling, similitude studies, and parameter reduction&lt;/li>
&lt;li>Solve viscous flow problems in pipes, channels, and external flow systems&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Problem-Solving Skills&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Design and analyze fluid systems for engineering applications&lt;/li>
&lt;li>Select appropriate analysis methods for different flow regimes&lt;/li>
&lt;li>Apply engineering analysis to biomechanical problems&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="syllabus">Syllabus&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Introduction &amp;amp; Fundamental Concepts&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Fluid Statics&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Control Volume Analysis&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Differential Analysis of Fluid Motion&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Incompressible Inviscid Flow&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Dimensional Analysis &amp;amp; Similitude&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Internal Viscous Flow&lt;/strong>&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="primary-textbook">Primary Textbook&lt;/h2>
&lt;p>&lt;strong>[FOX]&lt;/strong> &lt;strong>Introduction to Fluid Mechanics&lt;/strong> by Fox, McDonald, and Mitchell&lt;/p>
&lt;hr>
&lt;h2 id="evaluation-scheme">Evaluation Scheme&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Midterm Exam 1&lt;/strong>: 15 points
&lt;ul>
&lt;li>Fundamental concepts, fluid statics, and control volume analysis&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Midterm Exam 2&lt;/strong>: 15 points
&lt;ul>
&lt;li>Differential analysis, inviscid flow, and dimensional analysis&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Final Examination&lt;/strong>: 55 points
&lt;ul>
&lt;li>Comprehensive exam covering all topics&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Continuous Assessment&lt;/strong>: 15 points&lt;/li>
&lt;li>&lt;strong>Bonus Activities (optional)&lt;/strong>: Up to 10 bonus points&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="session-outline">Session Outline&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Session&lt;/th>
&lt;th>Date&lt;/th>
&lt;th>Outline&lt;/th>
&lt;th>Additional Resources&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>1&lt;/td>
&lt;td>29 Shahrivar&lt;/td>
&lt;td>Chapter 1&lt;/td>
&lt;td>[FOX]: 1.1-1.6&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>2&lt;/td>
&lt;td>30 Shahrivar&lt;/td>
&lt;td>Chapter 2 (U)&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>3&lt;/td>
&lt;td>5 Mehr&lt;/td>
&lt;td>Chapter 2 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>4&lt;/td>
&lt;td>6 Mehr&lt;/td>
&lt;td>Chapter 2&lt;/td>
&lt;td>[FOX]: 2.1-2.7&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>5&lt;/td>
&lt;td>12 Mehr&lt;/td>
&lt;td>Chapter 3 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>6&lt;/td>
&lt;td>13 Mehr&lt;/td>
&lt;td>Chapter 3 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>7&lt;/td>
&lt;td>19 Mehr&lt;/td>
&lt;td>Chapter 3&lt;/td>
&lt;td>[FOX]: 3.1-3.5&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>8&lt;/td>
&lt;td>20 Mehr&lt;/td>
&lt;td>Chapter 4 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>9&lt;/td>
&lt;td>26 Mehr&lt;/td>
&lt;td>Chapter 4 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>10&lt;/td>
&lt;td>27 Mehr&lt;/td>
&lt;td>Chapter 4&lt;/td>
&lt;td>[FOX]: 4.1-4.5&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>11&lt;/td>
&lt;td>24 Aban&lt;/td>
&lt;td>Exc. 2&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>12&lt;/td>
&lt;td>25 Aban&lt;/td>
&lt;td>Exc. 3&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>13&lt;/td>
&lt;td>27 Aban&lt;/td>
&lt;td>Exc. 3&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>14&lt;/td>
&lt;td>1 Azar&lt;/td>
&lt;td>Chapter 5 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>15&lt;/td>
&lt;td>2 Azar&lt;/td>
&lt;td>Chapter 5 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>16&lt;/td>
&lt;td>8 Azar&lt;/td>
&lt;td>Chapter 5&lt;/td>
&lt;td>[FOX]: 5.1-5.4&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>17&lt;/td>
&lt;td>9 Azar&lt;/td>
&lt;td>Chapter 6 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>18&lt;/td>
&lt;td>11 Azar&lt;/td>
&lt;td>Exc. 4&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>19&lt;/td>
&lt;td>15 Azar&lt;/td>
&lt;td>Chapter 6&lt;/td>
&lt;td>[FOX]: 6.1-6.3, 6.5, 6.7&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>20&lt;/td>
&lt;td>16 Azar&lt;/td>
&lt;td>Chapter 7 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>21&lt;/td>
&lt;td>18 Azar&lt;/td>
&lt;td>Chapter 7&lt;/td>
&lt;td>[FOX]: 7.1-7.6&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>22&lt;/td>
&lt;td>22 Azar&lt;/td>
&lt;td>Midterm 1&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>23&lt;/td>
&lt;td>23 Azar&lt;/td>
&lt;td>Review&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>24&lt;/td>
&lt;td>25 Azar&lt;/td>
&lt;td>Exc. 5&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>25&lt;/td>
&lt;td>30 Azar&lt;/td>
&lt;td>Exc. 6&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>26&lt;/td>
&lt;td>2 Dey&lt;/td>
&lt;td>Exc. 7&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>27&lt;/td>
&lt;td>6 Dey&lt;/td>
&lt;td>Midterm 2&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>28&lt;/td>
&lt;td>7 Dey&lt;/td>
&lt;td>Chapter 8 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>29&lt;/td>
&lt;td>9 Dey&lt;/td>
&lt;td>Chapter 8&lt;/td>
&lt;td>[FOX]: 8.1-8.3&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;ul>
&lt;li>&lt;strong>Chapter 1: Introduction&lt;/strong>
&lt;ul>
&lt;li>Scope of Fluid Mechanics&lt;/li>
&lt;li>Definition of Fluid&lt;/li>
&lt;li>Basic Equations&lt;/li>
&lt;li>Methods of Analysis&lt;/li>
&lt;li>Dimensions and Units&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Chapter 2: Fundamental Concepts&lt;/strong>
&lt;ul>
&lt;li>Fluid as a Continuum&lt;/li>
&lt;li>Velocity Fields&lt;/li>
&lt;li>Stress Fields&lt;/li>
&lt;li>Viscosity&lt;/li>
&lt;li>Surface Tension&lt;/li>
&lt;li>Description and Classification of Fluid Motion&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Chapter 3: Fluid Statics&lt;/strong>
&lt;ul>
&lt;li>The Basic Equation of Fluid Statics&lt;/li>
&lt;li>The Standard Atmosphere&lt;/li>
&lt;li>Pressure Variation in a Static Fluid&lt;/li>
&lt;li>Hydrostatic Force on Submerged Sufaces&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Chapter 4: Basic Equations in Integral Form for a Control Volume&lt;/strong>
&lt;ul>
&lt;li>Basic Laws for a System&lt;/li>
&lt;li>Relation of System Derivatives to the Control Volume Formulation&lt;/li>
&lt;li>Conservation of Mass&lt;/li>
&lt;li>Momentum Equation for Inertial Control Volume&lt;/li>
&lt;li>Momentum Equation for Control Volume with Rectilinear Acceleration&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Chapter 5: Introduction to Differential Analysis of Fluid Motion&lt;/strong>
&lt;ul>
&lt;li>Conservation of Mass&lt;/li>
&lt;li>Stream Function for Two-Dimensional Incompressible Flow&lt;/li>
&lt;li>Motion of a Fluid Particle (Kinematics)&lt;/li>
&lt;li>Momentum Equation&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Chapter 6: Incompressible Inviscid Flow&lt;/strong>
&lt;ul>
&lt;li>Momentum Equation for Frictionless Flow: Euler&amp;rsquo;s Equation&lt;/li>
&lt;li>Euler&amp;rsquo;s Equation in Streamline Coordinates&lt;/li>
&lt;li>Bernoulli Equation: Integration of Euler&amp;rsquo;s Equation Along a Streamline for Steady Flow&lt;/li>
&lt;li>Energy Grade Line and Hydraulic Grade Line&lt;/li>
&lt;li>Irrotational Flow&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Chapter 7: Dimensional Analysis and Similitude&lt;/strong>
&lt;ul>
&lt;li>Nondimensionalizing the Basic Differential Equations&lt;/li>
&lt;li>Nature of Dimensional Analysis&lt;/li>
&lt;li>Buckingham Pi Theorem&lt;/li>
&lt;li>Determining the $\Pi$ Groups&lt;/li>
&lt;li>Significant Dimensionless Groups in Fluid Mechanics&lt;/li>
&lt;li>Flow Similarity and Model Studies&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Chapter 8: Internal Incompressible Viscous Flow&lt;/strong>
&lt;ul>
&lt;li>Introduction&lt;/li>
&lt;li>Fully Developed Laminar Flow Between Infinite Parallel Plates&lt;/li>
&lt;li>Fully Developed Laminar Flow in a Pipe&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h3 id="projects">Projects:&lt;/h3>
&lt;!--
- [Project 1: Cardiovascular Flow Analysis](/fluid-proj-cardiovascular/)
- [Project 2: Respiratory Mechanics Modeling](/fluid-proj-respiratory/)
- [Project 3: Swimming Biomechanics Optimization](/fluid-proj-swimming/)
- [Project 4: Medical Device Flow Design](/fluid-proj-medical-device/)
-->
&lt;hr>
&lt;h2 id="additional-information">Additional Information&lt;/h2>
&lt;h3 id="prerequisites">Prerequisites&lt;/h3>
&lt;p>Students are expected to have a basic understanding of:&lt;/p>
&lt;ul>
&lt;li>Statics&lt;/li>
&lt;li>Dynamics (Optional but strongly recommended)&lt;/li>
&lt;li>Thermodynamics (Optional but strongly recommended)&lt;/li>
&lt;/ul>
&lt;!--
### Laboratory/Demonstration Components
- Flow visualization experiments
- Non-Newtonian fluid demonstrations
- Pressure measurement exercises
- Medical device flow analysis
- Simple biofluid system design
-->
&lt;h3 id="policies">Policies&lt;/h3>
&lt;ol>
&lt;li>Regular attendance is strongly recommended to stay on track with course material and acquire continuous evaluation score.&lt;/li>
&lt;li>Students are expected to arrive on time. Late arrivals may disrupt the class and could impact participation evaluation.&lt;/li>
&lt;li>Collaboration on assignments, exercises, and projects is encouraged. However, all submissions must reflect individual understanding and adhere to academic integrity policies. Plagiarism or copying will not be tolerated.&lt;/li>
&lt;/ol>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>(U): Unfinished&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Project Card 01</title><link>https://SadjadAbedi.ir/extras/traumaproj1/</link><pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/extras/traumaproj1/</guid><description>&lt;h2 id="low-cost-head-injury-dummy---proof-of-concept-design">Low-Cost Head Injury Dummy - Proof-of-Concept Design&lt;/h2>
&lt;hr>
&lt;h3 id="project-pathway">Project Pathway&lt;/h3>
&lt;p>🟩 &lt;strong>Experimental / Test System Design (Proof-of-Concept)&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="1-background--motivation">1. Background &amp;amp; Motivation&lt;/h2>
&lt;p>Head injuries are among the most common and severe outcomes of traumatic events in automotive crashes, sports impacts, falls, and occupational accidents. Experimental testing using instrumented headforms or anthropomorphic test devices (ATDs) plays a critical role in understanding injury mechanisms, validating injury criteria, and evaluating protective equipment such as helmets.&lt;/p>
&lt;p>However, commercial head injury dummies and headforms (e.g., Hybrid III head, EuroSID headforms) are expensive and often inaccessible in developing countries. This limits experimental research, education, and safety evaluation.&lt;/p>
&lt;p>This project aims to develop a &lt;strong>low-cost, mechanically meaningful, proof-of-concept head injury dummy&lt;/strong>, suitable for basic impact testing, education, and preliminary safety assessment under local resource constraints.&lt;/p>
&lt;hr>
&lt;h2 id="2-core-biomechanical-question">2. Core Biomechanical Question&lt;/h2>
&lt;p>&lt;strong>How can the essential biomechanical mechanisms of head injury be captured using a simplified, low-cost head injury dummy suitable for experimental testing?&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="3-injury-mechanisms--relevant-injury-criteria">3. Injury Mechanisms &amp;amp; Relevant Injury Criteria&lt;/h2>
&lt;p>The project should address the following biomechanical aspects:&lt;/p>
&lt;ul>
&lt;li>Primary head injury mechanisms:
&lt;ul>
&lt;li>Translational acceleration&lt;/li>
&lt;li>Rotational acceleration&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Conceptual skull-brain interaction&lt;/li>
&lt;li>Impact loading scenarios (e.g., drop test, guided impact, oblique impact)&lt;/li>
&lt;/ul>
&lt;p>Relevant injury metrics may include (but are not limited to):&lt;/p>
&lt;ul>
&lt;li>Resultant head acceleration&lt;/li>
&lt;li>Head Injury Criterion (HIC)&lt;/li>
&lt;li>Peak rotational acceleration (conceptual discussion)&lt;/li>
&lt;li>Limitations of acceleration-based criteria&lt;/li>
&lt;/ul>
&lt;p>Students must &lt;strong>justify&lt;/strong> why selected injury criteria are relevant for the proposed dummy design.&lt;/p>
&lt;hr>
&lt;h2 id="4-modeling--design-approach">4. Modeling / Design Approach&lt;/h2>
&lt;p>This is a &lt;strong>proof-of-concept experimental design project&lt;/strong>, not a manufacturing task.&lt;/p>
&lt;p>The student is expected to:&lt;/p>
&lt;ul>
&lt;li>Conceptually model the head as a mechanical system&lt;/li>
&lt;li>Translate injury mechanisms into &lt;strong>design requirements&lt;/strong>&lt;/li>
&lt;li>Propose a simplified headform/dummy architecture that captures key dynamic behavior&lt;/li>
&lt;/ul>
&lt;p>Numerical simulations (e.g., FEM) may be used optionally to support design decisions but are &lt;strong>not required&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="5-technical-specification-core-section">5. Technical Specification (Core Section)&lt;/h2>
&lt;p>The project &lt;strong>must include&lt;/strong> a detailed technical proposal covering:&lt;/p>
&lt;h3 id="a-mechanical-structure">a) Mechanical Structure&lt;/h3>
&lt;ul>
&lt;li>Headform geometry (size, shape, mass)&lt;/li>
&lt;li>Internal structure (solid, layered, modular, etc.)&lt;/li>
&lt;li>Material selection and mechanical justification&lt;/li>
&lt;/ul>
&lt;h3 id="b-instrumentation">b) Instrumentation&lt;/h3>
&lt;ul>
&lt;li>Type and number of sensors (e.g., accelerometers)&lt;/li>
&lt;li>Sensor placement and orientation&lt;/li>
&lt;li>Expected signal outputs and sampling considerations&lt;/li>
&lt;/ul>
&lt;h3 id="c-mounting--boundary-conditions">c) Mounting &amp;amp; Boundary Conditions&lt;/h3>
&lt;ul>
&lt;li>Neck interface concept (rigid, compliant, simplified neck)&lt;/li>
&lt;li>Degrees of freedom and constraints&lt;/li>
&lt;/ul>
&lt;h3 id="d-impact-scenarios">d) Impact Scenarios&lt;/h3>
&lt;ul>
&lt;li>Proposed impact test types (drop, pendulum, guided impact)&lt;/li>
&lt;li>Impact velocities or heights&lt;/li>
&lt;li>Repeatability and safety considerations&lt;/li>
&lt;/ul>
&lt;p>Clear &lt;strong>schematics, block diagrams, or CAD drafts&lt;/strong> are expected (hand-drawn or digital).&lt;/p>
&lt;hr>
&lt;h2 id="6-validation-strategy--limitations">6. Validation Strategy &amp;amp; Limitations&lt;/h2>
&lt;p>The project must explicitly discuss:&lt;/p>
&lt;ul>
&lt;li>How the dummy’s response could be validated:
&lt;ul>
&lt;li>comparison with literature data,&lt;/li>
&lt;li>comparison with simplified analytical models,&lt;/li>
&lt;li>qualitative trend validation&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>What injury claims &lt;strong>cannot&lt;/strong> be made using this dummy&lt;/li>
&lt;li>Limitations due to:
&lt;ul>
&lt;li>reduced biofidelity,&lt;/li>
&lt;li>material simplifications,&lt;/li>
&lt;li>absence of internal brain deformation measurements&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>This section is &lt;strong>mandatory&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="7-feasibility--resource-awareness">7. Feasibility &amp;amp; Resource Awareness&lt;/h2>
&lt;p>The project must include a realistic feasibility analysis addressing:&lt;/p>
&lt;ul>
&lt;li>Estimated cost of components (order-of-magnitude)&lt;/li>
&lt;li>Availability of materials and sensors in Iran&lt;/li>
&lt;li>Required equipment (e.g., basic workshop tools, DAQ)&lt;/li>
&lt;li>Safety considerations during testing&lt;/li>
&lt;/ul>
&lt;p>Overly idealized or impractical designs will be penalized.&lt;/p>
&lt;hr>
&lt;h2 id="8-expected-outcomes">8. Expected Outcomes&lt;/h2>
&lt;p>By the end of the project, the student should deliver:&lt;/p>
&lt;ul>
&lt;li>A &lt;strong>detailed design manual&lt;/strong> for the head injury dummy&lt;/li>
&lt;li>Technical drawings and system schematics&lt;/li>
&lt;li>Proposed test protocols&lt;/li>
&lt;li>Clearly defined use cases (education, preliminary testing, research)&lt;/li>
&lt;/ul>
&lt;p>The outcome should be suitable as a &lt;strong>foundation for future laboratory development&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="9-deliverables">9. Deliverables&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Final Report&lt;/strong> (20-25 pages, excluding appendices)&lt;/li>
&lt;li>Figures, schematics, and design drafts&lt;/li>
&lt;li>Cost estimation table&lt;/li>
&lt;li>Oral presentation (15-20 minutes)&lt;/li>
&lt;/ol>
&lt;p>Optional appendices:&lt;/p>
&lt;ul>
&lt;li>CAD files&lt;/li>
&lt;li>Sensor datasheets&lt;/li>
&lt;li>Supporting calculations&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="10-project-specific-grading-rubric">10. Project-Specific Grading Rubric&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Criterion&lt;/th>
&lt;th>Description&lt;/th>
&lt;th>Weight&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Problem formulation &amp;amp; relevance&lt;/td>
&lt;td>Clear definition of injury problem and societal relevance&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Injury mechanism understanding&lt;/td>
&lt;td>Correct identification and explanation of head injury mechanisms&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Injury criteria justification&lt;/td>
&lt;td>Appropriate selection and critical discussion of injury metrics&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Design concept quality&lt;/td>
&lt;td>Coherence, logic, and biomechanical grounding of dummy design&lt;/td>
&lt;td>20%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Technical specification &amp;amp; clarity&lt;/td>
&lt;td>Precision of schematics, descriptions, and system layout&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Validation &amp;amp; limitations&lt;/td>
&lt;td>Realistic validation strategy and honest limitation analysis&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Feasibility &amp;amp; professionalism&lt;/td>
&lt;td>Cost awareness, local feasibility, safety considerations&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Total&lt;/strong>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;strong>100%&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="11-project-scope-agreement">11. Project Scope Agreement&lt;/h2>
&lt;p>By choosing this project, the student agrees to:&lt;/p>
&lt;ul>
&lt;li>Focus on &lt;strong>conceptual and technical rigor&lt;/strong>, not manufacturing&lt;/li>
&lt;li>Respect local resource constraints&lt;/li>
&lt;li>Clearly state assumptions and limitations&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>&lt;strong>Note:&lt;/strong>&lt;br>
&lt;em>A well-designed proof-of-concept dummy can be more scientifically valuable than a poorly validated simulation.&lt;/em>&lt;/p></description></item><item><title>Project Card 02</title><link>https://SadjadAbedi.ir/extras/traumaproj2/</link><pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/extras/traumaproj2/</guid><description>&lt;h2 id="helmet-testing-rig---conceptual-design-and-experimental-evaluation-protocol">Helmet Testing Rig - Conceptual Design and Experimental Evaluation Protocol&lt;/h2>
&lt;hr>
&lt;h3 id="project-pathway">Project Pathway&lt;/h3>
&lt;p>🟩 &lt;strong>Experimental Test System (Proof-of-Concept)&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="1-background--motivation">1. Background &amp;amp; Motivation&lt;/h2>
&lt;p>Helmets are among the most effective personal protective equipment (PPE) for preventing or mitigating head injuries in sports, transportation, and occupational environments. Their protective performance depends not only on material properties, but also on test conditions, injury metrics, and evaluation protocols.&lt;/p>
&lt;p>Commercial helmet testing laboratories rely on expensive standardized rigs and equipment, often inaccessible in developing countries. As a result, locally produced or widely used helmets may not undergo biomechanically meaningful evaluation.&lt;/p>
&lt;p>This project aims to develop a &lt;strong>conceptual and technical design of a helmet testing rig&lt;/strong>, suitable for evaluating helmet performance using biomechanically relevant injury metrics under realistic resource constraints.&lt;/p>
&lt;hr>
&lt;h2 id="2-core-biomechanical-question">2. Core Biomechanical Question&lt;/h2>
&lt;p>&lt;strong>How can helmet protective performance be evaluated using a simplified but biomechanically meaningful testing rig and injury assessment protocol?&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="3-injury-mechanisms--relevant-injury-criteria">3. Injury Mechanisms &amp;amp; Relevant Injury Criteria&lt;/h2>
&lt;p>The project should consider:&lt;/p>
&lt;ul>
&lt;li>Head injury mechanisms relevant to helmeted impacts:
&lt;ul>
&lt;li>Linear acceleration&lt;/li>
&lt;li>Rotational acceleration&lt;/li>
&lt;li>Impact energy dissipation&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Helmet-head interaction&lt;/li>
&lt;li>Effect of impact direction and surface compliance&lt;/li>
&lt;/ul>
&lt;p>Relevant injury metrics may include:&lt;/p>
&lt;ul>
&lt;li>Resultant head acceleration&lt;/li>
&lt;li>Head Injury Criterion (HIC)&lt;/li>
&lt;li>Peak rotational acceleration (conceptual discussion)&lt;/li>
&lt;li>Energy absorption and impact attenuation indicators&lt;/li>
&lt;/ul>
&lt;p>Students must &lt;strong>justify&lt;/strong> the selection of injury metrics with respect to helmet performance evaluation.&lt;/p>
&lt;hr>
&lt;h2 id="4-modeling--design-approach">4. Modeling / Design Approach&lt;/h2>
&lt;p>This is a &lt;strong>proof-of-concept system design project&lt;/strong>.&lt;/p>
&lt;p>The student is expected to:&lt;/p>
&lt;ul>
&lt;li>Translate injury mechanisms into &lt;strong>test objectives&lt;/strong>&lt;/li>
&lt;li>Design a helmet testing rig concept (drop, pendulum, guided impact, or hybrid)&lt;/li>
&lt;li>Propose a &lt;strong>testing protocol&lt;/strong>, not just a device&lt;/li>
&lt;/ul>
&lt;p>Numerical modeling or FEM may be used optionally to support design decisions, but is &lt;strong>not required&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="5-technical-specification-core-section">5. Technical Specification (Core Section)&lt;/h2>
&lt;p>The project &lt;strong>must include&lt;/strong> a detailed system design covering:&lt;/p>
&lt;h3 id="a-test-rig-architecture">a) Test Rig Architecture&lt;/h3>
&lt;ul>
&lt;li>Overall configuration (drop tower, pendulum, guided rail, etc.)&lt;/li>
&lt;li>Impact surface characteristics&lt;/li>
&lt;li>Adjustability (impact velocity, angle)&lt;/li>
&lt;/ul>
&lt;h3 id="b-headform--dummy-interface">b) Headform / Dummy Interface&lt;/h3>
&lt;ul>
&lt;li>Type of headform assumed (rigid, simplified dummy, conceptual ATD)&lt;/li>
&lt;li>Helmet mounting considerations&lt;/li>
&lt;li>Repeatability of positioning&lt;/li>
&lt;/ul>
&lt;h3 id="c-instrumentation">c) Instrumentation&lt;/h3>
&lt;ul>
&lt;li>Sensors required (e.g., accelerometers)&lt;/li>
&lt;li>Sensor placement and coordinate systems&lt;/li>
&lt;li>Data acquisition requirements&lt;/li>
&lt;/ul>
&lt;h3 id="d-test-protocol">d) Test Protocol&lt;/h3>
&lt;ul>
&lt;li>Impact scenarios (locations, directions)&lt;/li>
&lt;li>Number of tests per helmet&lt;/li>
&lt;li>Pass/fail or comparative evaluation logic&lt;/li>
&lt;/ul>
&lt;p>Clear &lt;strong>schematics, block diagrams, or system layouts&lt;/strong> are expected.&lt;/p>
&lt;hr>
&lt;h2 id="6-validation-strategy--limitations">6. Validation Strategy &amp;amp; Limitations&lt;/h2>
&lt;p>The project must explicitly address:&lt;/p>
&lt;ul>
&lt;li>How the testing results could be validated:
&lt;ul>
&lt;li>comparison with existing standards,&lt;/li>
&lt;li>comparison with literature data,&lt;/li>
&lt;li>qualitative trend validation&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>What injury claims &lt;strong>cannot&lt;/strong> be made using the proposed rig&lt;/li>
&lt;li>Limitations related to:
&lt;ul>
&lt;li>simplified headform,&lt;/li>
&lt;li>lack of full biofidelity,&lt;/li>
&lt;li>reduced instrumentation&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>This section is &lt;strong>mandatory&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="7-feasibility--resource-awareness">7. Feasibility &amp;amp; Resource Awareness&lt;/h2>
&lt;p>The project must include a realistic feasibility assessment:&lt;/p>
&lt;ul>
&lt;li>Estimated cost (order-of-magnitude)&lt;/li>
&lt;li>Locally available materials and components&lt;/li>
&lt;li>Required infrastructure (space, safety, power)&lt;/li>
&lt;li>Operational and safety considerations&lt;/li>
&lt;/ul>
&lt;p>Designs assuming access to advanced laboratories or proprietary equipment will be penalized.&lt;/p>
&lt;hr>
&lt;h2 id="8-expected-outcomes">8. Expected Outcomes&lt;/h2>
&lt;p>By the end of the project, the student should deliver:&lt;/p>
&lt;ul>
&lt;li>A &lt;strong>conceptual design of a helmet testing rig&lt;/strong>&lt;/li>
&lt;li>A rig-specific experimental evaluation protocol for helmet testing&lt;/li>
&lt;li>Proposed injury metrics and interpretation strategy&lt;/li>
&lt;li>Recommendations for local helmet safety assessment&lt;/li>
&lt;/ul>
&lt;p>The outcome should be suitable as a &lt;strong>foundation for future laboratory setup or policy guidance&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="9-deliverables">9. Deliverables&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Final Report&lt;/strong> (20-25 pages, excluding appendices)&lt;/li>
&lt;li>System schematics and design drawings&lt;/li>
&lt;li>Testing protocol documentation&lt;/li>
&lt;li>Cost estimation table&lt;/li>
&lt;li>Oral presentation (15-20 minutes)&lt;/li>
&lt;/ol>
&lt;p>Optional appendices:&lt;/p>
&lt;ul>
&lt;li>CAD models&lt;/li>
&lt;li>Sensor datasheets&lt;/li>
&lt;li>Example test scenarios&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="10-project-specific-grading-rubric">10. Project-Specific Grading Rubric&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Criterion&lt;/th>
&lt;th>Description&lt;/th>
&lt;th>Weight&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Problem formulation &amp;amp; relevance&lt;/td>
&lt;td>Clear safety problem definition and context&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Injury mechanism understanding&lt;/td>
&lt;td>Correct biomechanical reasoning for helmeted impacts&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Injury metric selection &amp;amp; justification&lt;/td>
&lt;td>Appropriateness and critical discussion of metrics&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>System design quality&lt;/td>
&lt;td>Coherence and logic of test rig and protocol&lt;/td>
&lt;td>20%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Technical specification &amp;amp; clarity&lt;/td>
&lt;td>Quality of schematics, protocols, and descriptions&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Validation &amp;amp; limitations&lt;/td>
&lt;td>Realistic validation strategy and limitations analysis&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Feasibility &amp;amp; professionalism&lt;/td>
&lt;td>Cost realism, local feasibility, safety awareness&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Total&lt;/strong>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;strong>100%&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="11-project-scope-agreement">11. Project Scope Agreement&lt;/h2>
&lt;p>By choosing this project, the student agrees to:&lt;/p>
&lt;ul>
&lt;li>Focus on &lt;strong>evaluation methodology&lt;/strong>, not certification&lt;/li>
&lt;li>Respect local resource constraints&lt;/li>
&lt;li>Clearly state assumptions and limitations&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>&lt;strong>Note:&lt;/strong>&lt;br>
&lt;em>A meaningful helmet evaluation framework does not require expensive equipment - it requires correct biomechanical thinking.&lt;/em>&lt;/p></description></item><item><title>Project Card 03</title><link>https://SadjadAbedi.ir/extras/traumaproj3/</link><pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/extras/traumaproj3/</guid><description>&lt;h2 id="simplified-finite-element-model-of-head-impact-for-injury-assessment">Simplified Finite Element Model of Head Impact for Injury Assessment&lt;/h2>
&lt;hr>
&lt;h3 id="project-pathway">Project Pathway&lt;/h3>
&lt;p>🟦 &lt;strong>Numerical / Computational Modeling (FEM)&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="1-background--motivation">1. Background &amp;amp; Motivation&lt;/h2>
&lt;p>Finite element (FE) modeling has become a central tool in trauma biomechanics for investigating head injury mechanisms that cannot be directly measured experimentally, such as internal stress and strain distributions in the skull and brain. Simplified FE head models are widely used for educational purposes, sensitivity studies, and early-stage injury analysis.&lt;/p>
&lt;p>This project focuses on developing and using a &lt;strong>simplified FE model of head impact&lt;/strong> to investigate head injury mechanisms and extract commonly used injury metrics. Emphasis is placed on &lt;strong>modeling assumptions, injury metric interpretation, and sensitivity to impact conditions&lt;/strong>, rather than on geometric or material complexity.&lt;/p>
&lt;hr>
&lt;h2 id="2-core-biomechanical-question">2. Core Biomechanical Question&lt;/h2>
&lt;p>&lt;strong>How do impact conditions and modeling assumptions influence biomechanical injury metrics predicted by a simplified finite element head model?&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="3-injury-mechanisms--relevant-injury-criteria">3. Injury Mechanisms &amp;amp; Relevant Injury Criteria&lt;/h2>
&lt;p>The project should consider:&lt;/p>
&lt;ul>
&lt;li>Head injury mechanisms associated with impact:
&lt;ul>
&lt;li>Translational acceleration&lt;/li>
&lt;li>Rotational motion&lt;/li>
&lt;li>Stress/strain development in cranial structures (conceptual level)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Role of impact direction and velocity&lt;/li>
&lt;/ul>
&lt;p>Relevant injury metrics may include:&lt;/p>
&lt;ul>
&lt;li>Resultant head acceleration&lt;/li>
&lt;li>Head Injury Criterion (HIC)&lt;/li>
&lt;li>Peak rotational acceleration&lt;/li>
&lt;li>Simplified strain-based indicators&lt;/li>
&lt;/ul>
&lt;p>Students must &lt;strong>justify&lt;/strong> the choice of injury metrics and discuss their physical meaning and limitations.&lt;/p>
&lt;hr>
&lt;h2 id="4-modeling--analysis-approach">4. Modeling / Analysis Approach&lt;/h2>
&lt;p>This is a &lt;strong>numerical modeling project&lt;/strong> using a simplified FE framework.&lt;/p>
&lt;p>The student is expected to:&lt;/p>
&lt;ul>
&lt;li>Develop or adapt a simplified FE head model (e.g., skull-brain system)&lt;/li>
&lt;li>Define appropriate material models (linear elastic, viscoelastic, or simplified alternatives)&lt;/li>
&lt;li>Apply impact loading scenarios representative of head trauma&lt;/li>
&lt;li>Extract and interpret injury-related outputs&lt;/li>
&lt;/ul>
&lt;p>High anatomical fidelity is &lt;strong>not required&lt;/strong>. Model clarity and biomechanical reasoning are prioritized.&lt;/p>
&lt;hr>
&lt;h2 id="5-technical-specification-core-section">5. Technical Specification (Core Section)&lt;/h2>
&lt;p>The project &lt;strong>must include&lt;/strong> a clear and detailed description of:&lt;/p>
&lt;h3 id="a-geometry-and-mesh">a) Geometry and Mesh&lt;/h3>
&lt;ul>
&lt;li>Head model geometry (simplified representation)&lt;/li>
&lt;li>Mesh type and resolution&lt;/li>
&lt;li>Justification of simplifications&lt;/li>
&lt;/ul>
&lt;h3 id="b-material-models">b) Material Models&lt;/h3>
&lt;ul>
&lt;li>Material assumptions for skull and brain&lt;/li>
&lt;li>Rate-dependence (if considered)&lt;/li>
&lt;li>Rationale for chosen parameters&lt;/li>
&lt;/ul>
&lt;h3 id="c-boundary-conditions-and-loading">c) Boundary Conditions and Loading&lt;/h3>
&lt;ul>
&lt;li>Impact configuration (e.g., rigid surface, helmeted/unhelmeted)&lt;/li>
&lt;li>Impact velocity or acceleration&lt;/li>
&lt;li>Constraints and contacts&lt;/li>
&lt;/ul>
&lt;h3 id="d-output-quantities">d) Output Quantities&lt;/h3>
&lt;ul>
&lt;li>Extracted kinematic signals&lt;/li>
&lt;li>Injury metrics computation&lt;/li>
&lt;li>Post-processing workflow&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="6-parametric--sensitivity-study">6. Parametric / Sensitivity Study&lt;/h2>
&lt;p>A &lt;strong>limited parametric study&lt;/strong> is required, such as:&lt;/p>
&lt;ul>
&lt;li>Variation of impact velocity&lt;/li>
&lt;li>Variation of material stiffness or damping&lt;/li>
&lt;li>Variation of boundary conditions&lt;/li>
&lt;/ul>
&lt;p>The goal is to assess &lt;strong>trends&lt;/strong>, not precise injury thresholds.&lt;/p>
&lt;hr>
&lt;h2 id="7-validation-strategy--limitations">7. Validation Strategy &amp;amp; Limitations&lt;/h2>
&lt;p>The project must explicitly discuss:&lt;/p>
&lt;ul>
&lt;li>Qualitative or quantitative comparison with literature data&lt;/li>
&lt;li>Sensitivity to modeling assumptions&lt;/li>
&lt;li>Limitations due to:
&lt;ul>
&lt;li>simplified geometry,&lt;/li>
&lt;li>material modeling,&lt;/li>
&lt;li>lack of experimental validation&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>Students must clearly state &lt;strong>what conclusions are justified and what are not&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="8-feasibility--computational-considerations">8. Feasibility &amp;amp; Computational Considerations&lt;/h2>
&lt;p>The project must address:&lt;/p>
&lt;ul>
&lt;li>Software used (e.g., Abaqus/Explicit, LS-DYNA)&lt;/li>
&lt;li>Computational cost and runtime&lt;/li>
&lt;li>Mesh and timestep considerations&lt;/li>
&lt;li>Reproducibility of simulations&lt;/li>
&lt;/ul>
&lt;p>Models requiring excessive computational resources are discouraged.&lt;/p>
&lt;hr>
&lt;h2 id="9-expected-outcomes">9. Expected Outcomes&lt;/h2>
&lt;p>By the end of the project, the student should deliver:&lt;/p>
&lt;ul>
&lt;li>A working simplified FE head impact model&lt;/li>
&lt;li>Injury metric results for selected scenarios&lt;/li>
&lt;li>Sensitivity analysis results&lt;/li>
&lt;li>A critical interpretation of injury predictions&lt;/li>
&lt;/ul>
&lt;p>The outcome should demonstrate &lt;strong>numerical competence and biomechanical insight&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="10-deliverables">10. Deliverables&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Final Report&lt;/strong> (20-25 pages, excluding appendices)&lt;/li>
&lt;li>Model description and key figures&lt;/li>
&lt;li>Injury metric plots and tables&lt;/li>
&lt;li>Oral presentation (15-20 minutes)&lt;/li>
&lt;/ol>
&lt;p>Optional appendices:&lt;/p>
&lt;ul>
&lt;li>Input files&lt;/li>
&lt;li>Post-processing scripts&lt;/li>
&lt;li>Additional simulation cases&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="11-project-specific-grading-rubric">11. Project-Specific Grading Rubric&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Criterion&lt;/th>
&lt;th>Description&lt;/th>
&lt;th>Weight&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Problem formulation &amp;amp; relevance&lt;/td>
&lt;td>Clear definition of injury scenario and objectives&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Injury mechanism understanding&lt;/td>
&lt;td>Correct biomechanical interpretation of head impact&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Injury metric selection &amp;amp; justification&lt;/td>
&lt;td>Appropriate and critical use of injury criteria&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>FEM model formulation&lt;/td>
&lt;td>Quality of geometry, materials, BCs, and assumptions&lt;/td>
&lt;td>20%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Parametric / sensitivity analysis&lt;/td>
&lt;td>Meaningful exploration and interpretation of trends&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Validation &amp;amp; limitations&lt;/td>
&lt;td>Honest discussion of model credibility and limits&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Technical clarity &amp;amp; professionalism&lt;/td>
&lt;td>Quality of documentation, figures, and explanations&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Total&lt;/strong>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;strong>100%&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="12-project-scope-agreement">12. Project Scope Agreement&lt;/h2>
&lt;p>By choosing this project, the student agrees to:&lt;/p>
&lt;ul>
&lt;li>Prioritize &lt;strong>interpretation over complexity&lt;/strong>&lt;/li>
&lt;li>Clearly document assumptions and limitations&lt;/li>
&lt;li>Avoid unjustified injury claims based on simplified models&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>&lt;strong>Note:&lt;/strong>&lt;br>
&lt;em>A simplified FE model, when correctly interpreted, can provide deeper insight than a complex but poorly validated one.&lt;/em>&lt;/p></description></item><item><title>Project Card 04</title><link>https://SadjadAbedi.ir/extras/traumaproj4/</link><pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/extras/traumaproj4/</guid><description>&lt;h2 id="finite-element-simulation-of-whiplash-injury-and-neck-injury-criteria">Finite Element Simulation of Whiplash Injury and Neck Injury Criteria&lt;/h2>
&lt;hr>
&lt;h3 id="project-pathway">Project Pathway&lt;/h3>
&lt;p>🟦 &lt;strong>Numerical / Computational Modeling (FEM)&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="1-background--motivation">1. Background &amp;amp; Motivation&lt;/h2>
&lt;p>Whiplash-associated disorders (WAD) are among the most frequent injuries in low-speed rear-end vehicle collisions and remain a major challenge in trauma biomechanics. Despite extensive experimental and clinical research, whiplash injury mechanisms are still not fully understood, partly due to the complex anatomy and dynamic response of the cervical spine.&lt;/p>
&lt;p>Finite element (FE) modeling provides a powerful framework for investigating cervical spine kinematics, load transmission, and neck injury criteria under whiplash loading conditions. Simplified FE models are widely used to study injury trends, compare injury criteria, and evaluate sensitivity to loading conditions.&lt;/p>
&lt;p>This project focuses on developing and using a &lt;strong>simplified FE model of the head-neck system&lt;/strong> to study whiplash injury mechanisms and compare commonly used neck injury criteria.&lt;/p>
&lt;hr>
&lt;h2 id="2-core-biomechanical-question">2. Core Biomechanical Question&lt;/h2>
&lt;p>&lt;strong>How do whiplash loading conditions and modeling assumptions influence predicted neck injury metrics in a simplified finite element model of the cervical spine?&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="3-injury-mechanisms--relevant-injury-criteria">3. Injury Mechanisms &amp;amp; Relevant Injury Criteria&lt;/h2>
&lt;p>The project should address the following biomechanical aspects:&lt;/p>
&lt;ul>
&lt;li>Whiplash injury mechanisms:
&lt;ul>
&lt;li>Relative motion between head and torso&lt;/li>
&lt;li>Flexion-extension dynamics&lt;/li>
&lt;li>Shear forces and bending moments in the cervical spine&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Early- and late-phase whiplash kinematics&lt;/li>
&lt;/ul>
&lt;p>Relevant neck injury criteria may include:&lt;/p>
&lt;ul>
&lt;li>Neck Injury Criterion (NIC)&lt;/li>
&lt;li>Nij criterion&lt;/li>
&lt;li>Neck protection criterion (Nkm)&lt;/li>
&lt;li>Upper/lower neck force-moment measures (conceptual discussion)&lt;/li>
&lt;/ul>
&lt;p>Students must &lt;strong>justify&lt;/strong> the selection of injury criteria and explain their biomechanical meaning and limitations.&lt;/p>
&lt;hr>
&lt;h2 id="4-modeling--analysis-approach">4. Modeling / Analysis Approach&lt;/h2>
&lt;p>This is a &lt;strong>numerical FEM-based project&lt;/strong> using a simplified head-neck or cervical spine model.&lt;/p>
&lt;p>The student is expected to:&lt;/p>
&lt;ul>
&lt;li>Develop or adapt a simplified FE model of the head-neck system&lt;/li>
&lt;li>Represent cervical vertebrae, intervertebral discs, and major ligaments at a conceptual level&lt;/li>
&lt;li>Apply whiplash-relevant loading or kinematic boundary conditions&lt;/li>
&lt;li>Compute and interpret neck injury metrics&lt;/li>
&lt;/ul>
&lt;p>High anatomical fidelity is &lt;strong>not required&lt;/strong>. Emphasis is placed on &lt;strong>mechanisms, trends, and interpretation&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="5-technical-specification-core-section">5. Technical Specification (Core Section)&lt;/h2>
&lt;p>The project &lt;strong>must include&lt;/strong> a clear description of:&lt;/p>
&lt;h3 id="a-geometry-and-model-structure">a) Geometry and Model Structure&lt;/h3>
&lt;ul>
&lt;li>Level of anatomical detail (e.g., lumped segments, simplified vertebrae)&lt;/li>
&lt;li>Modeling of head mass and inertia&lt;/li>
&lt;li>Justification of simplifications&lt;/li>
&lt;/ul>
&lt;h3 id="b-material-and-joint-modeling">b) Material and Joint Modeling&lt;/h3>
&lt;ul>
&lt;li>Representation of discs and ligaments&lt;/li>
&lt;li>Assumed stiffness, damping, or nonlinear behavior&lt;/li>
&lt;li>Rationale for material parameter selection&lt;/li>
&lt;/ul>
&lt;h3 id="c-boundary-conditions-and-loading">c) Boundary Conditions and Loading&lt;/h3>
&lt;ul>
&lt;li>Whiplash loading scenario (e.g., imposed acceleration, velocity, or displacement)&lt;/li>
&lt;li>Representation of torso support or seat interaction&lt;/li>
&lt;li>Contact or coupling assumptions&lt;/li>
&lt;/ul>
&lt;h3 id="d-output-quantities">d) Output Quantities&lt;/h3>
&lt;ul>
&lt;li>Head and neck kinematics&lt;/li>
&lt;li>Forces and moments at relevant cervical levels&lt;/li>
&lt;li>Computation of injury criteria (NIC, Nij, Nkm, etc.)&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="6-parametric--sensitivity-study">6. Parametric / Sensitivity Study&lt;/h2>
&lt;p>A &lt;strong>limited parametric study&lt;/strong> is required, for example:&lt;/p>
&lt;ul>
&lt;li>Variation of loading severity or pulse shape&lt;/li>
&lt;li>Variation of neck stiffness or damping parameters&lt;/li>
&lt;li>Comparison of different injury criteria responses&lt;/li>
&lt;/ul>
&lt;p>The focus should be on &lt;strong>relative trends&lt;/strong>, not absolute injury thresholds.&lt;/p>
&lt;hr>
&lt;h2 id="7-validation-strategy--limitations">7. Validation Strategy &amp;amp; Limitations&lt;/h2>
&lt;p>The project must explicitly discuss:&lt;/p>
&lt;ul>
&lt;li>Comparison with published whiplash experiments or ATD data&lt;/li>
&lt;li>Sensitivity of injury metrics to modeling assumptions&lt;/li>
&lt;li>Limitations related to:
&lt;ul>
&lt;li>simplified anatomy,&lt;/li>
&lt;li>lack of muscle activation modeling,&lt;/li>
&lt;li>absence of experimental validation&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>Students must clearly state &lt;strong>which conclusions are justified&lt;/strong> by the model.&lt;/p>
&lt;hr>
&lt;h2 id="8-feasibility--computational-considerations">8. Feasibility &amp;amp; Computational Considerations&lt;/h2>
&lt;p>The project must address:&lt;/p>
&lt;ul>
&lt;li>Software used (e.g., Abaqus/Explicit, LS-DYNA)&lt;/li>
&lt;li>Computational cost and runtime&lt;/li>
&lt;li>Time-step stability and numerical considerations&lt;/li>
&lt;li>Reproducibility of simulations&lt;/li>
&lt;/ul>
&lt;p>Overly complex or computationally expensive models are discouraged.&lt;/p>
&lt;hr>
&lt;h2 id="9-expected-outcomes">9. Expected Outcomes&lt;/h2>
&lt;p>By the end of the project, the student should deliver:&lt;/p>
&lt;ul>
&lt;li>A simplified FE model of whiplash loading&lt;/li>
&lt;li>Computed neck injury metrics for selected scenarios&lt;/li>
&lt;li>Sensitivity analysis results&lt;/li>
&lt;li>A critical interpretation of whiplash injury predictions&lt;/li>
&lt;/ul>
&lt;p>The outcome should demonstrate &lt;strong>numerical competence and biomechanical judgment&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="10-deliverables">10. Deliverables&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Final Report&lt;/strong> (20-25 pages, excluding appendices)&lt;/li>
&lt;li>Model description and representative figures&lt;/li>
&lt;li>Injury metric plots and tables&lt;/li>
&lt;li>Oral presentation (15-20 minutes)&lt;/li>
&lt;/ol>
&lt;p>Optional appendices:&lt;/p>
&lt;ul>
&lt;li>Input files&lt;/li>
&lt;li>Post-processing scripts&lt;/li>
&lt;li>Additional simulation cases&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="11-project-specific-grading-rubric">11. Project-Specific Grading Rubric&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Criterion&lt;/th>
&lt;th>Description&lt;/th>
&lt;th>Weight&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Problem formulation &amp;amp; relevance&lt;/td>
&lt;td>Clear definition of whiplash scenario and objectives&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Injury mechanism understanding&lt;/td>
&lt;td>Correct interpretation of whiplash biomechanics&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Injury metric selection &amp;amp; justification&lt;/td>
&lt;td>Appropriate and critical use of neck injury criteria&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>FEM model formulation&lt;/td>
&lt;td>Quality of geometry, joints, BCs, and assumptions&lt;/td>
&lt;td>20%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Parametric / sensitivity analysis&lt;/td>
&lt;td>Insightful exploration of trends and comparisons&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Validation &amp;amp; limitations&lt;/td>
&lt;td>Realistic assessment of model credibility&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Technical clarity &amp;amp; professionalism&lt;/td>
&lt;td>Quality of documentation and figures&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Total&lt;/strong>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;strong>100%&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="12-project-scope-agreement">12. Project Scope Agreement&lt;/h2>
&lt;p>By choosing this project, the student agrees to:&lt;/p>
&lt;ul>
&lt;li>Focus on &lt;strong>mechanistic interpretation&lt;/strong>, not model complexity&lt;/li>
&lt;li>Clearly document assumptions and limitations&lt;/li>
&lt;li>Avoid overclaiming injury prediction accuracy&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>&lt;strong>Note:&lt;/strong>&lt;br>
&lt;em>In whiplash biomechanics, understanding trends and mechanisms is often more valuable than predicting exact injury thresholds.&lt;/em>&lt;/p></description></item><item><title>Project Card 05</title><link>https://SadjadAbedi.ir/extras/traumaproj5/</link><pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/extras/traumaproj5/</guid><description>&lt;h2 id="finite-element-simulation-of-thoracic-compression-and-injury-criteria">Finite Element Simulation of Thoracic Compression and Injury Criteria&lt;/h2>
&lt;hr>
&lt;h3 id="project-pathway">Project Pathway&lt;/h3>
&lt;p>🟦 &lt;strong>Numerical / Computational Modeling (FEM)&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="1-background--motivation">1. Background &amp;amp; Motivation&lt;/h2>
&lt;p>Thoracic injuries are a leading cause of morbidity and mortality in automotive crashes, falls, and blunt impact accidents. The thorax exhibits a complex biomechanical response due to its composite structure, including ribs, sternum, spine, and internal organs. Injury mechanisms range from rib fractures to lung contusions and cardiovascular injuries.&lt;/p>
&lt;p>In trauma biomechanics, thoracic injury risk is commonly assessed using global kinematic and deformation-based injury criteria, such as chest acceleration, chest compression, and the Viscous Criterion (VC). Finite element (FE) modeling provides a valuable tool for studying thoracic response under controlled loading conditions and for comparing the behavior of different injury criteria.&lt;/p>
&lt;p>This project focuses on developing and using a &lt;strong>simplified FE model of the thorax&lt;/strong> to investigate thoracic compression mechanisms and evaluate commonly used thoracic injury criteria.&lt;/p>
&lt;hr>
&lt;h2 id="2-core-biomechanical-question">2. Core Biomechanical Question&lt;/h2>
&lt;p>&lt;strong>How do thoracic compression characteristics and loading conditions influence thoracic injury criteria predicted by a simplified finite element model?&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="3-injury-mechanisms--relevant-injury-criteria">3. Injury Mechanisms &amp;amp; Relevant Injury Criteria&lt;/h2>
&lt;p>The project should address the following biomechanical aspects:&lt;/p>
&lt;ul>
&lt;li>Thoracic injury mechanisms:
&lt;ul>
&lt;li>Chest wall compression&lt;/li>
&lt;li>Rib cage deformation&lt;/li>
&lt;li>Rate-dependent thoracic response&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Frontal blunt loading scenarios&lt;/li>
&lt;/ul>
&lt;p>Relevant thoracic injury metrics may include:&lt;/p>
&lt;ul>
&lt;li>Chest compression (deflection-based criteria)&lt;/li>
&lt;li>Chest acceleration&lt;/li>
&lt;li>Viscous Criterion (VC)&lt;/li>
&lt;li>Combined thoracic indices (conceptual discussion)&lt;/li>
&lt;/ul>
&lt;p>Students must &lt;strong>justify&lt;/strong> the selection of injury criteria and explain their biomechanical significance and limitations.&lt;/p>
&lt;hr>
&lt;h2 id="4-modeling--analysis-approach">4. Modeling / Analysis Approach&lt;/h2>
&lt;p>This is a &lt;strong>numerical FEM-based project&lt;/strong> using a simplified thoracic model.&lt;/p>
&lt;p>The student is expected to:&lt;/p>
&lt;ul>
&lt;li>Develop or adapt a simplified FE representation of the thorax&lt;/li>
&lt;li>Model key structural components (rib cage, sternum, spine) at a conceptual level&lt;/li>
&lt;li>Apply frontal compression or impact loading representative of thoracic trauma&lt;/li>
&lt;li>Compute and interpret thoracic injury metrics&lt;/li>
&lt;/ul>
&lt;p>High anatomical fidelity is &lt;strong>not required&lt;/strong>. The emphasis is on &lt;strong>mechanisms, trends, and injury metric interpretation&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="5-technical-specification-core-section">5. Technical Specification (Core Section)&lt;/h2>
&lt;p>The project &lt;strong>must include&lt;/strong> a clear and structured description of:&lt;/p>
&lt;h3 id="a-geometry-and-model-structure">a) Geometry and Model Structure&lt;/h3>
&lt;ul>
&lt;li>Simplified thoracic geometry&lt;/li>
&lt;li>Representation of ribs and sternum&lt;/li>
&lt;li>Justification of geometric simplifications&lt;/li>
&lt;/ul>
&lt;h3 id="b-material-modeling">b) Material Modeling&lt;/h3>
&lt;ul>
&lt;li>Material assumptions for bony and soft tissues&lt;/li>
&lt;li>Rate-dependence or damping (if considered)&lt;/li>
&lt;li>Rationale for parameter selection&lt;/li>
&lt;/ul>
&lt;h3 id="c-boundary-conditions-and-loading">c) Boundary Conditions and Loading&lt;/h3>
&lt;ul>
&lt;li>Loading configuration (e.g., rigid impactor, distributed compression)&lt;/li>
&lt;li>Loading rate or velocity&lt;/li>
&lt;li>Constraints and contacts&lt;/li>
&lt;/ul>
&lt;h3 id="d-output-quantities">d) Output Quantities&lt;/h3>
&lt;ul>
&lt;li>Chest deflection and compression&lt;/li>
&lt;li>Chest acceleration&lt;/li>
&lt;li>Computation of VC and other injury metrics&lt;/li>
&lt;li>Post-processing workflow&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="6-parametric--sensitivity-study">6. Parametric / Sensitivity Study&lt;/h2>
&lt;p>A &lt;strong>limited parametric study&lt;/strong> is required, such as:&lt;/p>
&lt;ul>
&lt;li>Variation of loading rate or impact velocity&lt;/li>
&lt;li>Variation of thoracic stiffness parameters&lt;/li>
&lt;li>Comparison between different injury criteria responses&lt;/li>
&lt;/ul>
&lt;p>The goal is to identify &lt;strong>relative trends and sensitivities&lt;/strong>, not absolute injury thresholds.&lt;/p>
&lt;hr>
&lt;h2 id="7-validation-strategy--limitations">7. Validation Strategy &amp;amp; Limitations&lt;/h2>
&lt;p>The project must explicitly discuss:&lt;/p>
&lt;ul>
&lt;li>Qualitative or quantitative comparison with published thoracic impact experiments&lt;/li>
&lt;li>Sensitivity of injury metrics to modeling assumptions&lt;/li>
&lt;li>Limitations related to:
&lt;ul>
&lt;li>simplified thoracic anatomy,&lt;/li>
&lt;li>absence of internal organ modeling,&lt;/li>
&lt;li>lack of experimental validation&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>Students must clearly state &lt;strong>which conclusions are supported by the model&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="8-feasibility--computational-considerations">8. Feasibility &amp;amp; Computational Considerations&lt;/h2>
&lt;p>The project must address:&lt;/p>
&lt;ul>
&lt;li>Software used (e.g., Abaqus/Explicit, LS-DYNA)&lt;/li>
&lt;li>Computational cost and runtime&lt;/li>
&lt;li>Mesh density and timestep considerations&lt;/li>
&lt;li>Numerical stability and contact handling&lt;/li>
&lt;/ul>
&lt;p>Models requiring excessive computational resources are discouraged.&lt;/p>
&lt;hr>
&lt;h2 id="9-expected-outcomes">9. Expected Outcomes&lt;/h2>
&lt;p>By the end of the project, the student should deliver:&lt;/p>
&lt;ul>
&lt;li>A simplified FE thoracic compression model&lt;/li>
&lt;li>Computed thoracic injury metrics for selected loading scenarios&lt;/li>
&lt;li>Sensitivity analysis results&lt;/li>
&lt;li>A critical interpretation of thoracic injury predictions&lt;/li>
&lt;/ul>
&lt;p>The outcome should demonstrate &lt;strong>numerical competence and biomechanical insight&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="10-deliverables">10. Deliverables&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Final Report&lt;/strong> (20-25 pages, excluding appendices)&lt;/li>
&lt;li>Model description and representative figures&lt;/li>
&lt;li>Injury metric plots and tables&lt;/li>
&lt;li>Oral presentation (15-20 minutes)&lt;/li>
&lt;/ol>
&lt;p>Optional appendices:&lt;/p>
&lt;ul>
&lt;li>Input files&lt;/li>
&lt;li>Post-processing scripts&lt;/li>
&lt;li>Additional simulation cases&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="11-project-specific-grading-rubric">11. Project-Specific Grading Rubric&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Criterion&lt;/th>
&lt;th>Description&lt;/th>
&lt;th>Weight&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Problem formulation &amp;amp; relevance&lt;/td>
&lt;td>Clear definition of thoracic injury scenario&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Injury mechanism understanding&lt;/td>
&lt;td>Correct interpretation of thoracic biomechanics&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Injury metric selection &amp;amp; justification&lt;/td>
&lt;td>Appropriate and critical use of thoracic criteria&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>FEM model formulation&lt;/td>
&lt;td>Quality of geometry, materials, BCs, and assumptions&lt;/td>
&lt;td>20%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Parametric / sensitivity analysis&lt;/td>
&lt;td>Insightful exploration of trends and criteria comparison&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Validation &amp;amp; limitations&lt;/td>
&lt;td>Realistic discussion of model credibility&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Technical clarity &amp;amp; professionalism&lt;/td>
&lt;td>Quality of documentation and figures&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Total&lt;/strong>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;strong>100%&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="12-project-scope-agreement">12. Project Scope Agreement&lt;/h2>
&lt;p>By choosing this project, the student agrees to:&lt;/p>
&lt;ul>
&lt;li>Emphasize &lt;strong>injury mechanism interpretation&lt;/strong> over model complexity&lt;/li>
&lt;li>Clearly document assumptions and limitations&lt;/li>
&lt;li>Avoid overinterpretation of simplified injury predictions&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>&lt;strong>Note:&lt;/strong>&lt;br>
&lt;em>Thoracic injury criteria are context-dependent; understanding their assumptions is as important as computing their values.&lt;/em>&lt;/p></description></item><item><title>Project Card 06</title><link>https://SadjadAbedi.ir/extras/traumaproj6/</link><pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/extras/traumaproj6/</guid><description>&lt;h2 id="finite-element-simulation-of-femur-or-pelvic-impact-injury-using-force-based-criteria">Finite Element Simulation of Femur or Pelvic Impact Injury Using Force-Based Criteria&lt;/h2>
&lt;hr>
&lt;h3 id="project-pathway">Project Pathway&lt;/h3>
&lt;p>🟦 &lt;strong>Numerical / Computational Modeling (FEM)&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="1-background--motivation">1. Background &amp;amp; Motivation&lt;/h2>
&lt;p>Injuries to the pelvis and lower extremities, particularly the femur, are common in automotive crashes, pedestrian impacts, falls, and industrial accidents. These injuries can lead to severe long-term disability and are therefore a major focus of trauma biomechanics and safety system design.&lt;/p>
&lt;p>Unlike head or thoracic injuries, femur and pelvic injury assessment often relies on &lt;strong>force-based injury criteria&lt;/strong>, reflecting the load-bearing role of these structures. Finite element (FE) modeling enables detailed investigation of load transfer, stress distribution, and sensitivity of injury metrics to impact conditions and modeling assumptions.&lt;/p>
&lt;p>This project focuses on developing and using a &lt;strong>simplified FE model of the femur or pelvis&lt;/strong> to study impact injury mechanisms and evaluate commonly used force-based injury criteria.&lt;/p>
&lt;hr>
&lt;h2 id="2-core-biomechanical-question">2. Core Biomechanical Question&lt;/h2>
&lt;p>&lt;strong>How do impact conditions and modeling assumptions influence force-based injury criteria predicted by a simplified finite element model of the femur or pelvis?&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="3-injury-mechanisms--relevant-injury-criteria">3. Injury Mechanisms &amp;amp; Relevant Injury Criteria&lt;/h2>
&lt;p>The project should address the following biomechanical aspects:&lt;/p>
&lt;ul>
&lt;li>Lower extremity injury mechanisms:
&lt;ul>
&lt;li>Axial compression&lt;/li>
&lt;li>Bending and shear&lt;/li>
&lt;li>Load transmission through the pelvis or femur&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Impact scenarios relevant to automotive or pedestrian trauma&lt;/li>
&lt;/ul>
&lt;p>Relevant injury metrics may include:&lt;/p>
&lt;ul>
&lt;li>Femur axial force&lt;/li>
&lt;li>Femur Force Criterion (FFC)&lt;/li>
&lt;li>Pelvic compression force (conceptual discussion)&lt;/li>
&lt;li>Stress- or strain-based indicators (optional, with justification)&lt;/li>
&lt;/ul>
&lt;p>Students must &lt;strong>justify&lt;/strong> the selection of injury criteria and explain their biomechanical relevance and limitations.&lt;/p>
&lt;hr>
&lt;h2 id="4-modeling--analysis-approach">4. Modeling / Analysis Approach&lt;/h2>
&lt;p>This is a &lt;strong>numerical FEM-based project&lt;/strong> using a simplified lower-extremity model.&lt;/p>
&lt;p>The student is expected to:&lt;/p>
&lt;ul>
&lt;li>Develop or adapt a simplified FE model of the femur or pelvic structure&lt;/li>
&lt;li>Represent cortical and cancellous bone at a conceptual level&lt;/li>
&lt;li>Apply impact or compressive loading representative of traumatic events&lt;/li>
&lt;li>Extract and interpret force-based injury metrics&lt;/li>
&lt;/ul>
&lt;p>High anatomical detail is &lt;strong>not required&lt;/strong>. Emphasis is placed on &lt;strong>load paths, injury metrics, and interpretation&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="5-technical-specification-core-section">5. Technical Specification (Core Section)&lt;/h2>
&lt;p>The project &lt;strong>must include&lt;/strong> a clear and structured description of:&lt;/p>
&lt;h3 id="a-geometry-and-model-structure">a) Geometry and Model Structure&lt;/h3>
&lt;ul>
&lt;li>Choice of femur or pelvis geometry (simplified)&lt;/li>
&lt;li>Mesh type and resolution&lt;/li>
&lt;li>Justification of geometric simplifications&lt;/li>
&lt;/ul>
&lt;h3 id="b-material-modeling">b) Material Modeling&lt;/h3>
&lt;ul>
&lt;li>Material assumptions for bone (linear elastic or simplified nonlinear)&lt;/li>
&lt;li>Treatment of heterogeneity (if any)&lt;/li>
&lt;li>Rationale for parameter selection&lt;/li>
&lt;/ul>
&lt;h3 id="c-boundary-conditions-and-loading">c) Boundary Conditions and Loading&lt;/h3>
&lt;ul>
&lt;li>Loading configuration (axial impact, bending, or combined loading)&lt;/li>
&lt;li>Impact velocity or applied force&lt;/li>
&lt;li>Constraints and contact definitions&lt;/li>
&lt;/ul>
&lt;h3 id="d-output-quantities">d) Output Quantities&lt;/h3>
&lt;ul>
&lt;li>Internal forces and reaction forces&lt;/li>
&lt;li>Force-based injury metrics (e.g., FFC)&lt;/li>
&lt;li>Stress or strain distributions (if used)&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="6-parametric--sensitivity-study">6. Parametric / Sensitivity Study&lt;/h2>
&lt;p>A &lt;strong>limited parametric study&lt;/strong> is required, such as:&lt;/p>
&lt;ul>
&lt;li>Variation of impact velocity or loading magnitude&lt;/li>
&lt;li>Variation of bone stiffness or boundary conditions&lt;/li>
&lt;li>Comparison between different loading configurations&lt;/li>
&lt;/ul>
&lt;p>The goal is to assess &lt;strong>relative trends and sensitivities&lt;/strong>, not precise fracture thresholds.&lt;/p>
&lt;hr>
&lt;h2 id="7-validation-strategy--limitations">7. Validation Strategy &amp;amp; Limitations&lt;/h2>
&lt;p>The project must explicitly discuss:&lt;/p>
&lt;ul>
&lt;li>Comparison with published femur or pelvis impact tolerance data&lt;/li>
&lt;li>Sensitivity of injury predictions to modeling assumptions&lt;/li>
&lt;li>Limitations related to:
&lt;ul>
&lt;li>simplified geometry,&lt;/li>
&lt;li>absence of fracture modeling,&lt;/li>
&lt;li>lack of experimental validation&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>Students must clearly state &lt;strong>what conclusions are justified&lt;/strong> by the model.&lt;/p>
&lt;hr>
&lt;h2 id="8-feasibility--computational-considerations">8. Feasibility &amp;amp; Computational Considerations&lt;/h2>
&lt;p>The project must address:&lt;/p>
&lt;ul>
&lt;li>Software used (e.g., Abaqus/Explicit, LS-DYNA)&lt;/li>
&lt;li>Computational cost and runtime&lt;/li>
&lt;li>Mesh density and timestep considerations&lt;/li>
&lt;li>Numerical stability under high loads&lt;/li>
&lt;/ul>
&lt;p>Overly complex fracture or damage models are discouraged.&lt;/p>
&lt;hr>
&lt;h2 id="9-expected-outcomes">9. Expected Outcomes&lt;/h2>
&lt;p>By the end of the project, the student should deliver:&lt;/p>
&lt;ul>
&lt;li>A simplified FE femur or pelvis impact model&lt;/li>
&lt;li>Computed force-based injury metrics for selected scenarios&lt;/li>
&lt;li>Sensitivity analysis results&lt;/li>
&lt;li>A critical interpretation of lower-extremity injury predictions&lt;/li>
&lt;/ul>
&lt;p>The outcome should demonstrate &lt;strong>numerical competence and biomechanical reasoning&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="10-deliverables">10. Deliverables&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Final Report&lt;/strong> (20-25 pages, excluding appendices)&lt;/li>
&lt;li>Model description and representative figures&lt;/li>
&lt;li>Injury metric plots and tables&lt;/li>
&lt;li>Oral presentation (15-20 minutes)&lt;/li>
&lt;/ol>
&lt;p>Optional appendices:&lt;/p>
&lt;ul>
&lt;li>Input files&lt;/li>
&lt;li>Post-processing scripts&lt;/li>
&lt;li>Additional simulation cases&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="11-project-specific-grading-rubric">11. Project-Specific Grading Rubric&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Criterion&lt;/th>
&lt;th>Description&lt;/th>
&lt;th>Weight&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Problem formulation &amp;amp; relevance&lt;/td>
&lt;td>Clear definition of lower-extremity injury scenario&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Injury mechanism understanding&lt;/td>
&lt;td>Correct interpretation of femur/pelvic biomechanics&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Injury metric selection &amp;amp; justification&lt;/td>
&lt;td>Appropriate and critical use of force-based criteria&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>FEM model formulation&lt;/td>
&lt;td>Quality of geometry, materials, BCs, and assumptions&lt;/td>
&lt;td>20%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Parametric / sensitivity analysis&lt;/td>
&lt;td>Insightful exploration of trends and load paths&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Validation &amp;amp; limitations&lt;/td>
&lt;td>Realistic discussion of model credibility&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Technical clarity &amp;amp; professionalism&lt;/td>
&lt;td>Quality of documentation and figures&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Total&lt;/strong>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;strong>100%&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="12-project-scope-agreement">12. Project Scope Agreement&lt;/h2>
&lt;p>By choosing this project, the student agrees to:&lt;/p>
&lt;ul>
&lt;li>Focus on &lt;strong>load-path interpretation&lt;/strong>, not fracture prediction&lt;/li>
&lt;li>Clearly document assumptions and limitations&lt;/li>
&lt;li>Avoid unjustified claims about injury thresholds&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>&lt;strong>Note:&lt;/strong>&lt;br>
&lt;em>In lower-extremity trauma biomechanics, understanding force transmission is often more informative than predicting exact fracture locations.&lt;/em>&lt;/p></description></item><item><title>Project Card 07</title><link>https://SadjadAbedi.ir/extras/traumaproj7/</link><pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/extras/traumaproj7/</guid><description>&lt;h2 id="thoracic-impact-test-setup---proof-of-concept-design-for-injury-assessment">Thoracic Impact Test Setup - Proof-of-Concept Design for Injury Assessment&lt;/h2>
&lt;hr>
&lt;h3 id="project-pathway">Project Pathway&lt;/h3>
&lt;p>🟩 &lt;strong>Experimental / Test System Design (Proof-of-Concept)&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="1-background--motivation">1. Background &amp;amp; Motivation&lt;/h2>
&lt;p>Thoracic injuries are a major contributor to serious trauma and fatality in automotive crashes, falls, and blunt impact accidents. The thorax exhibits complex biomechanical behavior due to its composite structure, including the rib cage, sternum, spine, and internal organs. Experimental testing has played a key role in establishing thoracic injury criteria and validating safety systems such as seatbelts and airbags.&lt;/p>
&lt;p>However, standardized thoracic impact test systems are expensive and rarely accessible in developing countries. This limits experimental investigation of thoracic injury mechanisms and evaluation of protective concepts.&lt;/p>
&lt;p>This project aims to develop a &lt;strong>proof-of-concept thoracic impact test setup&lt;/strong>, capable of reproducing key thoracic loading conditions and measuring biomechanically relevant injury metrics under realistic local resource constraints.&lt;/p>
&lt;hr>
&lt;h2 id="2-core-biomechanical-question">2. Core Biomechanical Question&lt;/h2>
&lt;p>&lt;strong>How can thoracic injury mechanisms and injury criteria be experimentally investigated using a simplified, low-cost thoracic impact test setup?&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="3-injury-mechanisms--relevant-injury-criteria">3. Injury Mechanisms &amp;amp; Relevant Injury Criteria&lt;/h2>
&lt;p>The project should consider the following biomechanical aspects:&lt;/p>
&lt;ul>
&lt;li>Thoracic injury mechanisms:
&lt;ul>
&lt;li>Chest wall compression&lt;/li>
&lt;li>Rate-dependent thoracic response&lt;/li>
&lt;li>Load transfer through ribs and sternum&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Frontal or localized blunt impact scenarios&lt;/li>
&lt;/ul>
&lt;p>Relevant injury metrics may include:&lt;/p>
&lt;ul>
&lt;li>Chest deflection or compression&lt;/li>
&lt;li>Chest acceleration&lt;/li>
&lt;li>Viscous Criterion (VC)&lt;/li>
&lt;li>Force-based or combined thoracic indices (conceptual discussion)&lt;/li>
&lt;/ul>
&lt;p>Students must &lt;strong>justify&lt;/strong> the selection of injury metrics with respect to the proposed test setup.&lt;/p>
&lt;hr>
&lt;h2 id="4-modeling--design-approach">4. Modeling / Design Approach&lt;/h2>
&lt;p>This is a &lt;strong>proof-of-concept experimental system design project&lt;/strong>.&lt;/p>
&lt;p>The student is expected to:&lt;/p>
&lt;ul>
&lt;li>Translate thoracic injury mechanisms into &lt;strong>test objectives&lt;/strong>&lt;/li>
&lt;li>Propose a simplified thoracic impact test configuration&lt;/li>
&lt;li>Design a system that enables controlled loading and repeatable measurement&lt;/li>
&lt;/ul>
&lt;p>Numerical modeling may be used optionally to support design decisions but is &lt;strong>not required&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="5-technical-specification-core-section">5. Technical Specification (Core Section)&lt;/h2>
&lt;p>The project &lt;strong>must include&lt;/strong> a detailed technical proposal covering:&lt;/p>
&lt;h3 id="a-test-setup-architecture">a) Test Setup Architecture&lt;/h3>
&lt;ul>
&lt;li>Overall configuration (impactor-based, drop test, guided mass, etc.)&lt;/li>
&lt;li>Impact surface geometry and compliance&lt;/li>
&lt;li>Adjustability of loading severity (velocity, mass, displacement)&lt;/li>
&lt;/ul>
&lt;h3 id="b-thoracic-surrogate--interface">b) Thoracic Surrogate / Interface&lt;/h3>
&lt;ul>
&lt;li>Type of thoracic surrogate assumed (simplified chest block, dummy torso, conceptual ATD)&lt;/li>
&lt;li>Mounting and support conditions&lt;/li>
&lt;li>Repeatability and alignment considerations&lt;/li>
&lt;/ul>
&lt;h3 id="c-instrumentation">c) Instrumentation&lt;/h3>
&lt;ul>
&lt;li>Sensors required (e.g., displacement sensors, accelerometers, force sensors)&lt;/li>
&lt;li>Sensor placement and orientation&lt;/li>
&lt;li>Expected signal outputs&lt;/li>
&lt;/ul>
&lt;h3 id="d-test-protocol">d) Test Protocol&lt;/h3>
&lt;ul>
&lt;li>Impact configurations and locations&lt;/li>
&lt;li>Loading rates and repetitions&lt;/li>
&lt;li>Safety and operational considerations&lt;/li>
&lt;/ul>
&lt;p>Clear &lt;strong>schematics, block diagrams, or system layouts&lt;/strong> are expected.&lt;/p>
&lt;hr>
&lt;h2 id="6-validation-strategy--limitations">6. Validation Strategy &amp;amp; Limitations&lt;/h2>
&lt;p>The project must explicitly address:&lt;/p>
&lt;ul>
&lt;li>How test results could be validated:
&lt;ul>
&lt;li>comparison with published thoracic impact experiments,&lt;/li>
&lt;li>comparison with simplified analytical models,&lt;/li>
&lt;li>qualitative trend validation&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>What injury claims &lt;strong>cannot&lt;/strong> be made using the proposed setup&lt;/li>
&lt;li>Limitations related to:
&lt;ul>
&lt;li>simplified thoracic surrogate,&lt;/li>
&lt;li>reduced biofidelity,&lt;/li>
&lt;li>limited instrumentation&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>This section is &lt;strong>mandatory&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="7-feasibility--resource-awareness">7. Feasibility &amp;amp; Resource Awareness&lt;/h2>
&lt;p>The project must include a realistic feasibility analysis:&lt;/p>
&lt;ul>
&lt;li>Estimated cost (order-of-magnitude)&lt;/li>
&lt;li>Availability of materials, sensors, and equipment in Iran&lt;/li>
&lt;li>Required infrastructure (space, safety shielding, power)&lt;/li>
&lt;li>Risk and safety management during testing&lt;/li>
&lt;/ul>
&lt;p>Designs assuming access to advanced laboratories or proprietary equipment will be penalized.&lt;/p>
&lt;hr>
&lt;h2 id="8-expected-outcomes">8. Expected Outcomes&lt;/h2>
&lt;p>By the end of the project, the student should deliver:&lt;/p>
&lt;ul>
&lt;li>A &lt;strong>conceptual and technical design&lt;/strong> of a thoracic impact test setup&lt;/li>
&lt;li>Defined injury metrics and interpretation framework&lt;/li>
&lt;li>Proposed test protocols&lt;/li>
&lt;li>Recommendations for educational or preliminary research use&lt;/li>
&lt;/ul>
&lt;p>The outcome should be suitable as a &lt;strong>foundation for future experimental capability development&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="9-deliverables">9. Deliverables&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Final Report&lt;/strong> (20-25 pages, excluding appendices)&lt;/li>
&lt;li>System schematics and design drawings&lt;/li>
&lt;li>Testing protocol documentation&lt;/li>
&lt;li>Cost estimation table&lt;/li>
&lt;li>Oral presentation (15-20 minutes)&lt;/li>
&lt;/ol>
&lt;p>Optional appendices:&lt;/p>
&lt;ul>
&lt;li>CAD drawings&lt;/li>
&lt;li>Sensor datasheets&lt;/li>
&lt;li>Example test configurations&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="10-project-specific-grading-rubric">10. Project-Specific Grading Rubric&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Criterion&lt;/th>
&lt;th>Description&lt;/th>
&lt;th>Weight&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Problem formulation &amp;amp; relevance&lt;/td>
&lt;td>Clear definition of thoracic injury problem&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Injury mechanism understanding&lt;/td>
&lt;td>Correct biomechanical reasoning for thoracic trauma&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Injury metric selection &amp;amp; justification&lt;/td>
&lt;td>Appropriate and critical use of thoracic criteria&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Test system design quality&lt;/td>
&lt;td>Coherence and logic of test setup and protocol&lt;/td>
&lt;td>20%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Technical specification &amp;amp; clarity&lt;/td>
&lt;td>Quality of schematics and system descriptions&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Validation &amp;amp; limitations&lt;/td>
&lt;td>Realistic validation strategy and limitations analysis&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Feasibility &amp;amp; professionalism&lt;/td>
&lt;td>Cost realism, local feasibility, safety awareness&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Total&lt;/strong>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;strong>100%&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="11-project-scope-agreement">11. Project Scope Agreement&lt;/h2>
&lt;p>By choosing this project, the student agrees to:&lt;/p>
&lt;ul>
&lt;li>Focus on &lt;strong>mechanism-oriented testing&lt;/strong>, not certification&lt;/li>
&lt;li>Respect local resource and safety constraints&lt;/li>
&lt;li>Clearly state assumptions and limitations&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>&lt;strong>Note:&lt;/strong>&lt;br>
&lt;em>A well-designed thoracic impact setup can provide meaningful biomechanical insight even without full biofidelity.&lt;/em>&lt;/p></description></item><item><title>Project Card 08</title><link>https://SadjadAbedi.ir/extras/traumaproj8/</link><pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/extras/traumaproj8/</guid><description>&lt;h2 id="whiplash-sled-test-system---proof-of-concept-design-and-evaluation-framework">Whiplash Sled Test System - Proof-of-Concept Design and Evaluation Framework&lt;/h2>
&lt;hr>
&lt;h3 id="project-pathway">Project Pathway&lt;/h3>
&lt;p>🟩 &lt;strong>Experimental / Test System Design (Proof-of-Concept)&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="1-background--motivation">1. Background &amp;amp; Motivation&lt;/h2>
&lt;p>Whiplash-associated disorders (WAD) are among the most common injuries in low-speed rear-end vehicle collisions. Experimental sled testing has been central to the development of whiplash injury criteria, seat and head restraint design, and regulatory standards. These tests aim to reproduce characteristic rear-impact acceleration pulses and study the dynamic response of the head-neck system.&lt;/p>
&lt;p>Standard whiplash sled facilities are complex, expensive, and rarely accessible in developing countries. This limits experimental research, education, and local evaluation of seat and head restraint concepts.&lt;/p>
&lt;p>This project aims to develop a &lt;strong>simplified, low-cost, proof-of-concept whiplash sled test system&lt;/strong>, capable of reproducing essential whiplash loading characteristics and enabling biomechanically meaningful measurement and interpretation.&lt;/p>
&lt;hr>
&lt;h2 id="2-core-biomechanical-question">2. Core Biomechanical Question&lt;/h2>
&lt;p>&lt;strong>How can the essential biomechanical features of whiplash injury be experimentally reproduced and studied using a simplified sled-based test system?&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="3-injury-mechanisms--relevant-injury-criteria">3. Injury Mechanisms &amp;amp; Relevant Injury Criteria&lt;/h2>
&lt;p>The project should address the following biomechanical aspects:&lt;/p>
&lt;ul>
&lt;li>Whiplash injury mechanisms:
&lt;ul>
&lt;li>Relative motion between head and torso&lt;/li>
&lt;li>Flexion-extension dynamics of the cervical spine&lt;/li>
&lt;li>Shear forces and bending moments in the neck&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Early- and late-phase whiplash response&lt;/li>
&lt;/ul>
&lt;p>Relevant injury metrics may include:&lt;/p>
&lt;ul>
&lt;li>Neck Injury Criterion (NIC)&lt;/li>
&lt;li>Nij criterion&lt;/li>
&lt;li>Neck protection criterion (Nkm)&lt;/li>
&lt;li>Head and torso kinematic measures (conceptual discussion)&lt;/li>
&lt;/ul>
&lt;p>Students must &lt;strong>justify&lt;/strong> the selection of injury criteria and explain their biomechanical relevance and limitations.&lt;/p>
&lt;hr>
&lt;h2 id="4-modeling--design-approach">4. Modeling / Design Approach&lt;/h2>
&lt;p>This is a &lt;strong>proof-of-concept experimental system design project&lt;/strong>.&lt;/p>
&lt;p>The student is expected to:&lt;/p>
&lt;ul>
&lt;li>Translate whiplash injury mechanisms into &lt;strong>sled motion requirements&lt;/strong>&lt;/li>
&lt;li>Design a simplified sled system capable of generating rear-impact-like acceleration pulses&lt;/li>
&lt;li>Propose a &lt;strong>test protocol&lt;/strong> for whiplash evaluation&lt;/li>
&lt;/ul>
&lt;p>Numerical simulations may be used optionally to support design decisions but are &lt;strong>not required&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="5-technical-specification-core-section">5. Technical Specification (Core Section)&lt;/h2>
&lt;p>The project &lt;strong>must include&lt;/strong> a detailed technical proposal covering:&lt;/p>
&lt;h3 id="a-sled-system-architecture">a) Sled System Architecture&lt;/h3>
&lt;ul>
&lt;li>Overall configuration (rail-based sled, wheeled cart, guided platform)&lt;/li>
&lt;li>Method of sled acceleration or deceleration (spring, gravity, pneumatic, motorized)&lt;/li>
&lt;li>Control of pulse shape and severity&lt;/li>
&lt;/ul>
&lt;h3 id="b-seat-and-occupant-interface">b) Seat and Occupant Interface&lt;/h3>
&lt;ul>
&lt;li>Simplified seat structure&lt;/li>
&lt;li>Head restraint concept&lt;/li>
&lt;li>Assumed occupant surrogate (simplified dummy or torso-head mass system)&lt;/li>
&lt;/ul>
&lt;h3 id="c-instrumentation">c) Instrumentation&lt;/h3>
&lt;ul>
&lt;li>Sensors required (e.g., accelerometers, displacement sensors)&lt;/li>
&lt;li>Sensor placement on sled, torso, and head surrogate&lt;/li>
&lt;li>Data acquisition requirements&lt;/li>
&lt;/ul>
&lt;h3 id="d-test-protocol">d) Test Protocol&lt;/h3>
&lt;ul>
&lt;li>Acceleration pulse characteristics (magnitude, duration)&lt;/li>
&lt;li>Test repeatability&lt;/li>
&lt;li>Safety considerations for equipment and operators&lt;/li>
&lt;/ul>
&lt;p>Clear &lt;strong>schematics, block diagrams, or system layouts&lt;/strong> are expected.&lt;/p>
&lt;hr>
&lt;h2 id="6-validation-strategy--limitations">6. Validation Strategy &amp;amp; Limitations&lt;/h2>
&lt;p>The project must explicitly address:&lt;/p>
&lt;ul>
&lt;li>How sled-generated pulses could be validated:
&lt;ul>
&lt;li>comparison with published whiplash sled pulses,&lt;/li>
&lt;li>comparison with simplified analytical models,&lt;/li>
&lt;li>qualitative kinematic comparison&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>What injury claims &lt;strong>cannot&lt;/strong> be made using the proposed system&lt;/li>
&lt;li>Limitations related to:
&lt;ul>
&lt;li>simplified occupant surrogate,&lt;/li>
&lt;li>lack of active muscle response,&lt;/li>
&lt;li>reduced biofidelity&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>This section is &lt;strong>mandatory&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="7-feasibility--resource-awareness">7. Feasibility &amp;amp; Resource Awareness&lt;/h2>
&lt;p>The project must include a realistic feasibility analysis:&lt;/p>
&lt;ul>
&lt;li>Estimated cost (order-of-magnitude)&lt;/li>
&lt;li>Availability of materials and sensors in Iran&lt;/li>
&lt;li>Required infrastructure (space, rails, safety barriers)&lt;/li>
&lt;li>Operational and safety considerations&lt;/li>
&lt;/ul>
&lt;p>Designs assuming access to full-scale crash facilities will be penalized.&lt;/p>
&lt;hr>
&lt;h2 id="8-expected-outcomes">8. Expected Outcomes&lt;/h2>
&lt;p>By the end of the project, the student should deliver:&lt;/p>
&lt;ul>
&lt;li>A &lt;strong>conceptual and technical design&lt;/strong> of a whiplash sled system&lt;/li>
&lt;li>Defined whiplash injury metrics and interpretation framework&lt;/li>
&lt;li>Proposed test protocols&lt;/li>
&lt;li>Recommendations for educational or preliminary research use&lt;/li>
&lt;/ul>
&lt;p>The outcome should be suitable as a &lt;strong>foundation for future experimental whiplash research&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="9-deliverables">9. Deliverables&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Final Report&lt;/strong> (20-25 pages, excluding appendices)&lt;/li>
&lt;li>System schematics and design drawings&lt;/li>
&lt;li>Test protocol documentation&lt;/li>
&lt;li>Cost estimation table&lt;/li>
&lt;li>Oral presentation (15-20 minutes)&lt;/li>
&lt;/ol>
&lt;p>Optional appendices:&lt;/p>
&lt;ul>
&lt;li>CAD drawings&lt;/li>
&lt;li>Sensor datasheets&lt;/li>
&lt;li>Example acceleration pulse definitions&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="10-project-specific-grading-rubric">10. Project-Specific Grading Rubric&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Criterion&lt;/th>
&lt;th>Description&lt;/th>
&lt;th>Weight&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Problem formulation &amp;amp; relevance&lt;/td>
&lt;td>Clear definition of whiplash testing objectives&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Injury mechanism understanding&lt;/td>
&lt;td>Correct biomechanical interpretation of whiplash&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Injury metric selection &amp;amp; justification&lt;/td>
&lt;td>Appropriate and critical use of neck injury criteria&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Sled system design quality&lt;/td>
&lt;td>Coherence and logic of sled architecture and protocol&lt;/td>
&lt;td>20%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Technical specification &amp;amp; clarity&lt;/td>
&lt;td>Quality of schematics and system descriptions&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Validation &amp;amp; limitations&lt;/td>
&lt;td>Realistic validation strategy and limitations analysis&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Feasibility &amp;amp; professionalism&lt;/td>
&lt;td>Cost realism, local feasibility, safety awareness&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Total&lt;/strong>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;strong>100%&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="11-project-scope-agreement">11. Project Scope Agreement&lt;/h2>
&lt;p>By choosing this project, the student agrees to:&lt;/p>
&lt;ul>
&lt;li>Focus on &lt;strong>pulse reproduction and kinematic interpretation&lt;/strong>, not certification&lt;/li>
&lt;li>Respect local resource and safety constraints&lt;/li>
&lt;li>Clearly state assumptions and limitations&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>&lt;strong>Note:&lt;/strong>&lt;br>
&lt;em>In whiplash biomechanics, reproducing realistic acceleration pulses is often more important than achieving full anatomical detail.&lt;/em>&lt;/p></description></item><item><title>Project Card 09</title><link>https://SadjadAbedi.ir/extras/traumaproj9/</link><pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/extras/traumaproj9/</guid><description>&lt;h2 id="comparative-evaluation-of-head-injury-criteria-in-traumatic-impacts">Comparative Evaluation of Head Injury Criteria in Traumatic Impacts&lt;/h2>
&lt;hr>
&lt;h3 id="project-pathway">Project Pathway&lt;/h3>
&lt;p>🟨 &lt;strong>Data-Driven / Analytical Modeling&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="1-background--motivation">1. Background &amp;amp; Motivation&lt;/h2>
&lt;p>Head injury assessment in trauma biomechanics relies heavily on injury criteria derived from head kinematics, such as acceleration- and rotation-based metrics. Over the past decades, numerous head injury criteria have been proposed and adopted in different contexts, including automotive safety, sports concussion, and helmet evaluation.&lt;/p>
&lt;p>Despite their widespread use, these injury criteria are based on different biomechanical assumptions and often lead to inconsistent injury predictions for the same impact scenario. Understanding &lt;strong>when different criteria agree, when they diverge, and why&lt;/strong> is essential for responsible interpretation and application of injury metrics.&lt;/p>
&lt;p>This project focuses on a &lt;strong>comparative, data-driven analysis of head injury criteria&lt;/strong>, emphasizing biomechanical meaning, assumptions, and limitations rather than numerical simulation or experimentation.&lt;/p>
&lt;hr>
&lt;h2 id="2-core-biomechanical-question">2. Core Biomechanical Question&lt;/h2>
&lt;p>&lt;strong>Under what impact conditions do commonly used head injury criteria provide consistent or conflicting injury assessments, and what biomechanical assumptions explain these differences?&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="3-injury-mechanisms--injury-criteria">3. Injury Mechanisms &amp;amp; Injury Criteria&lt;/h2>
&lt;p>The project should consider the following head injury mechanisms:&lt;/p>
&lt;ul>
&lt;li>Translational head motion&lt;/li>
&lt;li>Rotational head motion&lt;/li>
&lt;li>Duration and shape of acceleration pulses&lt;/li>
&lt;/ul>
&lt;p>Injury criteria to be considered may include (at least three):&lt;/p>
&lt;ul>
&lt;li>Head Injury Criterion (HIC)&lt;/li>
&lt;li>3 ms criterion (a₃ms)&lt;/li>
&lt;li>Peak resultant acceleration&lt;/li>
&lt;li>Peak rotational acceleration&lt;/li>
&lt;li>Generalized Acceleration Model (GAM) or similar concepts&lt;/li>
&lt;/ul>
&lt;p>Students must explain:&lt;/p>
&lt;ul>
&lt;li>The biomechanical basis of each criterion&lt;/li>
&lt;li>The injury mechanisms each criterion emphasizes or neglects&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="4-modeling--analysis-approach">4. Modeling / Analysis Approach&lt;/h2>
&lt;p>This is a &lt;strong>data-driven and analytical project&lt;/strong>.&lt;/p>
&lt;p>The student is expected to:&lt;/p>
&lt;ul>
&lt;li>Select representative head impact datasets from literature or open sources&lt;/li>
&lt;li>Analyze acceleration and/or rotational kinematic signals&lt;/li>
&lt;li>Compute multiple head injury criteria from the same data&lt;/li>
&lt;li>Compare injury predictions across criteria&lt;/li>
&lt;/ul>
&lt;p>No FEM or laboratory experiments are required.&lt;/p>
&lt;hr>
&lt;h2 id="5-data-sources-and-signal-processing">5. Data Sources and Signal Processing&lt;/h2>
&lt;p>The project &lt;strong>must include&lt;/strong>:&lt;/p>
&lt;ul>
&lt;li>Description of selected datasets (experimental, dummy, or simulation-based)&lt;/li>
&lt;li>Signal processing steps:
&lt;ul>
&lt;li>filtering,&lt;/li>
&lt;li>integration (if applicable),&lt;/li>
&lt;li>window selection&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Clear documentation of assumptions and processing choices&lt;/li>
&lt;/ul>
&lt;p>Students must discuss how signal processing choices influence injury metric outcomes.&lt;/p>
&lt;hr>
&lt;h2 id="6-comparative-analysis">6. Comparative Analysis&lt;/h2>
&lt;p>The project should include a structured comparison, such as:&lt;/p>
&lt;ul>
&lt;li>Agreement and disagreement between criteria&lt;/li>
&lt;li>Sensitivity to pulse duration and magnitude&lt;/li>
&lt;li>Sensitivity to rotational vs translational motion&lt;/li>
&lt;li>Scenarios where criteria may fail or overpredict injury&lt;/li>
&lt;/ul>
&lt;p>Visual comparison (plots, tables) is strongly encouraged.&lt;/p>
&lt;hr>
&lt;h2 id="7-interpretation-validation--limitations">7. Interpretation, Validation &amp;amp; Limitations&lt;/h2>
&lt;p>The project must explicitly discuss:&lt;/p>
&lt;ul>
&lt;li>Biomechanical interpretation of observed differences&lt;/li>
&lt;li>Comparison with reported injury risk thresholds in literature&lt;/li>
&lt;li>Limitations related to:
&lt;ul>
&lt;li>dataset selection,&lt;/li>
&lt;li>absence of biological validation,&lt;/li>
&lt;li>criterion-specific assumptions&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>Students must clearly state &lt;strong>what conclusions are justified and what are not&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="8-feasibility--reproducibility">8. Feasibility &amp;amp; Reproducibility&lt;/h2>
&lt;p>The project must address:&lt;/p>
&lt;ul>
&lt;li>Software used (e.g., MATLAB, Python, spreadsheet tools)&lt;/li>
&lt;li>Computational simplicity and reproducibility&lt;/li>
&lt;li>Transparency of analysis steps&lt;/li>
&lt;/ul>
&lt;p>The project should be fully reproducible using commonly available tools.&lt;/p>
&lt;hr>
&lt;h2 id="9-expected-outcomes">9. Expected Outcomes&lt;/h2>
&lt;p>By the end of the project, the student should deliver:&lt;/p>
&lt;ul>
&lt;li>A comparative evaluation of multiple head injury criteria&lt;/li>
&lt;li>Identification of conditions under which criteria agree or diverge&lt;/li>
&lt;li>A biomechanically grounded interpretation of differences&lt;/li>
&lt;li>Recommendations for responsible use of head injury metrics&lt;/li>
&lt;/ul>
&lt;p>The outcome should demonstrate &lt;strong>analytical maturity and critical thinking&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="10-deliverables">10. Deliverables&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Final Report&lt;/strong> (20-25 pages, excluding appendices)&lt;/li>
&lt;li>Processed data plots and comparison figures&lt;/li>
&lt;li>Injury metric tables&lt;/li>
&lt;li>Oral presentation (15-20 minutes)&lt;/li>
&lt;/ol>
&lt;p>Optional appendices:&lt;/p>
&lt;ul>
&lt;li>Data processing scripts&lt;/li>
&lt;li>Raw datasets&lt;/li>
&lt;li>Supplementary analyses&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="11-project-specific-grading-rubric">11. Project-Specific Grading Rubric&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Criterion&lt;/th>
&lt;th>Description&lt;/th>
&lt;th>Weight&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Problem formulation &amp;amp; relevance&lt;/td>
&lt;td>Clear framing of comparative injury question&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Injury mechanism understanding&lt;/td>
&lt;td>Correct biomechanical interpretation of head injury&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Injury criterion understanding&lt;/td>
&lt;td>Depth of understanding of criteria assumptions&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Data analysis &amp;amp; processing rigor&lt;/td>
&lt;td>Quality and transparency of signal processing&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Comparative insight&lt;/td>
&lt;td>Quality of comparison and identification of trends&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Interpretation &amp;amp; limitations&lt;/td>
&lt;td>Honest, critical discussion of validity&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Technical clarity &amp;amp; professionalism&lt;/td>
&lt;td>Quality of figures, tables, and explanations&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Total&lt;/strong>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;strong>100%&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="12-project-scope-agreement">12. Project Scope Agreement&lt;/h2>
&lt;p>By choosing this project, the student agrees to:&lt;/p>
&lt;ul>
&lt;li>Focus on &lt;strong>interpretation and comparison&lt;/strong>, not proposing new criteria&lt;/li>
&lt;li>Clearly document all assumptions and processing steps&lt;/li>
&lt;li>Avoid overstating injury prediction accuracy&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>&lt;strong>Note:&lt;/strong>&lt;br>
&lt;em>Understanding why injury criteria disagree is often more important than computing their values.&lt;/em>&lt;/p></description></item><item><title>Project Card 10</title><link>https://SadjadAbedi.ir/extras/traumaproj10/</link><pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/extras/traumaproj10/</guid><description>&lt;h2 id="development-of-a-simplified-mechanical-lumped-parameter-model-for-traumatic-injury-analysis">Development of a Simplified Mechanical (Lumped-Parameter) Model for Traumatic Injury Analysis&lt;/h2>
&lt;hr>
&lt;h3 id="project-pathway">Project Pathway&lt;/h3>
&lt;p>🟨 &lt;strong>Data-Driven / Analytical Modeling&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="1-background--motivation">1. Background &amp;amp; Motivation&lt;/h2>
&lt;p>Many traumatic injury mechanisms can be understood using simplified mechanical representations that capture the dominant dynamic behavior of tissues and body segments. Before the widespread use of finite element models, &lt;strong>lumped-parameter models&lt;/strong> (e.g., mass-spring-damper systems) played a central role in trauma biomechanics, injury tolerance studies, and the development of injury criteria.&lt;/p>
&lt;p>Even today, simplified mechanical models are invaluable for:&lt;/p>
&lt;ul>
&lt;li>understanding injury mechanisms,&lt;/li>
&lt;li>interpreting experimental and numerical results,&lt;/li>
&lt;li>identifying dominant parameters and sensitivities.&lt;/li>
&lt;/ul>
&lt;p>This project focuses on developing a &lt;strong>simplified lumped-parameter mechanical model&lt;/strong> to represent a selected traumatic injury scenario and to analyze how mechanical parameters influence injury-related response metrics.&lt;/p>
&lt;hr>
&lt;h2 id="2-core-biomechanical-question">2. Core Biomechanical Question&lt;/h2>
&lt;p>&lt;strong>How can a simplified mechanical model capture the dominant dynamics of a traumatic injury scenario, and what insights does it provide into injury mechanisms and injury criteria?&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="3-injury-scenario-and-mechanisms">3. Injury Scenario and Mechanisms&lt;/h2>
&lt;p>The student must select &lt;strong>one injury scenario&lt;/strong>, such as:&lt;/p>
&lt;ul>
&lt;li>Head impact (translational or rotational)&lt;/li>
&lt;li>Thoracic compression&lt;/li>
&lt;li>Whiplash neck response&lt;/li>
&lt;li>Lower-extremity axial loading&lt;/li>
&lt;/ul>
&lt;p>The project should describe:&lt;/p>
&lt;ul>
&lt;li>Dominant load paths&lt;/li>
&lt;li>Key tissues or structures involved&lt;/li>
&lt;li>Relevant injury mechanisms (e.g., acceleration, deformation, force transmission)&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="4-modeling--analysis-approach">4. Modeling / Analysis Approach&lt;/h2>
&lt;p>This is an &lt;strong>analytical and computational modeling project&lt;/strong> based on lumped-parameter systems.&lt;/p>
&lt;p>The student is expected to:&lt;/p>
&lt;ul>
&lt;li>Develop a mechanical model (e.g., mass-spring-damper, multi-degree-of-freedom)&lt;/li>
&lt;li>Define governing equations of motion&lt;/li>
&lt;li>Select representative mechanical parameters&lt;/li>
&lt;li>Simulate the dynamic response under traumatic loading&lt;/li>
&lt;/ul>
&lt;p>The focus is on &lt;strong>mechanical insight&lt;/strong>, not mathematical complexity.&lt;/p>
&lt;hr>
&lt;h2 id="5-model-formulation-core-section">5. Model Formulation (Core Section)&lt;/h2>
&lt;p>The project &lt;strong>must include&lt;/strong> a clear and structured description of:&lt;/p>
&lt;h3 id="a-model-structure">a) Model Structure&lt;/h3>
&lt;ul>
&lt;li>Number of degrees of freedom&lt;/li>
&lt;li>Physical interpretation of each element&lt;/li>
&lt;li>Model schematic and free-body diagrams&lt;/li>
&lt;/ul>
&lt;h3 id="b-governing-equations">b) Governing Equations&lt;/h3>
&lt;ul>
&lt;li>Equations of motion&lt;/li>
&lt;li>Assumptions (linearity, damping type, coupling)&lt;/li>
&lt;li>Initial and boundary conditions&lt;/li>
&lt;/ul>
&lt;h3 id="c-input-loading">c) Input Loading&lt;/h3>
&lt;ul>
&lt;li>Representation of traumatic loading (force, acceleration, displacement input)&lt;/li>
&lt;li>Justification of loading shape and magnitude&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="6-injury-metrics-and-response-quantities">6. Injury Metrics and Response Quantities&lt;/h2>
&lt;p>The project should define and compute response quantities such as:&lt;/p>
&lt;ul>
&lt;li>Acceleration&lt;/li>
&lt;li>Displacement or deformation&lt;/li>
&lt;li>Force or internal load measures&lt;/li>
&lt;li>Simplified injury metrics derived from the model&lt;/li>
&lt;/ul>
&lt;p>Students must explain how these quantities relate to &lt;strong>real injury criteria&lt;/strong> used in trauma biomechanics.&lt;/p>
&lt;hr>
&lt;h2 id="7-parametric--sensitivity-analysis">7. Parametric / Sensitivity Analysis&lt;/h2>
&lt;p>A &lt;strong>limited parametric study&lt;/strong> is required, for example:&lt;/p>
&lt;ul>
&lt;li>Variation of stiffness or damping&lt;/li>
&lt;li>Variation of mass or inertia&lt;/li>
&lt;li>Influence of loading rate or pulse duration&lt;/li>
&lt;/ul>
&lt;p>The goal is to identify &lt;strong>dominant parameters and trends&lt;/strong>, not exact injury thresholds.&lt;/p>
&lt;hr>
&lt;h2 id="8-validation-strategy--limitations">8. Validation Strategy &amp;amp; Limitations&lt;/h2>
&lt;p>The project must explicitly discuss:&lt;/p>
&lt;ul>
&lt;li>Comparison of model behavior with published experimental or numerical results&lt;/li>
&lt;li>Physical plausibility of predicted trends&lt;/li>
&lt;li>Limitations related to:
&lt;ul>
&lt;li>oversimplification,&lt;/li>
&lt;li>linear assumptions,&lt;/li>
&lt;li>lack of anatomical detail&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>Students must clearly state &lt;strong>what insights the model can and cannot provide&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="9-feasibility--reproducibility">9. Feasibility &amp;amp; Reproducibility&lt;/h2>
&lt;p>The project must address:&lt;/p>
&lt;ul>
&lt;li>Software or tools used (e.g., MATLAB, Python, spreadsheet tools)&lt;/li>
&lt;li>Computational simplicity&lt;/li>
&lt;li>Reproducibility of simulations&lt;/li>
&lt;li>Transparency of assumptions and parameters&lt;/li>
&lt;/ul>
&lt;p>The model should be easily reproducible with minimal resources.&lt;/p>
&lt;hr>
&lt;h2 id="10-expected-outcomes">10. Expected Outcomes&lt;/h2>
&lt;p>By the end of the project, the student should deliver:&lt;/p>
&lt;ul>
&lt;li>A clear lumped-parameter mechanical model&lt;/li>
&lt;li>Simulated dynamic responses for selected scenarios&lt;/li>
&lt;li>Sensitivity analysis results&lt;/li>
&lt;li>Biomechanically meaningful interpretation of injury mechanisms&lt;/li>
&lt;/ul>
&lt;p>The outcome should demonstrate &lt;strong>mechanical intuition and analytical maturity&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="11-deliverables">11. Deliverables&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Final Report&lt;/strong> (20-25 pages, excluding appendices)&lt;/li>
&lt;li>Model schematics and equations&lt;/li>
&lt;li>Simulation results and plots&lt;/li>
&lt;li>Oral presentation (15-20 minutes)&lt;/li>
&lt;/ol>
&lt;p>Optional appendices:&lt;/p>
&lt;ul>
&lt;li>Code or spreadsheets&lt;/li>
&lt;li>Additional parametric cases&lt;/li>
&lt;li>Supporting derivations&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="12-project-specific-grading-rubric">12. Project-Specific Grading Rubric&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Criterion&lt;/th>
&lt;th>Description&lt;/th>
&lt;th>Weight&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Problem formulation &amp;amp; relevance&lt;/td>
&lt;td>Clear definition of injury scenario&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Injury mechanism understanding&lt;/td>
&lt;td>Correct biomechanical interpretation&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Model formulation quality&lt;/td>
&lt;td>Clarity and physical meaning of the model&lt;/td>
&lt;td>20%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Governing equations &amp;amp; assumptions&lt;/td>
&lt;td>Correctness and transparency&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Parametric / sensitivity analysis&lt;/td>
&lt;td>Insight into dominant parameters&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Validation &amp;amp; limitations&lt;/td>
&lt;td>Realistic assessment of model credibility&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Technical clarity &amp;amp; professionalism&lt;/td>
&lt;td>Quality of figures, equations, and explanations&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Total&lt;/strong>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;strong>100%&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="13-project-scope-agreement">13. Project Scope Agreement&lt;/h2>
&lt;p>By choosing this project, the student agrees to:&lt;/p>
&lt;ul>
&lt;li>Emphasize &lt;strong>physical interpretation&lt;/strong> over mathematical complexity&lt;/li>
&lt;li>Clearly document all assumptions and simplifications&lt;/li>
&lt;li>Avoid overclaiming predictive accuracy&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>&lt;strong>Note:&lt;/strong>&lt;br>
&lt;em>A well-constructed lumped-parameter model can reveal injury mechanisms that remain hidden in complex simulations.&lt;/em>&lt;/p></description></item><item><title>Project Card 11</title><link>https://SadjadAbedi.ir/extras/traumaproj11/</link><pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/extras/traumaproj11/</guid><description>&lt;h2 id="meta-analysis-of-sports-injury-mechanisms-from-a-biomechanical-perspective">Meta-Analysis of Sports Injury Mechanisms from a Biomechanical Perspective&lt;/h2>
&lt;hr>
&lt;h3 id="project-pathway">Project Pathway&lt;/h3>
&lt;p>🟨 &lt;strong>Data-Driven / Analytical Modeling&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="1-background--motivation">1. Background &amp;amp; Motivation&lt;/h2>
&lt;p>Sports-related injuries represent a major source of traumatic injury worldwide, particularly among young and active populations. Unlike automotive trauma, sports injuries often involve complex, repetitive, or non-standard loading conditions, making injury mechanisms more difficult to identify and quantify.&lt;/p>
&lt;p>A large body of experimental, observational, and computational research exists on sports injuries; however, findings are often fragmented across disciplines such as biomechanics, sports science, medicine, and ergonomics. A &lt;strong>biomechanically grounded meta-analysis&lt;/strong> can provide valuable insight into dominant injury mechanisms, loading conditions, and limitations of existing injury metrics.&lt;/p>
&lt;p>This project focuses on conducting a &lt;strong>systematic, biomechanics-oriented meta-analysis of sports injury mechanisms&lt;/strong>, emphasizing mechanical loading, tissue response, and injury criteria rather than clinical outcomes alone.&lt;/p>
&lt;hr>
&lt;h2 id="2-core-biomechanical-question">2. Core Biomechanical Question&lt;/h2>
&lt;p>&lt;strong>What are the dominant biomechanical mechanisms underlying selected sports-related injuries, and how consistently are these mechanisms supported by existing literature?&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="3-injury-focus-and-scope">3. Injury Focus and Scope&lt;/h2>
&lt;p>The student must select &lt;strong>one injury type or anatomical region&lt;/strong> commonly associated with sports trauma, such as:&lt;/p>
&lt;ul>
&lt;li>Sports-related concussion&lt;/li>
&lt;li>Cervical spine injury in contact sports&lt;/li>
&lt;li>Thoracic injuries in high-impact sports&lt;/li>
&lt;li>Lower-extremity injuries (e.g., knee, ankle, femur)&lt;/li>
&lt;li>Overuse or repetitive loading injuries (conceptual discussion)&lt;/li>
&lt;/ul>
&lt;p>The scope must be clearly defined and justified.&lt;/p>
&lt;hr>
&lt;h2 id="4-analysis-approach">4. Analysis Approach&lt;/h2>
&lt;p>This is a &lt;strong>systematic literature-based analytical project&lt;/strong>.&lt;/p>
&lt;p>The student is expected to:&lt;/p>
&lt;ul>
&lt;li>Identify and select relevant peer-reviewed studies&lt;/li>
&lt;li>Categorize injury mechanisms based on biomechanical loading&lt;/li>
&lt;li>Extract key mechanical variables (e.g., acceleration, force, deformation)&lt;/li>
&lt;li>Synthesize findings across studies from a biomechanical perspective&lt;/li>
&lt;/ul>
&lt;p>This project does &lt;strong>not&lt;/strong> involve FEM or experimental work.&lt;/p>
&lt;hr>
&lt;h2 id="5-literature-selection-and-methodology">5. Literature Selection and Methodology&lt;/h2>
&lt;p>The project &lt;strong>must include&lt;/strong>:&lt;/p>
&lt;ul>
&lt;li>Clear inclusion and exclusion criteria&lt;/li>
&lt;li>Description of search strategy (databases, keywords)&lt;/li>
&lt;li>Categorization of studies by:
&lt;ul>
&lt;li>injury mechanism,&lt;/li>
&lt;li>loading type,&lt;/li>
&lt;li>measurement approach,&lt;/li>
&lt;li>modeling method (experimental, numerical, observational)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>Transparency and reproducibility are essential.&lt;/p>
&lt;hr>
&lt;h2 id="6-biomechanical-synthesis">6. Biomechanical Synthesis&lt;/h2>
&lt;p>The core of the project should involve:&lt;/p>
&lt;ul>
&lt;li>Identification of dominant injury mechanisms&lt;/li>
&lt;li>Comparison of mechanical variables reported across studies&lt;/li>
&lt;li>Discussion of consistency or disagreement between findings&lt;/li>
&lt;li>Assessment of how injury criteria are used or misused in sports contexts&lt;/li>
&lt;/ul>
&lt;p>Figures, tables, and conceptual diagrams are strongly encouraged.&lt;/p>
&lt;hr>
&lt;h2 id="7-interpretation-validation--limitations">7. Interpretation, Validation &amp;amp; Limitations&lt;/h2>
&lt;p>The project must explicitly discuss:&lt;/p>
&lt;ul>
&lt;li>Strength of biomechanical evidence supporting proposed mechanisms&lt;/li>
&lt;li>Gaps or contradictions in existing research&lt;/li>
&lt;li>Limitations related to:
&lt;ul>
&lt;li>measurement techniques,&lt;/li>
&lt;li>population differences,&lt;/li>
&lt;li>lack of controlled loading conditions&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>Students must clearly state &lt;strong>what conclusions are well supported and what remain speculative&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="8-implications-for-injury-prevention">8. Implications for Injury Prevention&lt;/h2>
&lt;p>The project should include a biomechanical discussion of:&lt;/p>
&lt;ul>
&lt;li>Implications for equipment design (e.g., helmets, padding)&lt;/li>
&lt;li>Training or rule changes from a mechanical perspective&lt;/li>
&lt;li>Limitations of current prevention strategies&lt;/li>
&lt;/ul>
&lt;p>This section should remain biomechanically focused, not policy-driven.&lt;/p>
&lt;hr>
&lt;h2 id="9-feasibility--resource-awareness">9. Feasibility &amp;amp; Resource Awareness&lt;/h2>
&lt;p>The project must address:&lt;/p>
&lt;ul>
&lt;li>Accessibility of literature and data&lt;/li>
&lt;li>Reproducibility of the review process&lt;/li>
&lt;li>Transparency of assumptions and interpretations&lt;/li>
&lt;/ul>
&lt;p>The project should be feasible using standard academic resources.&lt;/p>
&lt;hr>
&lt;h2 id="10-expected-outcomes">10. Expected Outcomes&lt;/h2>
&lt;p>By the end of the project, the student should deliver:&lt;/p>
&lt;ul>
&lt;li>A structured biomechanical synthesis of sports injury mechanisms&lt;/li>
&lt;li>Identification of dominant and secondary injury mechanisms&lt;/li>
&lt;li>Clear articulation of gaps in current biomechanical understanding&lt;/li>
&lt;li>Recommendations for future biomechanics-focused research&lt;/li>
&lt;/ul>
&lt;p>The outcome should demonstrate &lt;strong>critical thinking and synthesis ability&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="11-deliverables">11. Deliverables&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Final Report&lt;/strong> (20-25 pages, excluding appendices)&lt;/li>
&lt;li>Summary tables of reviewed studies&lt;/li>
&lt;li>Conceptual figures illustrating injury mechanisms&lt;/li>
&lt;li>Oral presentation (15-20 minutes)&lt;/li>
&lt;/ol>
&lt;p>Optional appendices:&lt;/p>
&lt;ul>
&lt;li>Detailed literature tables&lt;/li>
&lt;li>Search strategy documentation&lt;/li>
&lt;li>Supplementary figures&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="12-project-specific-grading-rubric">12. Project-Specific Grading Rubric&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Criterion&lt;/th>
&lt;th>Description&lt;/th>
&lt;th>Weight&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Problem formulation &amp;amp; relevance&lt;/td>
&lt;td>Clear definition of sports injury focus&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Biomechanical understanding&lt;/td>
&lt;td>Depth of biomechanical interpretation&lt;/td>
&lt;td>20%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Literature methodology&lt;/td>
&lt;td>Rigor and transparency of review process&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Synthesis quality&lt;/td>
&lt;td>Ability to integrate findings across studies&lt;/td>
&lt;td>20%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Interpretation &amp;amp; limitations&lt;/td>
&lt;td>Critical assessment of evidence strength&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Implications for prevention&lt;/td>
&lt;td>Biomechanically grounded recommendations&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Technical clarity &amp;amp; professionalism&lt;/td>
&lt;td>Quality of writing, figures, and tables&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Total&lt;/strong>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;strong>100%&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="13-project-scope-agreement">13. Project Scope Agreement&lt;/h2>
&lt;p>By choosing this project, the student agrees to:&lt;/p>
&lt;ul>
&lt;li>Maintain a &lt;strong>biomechanics-centered perspective&lt;/strong>&lt;/li>
&lt;li>Avoid purely clinical or epidemiological summaries&lt;/li>
&lt;li>Clearly distinguish evidence-based conclusions from speculation&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>&lt;strong>Note:&lt;/strong>&lt;br>
&lt;em>A strong biomechanical meta-analysis can be as impactful as a new experiment when it clarifies mechanisms and exposes knowledge gaps.&lt;/em>&lt;/p></description></item><item><title>Project Card 12</title><link>https://SadjadAbedi.ir/extras/traumaproj12/</link><pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/extras/traumaproj12/</guid><description>&lt;h2 id="uncertainty-sensitivity-and-robustness-in-traumatic-injury-assessment">Uncertainty, Sensitivity, and Robustness in Traumatic Injury Assessment&lt;/h2>
&lt;hr>
&lt;h3 id="project-pathway">Project Pathway&lt;/h3>
&lt;p>🟨 &lt;strong>Data-Driven / Analytical Modeling&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="1-background--motivation">1. Background &amp;amp; Motivation&lt;/h2>
&lt;p>Traumatic injury assessment is inherently uncertain. Injury predictions depend on measurements, models, assumptions, and biological variability, all of which introduce uncertainty. Despite this, injury criteria and risk metrics are often treated as deterministic thresholds in design, regulation, and research.&lt;/p>
&lt;p>A mature trauma biomechanist must understand &lt;strong>where uncertainty enters the injury assessment process&lt;/strong>, how it propagates through models and criteria, and how robust conclusions can (or cannot) be drawn.&lt;/p>
&lt;p>This project focuses on a &lt;strong>systematic analysis of uncertainty, sensitivity, and robustness&lt;/strong> in traumatic injury assessment, emphasizing interpretation, responsibility, and decision-making rather than prediction accuracy.&lt;/p>
&lt;hr>
&lt;h2 id="2-core-biomechanical-question">2. Core Biomechanical Question&lt;/h2>
&lt;p>&lt;strong>How do different sources of uncertainty influence injury assessment outcomes, and how can robustness be improved in biomechanical injury evaluation?&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="3-injury-context-and-scope">3. Injury Context and Scope&lt;/h2>
&lt;p>The student must select &lt;strong>one injury context&lt;/strong>, such as:&lt;/p>
&lt;ul>
&lt;li>Head injury (e.g., HIC, rotational criteria)&lt;/li>
&lt;li>Whiplash and neck injury criteria&lt;/li>
&lt;li>Thoracic injury criteria (compression, VC)&lt;/li>
&lt;li>Lower-extremity force-based criteria&lt;/li>
&lt;/ul>
&lt;p>The scope must be clearly defined and justified.&lt;/p>
&lt;hr>
&lt;h2 id="4-analysis-approach">4. Analysis Approach&lt;/h2>
&lt;p>This is a &lt;strong>conceptual, analytical, and data-informed project&lt;/strong>.&lt;/p>
&lt;p>The student is expected to:&lt;/p>
&lt;ul>
&lt;li>Identify key sources of uncertainty in injury assessment&lt;/li>
&lt;li>Analyze how uncertainty affects injury metrics and conclusions&lt;/li>
&lt;li>Discuss robustness strategies used (or ignored) in trauma biomechanics&lt;/li>
&lt;/ul>
&lt;p>No FEM or experimental work is required.&lt;/p>
&lt;hr>
&lt;h2 id="5-sources-of-uncertainty-core-section">5. Sources of Uncertainty (Core Section)&lt;/h2>
&lt;p>The project &lt;strong>must include&lt;/strong> a structured discussion of uncertainty sources, such as:&lt;/p>
&lt;h3 id="a-measurement-uncertainty">a) Measurement Uncertainty&lt;/h3>
&lt;ul>
&lt;li>Sensor noise&lt;/li>
&lt;li>Filtering and signal processing&lt;/li>
&lt;li>Coordinate system definition&lt;/li>
&lt;/ul>
&lt;h3 id="b-modeling-uncertainty">b) Modeling Uncertainty&lt;/h3>
&lt;ul>
&lt;li>Simplified geometry&lt;/li>
&lt;li>Material assumptions&lt;/li>
&lt;li>Boundary conditions&lt;/li>
&lt;/ul>
&lt;h3 id="c-biological-variability">c) Biological Variability&lt;/h3>
&lt;ul>
&lt;li>Age, sex, anthropometry&lt;/li>
&lt;li>Inter-subject variability&lt;/li>
&lt;li>Tissue tolerance variability&lt;/li>
&lt;/ul>
&lt;h3 id="d-criterion-uncertainty">d) Criterion Uncertainty&lt;/h3>
&lt;ul>
&lt;li>Threshold selection&lt;/li>
&lt;li>Risk curve construction&lt;/li>
&lt;li>Context dependence of criteria&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="6-sensitivity-analysis-conceptual-or-quantitative">6. Sensitivity Analysis (Conceptual or Quantitative)&lt;/h2>
&lt;p>The project should include:&lt;/p>
&lt;ul>
&lt;li>Sensitivity analysis concepts (local vs global)&lt;/li>
&lt;li>Examples of parameter sensitivity from literature&lt;/li>
&lt;li>Demonstration (conceptual or simple numerical) of how small changes affect injury metrics&lt;/li>
&lt;/ul>
&lt;p>The goal is &lt;strong>insight&lt;/strong>, not exhaustive computation.&lt;/p>
&lt;hr>
&lt;h2 id="7-robustness-and-decision-making">7. Robustness and Decision-Making&lt;/h2>
&lt;p>The project must discuss:&lt;/p>
&lt;ul>
&lt;li>What makes an injury assessment robust&lt;/li>
&lt;li>Trade-offs between sensitivity and robustness&lt;/li>
&lt;li>Conservative vs optimistic injury interpretation&lt;/li>
&lt;li>Implications for:
&lt;ul>
&lt;li>design,&lt;/li>
&lt;li>regulation,&lt;/li>
&lt;li>research,&lt;/li>
&lt;li>ethical responsibility&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>This section is central to the project.&lt;/p>
&lt;hr>
&lt;h2 id="8-validation-interpretation--limitations">8. Validation, Interpretation &amp;amp; Limitations&lt;/h2>
&lt;p>The project must explicitly address:&lt;/p>
&lt;ul>
&lt;li>Limits of validation in trauma biomechanics&lt;/li>
&lt;li>Difference between model validation and decision validation&lt;/li>
&lt;li>Risk of overconfidence in injury prediction&lt;/li>
&lt;/ul>
&lt;p>Students must clearly articulate &lt;strong>what conclusions are justified under uncertainty&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="9-feasibility--reproducibility">9. Feasibility &amp;amp; Reproducibility&lt;/h2>
&lt;p>The project must address:&lt;/p>
&lt;ul>
&lt;li>Transparency of assumptions&lt;/li>
&lt;li>Reproducibility of reasoning&lt;/li>
&lt;li>Use of simple tools (conceptual diagrams, tables, illustrative calculations)&lt;/li>
&lt;/ul>
&lt;p>The project should be feasible using standard academic resources.&lt;/p>
&lt;hr>
&lt;h2 id="10-expected-outcomes">10. Expected Outcomes&lt;/h2>
&lt;p>By the end of the project, the student should deliver:&lt;/p>
&lt;ul>
&lt;li>A structured framework for understanding uncertainty in injury assessment&lt;/li>
&lt;li>Identification of dominant uncertainty sources&lt;/li>
&lt;li>Strategies to improve robustness of injury evaluation&lt;/li>
&lt;li>Biomechanically and ethically grounded recommendations&lt;/li>
&lt;/ul>
&lt;p>The outcome should demonstrate &lt;strong>intellectual maturity and professional judgment&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="11-deliverables">11. Deliverables&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Final Report&lt;/strong> (20-25 pages, excluding appendices)&lt;/li>
&lt;li>Conceptual diagrams and uncertainty maps&lt;/li>
&lt;li>Summary tables of uncertainty sources and impacts&lt;/li>
&lt;li>Oral presentation (15-20 minutes)&lt;/li>
&lt;/ol>
&lt;p>Optional appendices:&lt;/p>
&lt;ul>
&lt;li>Simple sensitivity calculations&lt;/li>
&lt;li>Literature-based examples&lt;/li>
&lt;li>Supporting figures&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="12-project-specific-grading-rubric">12. Project-Specific Grading Rubric&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Criterion&lt;/th>
&lt;th>Description&lt;/th>
&lt;th>Weight&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Problem formulation &amp;amp; relevance&lt;/td>
&lt;td>Clear definition of injury context and uncertainty scope&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Understanding of injury biomechanics&lt;/td>
&lt;td>Correct biomechanical framing of the problem&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Identification of uncertainty sources&lt;/td>
&lt;td>Completeness and clarity of uncertainty analysis&lt;/td>
&lt;td>20%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Sensitivity &amp;amp; robustness reasoning&lt;/td>
&lt;td>Insightful discussion of sensitivity and robustness&lt;/td>
&lt;td>20%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Interpretation &amp;amp; ethical awareness&lt;/td>
&lt;td>Maturity in interpreting uncertain injury predictions&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Technical clarity &amp;amp; professionalism&lt;/td>
&lt;td>Quality of structure, figures, and explanations&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Original insight &amp;amp; synthesis&lt;/td>
&lt;td>Depth of critical thinking and synthesis&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Total&lt;/strong>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;strong>100%&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="13-project-scope-agreement">13. Project Scope Agreement&lt;/h2>
&lt;p>By choosing this project, the student agrees to:&lt;/p>
&lt;ul>
&lt;li>Focus on &lt;strong>understanding and managing uncertainty&lt;/strong>, not eliminating it&lt;/li>
&lt;li>Avoid deterministic injury claims&lt;/li>
&lt;li>Clearly distinguish evidence, assumptions, and judgment&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>&lt;strong>Note:&lt;/strong>&lt;br>
&lt;em>In trauma biomechanics, responsible interpretation under uncertainty is often more important than precise numerical prediction.&lt;/em>&lt;/p></description></item><item><title>Project Card 13</title><link>https://SadjadAbedi.ir/extras/traumaproj13/</link><pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/extras/traumaproj13/</guid><description>&lt;h2 id="conceptual-design-of-a-trauma-biomechanics-laboratory">Conceptual Design of a Trauma Biomechanics Laboratory&lt;/h2>
&lt;hr>
&lt;h3 id="project-pathway">Project Pathway&lt;/h3>
&lt;p>🟥 &lt;strong>Prevention, Design &amp;amp; Systems Thinking&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="1-background--motivation">1. Background &amp;amp; Motivation&lt;/h2>
&lt;p>Trauma biomechanics research and education rely heavily on experimental facilities capable of reproducing injury-relevant loading conditions and measuring biomechanical response. Well-designed trauma biomechanics laboratories support injury mechanism research, validation of numerical models, safety equipment testing, and education.&lt;/p>
&lt;p>In developing countries, including Iran, the establishment of such laboratories is often constrained by limited funding, infrastructure, and access to commercial equipment. However, &lt;strong>strategic, phased, and purpose-driven laboratory design&lt;/strong> can enable meaningful trauma biomechanics research even under these constraints.&lt;/p>
&lt;p>This project aims to develop a &lt;strong>conceptual and strategic design of a trauma biomechanics laboratory&lt;/strong>, tailored to local needs, priorities, and resources, while maintaining biomechanical relevance and scientific credibility.&lt;/p>
&lt;hr>
&lt;h2 id="2-core-biomechanical-question">2. Core Biomechanical Question&lt;/h2>
&lt;p>&lt;strong>How can a trauma biomechanics laboratory be strategically designed to investigate injury mechanisms and support education and research under realistic resource constraints?&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="3-laboratory-focus-and-scope">3. Laboratory Focus and Scope&lt;/h2>
&lt;p>The student must define a &lt;strong>clear laboratory focus&lt;/strong>, such as one (or a combination) of:&lt;/p>
&lt;ul>
&lt;li>Automotive trauma biomechanics&lt;/li>
&lt;li>Sports injury biomechanics&lt;/li>
&lt;li>Personal protective equipment (PPE) testing&lt;/li>
&lt;li>Occupational or fall-related trauma&lt;/li>
&lt;li>Educational and teaching-focused laboratory&lt;/li>
&lt;/ul>
&lt;p>The chosen focus must be justified based on &lt;strong>societal relevance, research impact, and feasibility&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="4-design-approach">4. Design Approach&lt;/h2>
&lt;p>This is a &lt;strong>systems-level design and planning project&lt;/strong>.&lt;/p>
&lt;p>The student is expected to:&lt;/p>
&lt;ul>
&lt;li>Translate injury biomechanics objectives into laboratory functions&lt;/li>
&lt;li>Define required experimental capabilities&lt;/li>
&lt;li>Propose a modular and scalable laboratory architecture&lt;/li>
&lt;li>Balance ambition with feasibility&lt;/li>
&lt;/ul>
&lt;p>This project does &lt;strong>not&lt;/strong> require actual construction or procurement.&lt;/p>
&lt;hr>
&lt;h2 id="5-laboratory-architecture-core-section">5. Laboratory Architecture (Core Section)&lt;/h2>
&lt;p>The project &lt;strong>must include&lt;/strong> a structured laboratory design covering:&lt;/p>
&lt;h3 id="a-experimental-capabilities">a) Experimental Capabilities&lt;/h3>
&lt;ul>
&lt;li>Injury types and loading scenarios to be studied&lt;/li>
&lt;li>Types of tests (impact, compression, sled, drop, etc.)&lt;/li>
&lt;li>Measurement needs (kinematics, forces, deformation)&lt;/li>
&lt;/ul>
&lt;h3 id="b-equipment-and-instrumentation">b) Equipment and Instrumentation&lt;/h3>
&lt;ul>
&lt;li>Essential equipment (core)&lt;/li>
&lt;li>Optional equipment (future expansion)&lt;/li>
&lt;li>Sensors and data acquisition systems&lt;/li>
&lt;/ul>
&lt;h3 id="c-space-and-infrastructure">c) Space and Infrastructure&lt;/h3>
&lt;ul>
&lt;li>Required space and layout&lt;/li>
&lt;li>Safety zones and shielding&lt;/li>
&lt;li>Power, data, and environmental considerations&lt;/li>
&lt;/ul>
&lt;p>Conceptual layouts or block diagrams are expected.&lt;/p>
&lt;hr>
&lt;h2 id="6-phased-development-strategy">6. Phased Development Strategy&lt;/h2>
&lt;p>The project must propose a &lt;strong>phased implementation plan&lt;/strong>, for example:&lt;/p>
&lt;ul>
&lt;li>Phase I: minimal viable laboratory&lt;/li>
&lt;li>Phase II: expanded testing capability&lt;/li>
&lt;li>Phase III: advanced research capacity&lt;/li>
&lt;/ul>
&lt;p>Each phase should include:&lt;/p>
&lt;ul>
&lt;li>goals,&lt;/li>
&lt;li>added capabilities,&lt;/li>
&lt;li>approximate cost range.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="7-validation-standards--credibility">7. Validation, Standards &amp;amp; Credibility&lt;/h2>
&lt;p>The project must address:&lt;/p>
&lt;ul>
&lt;li>How experimental results would be validated or benchmarked&lt;/li>
&lt;li>Relationship to international standards (e.g., ISO, FMVSS, ECE)&lt;/li>
&lt;li>Strategies to ensure scientific credibility despite simplified setups&lt;/li>
&lt;/ul>
&lt;p>Students must discuss &lt;strong>what claims the lab can and cannot support&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="8-feasibility--resource-awareness">8. Feasibility &amp;amp; Resource Awareness&lt;/h2>
&lt;p>The project must include a realistic feasibility assessment:&lt;/p>
&lt;ul>
&lt;li>Cost estimation (order-of-magnitude)&lt;/li>
&lt;li>Local availability of equipment and expertise&lt;/li>
&lt;li>Staffing and training considerations&lt;/li>
&lt;li>Safety, ethics, and operational risks&lt;/li>
&lt;/ul>
&lt;p>Overly idealized laboratory designs will be penalized.&lt;/p>
&lt;hr>
&lt;h2 id="9-expected-outcomes-and-impact">9. Expected Outcomes and Impact&lt;/h2>
&lt;p>The project should articulate:&lt;/p>
&lt;ul>
&lt;li>Research questions the lab could realistically address&lt;/li>
&lt;li>Educational impact (MSc, PhD, industry training)&lt;/li>
&lt;li>Potential for collaboration, funding, or policy influence&lt;/li>
&lt;/ul>
&lt;p>This section should reflect &lt;strong>strategic thinking&lt;/strong>, not just technical design.&lt;/p>
&lt;hr>
&lt;h2 id="10-deliverables">10. Deliverables&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Final Report&lt;/strong> (20-25 pages, excluding appendices)&lt;/li>
&lt;li>Conceptual laboratory layout and system diagrams&lt;/li>
&lt;li>Equipment lists and phased cost estimates&lt;/li>
&lt;li>Oral presentation (15-20 minutes)&lt;/li>
&lt;/ol>
&lt;p>Optional appendices:&lt;/p>
&lt;ul>
&lt;li>Example test protocols&lt;/li>
&lt;li>Risk assessment tables&lt;/li>
&lt;li>Expansion roadmaps&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="11-project-specific-grading-rubric">11. Project-Specific Grading Rubric&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Criterion&lt;/th>
&lt;th>Description&lt;/th>
&lt;th>Weight&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Problem formulation &amp;amp; relevance&lt;/td>
&lt;td>Clear definition of lab mission and context&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Biomechanical grounding&lt;/td>
&lt;td>Strength of biomechanical rationale for lab focus&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>System design quality&lt;/td>
&lt;td>Coherence and logic of lab architecture&lt;/td>
&lt;td>20%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Phased development strategy&lt;/td>
&lt;td>Realism and strategic planning quality&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Validation &amp;amp; credibility&lt;/td>
&lt;td>Understanding of standards and limitations&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Feasibility &amp;amp; resource awareness&lt;/td>
&lt;td>Cost realism, local feasibility, safety&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Technical clarity &amp;amp; professionalism&lt;/td>
&lt;td>Quality of figures, structure, and writing&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Total&lt;/strong>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;strong>100%&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="12-project-scope-agreement">12. Project Scope Agreement&lt;/h2>
&lt;p>By choosing this project, the student agrees to:&lt;/p>
&lt;ul>
&lt;li>Focus on &lt;strong>strategic and biomechanically grounded planning&lt;/strong>&lt;/li>
&lt;li>Respect local constraints and ethical responsibilities&lt;/li>
&lt;li>Clearly distinguish between current capability and future vision&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>&lt;strong>Note:&lt;/strong>&lt;br>
&lt;em>A well-designed laboratory concept can shape years of trauma biomechanics research, even before the first experiment is performed.&lt;/em>&lt;/p></description></item><item><title>Project Card 14</title><link>https://SadjadAbedi.ir/extras/traumaproj14/</link><pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/extras/traumaproj14/</guid><description>&lt;h2 id="design-study-of-seatbelt-or-padding-systems-for-injury-mitigation">Design Study of Seatbelt or Padding Systems for Injury Mitigation&lt;/h2>
&lt;hr>
&lt;h3 id="project-pathway">Project Pathway&lt;/h3>
&lt;p>🟥 &lt;strong>Prevention, Design &amp;amp; Systems Thinking&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="1-background--motivation">1. Background &amp;amp; Motivation&lt;/h2>
&lt;p>Seatbelts, padding systems, and energy-absorbing components are among the most effective injury mitigation technologies in transportation, occupational safety, and consumer products. Their protective performance depends not only on material properties, but also on system-level design choices such as load paths, geometry, timing, and interaction with the human body.&lt;/p>
&lt;p>In many developing countries, safety systems are often adapted from international designs without sufficient consideration of local vehicle fleets, usage patterns, manufacturing constraints, or injury epidemiology. A &lt;strong>biomechanically grounded design study&lt;/strong> can help bridge this gap by linking injury mechanisms to system-level design decisions.&lt;/p>
&lt;p>This project focuses on a &lt;strong>conceptual and biomechanical design study&lt;/strong> of a seatbelt or padding system aimed at mitigating traumatic injury under realistic constraints.&lt;/p>
&lt;hr>
&lt;h2 id="2-core-biomechanical-question">2. Core Biomechanical Question&lt;/h2>
&lt;p>&lt;strong>How can a seatbelt or padding system be designed to mitigate specific injury mechanisms through biomechanically informed system-level design choices?&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="3-injury-context-and-design-focus">3. Injury Context and Design Focus&lt;/h2>
&lt;p>The student must select &lt;strong>one design focus&lt;/strong>, such as:&lt;/p>
&lt;ul>
&lt;li>Automotive seatbelt system (frontal or rear impact)&lt;/li>
&lt;li>Padding systems for vehicle interiors&lt;/li>
&lt;li>Padding for occupational or industrial environments&lt;/li>
&lt;li>Energy-absorbing systems for sports or public safety&lt;/li>
&lt;/ul>
&lt;p>The selected context must be justified based on:&lt;/p>
&lt;ul>
&lt;li>injury prevalence,&lt;/li>
&lt;li>biomechanical relevance,&lt;/li>
&lt;li>local applicability.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="4-design-approach">4. Design Approach&lt;/h2>
&lt;p>This is a &lt;strong>systems-level design and analysis project&lt;/strong>.&lt;/p>
&lt;p>The student is expected to:&lt;/p>
&lt;ul>
&lt;li>Identify dominant injury mechanisms associated with the chosen context&lt;/li>
&lt;li>Translate biomechanical injury mechanisms into &lt;strong>design objectives&lt;/strong>&lt;/li>
&lt;li>Propose and analyze a safety system concept at the system level&lt;/li>
&lt;li>Discuss trade-offs between protection, usability, cost, and manufacturability&lt;/li>
&lt;/ul>
&lt;p>This project does &lt;strong>not&lt;/strong> require FEM or experimental testing.&lt;/p>
&lt;hr>
&lt;h2 id="5-biomechanical-injury-mechanisms-core-section">5. Biomechanical Injury Mechanisms (Core Section)&lt;/h2>
&lt;p>The project &lt;strong>must include&lt;/strong> a biomechanically grounded discussion of:&lt;/p>
&lt;ul>
&lt;li>Target injury mechanisms (e.g., thoracic compression, abdominal loading, head excursion)&lt;/li>
&lt;li>Load paths between the body and the safety system&lt;/li>
&lt;li>Time-dependent aspects of injury mitigation (e.g., force limiting, energy absorption)&lt;/li>
&lt;/ul>
&lt;p>Relevant injury criteria (e.g., chest compression, VC, abdominal force) should be discussed conceptually.&lt;/p>
&lt;hr>
&lt;h2 id="6-system-design-concept">6. System Design Concept&lt;/h2>
&lt;p>The project should propose a clear system design, including:&lt;/p>
&lt;h3 id="a-system-architecture">a) System Architecture&lt;/h3>
&lt;ul>
&lt;li>Overall layout and components&lt;/li>
&lt;li>Interaction with the human body&lt;/li>
&lt;li>Integration into existing environments (e.g., vehicle interior)&lt;/li>
&lt;/ul>
&lt;h3 id="b-functional-mechanisms">b) Functional Mechanisms&lt;/h3>
&lt;ul>
&lt;li>Energy absorption strategies&lt;/li>
&lt;li>Load distribution or redirection&lt;/li>
&lt;li>Timing and rate effects&lt;/li>
&lt;/ul>
&lt;h3 id="c-design-variables">c) Design Variables&lt;/h3>
&lt;ul>
&lt;li>Geometry&lt;/li>
&lt;li>Stiffness or compliance&lt;/li>
&lt;li>Adjustability or adaptability&lt;/li>
&lt;/ul>
&lt;p>Conceptual sketches or block diagrams are strongly encouraged.&lt;/p>
&lt;hr>
&lt;h2 id="7-design-trade-offs-and-constraints">7. Design Trade-offs and Constraints&lt;/h2>
&lt;p>The project must explicitly discuss:&lt;/p>
&lt;ul>
&lt;li>Protection vs comfort&lt;/li>
&lt;li>Performance vs cost&lt;/li>
&lt;li>Manufacturability vs idealized biomechanics&lt;/li>
&lt;li>Applicability to local vehicle fleets or environments&lt;/li>
&lt;/ul>
&lt;p>This section distinguishes &lt;strong>engineering judgment&lt;/strong> from idealized design.&lt;/p>
&lt;hr>
&lt;h2 id="8-evaluation-and-validation-strategy">8. Evaluation and Validation Strategy&lt;/h2>
&lt;p>The project must address:&lt;/p>
&lt;ul>
&lt;li>How the proposed design would be evaluated biomechanically&lt;/li>
&lt;li>Relevant standards or test procedures (conceptual level)&lt;/li>
&lt;li>What injury claims could and could not be made without experimental validation&lt;/li>
&lt;/ul>
&lt;p>Students must avoid overstating performance.&lt;/p>
&lt;hr>
&lt;h2 id="9-feasibility--resource-awareness">9. Feasibility &amp;amp; Resource Awareness&lt;/h2>
&lt;p>The project must include a realistic feasibility analysis:&lt;/p>
&lt;ul>
&lt;li>Estimated cost range&lt;/li>
&lt;li>Local manufacturing or implementation considerations&lt;/li>
&lt;li>Maintenance and durability considerations&lt;/li>
&lt;li>Ethical and safety implications&lt;/li>
&lt;/ul>
&lt;p>Designs ignoring real-world constraints will be penalized.&lt;/p>
&lt;hr>
&lt;h2 id="10-expected-outcomes">10. Expected Outcomes&lt;/h2>
&lt;p>By the end of the project, the student should deliver:&lt;/p>
&lt;ul>
&lt;li>A biomechanically justified seatbelt or padding system concept&lt;/li>
&lt;li>Clear explanation of injury mitigation mechanisms&lt;/li>
&lt;li>Design trade-off analysis&lt;/li>
&lt;li>Recommendations for future refinement or testing&lt;/li>
&lt;/ul>
&lt;p>The outcome should reflect &lt;strong>systems-level biomechanical thinking&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="11-deliverables">11. Deliverables&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Final Report&lt;/strong> (20-25 pages, excluding appendices)&lt;/li>
&lt;li>Conceptual design sketches or diagrams&lt;/li>
&lt;li>Injury mechanism and load-path illustrations&lt;/li>
&lt;li>Oral presentation (15-20 minutes)&lt;/li>
&lt;/ol>
&lt;p>Optional appendices:&lt;/p>
&lt;ul>
&lt;li>Comparative design tables&lt;/li>
&lt;li>Conceptual performance metrics&lt;/li>
&lt;li>References to standards or guidelines&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="12-project-specific-grading-rubric">12. Project-Specific Grading Rubric&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Criterion&lt;/th>
&lt;th>Description&lt;/th>
&lt;th>Weight&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Problem formulation &amp;amp; relevance&lt;/td>
&lt;td>Clear definition of injury and design context&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Biomechanical grounding&lt;/td>
&lt;td>Quality of injury mechanism analysis&lt;/td>
&lt;td>20%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>System design quality&lt;/td>
&lt;td>Coherence and logic of design concept&lt;/td>
&lt;td>20%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Design trade-off analysis&lt;/td>
&lt;td>Depth of engineering judgment&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Evaluation &amp;amp; limitations&lt;/td>
&lt;td>Realistic assessment of performance claims&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Feasibility &amp;amp; resource awareness&lt;/td>
&lt;td>Cost realism and local applicability&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Technical clarity &amp;amp; professionalism&lt;/td>
&lt;td>Quality of writing and figures&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Total&lt;/strong>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;strong>100%&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="13-project-scope-agreement">13. Project Scope Agreement&lt;/h2>
&lt;p>By choosing this project, the student agrees to:&lt;/p>
&lt;ul>
&lt;li>Focus on &lt;strong>system-level injury mitigation&lt;/strong>, not component optimization&lt;/li>
&lt;li>Respect real-world constraints and ethical responsibilities&lt;/li>
&lt;li>Clearly distinguish between conceptual design and validated performance&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>&lt;strong>Note:&lt;/strong>&lt;br>
&lt;em>Effective injury prevention often depends more on intelligent system design than on advanced materials or complex models.&lt;/em>&lt;/p></description></item><item><title>Project Card 15</title><link>https://SadjadAbedi.ir/extras/traumaproj15/</link><pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/extras/traumaproj15/</guid><description>&lt;h2 id="standards-based-critique-and-redesign-proposal-for-injury-assessment">Standards-Based Critique and Redesign Proposal for Injury Assessment&lt;/h2>
&lt;h3 id="fmvss--ece-in-relation-to-local-needs">(FMVSS / ECE in Relation to Local Needs)&lt;/h3>
&lt;hr>
&lt;h3 id="project-pathway">Project Pathway&lt;/h3>
&lt;p>🟥 &lt;strong>Prevention, Design &amp;amp; Systems Thinking&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="1-background--motivation">1. Background &amp;amp; Motivation&lt;/h2>
&lt;p>International injury assessment and safety standards-such as the U.S. Federal Motor Vehicle Safety Standards (FMVSS) and United Nations Economic Commission for Europe (ECE) regulations-play a central role in defining how traumatic injury risk is evaluated, regulated, and mitigated. These standards strongly influence vehicle design, testing procedures, and safety requirements worldwide.&lt;/p>
&lt;p>However, these standards are developed based on specific assumptions regarding:&lt;/p>
&lt;ul>
&lt;li>vehicle fleets,&lt;/li>
&lt;li>road infrastructure,&lt;/li>
&lt;li>user behavior,&lt;/li>
&lt;li>anthropometry,&lt;/li>
&lt;li>injury epidemiology.&lt;/li>
&lt;/ul>
&lt;p>When applied directly in developing countries, such as Iran, these assumptions may not fully reflect local conditions. A &lt;strong>biomechanically informed critique and redesign proposal&lt;/strong> can help identify mismatches between international standards and local injury realities, while maintaining scientific credibility and regulatory rigor.&lt;/p>
&lt;hr>
&lt;h2 id="2-core-biomechanical-question">2. Core Biomechanical Question&lt;/h2>
&lt;p>&lt;strong>To what extent do existing injury assessment standards reflect local injury mechanisms and conditions, and how can they be biomechanically adapted or supplemented to better address local needs?&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="3-standard-selection-and-scope">3. Standard Selection and Scope&lt;/h2>
&lt;p>The student must select &lt;strong>one standard or regulatory framework&lt;/strong>, such as:&lt;/p>
&lt;ul>
&lt;li>FMVSS (e.g., FMVSS 208, 214)&lt;/li>
&lt;li>ECE regulations (e.g., R94, R95, R129)&lt;/li>
&lt;li>Helmet safety standards (e.g., ECE R22)&lt;/li>
&lt;li>Related injury assessment protocols&lt;/li>
&lt;/ul>
&lt;p>The scope must be clearly defined and justified.&lt;/p>
&lt;hr>
&lt;h2 id="4-analysis-approach">4. Analysis Approach&lt;/h2>
&lt;p>This is a &lt;strong>standards-focused, analytical, and design-oriented project&lt;/strong>.&lt;/p>
&lt;p>The student is expected to:&lt;/p>
&lt;ul>
&lt;li>Analyze the biomechanical assumptions embedded in the selected standard&lt;/li>
&lt;li>Identify the injury mechanisms prioritized by the standard&lt;/li>
&lt;li>Compare these assumptions with local conditions (vehicles, usage, population)&lt;/li>
&lt;li>Propose biomechanically grounded adaptations or supplements&lt;/li>
&lt;/ul>
&lt;p>This project does &lt;strong>not&lt;/strong> involve experimental testing or numerical simulation.&lt;/p>
&lt;hr>
&lt;h2 id="5-biomechanical-assumptions-in-standards-core-section">5. Biomechanical Assumptions in Standards (Core Section)&lt;/h2>
&lt;p>The project &lt;strong>must include&lt;/strong> a structured analysis of:&lt;/p>
&lt;ul>
&lt;li>Target injury mechanisms and metrics&lt;/li>
&lt;li>Dummy types and anthropometric assumptions&lt;/li>
&lt;li>Test configurations and loading conditions&lt;/li>
&lt;li>Injury criteria and thresholds&lt;/li>
&lt;/ul>
&lt;p>Students must clearly explain &lt;strong>what the standard assumes biomechanically&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="6-local-context-analysis">6. Local Context Analysis&lt;/h2>
&lt;p>The project must analyze relevant local factors, such as:&lt;/p>
&lt;ul>
&lt;li>Vehicle fleet characteristics&lt;/li>
&lt;li>Road and traffic conditions&lt;/li>
&lt;li>Typical crash scenarios&lt;/li>
&lt;li>Anthropometric differences&lt;/li>
&lt;li>Injury epidemiology trends (if available)&lt;/li>
&lt;/ul>
&lt;p>The analysis should remain biomechanical, not purely sociological.&lt;/p>
&lt;hr>
&lt;h2 id="7-gap-identification">7. Gap Identification&lt;/h2>
&lt;p>The project should identify and justify &lt;strong>specific gaps&lt;/strong>, for example:&lt;/p>
&lt;ul>
&lt;li>Injury mechanisms underrepresented or ignored&lt;/li>
&lt;li>Test conditions not representative of local crashes&lt;/li>
&lt;li>Injury criteria with questionable relevance locally&lt;/li>
&lt;li>Over- or under-conservatism of thresholds&lt;/li>
&lt;/ul>
&lt;p>Each identified gap must be biomechanically justified.&lt;/p>
&lt;hr>
&lt;h2 id="8-redesign-or-supplement-proposal">8. Redesign or Supplement Proposal&lt;/h2>
&lt;p>The project must propose &lt;strong>one or more biomechanically grounded improvements&lt;/strong>, such as:&lt;/p>
&lt;ul>
&lt;li>Modified test conditions or impact scenarios&lt;/li>
&lt;li>Additional injury metrics or criteria&lt;/li>
&lt;li>Supplemental local test procedures&lt;/li>
&lt;li>Context-specific interpretation guidelines&lt;/li>
&lt;/ul>
&lt;p>Proposals must be realistic and defensible.&lt;/p>
&lt;hr>
&lt;h2 id="9-evaluation-and-credibility">9. Evaluation and Credibility&lt;/h2>
&lt;p>The project must address:&lt;/p>
&lt;ul>
&lt;li>How proposed changes could be validated&lt;/li>
&lt;li>Alignment with international regulatory philosophy&lt;/li>
&lt;li>Risks of divergence from global standards&lt;/li>
&lt;li>Ethical and legal considerations&lt;/li>
&lt;/ul>
&lt;p>Students must clearly state &lt;strong>what claims can and cannot be made&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="10-feasibility--implementation-considerations">10. Feasibility &amp;amp; Implementation Considerations&lt;/h2>
&lt;p>The project must include:&lt;/p>
&lt;ul>
&lt;li>Practical feasibility of proposed adaptations&lt;/li>
&lt;li>Cost and infrastructure implications&lt;/li>
&lt;li>Pathways for gradual adoption or pilot implementation&lt;/li>
&lt;li>Compatibility with existing regulatory frameworks&lt;/li>
&lt;/ul>
&lt;p>Unrealistic proposals will be penalized.&lt;/p>
&lt;hr>
&lt;h2 id="11-expected-outcomes">11. Expected Outcomes&lt;/h2>
&lt;p>By the end of the project, the student should deliver:&lt;/p>
&lt;ul>
&lt;li>A biomechanically grounded critique of an existing standard&lt;/li>
&lt;li>Clear identification of local mismatches&lt;/li>
&lt;li>A defensible redesign or supplementation proposal&lt;/li>
&lt;li>Recommendations for research, policy, or testing practice&lt;/li>
&lt;/ul>
&lt;p>The outcome should demonstrate &lt;strong>systems-level thinking and professional responsibility&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="12-deliverables">12. Deliverables&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Final Report&lt;/strong> (20-25 pages, excluding appendices)&lt;/li>
&lt;li>Comparative tables of standard assumptions vs local conditions&lt;/li>
&lt;li>Conceptual diagrams illustrating proposed changes&lt;/li>
&lt;li>Oral presentation (15-20 minutes)&lt;/li>
&lt;/ol>
&lt;p>Optional appendices:&lt;/p>
&lt;ul>
&lt;li>Excerpts of relevant standards&lt;/li>
&lt;li>Supporting epidemiological data&lt;/li>
&lt;li>Regulatory comparison tables&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="13-project-specific-grading-rubric">13. Project-Specific Grading Rubric&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Criterion&lt;/th>
&lt;th>Description&lt;/th>
&lt;th>Weight&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Problem formulation &amp;amp; relevance&lt;/td>
&lt;td>Clear definition of standard and context&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Understanding of injury biomechanics&lt;/td>
&lt;td>Depth of biomechanical analysis&lt;/td>
&lt;td>20%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Standards analysis quality&lt;/td>
&lt;td>Accuracy and insight in interpreting standards&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Gap identification&lt;/td>
&lt;td>Clarity and biomechanical justification of gaps&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Redesign / supplement proposal&lt;/td>
&lt;td>Quality and realism of proposed improvements&lt;/td>
&lt;td>20%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Feasibility &amp;amp; ethical awareness&lt;/td>
&lt;td>Implementation realism and responsibility&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Technical clarity &amp;amp; professionalism&lt;/td>
&lt;td>Quality of writing, figures, and structure&lt;/td>
&lt;td>10%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Total&lt;/strong>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;strong>100%&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="14-project-scope-agreement">14. Project Scope Agreement&lt;/h2>
&lt;p>By choosing this project, the student agrees to:&lt;/p>
&lt;ul>
&lt;li>Maintain a &lt;strong>biomechanics-centered perspective&lt;/strong>&lt;/li>
&lt;li>Avoid purely political or legal argumentation&lt;/li>
&lt;li>Clearly distinguish evidence, assumptions, and judgment&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>&lt;strong>Note:&lt;/strong>&lt;br>
&lt;em>Standards shape injury prevention not only through rules, but through the biomechanical assumptions they encode.&lt;/em>&lt;/p></description></item><item><title>Project Card 16</title><link>https://SadjadAbedi.ir/extras/traumaproj16/</link><pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/extras/traumaproj16/</guid><description>&lt;h2 id="helmet-safety-evaluation-framework-injury-metrics-protocols-and-design-trade-offs">Helmet Safety Evaluation Framework: Injury Metrics, Protocols, and Design Trade-offs&lt;/h2>
&lt;hr>
&lt;h3 id="project-pathway">Project Pathway&lt;/h3>
&lt;p>🟥 &lt;strong>Prevention, Design &amp;amp; Systems Thinking&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="1-background--motivation">1. Background &amp;amp; Motivation&lt;/h2>
&lt;p>Helmets are widely used in transportation, sports, and occupational environments as a primary means of head injury prevention. While helmet performance is often evaluated through standardized tests, these evaluations rely on specific injury metrics, test configurations, and pass/fail criteria that implicitly encode biomechanical assumptions.&lt;/p>
&lt;p>In many contexts-particularly in developing countries-helmet usage patterns, impact scenarios, and injury epidemiology may differ from those assumed in international standards. A &lt;strong>system-level evaluation framework&lt;/strong> is therefore essential to interpret helmet performance responsibly and to guide design and policy decisions.&lt;/p>
&lt;p>This project focuses on developing a &lt;strong>biomechanically grounded helmet safety evaluation framework&lt;/strong>, independent of any specific testing hardware.&lt;/p>
&lt;hr>
&lt;h2 id="2-core-biomechanical-question">2. Core Biomechanical Question&lt;/h2>
&lt;p>&lt;strong>How should helmet protective performance be evaluated biomechanically, and what trade-offs exist between different injury metrics, test protocols, and design priorities?&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="3-injury-mechanisms-and-metrics">3. Injury Mechanisms and Metrics&lt;/h2>
&lt;p>The project should analyze:&lt;/p>
&lt;ul>
&lt;li>Head injury mechanisms relevant to helmet use:
&lt;ul>
&lt;li>linear acceleration&lt;/li>
&lt;li>rotational motion&lt;/li>
&lt;li>impact energy dissipation&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Common helmet injury metrics:
&lt;ul>
&lt;li>Head Injury Criterion (HIC)&lt;/li>
&lt;li>peak linear acceleration&lt;/li>
&lt;li>rotational acceleration metrics&lt;/li>
&lt;li>energy absorption indicators&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>Students must critically assess &lt;strong>what each metric captures and what it neglects&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="4-evaluation-framework-design">4. Evaluation Framework Design&lt;/h2>
&lt;p>This is a &lt;strong>systems-level analytical project&lt;/strong>.&lt;/p>
&lt;p>The student is expected to:&lt;/p>
&lt;ul>
&lt;li>Propose a structured framework for helmet safety evaluation&lt;/li>
&lt;li>Define which injury metrics should be prioritized for different use cases&lt;/li>
&lt;li>Discuss appropriate test scenarios (conceptual, not hardware-specific)&lt;/li>
&lt;li>Define performance interpretation strategies&lt;/li>
&lt;/ul>
&lt;p>No experimental setup or FEM is required.&lt;/p>
&lt;hr>
&lt;h2 id="5-test-protocol-logic-conceptual">5. Test Protocol Logic (Conceptual)&lt;/h2>
&lt;p>The project must include a conceptual discussion of:&lt;/p>
&lt;ul>
&lt;li>Impact locations and directions&lt;/li>
&lt;li>Severity levels&lt;/li>
&lt;li>Single vs multiple impacts&lt;/li>
&lt;li>Repeatability and robustness&lt;/li>
&lt;/ul>
&lt;p>The focus is on &lt;strong>why&lt;/strong> certain protocols are chosen, not &lt;strong>how&lt;/strong> to build them.&lt;/p>
&lt;hr>
&lt;h2 id="6-design-trade-offs">6. Design Trade-offs&lt;/h2>
&lt;p>The project must explicitly discuss trade-offs such as:&lt;/p>
&lt;ul>
&lt;li>Linear vs rotational injury mitigation&lt;/li>
&lt;li>Protection vs comfort&lt;/li>
&lt;li>Performance vs cost&lt;/li>
&lt;li>Certification thresholds vs real-world injury reduction&lt;/li>
&lt;/ul>
&lt;p>This section is central to Pathway D.&lt;/p>
&lt;hr>
&lt;h2 id="7-standards-and-contextual-adaptation">7. Standards and Contextual Adaptation&lt;/h2>
&lt;p>The project should examine:&lt;/p>
&lt;ul>
&lt;li>Existing helmet standards (e.g. ECE R22, EN standards, sports standards)&lt;/li>
&lt;li>Biomechanical assumptions behind these standards&lt;/li>
&lt;li>Potential mismatches with local usage or injury patterns&lt;/li>
&lt;/ul>
&lt;p>Students must propose &lt;strong>interpretation or supplementation strategies&lt;/strong>, not new standards.&lt;/p>
&lt;hr>
&lt;h2 id="8-validation-limitations-and-ethics">8. Validation, Limitations, and Ethics&lt;/h2>
&lt;p>The project must address:&lt;/p>
&lt;ul>
&lt;li>Limits of helmet evaluation metrics&lt;/li>
&lt;li>Risk of over-reliance on pass/fail criteria&lt;/li>
&lt;li>Ethical implications of safety certification&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="9-expected-outcomes">9. Expected Outcomes&lt;/h2>
&lt;p>By the end of the project, the student should deliver:&lt;/p>
&lt;ul>
&lt;li>A coherent helmet safety evaluation framework&lt;/li>
&lt;li>Justified selection of injury metrics and protocols&lt;/li>
&lt;li>Clear articulation of design and policy trade-offs&lt;/li>
&lt;li>Recommendations for responsible helmet assessment&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="10-deliverables">10. Deliverables&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Final Report&lt;/strong> (20-25 pages)&lt;/li>
&lt;li>Conceptual framework diagrams&lt;/li>
&lt;li>Comparative tables of metrics and protocols&lt;/li>
&lt;li>Oral presentation (15-20 minutes)&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="11-project-specific-grading-rubric">11. Project-Specific Grading Rubric&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Criterion&lt;/th>
&lt;th>Weight&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Biomechanical understanding&lt;/td>
&lt;td>20%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Evaluation framework quality&lt;/td>
&lt;td>20%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Metric and protocol justification&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Design trade-off analysis&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Standards interpretation&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Technical clarity &amp;amp; professionalism&lt;/td>
&lt;td>15%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Total&lt;/strong>&lt;/td>
&lt;td>&lt;strong>100%&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;p>&lt;strong>Note:&lt;/strong>&lt;br>
&lt;em>A helmet is only as safe as the biomechanical assumptions used to evaluate it.&lt;/em>&lt;/p></description></item><item><title>Trauma Biomechanics</title><link>https://SadjadAbedi.ir/courses/trauma/</link><pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/courses/trauma/</guid><description>&lt;h2 id="course-information">Course Information&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Course Title&lt;/strong>: Trauma Biomechanics&lt;/li>
&lt;li>&lt;strong>Course Code&lt;/strong>: 2014471-01&lt;/li>
&lt;li>&lt;strong>Credits&lt;/strong>: 3&lt;/li>
&lt;li>&lt;strong>Level&lt;/strong>: MSc&lt;/li>
&lt;li>&lt;strong>Class Schedule&lt;/strong>: Sunday 8:00-10:00 &amp;amp; Monday 14:00-16:00&lt;/li>
&lt;li>&lt;strong>Class Location&lt;/strong>: Class 30&lt;/li>
&lt;li>&lt;strong>Instructor&lt;/strong>: &lt;strong>Seyed Sadjad Abedi-Shahri&lt;/strong>
&lt;ul>
&lt;li>&lt;strong>Email&lt;/strong>:
&lt;/li>
&lt;li>&lt;strong>Telegram&lt;/strong>: @Sad4Abd&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture Materials&lt;/strong>: Provided weekly via LMS&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="course-overview">Course Overview&lt;/h2>
&lt;p>This course introduces the biomechanical principles underlying traumatic injuries of the human body under high-rate and impact loading. Emphasis is placed on &lt;strong>injury mechanisms&lt;/strong>, &lt;strong>injury criteria&lt;/strong>, and &lt;strong>models used in trauma biomechanics&lt;/strong>, including numerical, experimental, analytical, and systems-level approaches.&lt;/p>
&lt;p>The course adopts a &lt;strong>model-driven and interpretation-focused philosophy&lt;/strong>, enabling students to analyze trauma problems. Students will engage with realistic injury scenarios drawn from automotive safety, sports, occupational accidents, and protective equipment design.&lt;/p>
&lt;hr>
&lt;h2 id="learning-objectives">Learning Objectives&lt;/h2>
&lt;p>By the end of the course, students will be able to:&lt;/p>
&lt;ul>
&lt;li>Explain major traumatic injury mechanisms across different anatomical regions&lt;/li>
&lt;li>Interpret and apply commonly used injury criteria and injury metrics&lt;/li>
&lt;li>Compare experimental, numerical, analytical, and systems-level models in trauma biomechanics&lt;/li>
&lt;li>Critically evaluate trauma biomechanics studies and standards&lt;/li>
&lt;li>Design and justify injury assessment or prevention strategies under real-world constraints&lt;/li>
&lt;li>Communicate biomechanical reasoning clearly, including assumptions and limitations&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="syllabus-topics">Syllabus (Topics)&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Module 1 - Foundations of Trauma Biomechanics&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Module 2 - Methods in Trauma Biomechanics&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Module 3 - Head and Brain Trauma&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Module 4 - Spine and Thoracic Trauma&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Module 5 - Abdomen and Extremities&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Module 6 - Special Topics and Synthesis&lt;/strong>&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="references">References&lt;/h2>
&lt;p>&lt;strong>Schmitt, K.U., Niederer, P.F., Cronin, D.S., Muser, M.H., Walz, F.&lt;/strong> &lt;em>Trauma Biomechanics: An Introduction to Injury Biomechanics&lt;/em>, 5th ed.&lt;/p>
&lt;hr>
&lt;h2 id="evaluation-scheme">Evaluation Scheme&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Final Project&lt;/strong>: 50%
&lt;ul>
&lt;li>Individual project, chosen from structured project cards&lt;/li>
&lt;li>Includes report and oral presentation&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Final Exam&lt;/strong>: 50%
&lt;ul>
&lt;li>Conceptual and interpretive questions&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>This course uses &lt;strong>continuous assessment through a major project&lt;/strong> rather than frequent quizzes.&lt;/p>
&lt;hr>
&lt;h2 id="project-structure">Project Structure&lt;/h2>
&lt;p>Each student selects &lt;strong>one project&lt;/strong> from a curated set of &lt;strong>project cards&lt;/strong>, organized into four equally valued pathways:&lt;/p>
&lt;ul>
&lt;li>🟦 &lt;strong>Numerical / Computational Modeling (FEM)&lt;/strong>
&lt;ul>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>🟩 &lt;strong>Experimental / Proof-of-Concept Design&lt;/strong>
&lt;ul>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>🟨 &lt;strong>Data-Driven / Analytical Modeling&lt;/strong>
&lt;ul>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>🟥 &lt;strong>Prevention, Design &amp;amp; Systems Thinking&lt;/strong>
&lt;ul>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>All pathways:&lt;/p>
&lt;ul>
&lt;li>Have comparable difficulty&lt;/li>
&lt;li>Use pathway-specific grading rubrics&lt;/li>
&lt;li>Are equally weighted in assessment&lt;/li>
&lt;/ul>
&lt;p>See the &lt;strong>Project Cards&lt;/strong> document and the guide
for details.&lt;/p>
&lt;hr>
&lt;h2 id="project-timeline--milestones">Project Timeline &amp;amp; Milestones&lt;/h2>
&lt;p>The course project is a &lt;strong>semester-long individual project&lt;/strong> designed to support deep, mature engagement with trauma biomechanics.&lt;br>
Project assessment combines &lt;strong>process-based milestones&lt;/strong> with &lt;strong>final quality-based evaluation&lt;/strong>, and applies &lt;strong>equally to all project pathways&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h3 id="overall-grading-context">&lt;strong>Overall Grading Context&lt;/strong>&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Final Exam&lt;/strong>: 50% of course grade&lt;/li>
&lt;li>&lt;strong>Project (total)&lt;/strong>: 50% of course grade&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>&lt;strong>Important:&lt;/strong>&lt;br>
The detailed grading rubric provided in each &lt;strong>Project Card&lt;/strong> is applied &lt;strong>only to the final written report and oral presentation&lt;/strong>.&lt;br>
Early milestones are assessed using simplified criteria focused on progress, clarity, and appropriate scope.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h3 id="week-1-2--project-orientation">&lt;strong>Week 1-2 | Project Orientation&lt;/strong>&lt;/h3>
&lt;ul>
&lt;li>Introduction to project pathways and expectations&lt;/li>
&lt;li>Release of:
&lt;ul>
&lt;li>Project Cards (all projects)&lt;/li>
&lt;li>“How to Choose Your Project Pathway” guide&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Discussion of grading philosophy and examples&lt;/li>
&lt;/ul>
&lt;p>📌 &lt;em>No graded deliverables&lt;/em>&lt;/p>
&lt;hr>
&lt;h3 id="week-3--project-selection">&lt;strong>Week 3 | Project Selection&lt;/strong>&lt;/h3>
&lt;ul>
&lt;li>Students review all project cards&lt;/li>
&lt;li>Each student submits:
&lt;ul>
&lt;li>Ranked list of &lt;strong>three preferred projects&lt;/strong>&lt;/li>
&lt;li>Brief justification (2-3 sentences per choice)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>📌 &lt;em>Instructor confirms project assignments&lt;/em>&lt;br>
📌 &lt;em>Not graded&lt;/em>&lt;/p>
&lt;hr>
&lt;h3 id="week-4--project-proposal-milestone-1">&lt;strong>Week 4 | Project Proposal (Milestone 1)&lt;/strong>&lt;/h3>
&lt;p>&lt;strong>Deliverable:&lt;/strong> Short written proposal (2-3 pages)&lt;/p>
&lt;p>Must include:&lt;/p>
&lt;ul>
&lt;li>Selected project card and pathway&lt;/li>
&lt;li>Problem statement and objectives&lt;/li>
&lt;li>Planned approach and scope&lt;/li>
&lt;li>Key assumptions and anticipated challenges&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Assessment focus:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Clarity of problem definition&lt;/li>
&lt;li>Appropriate project scope&lt;/li>
&lt;li>Feasibility of the proposed approach&lt;/li>
&lt;/ul>
&lt;p>📊 &lt;strong>Weight:&lt;/strong> &lt;strong>5% of course grade&lt;/strong>&lt;/p>
&lt;hr>
&lt;h3 id="week-6-7--mid-project-review-milestone-2">&lt;strong>Week 6-7 | Mid-Project Review (Milestone 2)&lt;/strong>&lt;/h3>
&lt;p>&lt;strong>Deliverable:&lt;/strong> Progress review (written summary or oral meeting)&lt;/p>
&lt;p>Should cover:&lt;/p>
&lt;ul>
&lt;li>Work completed to date&lt;/li>
&lt;li>Preliminary analysis, design, or concepts&lt;/li>
&lt;li>Identified difficulties or limitations&lt;/li>
&lt;li>Revised plan if needed&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Assessment focus:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Evidence of meaningful progress&lt;/li>
&lt;li>Quality of reasoning and engagement&lt;/li>
&lt;li>Awareness of limitations and challenges&lt;/li>
&lt;/ul>
&lt;p>📊 &lt;strong>Weight:&lt;/strong> &lt;strong>10% of course grade&lt;/strong>&lt;/p>
&lt;hr>
&lt;h3 id="week-11-12--draft-check-optional-not-graded">&lt;strong>Week 11-12 | Draft Check (Optional, Not Graded)&lt;/strong>&lt;/h3>
&lt;ul>
&lt;li>Informal submission of:
&lt;ul>
&lt;li>report outline,&lt;/li>
&lt;li>preliminary figures or concepts,&lt;/li>
&lt;li>early results or designs&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Feedback provided by the instructor&lt;/li>
&lt;/ul>
&lt;p>📌 &lt;em>Strongly recommended but not graded&lt;/em>&lt;/p>
&lt;hr>
&lt;h3 id="final-week--final-submission--presentation-milestone-3">&lt;strong>Final Week | Final Submission &amp;amp; Presentation (Milestone 3)&lt;/strong>&lt;/h3>
&lt;h4 id="final-written-report">&lt;strong>Final Written Report&lt;/strong>&lt;/h4>
&lt;ul>
&lt;li>Length: 20-25 pages (excluding appendices)&lt;/li>
&lt;li>Evaluated using the &lt;strong>Project Card grading rubric&lt;/strong>&lt;/li>
&lt;/ul>
&lt;p>📊 &lt;strong>Weight:&lt;/strong> &lt;strong>25% of course grade&lt;/strong>&lt;/p>
&lt;h4 id="oral-presentation--discussion">&lt;strong>Oral Presentation &amp;amp; Discussion&lt;/strong>&lt;/h4>
&lt;ul>
&lt;li>Duration: 15-20 minutes + discussion&lt;/li>
&lt;li>Evaluated using presentation-related criteria from the &lt;strong>Project Card rubric&lt;/strong>&lt;/li>
&lt;/ul>
&lt;p>📊 &lt;strong>Weight:&lt;/strong> &lt;strong>10% of course grade&lt;/strong>&lt;/p>
&lt;hr>
&lt;h3 id="summary-of-project-assessment">&lt;strong>Summary of Project Assessment&lt;/strong>&lt;/h3>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Component&lt;/th>
&lt;th>Course Weight&lt;/th>
&lt;th>Evaluation Method&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Project Proposal&lt;/td>
&lt;td>5%&lt;/td>
&lt;td>Milestone criteria (scope, clarity, feasibility)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Mid-Project Review&lt;/td>
&lt;td>10%&lt;/td>
&lt;td>Progress and reasoning&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Final Written Report&lt;/td>
&lt;td>25%&lt;/td>
&lt;td>&lt;strong>Project Card rubric&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Oral Presentation&lt;/td>
&lt;td>10%&lt;/td>
&lt;td>&lt;strong>Project Card rubric&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Total Project Weight&lt;/strong>&lt;/td>
&lt;td>&lt;strong>50%&lt;/strong>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h3 id="general-notes">&lt;strong>General Notes&lt;/strong>&lt;/h3>
&lt;ul>
&lt;li>All milestones apply &lt;strong>equally to all project pathways&lt;/strong>&lt;/li>
&lt;li>Projects are &lt;strong>individual by default&lt;/strong>&lt;/li>
&lt;li>Final project quality is evaluated using &lt;strong>pathway-specific rubrics&lt;/strong>&lt;/li>
&lt;li>Early milestones are designed to support learning, not penalize exploration&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>&lt;em>A successful project is one that is well-scoped, well-argued, and intellectually honest.&lt;/em>&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h2 id="session-outline">Session Outline&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Session&lt;/th>
&lt;th>Date&lt;/th>
&lt;th>Outline&lt;/th>
&lt;th>Additional Resources&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>1&lt;/td>
&lt;td>3 Esfand&lt;/td>
&lt;td>Module 1 (U)&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="policies">Policies&lt;/h2>
&lt;ol>
&lt;li>Attendance is recommended but not mandatory.&lt;/li>
&lt;li>Active participation in discussions is encouraged.&lt;/li>
&lt;li>Collaboration in discussion is allowed; all submitted work must be individual.&lt;/li>
&lt;li>Academic integrity is strictly enforced. Plagiarism or misrepresentation will not be tolerated.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>(U): Unfinished&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Trauma Biomechanics - How to Choose Your Project Pathway</title><link>https://SadjadAbedi.ir/extras/pathway/</link><pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/extras/pathway/</guid><description>&lt;p>This course offers &lt;strong>four project pathways&lt;/strong>, each representing a different way of doing trauma biomechanics.&lt;br>
All pathways are &lt;strong>equally valued&lt;/strong>, &lt;strong>equally graded&lt;/strong>, and &lt;strong>equally rigorous&lt;/strong> - they simply emphasize &lt;strong>different skills and interests&lt;/strong>.&lt;/p>
&lt;p>There is &lt;strong>no &amp;ldquo;best&amp;rdquo; pathway&lt;/strong>.&lt;br>
The best pathway is the one that matches &lt;strong>how you think and how you want to work&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="-pathway-a---numerical--computational-modeling-fem">🟦 Pathway A - Numerical / Computational Modeling (FEM)&lt;/h2>
&lt;p>&lt;strong>Choose this pathway if you:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Enjoy simulations and computational modeling&lt;/li>
&lt;li>Are comfortable with FEM software&lt;/li>
&lt;li>Like exploring &amp;ldquo;what happens if&amp;hellip;&amp;rdquo; questions&lt;/li>
&lt;li>Want hands-on experience with injury modeling&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>What you will do:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Build or adapt simplified FE models&lt;/li>
&lt;li>Apply impact or injury-relevant loading&lt;/li>
&lt;li>Compute and interpret injury metrics&lt;/li>
&lt;li>Perform sensitivity or parametric studies&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>You do NOT need:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Very complex geometry&lt;/li>
&lt;li>Advanced material models&lt;/li>
&lt;li>High computational resources&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Typical outputs:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>FE models&lt;/li>
&lt;li>Injury metric plots&lt;/li>
&lt;li>Interpretation of trends and limitations&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Good fit for students interested in:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Computational biomechanics&lt;/li>
&lt;li>Automotive safety&lt;/li>
&lt;li>Further numerical or PhD research&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="-pathway-b---experimental--proof-of-concept-design">🟩 Pathway B - Experimental / Proof-of-Concept Design&lt;/h2>
&lt;p>&lt;strong>Choose this pathway if you:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Like thinking about how things are tested in the real world&lt;/li>
&lt;li>Enjoy system design, instrumentation, and feasibility&lt;/li>
&lt;li>Are interested in building research capability, not just using tools&lt;/li>
&lt;li>Prefer practical, engineering-oriented thinking&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>What you will do:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Design experimental test setups (rigs, dummies, sleds)&lt;/li>
&lt;li>Define sensors, protocols, and safety considerations&lt;/li>
&lt;li>Think about repeatability, validation, and cost&lt;/li>
&lt;li>Work at the level of &lt;em>how testing could realistically be done&lt;/em>&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>You do NOT need:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Access to a real laboratory&lt;/li>
&lt;li>To build or manufacture anything&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Typical outputs:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Test system designs&lt;/li>
&lt;li>Experimental protocols&lt;/li>
&lt;li>Schematics and feasibility analyses&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Good fit for students interested in:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Experimental biomechanics&lt;/li>
&lt;li>Lab development&lt;/li>
&lt;li>Applied engineering and industry work&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="-pathway-c---data-driven--analytical-modeling">🟨 Pathway C - Data-Driven / Analytical Modeling&lt;/h2>
&lt;p>&lt;strong>Choose this pathway if you:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Enjoy deep thinking and analysis more than tools&lt;/li>
&lt;li>Like asking &amp;ldquo;why does this work?&amp;rdquo; or &amp;ldquo;when does this fail?&amp;rdquo;&lt;/li>
&lt;li>Prefer literature-based or conceptual work&lt;/li>
&lt;li>Are interested in research, theory, or PhD studies&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>What you will do:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Analyze injury criteria, models, or mechanisms&lt;/li>
&lt;li>Develop simplified mechanical or conceptual models&lt;/li>
&lt;li>Study uncertainty, robustness, or injury evidence&lt;/li>
&lt;li>Synthesize and critique existing biomechanical knowledge&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>You do NOT need:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>FEM software&lt;/li>
&lt;li>Experimental equipment&lt;/li>
&lt;li>Advanced programming&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Typical outputs:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Analytical models&lt;/li>
&lt;li>Conceptual diagrams&lt;/li>
&lt;li>Critical synthesis and interpretation&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Good fit for students interested in:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Research&lt;/li>
&lt;li>Theory development&lt;/li>
&lt;li>Critical evaluation of biomechanics&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="-pathway-d---prevention-design--systems-thinking">🟥 Pathway D - Prevention, Design &amp;amp; Systems Thinking&lt;/h2>
&lt;p>&lt;strong>Choose this pathway if you:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Think at the system or policy level&lt;/li>
&lt;li>Are interested in safety design, standards, or regulation&lt;/li>
&lt;li>Like connecting biomechanics to real-world decisions&lt;/li>
&lt;li>Want to address local or national needs&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>What you will do:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Design safety systems conceptually&lt;/li>
&lt;li>Analyze standards and injury assessment frameworks&lt;/li>
&lt;li>Study design trade-offs and feasibility&lt;/li>
&lt;li>Propose improvements grounded in biomechanics&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>You do NOT need:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>FEM&lt;/li>
&lt;li>Experiments&lt;/li>
&lt;li>Hardware design&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Typical outputs:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Evaluation frameworks&lt;/li>
&lt;li>System-level designs&lt;/li>
&lt;li>Standards critiques and redesign proposals&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Good fit for students interested in:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Safety engineering&lt;/li>
&lt;li>Industry, policy, or regulation&lt;/li>
&lt;li>Capacity building in developing contexts&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="-important-notes">⚖️ Important Notes&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>All pathways are graded using rigorous, pathway-specific rubrics&lt;/strong>&lt;/li>
&lt;li>&lt;strong>No pathway gives an advantage in grading&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Difficulty is comparable across all pathways&lt;/strong>&lt;/li>
&lt;li>You will be graded on:
&lt;ul>
&lt;li>biomechanical reasoning,&lt;/li>
&lt;li>clarity of thinking,&lt;/li>
&lt;li>justification of assumptions,&lt;/li>
&lt;li>awareness of limitations&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>This course values &lt;strong>thinking like a trauma biomechanist&lt;/strong>, not using a particular tool.&lt;/p>
&lt;hr>
&lt;h2 id="-how-to-decide">✅ How to Decide&lt;/h2>
&lt;p>Ask yourself:&lt;/p>
&lt;ul>
&lt;li>Do I prefer &lt;strong>models&lt;/strong>, &lt;strong>systems&lt;/strong>, &lt;strong>data&lt;/strong>, or &lt;strong>design&lt;/strong>?&lt;/li>
&lt;li>Do I want to work with &lt;strong>software&lt;/strong>, &lt;strong>concepts&lt;/strong>, &lt;strong>experiments&lt;/strong>, or &lt;strong>frameworks&lt;/strong>?&lt;/li>
&lt;li>Which project would I be &lt;em>excited&lt;/em> to work on for several weeks?&lt;/li>
&lt;/ul>
&lt;p>If unsure, talk to the instructor - guidance is part of the course.&lt;/p>
&lt;hr>
&lt;h3 id="final-thought">Final Thought&lt;/h3>
&lt;blockquote>
&lt;p>&lt;em>Trauma biomechanics needs modelers, experimentalists, analysts, and system thinkers.&lt;/em>&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>&lt;em>This course allows you to grow in the direction that fits you best.&lt;/em>&lt;/p>
&lt;/blockquote></description></item><item><title>Weekly Schedule</title><link>https://SadjadAbedi.ir/schedule/</link><pubDate>Sun, 02 Feb 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/schedule/</guid><description>&lt;p>Last Update: 2025/Sep/19&lt;/p>
&lt;style>
:root {
--shadow-color: rgba(0, 0, 0, 0.2);
--background: #111827;
--cell-bg: #1f2937;
--header-bg: #374151;
}
body {
background-color: var(--background);
padding: 20px;
font-family: 'Inter', system-ui, -apple-system, sans-serif;
}
table {
border-collapse: separate;
border-spacing: 8px;
display: block;
overflow-x: auto;
max-width: 100%;
margin: 20px 0;
background-color: var(--background);
color: #e5e5e5;
border-radius: 12px;
padding: 8px;
}
th, td {
padding: 16px;
text-align: center;
border-radius: 8px;
transition: all 0.2s ease;
}
th {
background-color: var(--header-bg);
font-weight: 600;
letter-spacing: 0.025em;
}
td {
background-color: var(--cell-bg);
}
/* Original Course Classes */
.course1 {
background: linear-gradient(145deg, #1e3a8a, #2563eb);
box-shadow: 0 4px 6px var(--shadow-color);
}
.course2 {
background: linear-gradient(145deg, #166534, #22c55e);
box-shadow: 0 4px 6px var(--shadow-color);
}
.course3 {
background: linear-gradient(145deg, #5b21b6, #8b5cf6);
box-shadow: 0 4px 6px var(--shadow-color);
}
.course4 {
background: linear-gradient(145deg, #9f1239, #e11d48); /* Ruby red */
box-shadow: 0 4px 6px var(--shadow-color);
}
/* Additional Activity Classes */
.lab {
background: linear-gradient(145deg, #9f1239, #e11d48); /* Ruby red */
box-shadow: 0 4px 6px var(--shadow-color);
}
.research {
background: linear-gradient(145deg, #0f766e, #14b8a6); /* Teal */
box-shadow: 0 4px 6px var(--shadow-color);
}
.workshop {
background: linear-gradient(145deg, #854d0e, #eab308); /* Amber */
box-shadow: 0 4px 6px var(--shadow-color);
}
.seminar {
background: linear-gradient(145deg, #6d28d9, #8b5cf6); /* Violet */
box-shadow: 0 4px 6px var(--shadow-color);
}
.meeting {
background: linear-gradient(145deg, #be185d, #ec4899); /* Pink */
box-shadow: 0 4px 6px var(--shadow-color);
}
.consultation {
background: linear-gradient(145deg, #0369a1, #0ea5e9); /* Sky blue */
box-shadow: 0 4px 6px var(--shadow-color);
}
.committee {
background: linear-gradient(145deg, #a16207, #fbbf24); /* Dark amber */
box-shadow: 0 4px 6px var(--shadow-color);
}
.guest-lecture {
background: linear-gradient(145deg, #ef4444, #f87171); /* Coral */
box-shadow: 0 4px 6px var(--shadow-color);
}
/* Common styles for all activity cells */
td[class^="course"], td[class^="meeting"], td[class^="research"],
td[class^="workshop"], td[class^="seminar"], td[class^="lab"],
td[class^="consultation"], td[class^="committee"], td[class^="guest-lecture"] {
font-weight: 500;
color: #ffffff;
}
td[class]:hover {
transform: translateY(-2px);
box-shadow: 0 6px 8px var(--shadow-color);
}
td br {
margin: 4px 0;
}
td span {
display: block;
font-size: 0.875em;
font-weight: 400;
opacity: 0.9;
margin-top: 4px;
}
&lt;/style>
&lt;link href="https://cdnjs.cloudflare.com/ajax/libs/inter-ui/3.19.3/inter.css" rel="stylesheet">
&lt;table>
&lt;tr>
&lt;th>&lt;/th>
&lt;th>8:00-10:00&lt;/th>
&lt;th>10:00-12:00&lt;/th>
&lt;th>12:00-14:00&lt;/th>
&lt;th>14:00-16:00&lt;/th>
&lt;th>16:00-18:00&lt;/th>
&lt;/tr>
&lt;tr>
&lt;th>Saturday&lt;/th>
&lt;td class="meeting">Meeting&lt;span>&lt;a href=https://SadjadAbedi.ir/#contact>Upon Appointment&lt;/a>&lt;/span>&lt;/td>
&lt;td class="course1">&lt;a href=https://SadjadAbedi.ir/courses/emath>Engineering Mathematics&lt;span>&lt;a href=https://SadjadAbedi.ir/#contact>Class 39&lt;/a>&lt;/span>&lt;/td>
&lt;td class="research">Research&lt;/td>
&lt;td class="meeting">Meeting&lt;span>&lt;a href=https://SadjadAbedi.ir/#contact>Upon Appointment&lt;/a>&lt;/span>&lt;/td>
&lt;td class="research">Research&lt;/td>
&lt;/tr>
&lt;tr>
&lt;th>Sunday&lt;/th>
&lt;td class="course2">&lt;a href=https://SadjadAbedi.ir/courses/trauma>Trauma Biomechanics&lt;span>&lt;a href=https://SadjadAbedi.ir/#contact>Class 30&lt;/a>&lt;/span>&lt;/td>
&lt;td class="course3">&lt;a href=https://SadjadAbedi.ir/courses/field>Field Overview&lt;/a>&lt;span>Class 43&lt;/span>&lt;/td>
&lt;td class="research">Research&lt;/td>
&lt;td class="meeting">Meeting&lt;span>&lt;a href=https://SadjadAbedi.ir/#contact>Upon Appointment&lt;/a>&lt;/span>&lt;/td>
&lt;td class="research">Research&lt;/td>
&lt;/tr>
&lt;tr>
&lt;th>Monday&lt;/th>
&lt;td class="consultation">MSc Consultation&lt;span>&lt;a href=https://SadjadAbedi.ir/#contact>Upon Appointment&lt;/a>&lt;/span>&lt;/td>
&lt;td class="consultation">BSc Consultation&lt;span>&lt;a href=https://SadjadAbedi.ir/#contact>Upon Appointment&lt;/a>&lt;/span>&lt;/td>
&lt;td class="research">Research&lt;/td>
&lt;td>
&lt;div style="display: flex; height: 100%;">
&lt;div class="course4" style="flex: 1; padding: 8px; border-right: 1px solid #ccc;">
&lt;a href=https://SadjadAbedi.ir/courses/impact>Impact Mechanics in Biomechanics&lt;/a>&lt;span>Class 30&lt;/span>
&lt;/div>
&lt;div class="course2" style="flex: 1; padding: 8px;">
&lt;a href=https://SadjadAbedi.ir/courses/trauma>Trauma Biomechanics&lt;/a>&lt;span>Class 30&lt;/span>
&lt;/div>
&lt;/div>
&lt;/td>
&lt;td class="research">Research&lt;/td>
&lt;/tr>
&lt;tr>
&lt;th>Tuesday&lt;/th>
&lt;td class="meeting">Meeting&lt;span>&lt;a href=https://SadjadAbedi.ir/#contact>Upon Appointment&lt;/a>&lt;/span>&lt;/td>
&lt;td class="course1">&lt;a href=https://SadjadAbedi.ir/courses/emath>Engineering Mathematics&lt;span>&lt;a href=https://SadjadAbedi.ir/#contact>Class 39&lt;/a>&lt;/span>&lt;/td>
&lt;td class="committee">Committee&lt;span>Department&lt;/span>&lt;/td>
&lt;td class="course4">&lt;a href=https://SadjadAbedi.ir/courses/impact>Impact Mechanics in Biomechanics&lt;span>&lt;a href=https://SadjadAbedi.ir/#contact>Class 39&lt;/a>&lt;/span>&lt;/td>
&lt;td class="research">Research&lt;/td>
&lt;/tr>
&lt;tr>
&lt;th>Wednesday&lt;/th>
&lt;td class="research">Research&lt;/td>
&lt;td class="research">Research&lt;/td>
&lt;td class="research">Research&lt;/td>
&lt;td class="research">Research&lt;/td>
&lt;td class="research">Research&lt;/td>
&lt;/tr>
&lt;/table></description></item><item><title>My Research and Passion</title><link>https://SadjadAbedi.ir/slides/research_journey/</link><pubDate>Wed, 15 Jan 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/slides/research_journey/</guid><description>&lt;h1 id="my-research-and-passion">My Research and Passion&lt;/h1>
&lt;p>&lt;strong>Seyed Sadjad Abedi-Shahri&lt;/strong>&lt;/p>
&lt;p>&lt;em>Faculty of Engineering, University of Isfahan&lt;/em>&lt;/p>
&lt;hr>
&lt;h2 id="about-me">About Me&lt;/h2>
&lt;ul>
&lt;li>🎓 &lt;strong>Background&lt;/strong>:
&lt;ul>
&lt;li>BSc in Mechanical Eng.&lt;/li>
&lt;li>MSc and PhD in Biomedical Eng.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>💼 &lt;strong>Current Position&lt;/strong>:
&lt;ul>
&lt;li>Assistant Professor of Biomedical Engineering
&lt;img data-src="https://SadjadAbedi.ir/author/seyed-sadjad-abedi-shahri/avatar_hu1691822659102393852.jpg" style="position: absolute; right: 50px; top: -60px; width: 200px; border-radius: 50%;">&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;section>
&lt;h2 id="research-interests">Research Interests&lt;/h2>
&lt;ol>
&lt;li>Numerical Methods (
,
)&lt;/li>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;/ol>
&lt;p>(&lt;em>go down to see details&lt;/em>)&lt;/p>
&lt;/section>
&lt;section>
&lt;h3 id="numerical-methods-fem">Numerical Methods (FEM)&lt;/h3>
&lt;ul>
&lt;li>Linear and Nonlinear Problems&lt;/li>
&lt;li>Viscoelastic and Hyperelastic Materials&lt;/li>
&lt;li>Impact Simulation&lt;/li>
&lt;li>Buckling and Post-Buckling Analysis&lt;/li>
&lt;li>Homogenization Techniques&lt;/li>
&lt;li>Tools: ABAQUS, LS-DYNA, and Open-Source Solutions&lt;/li>
&lt;/ul>
&lt;/section>
&lt;section>
&lt;h3 id="numerical-methods-sbfem">Numerical Methods (SBFEM)&lt;/h3>
&lt;ul>
&lt;li>Developing formulation for specific problems&lt;/li>
&lt;li>Linear and Nonlinear Problems&lt;/li>
&lt;li>Viscoelastic and Hyperelastic Materials&lt;/li>
&lt;li>Tools: In-house program for 2D Viscoelastic and Nonlinear Problems&lt;/li>
&lt;/ul>
&lt;/section>
&lt;section>
&lt;h3 id="scientific-computing">Scientific Computing&lt;/h3>
&lt;ul>
&lt;li>Developing Research Software&lt;/li>
&lt;li>Best Practices in Research Software Engineering (RSE)&lt;/li>
&lt;li>Contribution to Open-Source Programs&lt;/li>
&lt;li>Implementation in Fields of PDEs, Matrix Computations, etc.&lt;/li>
&lt;li>Scientific Visualization&lt;/li>
&lt;li>Tools: Python, Fortran, Octave/MATLAB&lt;/li>
&lt;/ul>
&lt;/section>
&lt;section>
&lt;h3 id="computational-biomechanics">Computational (Bio)Mechanics&lt;/h3>
&lt;ul>
&lt;li>Nonlinear Solid Mechanics&lt;/li>
&lt;li>Soft &amp;amp; Hard Tissue Biomechanics&lt;/li>
&lt;li>Trauma Biomechanics&lt;/li>
&lt;li>Image-Based Simulations&lt;/li>
&lt;li>Impact Mechanics (Low &amp;amp; High velocity)&lt;/li>
&lt;li>Fracture Mechanics&lt;/li>
&lt;li>Topology Optimization&lt;/li>
&lt;li>Inverse Problems&lt;/li>
&lt;/ul>
&lt;/section>
&lt;section>
&lt;h3 id="computational-geometry">Computational Geometry&lt;/h3>
&lt;ul>
&lt;li>Mesh Generation and Optimization&lt;/li>
&lt;li>Computational Topology in Meshing&lt;/li>
&lt;li>Image-Based Mesh Generation&lt;/li>
&lt;li>Delaunay and Voronoi-Based Methods&lt;/li>
&lt;/ul>
&lt;/section>
&lt;section>
&lt;h3 id="machine-learning-for-biomedical-applications">Machine Learning for Biomedical Applications&lt;/h3>
&lt;ul>
&lt;li>Data-driven Surrogate Models&lt;/li>
&lt;li>Artificial Neural Networks for PDEs&lt;/li>
&lt;li>Selected applications in Biomedical Image Processing&lt;/li>
&lt;/ul>
&lt;/section>
&lt;hr>
&lt;section>
&lt;h2 id="some-examples-of-projects">Some Examples of Projects&lt;/h2>
&lt;ol>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;/ol>
&lt;p>(&lt;em>go down to see details&lt;/em>)&lt;/p>
&lt;/section>
&lt;section>
&lt;h3 id="scaled-boundary-finite-element-method-sbfem">Scaled Boundary Finite Element Method (SBFEM)&lt;/h3>
&lt;ol>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;/ol>
&lt;img src="fig2.png" width="35%" height="20%">
&lt;img src="fig1.png" width="27%" height="20%">
&lt;/section>
&lt;section>
&lt;h3 id="head-trauma">Head Trauma&lt;/h3>
&lt;ul>
&lt;li>
&lt;/li>
&lt;/ul>
&lt;img src="fig3.JPG" width="35%" height="20%">
&lt;img src="fig4.JPG" width="50%" height="20%">
&lt;/section>
&lt;section>
&lt;h3 id="pypolymesher">pyPolyMesher&lt;/h3>
&lt;img src="https://static.pepy.tech/badge/polymesher" width="18%" height="20%">
&lt;img src="https://static.pepy.tech/badge/polymesher/month" width="25%" height="20%">
&lt;p>
is a python package for generating unstructured polygonal meshes in arbitrarily defined 2D domains. It allows users to mathematically specify domains using signed distance functions (SDFs).&lt;/p>
&lt;img src="fig5.png" width="40%" height="20%">
&lt;/section>
&lt;section>
&lt;h3 id="qtreemesh">QTREEMESH&lt;/h3>
&lt;img src="https://static.pepy.tech/badge/qtreemesh" width="18%" height="20%">
&lt;img src="https://static.pepy.tech/badge/qtreemesh/month" width="25%" height="20%">
&lt;p>
is a python package that can create a Quadtree structure from an image. The Quadtree algorithm in this package is based on pixels&amp;rsquo; intensity.&lt;/p>
&lt;img src="fig6.png" width="60%" height="20%">
&lt;/section>
&lt;section>
&lt;h3 id="bone-microcracks">Bone Microcracks&lt;/h3>
&lt;ul>
&lt;li>Generation of bone RVE with random osteons and microcracks (using ABAQUS &amp;amp; python script) for homogenization problem&lt;/li>
&lt;/ul>
&lt;img src="fig7.JPG" width="45%" height="20%">
&lt;img src="fig8.JPG" width="40%" height="20%">
&lt;/section>
&lt;section>
&lt;h3 id="composite-design-assistantcomda">Composite Design Assistant(ComDA)&lt;/h3>
&lt;ul>
&lt;li>Composite Design Assistant(ComDA) is a scientific toolbox that provides a straightforward framework for industrial and academic analysis and design of composite structures.&lt;/li>
&lt;/ul>
&lt;img src="fig9.png" width="35%" height="20%">
&lt;img src="fig10.png" width="35%" height="20%">
&lt;img src="fig11.png" width="35%" height="20%">
&lt;img src="fig12.png" width="35%" height="20%">
&lt;/section>
&lt;section>
&lt;h3 id="machine-learning-for-biomedical-applications-1">Machine Learning for Biomedical Applications&lt;/h3>
&lt;ol>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;/ol>
&lt;/section>
&lt;hr>
&lt;h2 id="ongoing-projects">Ongoing Projects&lt;/h2>
&lt;ul>
&lt;li>Finite Strain Viscoelasticty in SBFEM&lt;/li>
&lt;li>Neural Network-Based Inverse Model for Cornea&lt;/li>
&lt;li>DL in Pulmonary Vascular Histological Images&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="collaboration--contact">Collaboration &amp;amp; Contact&lt;/h2>
&lt;p>🤝 Open to research collaborations&lt;/p>
&lt;p>📧
&lt;/p>
&lt;p>🌐
&lt;/p>
&lt;p>🔗
&lt;/p>
&lt;p>👨‍💻
&lt;/p>
&lt;hr>
&lt;h2 id="thank-you-">Thank You! 🎤&lt;/h2></description></item><item><title>Neural Network-Based Inverse Model for Non-Invasive Estimation of Corneal Mechanical Properties</title><link>https://SadjadAbedi.ir/publication/conf_resist2024/</link><pubDate>Wed, 01 Jan 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/publication/conf_resist2024/</guid><description/></item><item><title>ReSIST 2024 - Oral Presentation</title><link>https://SadjadAbedi.ir/event/resist2025/</link><pubDate>Wed, 01 Jan 2025 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/event/resist2025/</guid><description>&lt;!--
&lt;div class="alert alert-note">
&lt;div>
Click on the &lt;strong>Slides&lt;/strong> button above to view the built-in slides feature.
&lt;/div>
&lt;/div>
Slides can be added in a few ways:
- **Create** slides using Hugo Blox Builder's [_Slides_](https://docs.hugoblox.com/reference/content-types/) feature and link using `slides` parameter in the front matter of the talk file
- **Upload** an existing slide deck to `static/` and link using `url_slides` parameter in the front matter of the talk file
- **Embed** your slides (e.g. Google Slides) or presentation video on this page using [shortcodes](https://docs.hugoblox.com/reference/markdown/).
Further event details, including [page elements](https://docs.hugoblox.com/reference/markdown/) such as image galleries, can be added to the body of this page.-->
&lt;iframe src="https://docs.google.com/presentation/d/e/2PACX-1vSkCboNdJsDSvhiq0IQ9zwOEklUzdxg0l4Xp3bf1McbLQwTB9JF4yyq31eUxc08e3ER0R4mQPU5CU3x/embed?start=false&amp;amp;loop=false&amp;amp;delayms=10000" width=100% height="400" frameborder="0" scrolling="auto" allowfullscreen="allowfullscreen">&lt;/iframe>
&lt;p>&lt;strong>Slides and Presentation made by
&lt;/strong>&lt;/p></description></item><item><title>NL-SBFEM: A pure SBFEM formulation for geometrically and materially nonlinear problems</title><link>https://SadjadAbedi.ir/publication/paper_nlsbfem/</link><pubDate>Mon, 30 Dec 2024 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/publication/paper_nlsbfem/</guid><description/></item><item><title>Heat and Mass Transfer Project 5: 2D Transient Heat Transfer Analysis using Implicit Methods</title><link>https://SadjadAbedi.ir/heat-2d-implicit/</link><pubDate>Wed, 18 Dec 2024 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/heat-2d-implicit/</guid><description>&lt;h2 id="project-overview">Project Overview&lt;/h2>
&lt;p>This project explores numerical solutions to &lt;strong>time-dependent (transient) heat conduction&lt;/strong> problems in two-dimensional rectangular domains using &lt;strong>implicit finite difference methods&lt;/strong>. Students will develop a computational tool that simulates the dynamic temperature evolution within materials with the advantage of unconditional stability, allowing for larger time steps than explicit methods. This project connects theoretical heat transfer principles with advanced numerical methods used in engineering simulations where efficiency and stability are critical considerations.&lt;/p>
&lt;h2 id="learning-objectives">Learning Objectives&lt;/h2>
&lt;ul>
&lt;li>Understand the mathematical formulation of &lt;strong>implicit schemes&lt;/strong> for transient heat conduction&lt;/li>
&lt;li>Implement and analyze fully implicit and Crank-Nicolson methods for 2D problems&lt;/li>
&lt;li>Compare the advantages and limitations of implicit methods versus explicit approaches&lt;/li>
&lt;li>Develop computational skills to efficiently solve large systems of equations at each time step&lt;/li>
&lt;li>Analyze the trade-offs between accuracy, stability, and computational efficiency&lt;/li>
&lt;li>Apply implicit methods to practical engineering thermal problems&lt;/li>
&lt;/ul>
&lt;h2 id="project-description">Project Description&lt;/h2>
&lt;h3 id="background">Background&lt;/h3>
&lt;p>The transient heat conduction in a 2D domain is governed by the following partial differential equation:&lt;/p>
&lt;p>$$
\rho c_p \frac{\partial T}{\partial t} = \frac{\partial}{\partial x}\left(k \frac{\partial T}{\partial x}\right) + \frac{\partial}{\partial y}\left(k \frac{\partial T}{\partial y}\right) + \dot{q}
$$&lt;/p>
&lt;p>Where:&lt;/p>
&lt;ul>
&lt;li>$T(x,y,t)$ is the temperature distribution as a function of space and time&lt;/li>
&lt;li>$\rho$ is the material density&lt;/li>
&lt;li>$c_p$ is the specific heat capacity&lt;/li>
&lt;li>$k$ is the thermal conductivity of the material&lt;/li>
&lt;li>$\dot{q}$ is the volumetric heat generation rate&lt;/li>
&lt;li>$t$ is time&lt;/li>
&lt;/ul>
&lt;p>For homogeneous materials with constant thermal properties, this can be rewritten using thermal diffusivity $\alpha = k/(\rho c_p)$:&lt;/p>
&lt;p>$$
\frac{\partial T}{\partial t} = \alpha \left( \frac{\partial^2 T}{\partial x^2} + \frac{\partial^2 T}{\partial y^2} \right) + \frac{\dot{q}}{\rho c_p}
$$&lt;/p>
&lt;p>This project focuses on developing implicit finite difference solutions to this equation, which evaluate spatial derivatives at the future time step.&lt;/p>
&lt;h3 id="project-stages">Project Stages&lt;/h3>
&lt;h4 id="1-theoretical-foundation-25">1. Theoretical Foundation (25%)&lt;/h4>
&lt;ul>
&lt;li>Review the derivation of the 2D transient heat conduction equation&lt;/li>
&lt;li>Study implicit finite difference approximations for both time and space derivatives&lt;/li>
&lt;li>Analyze the unconditional stability advantage of fully implicit methods&lt;/li>
&lt;li>Develop the discretized forms of the governing equation for implicit methods&lt;/li>
&lt;li>Analyze the implementation of different boundary conditions in implicit formulations:
&lt;ul>
&lt;li>Dirichlet boundary condition (constant temperature)&lt;/li>
&lt;li>Neumann boundary condition (constant heat flux)&lt;/li>
&lt;li>Convection boundary condition (convective heat transfer)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Discuss the structure of the resulting linear system of equations&lt;/li>
&lt;/ul>
&lt;h4 id="2-computational-implementation-40">2. Computational Implementation (40%)&lt;/h4>
&lt;p>Develop a program to implement implicit finite difference methods for 2D transient heat conduction. Tasks include:&lt;/p>
&lt;ol>
&lt;li>
&lt;p>Program Input Requirements:&lt;/p>
&lt;ul>
&lt;li>Material properties (thermal conductivity, density, specific heat)&lt;/li>
&lt;li>Internal heat generation rates (constant or time-dependent)&lt;/li>
&lt;li>Grid size (number of nodes in x and y directions)&lt;/li>
&lt;li>Time step and total simulation time&lt;/li>
&lt;li>Initial temperature distribution&lt;/li>
&lt;li>Boundary condition specifications for each edge (type and values)&lt;/li>
&lt;li>Solution method parameters (direct or iterative solver options)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Spatial and Temporal Discretization:&lt;/p>
&lt;ul>
&lt;li>Create a mesh for the rectangular domain with specified dimensions $W \times H$&lt;/li>
&lt;li>Implement time stepping using implicit formulations&lt;/li>
&lt;li>Handle boundary nodes appropriately in the coefficient matrix&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Matrix Assembly and Solution:&lt;/p>
&lt;ul>
&lt;li>Generate the coefficient matrix for the system of equations at each time step&lt;/li>
&lt;li>Implement boundary conditions into the matrix structure:
&lt;ul>
&lt;li>Constant temperature (Dirichlet)&lt;/li>
&lt;li>Constant heat flux (Neumann)&lt;/li>
&lt;li>Convection (Robin): $-k\frac{\partial T}{\partial n} = h(T - T_{\infty})$&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Create the right-hand side vector incorporating the previous time step solution&lt;/li>
&lt;li>Implement efficient solution methods&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Program Output Requirements:&lt;/p>
&lt;ul>
&lt;li>Temperature distribution at specified time intervals&lt;/li>
&lt;li>Temperature history at user-defined monitoring points&lt;/li>
&lt;li>Heat fluxes across the domain at selected times&lt;/li>
&lt;li>Visualization of temperature evolution through animations or time sequence plots&lt;/li>
&lt;li>Energy balance verification at each time step&lt;/li>
&lt;li>Performance metrics (computation time, memory usage)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;h4 id="3-validation-and-verification-20">3. Validation and Verification (20%)&lt;/h4>
&lt;ul>
&lt;li>Compare numerical solutions with available analytical solutions for simple transient cases&lt;/li>
&lt;li>Verify the implementation by comparing with benchmark problems&lt;/li>
&lt;li>Conduct time step sensitivity studies to evaluate accuracy versus computational cost&lt;/li>
&lt;li>Analyze truncation error and convergence behavior&lt;/li>
&lt;li>Verify conservation of energy across the domain for each time step&lt;/li>
&lt;li>Compare results with the explicit method for identical problems (if available)&lt;/li>
&lt;li>Validate the implementation of different boundary conditions&lt;/li>
&lt;/ul>
&lt;h4 id="4-case-studies-and-analysis-15">4. Case Studies and Analysis (15%)&lt;/h4>
&lt;ul>
&lt;li>Select and apply the developed code to solve a practical transient heat conduction problem of your choice&lt;/li>
&lt;li>The case study should demonstrate the advantages of implicit methods and have relevance to engineering applications&lt;/li>
&lt;li>Examples of potential applications include (but are not limited to):
&lt;ul>
&lt;li>Long-time thermal simulations where stability is crucial&lt;/li>
&lt;li>Systems with widely varying time scales&lt;/li>
&lt;li>Problems with complex boundary conditions&lt;/li>
&lt;li>Applications requiring large time steps for efficiency&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Analyze the chosen problem thoroughly, including:
&lt;ul>
&lt;li>Time step selection and its impact on accuracy&lt;/li>
&lt;li>Computational efficiency compared to theoretical explicit method requirements&lt;/li>
&lt;li>Effect of solver choice on overall performance&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Interpret results in terms of practical engineering implications&lt;/li>
&lt;li>Discuss the advantages and limitations of implicit methods for your specific application&lt;/li>
&lt;/ul>
&lt;h2 id="technical-requirements">Technical Requirements&lt;/h2>
&lt;ul>
&lt;li>Implement in a programming language of choice (MATLAB, Python, or FORTRAN recommended)&lt;/li>
&lt;li>Create modular code with clear structure and documentation&lt;/li>
&lt;li>Ensure proper input/output interfaces for parameters and results&lt;/li>
&lt;li>Implement efficient matrix operations and system solvers&lt;/li>
&lt;li>Develop algorithms that balance computational efficiency and accuracy&lt;/li>
&lt;li>Include error handling and convergence monitoring capabilities&lt;/li>
&lt;/ul>
&lt;h2 id="deliverables">Deliverables&lt;/h2>
&lt;ol>
&lt;li>
&lt;p>Comprehensive report including:&lt;/p>
&lt;ul>
&lt;li>Theoretical background on implicit finite difference methods&lt;/li>
&lt;li>Detailed mathematical formulation and stability analysis&lt;/li>
&lt;li>Description of numerical implementation with focus on coefficient matrix assembly&lt;/li>
&lt;li>Explanation of system solution approaches&lt;/li>
&lt;li>Validation results and verification approach&lt;/li>
&lt;li>Case study description, results, and engineering interpretation&lt;/li>
&lt;li>Computational performance analysis&lt;/li>
&lt;li>Limitations and potential improvements&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Well-documented source code:&lt;/p>
&lt;ul>
&lt;li>Core program for solving 2D transient heat conduction&lt;/li>
&lt;li>Matrix assembly and solution routines&lt;/li>
&lt;li>Supporting functions for time stepping, visualization, etc.&lt;/li>
&lt;li>User manual explaining how to use the program&lt;/li>
&lt;li>Example input files for validation cases&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Presentation:&lt;/p>
&lt;ul>
&lt;li>Clear explanation of implicit finite difference method advantages&lt;/li>
&lt;li>Demonstration of program capabilities&lt;/li>
&lt;li>Presentation of key results and computational performance&lt;/li>
&lt;li>Discussion of challenges and solutions&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;h2 id="evaluation-criteria">Evaluation Criteria&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Report Quality&lt;/strong> (20%): Clarity, depth, and presentation of theoretical and computational details&lt;/li>
&lt;li>&lt;strong>Code Efficiency and Quality&lt;/strong> (30%): Correctness, modularity, and optimization&lt;/li>
&lt;li>&lt;strong>Presentation&lt;/strong> (50%): Delivery, visual appeal, and depth of understanding&lt;/li>
&lt;/ul>
&lt;h2 id="bonus-challenges-optional">Bonus Challenges (Optional)&lt;/h2>
&lt;p>For students interested in extending their understanding and skills beyond the core requirements:&lt;/p>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Advanced Implicit Schemes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Implement the Alternating Direction Implicit (ADI) method&lt;/li>
&lt;li>Compare computational efficiency between different implicit approaches&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Adaptive Time Stepping&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Implement variable time step control based on error estimates&lt;/li>
&lt;li>Develop strategies for automatic time step adjustment&lt;/li>
&lt;li>Analyze the efficiency gains from adaptive versus fixed time stepping&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Non-Linear Thermal Problems&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Extend the code to handle temperature-dependent material properties&lt;/li>
&lt;li>Implement radiation boundary conditions: $-k\frac{\partial T}{\partial n} = \epsilon\sigma(T^4 - T_{\infty}^4)$&lt;/li>
&lt;li>Develop linearization techniques and iterative approaches for non-linear terms&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Multi-Domain Problems&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Implement capabilities for handling multiple materials with different properties&lt;/li>
&lt;li>Develop interface conditions between different materials&lt;/li>
&lt;li>Analyze the impact of thermal contact resistance at material interfaces&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;h2 id="recommended-reading">Recommended Reading&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Fundamentals of Heat and Mass Transfer&lt;/strong>, [&lt;em>8th ed.&lt;/em>] by Theodore L. Bergman, Adrienne S. Lavine&lt;/li>
&lt;li>&lt;strong>Heat and Mass Transfer, Fundamentals &amp;amp; Applications&lt;/strong>, [&lt;em>6th ed.&lt;/em>] by Yunus A. Cengel, Afshin J. Ghajar&lt;/li>
&lt;li>&lt;strong>Heat Conduction&lt;/strong>, [&lt;em>5th ed.&lt;/em>] by Kakac, S., Yener, Y., &amp;amp; Naveira-Cotta, C.P.&lt;/li>
&lt;li>&lt;strong>Heat Conduction&lt;/strong>, [&lt;em>3rd ed.&lt;/em>] by David W. Hahn, M. Necati Özisik&lt;/li>
&lt;li>&lt;strong>Finite Difference Methods in Heat Transfer&lt;/strong>, [&lt;em>2nd ed.&lt;/em>] by Özişik, M.N., Orlande, H.R.B., Colaço, M.J., &amp;amp; Cotta, R.M.&lt;/li>
&lt;/ol>
&lt;h2 id="submission-guidelines">Submission Guidelines&lt;/h2>
&lt;ul>
&lt;li>Submission deadline: &lt;em>TBA&lt;/em>&lt;/li>
&lt;li>Format: PDF report, source code (with comments), and presentation slides&lt;/li>
&lt;li>Groups of up to three members are allowed, provided each member&amp;rsquo;s contribution is documented clearly&lt;/li>
&lt;li>For every project, only one group with the best performance will be selected to present&lt;/li>
&lt;/ul></description></item><item><title>Heat and Mass Transfer Project 4: 2D Transient Heat Transfer Analysis using Explicit Methods</title><link>https://SadjadAbedi.ir/heat-2d-explicit/</link><pubDate>Sun, 15 Dec 2024 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/heat-2d-explicit/</guid><description>&lt;h2 id="project-overview">Project Overview&lt;/h2>
&lt;p>This project explores numerical solutions to &lt;strong>time-dependent (transient) heat conduction&lt;/strong> problems in two-dimensional rectangular domains using &lt;strong>explicit finite difference methods&lt;/strong>. Students will develop a computational tool that simulates the dynamic temperature evolution within materials in response to changing boundary conditions and internal heat generation. This project bridges theoretical heat transfer principles with practical numerical methods essential for analyzing thermal systems under non-steady conditions.&lt;/p>
&lt;h2 id="learning-objectives">Learning Objectives&lt;/h2>
&lt;ul>
&lt;li>Understand the mathematical formulation of &lt;strong>transient heat conduction&lt;/strong> problems&lt;/li>
&lt;li>Implement and analyze &lt;strong>explicit finite difference schemes&lt;/strong> for time-dependent problems&lt;/li>
&lt;li>Assess stability criteria and accuracy limitations of explicit methods&lt;/li>
&lt;li>Develop computational skills to simulate and visualize time-evolving thermal solutions&lt;/li>
&lt;li>Analyze the effects of boundary conditions and material properties on transient thermal responses&lt;/li>
&lt;/ul>
&lt;h2 id="project-description">Project Description&lt;/h2>
&lt;h3 id="background">Background&lt;/h3>
&lt;p>The transient heat conduction in a 2D domain is governed by the following partial differential equation:&lt;/p>
&lt;p>$$
\rho c_p \frac{\partial T}{\partial t} = \frac{\partial}{\partial x}\left(k \frac{\partial T}{\partial x}\right) + \frac{\partial}{\partial y}\left(k \frac{\partial T}{\partial y}\right) + \dot{q}
$$&lt;/p>
&lt;p>Where:&lt;/p>
&lt;ul>
&lt;li>$T(x,y,t)$ is the temperature distribution as a function of space and time&lt;/li>
&lt;li>$\rho$ is the material density&lt;/li>
&lt;li>$c_p$ is the specific heat capacity&lt;/li>
&lt;li>$k$ is the thermal conductivity of the material&lt;/li>
&lt;li>$\dot{q}$ is the volumetric heat generation rate&lt;/li>
&lt;li>$t$ is time&lt;/li>
&lt;/ul>
&lt;p>For homogeneous materials with constant thermal properties, this can be rewritten using thermal diffusivity $\alpha = k/(\rho c_p)$:&lt;/p>
&lt;p>$$
\frac{\partial T}{\partial t} = \alpha \left( \frac{\partial^2 T}{\partial x^2} + \frac{\partial^2 T}{\partial y^2} \right) + \frac{\dot{q}}{\rho c_p}
$$&lt;/p>
&lt;p>This project focuses on developing an explicit finite difference solution to this equation.&lt;/p>
&lt;h3 id="project-stages">Project Stages&lt;/h3>
&lt;h4 id="1-theoretical-foundation-25">1. Theoretical Foundation (25%)&lt;/h4>
&lt;ul>
&lt;li>Review the derivation of the 2D transient heat conduction equation&lt;/li>
&lt;li>Study explicit finite difference approximations for both time and space derivatives&lt;/li>
&lt;li>Analyze the stability criteria for explicit methods (Fourier number constraint)&lt;/li>
&lt;li>Develop the discretized form of the governing equation&lt;/li>
&lt;li>Analyze the implementation of different boundary conditions:
&lt;ul>
&lt;li>Dirichlet boundary condition (constant temperature)&lt;/li>
&lt;li>Neumann boundary condition (constant heat flux)&lt;/li>
&lt;li>Convection boundary condition (convective heat transfer)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Discuss initialization techniques for initial temperature distributions&lt;/li>
&lt;/ul>
&lt;h4 id="2-computational-implementation-40">2. Computational Implementation (40%)&lt;/h4>
&lt;p>Develop a program to implement the explicit finite difference method for 2D transient heat conduction. Tasks include:&lt;/p>
&lt;ol>
&lt;li>
&lt;p>Program Input Requirements:&lt;/p>
&lt;ul>
&lt;li>Material properties (thermal conductivity, density, specific heat)&lt;/li>
&lt;li>Internal heat generation rates (constant or time-dependent)&lt;/li>
&lt;li>Grid size (number of nodes in x and y directions)&lt;/li>
&lt;li>Time step and total simulation time&lt;/li>
&lt;li>Initial temperature distribution&lt;/li>
&lt;li>Boundary condition specifications for each edge (type and values)&lt;/li>
&lt;li>Stability parameters and output control options&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Spatial and Temporal Discretization:&lt;/p>
&lt;ul>
&lt;li>Create a mesh for the rectangular domain with specified dimensions $W \times H$&lt;/li>
&lt;li>Implement time stepping using the explicit scheme&lt;/li>
&lt;li>Calculate and enforce the stability criterion&lt;/li>
&lt;li>Handle boundary nodes appropriately for different boundary conditions&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Algorithm Implementation:&lt;/p>
&lt;ul>
&lt;li>Develop the explicit time-marching algorithm&lt;/li>
&lt;li>Implement heat generation terms in the domain&lt;/li>
&lt;li>Apply boundary conditions at each time step:
&lt;ul>
&lt;li>Constant temperature (Dirichlet)&lt;/li>
&lt;li>Constant heat flux (Neumann)&lt;/li>
&lt;li>Convection (Robin): $-k\frac{\partial T}{\partial n} = h(T - T_{\infty})$&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Track temperature evolution throughout the domain&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Program Output Requirements:&lt;/p>
&lt;ul>
&lt;li>Temperature distribution at specified time intervals&lt;/li>
&lt;li>Temperature history at user-defined monitoring points&lt;/li>
&lt;li>Heat fluxes across the domain at selected times&lt;/li>
&lt;li>Visualization of temperature evolution through animations or time sequence plots&lt;/li>
&lt;li>Energy balance verification at each time step&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;h4 id="3-validation-and-verification-20">3. Validation and Verification (20%)&lt;/h4>
&lt;ul>
&lt;li>Compare numerical solutions with available analytical solutions for simple transient cases&lt;/li>
&lt;li>Verify the implementation of stability criteria&lt;/li>
&lt;li>Conduct time step and grid size convergence studies&lt;/li>
&lt;li>Validate temperature evolution against known thermal responses&lt;/li>
&lt;li>Verify conservation of energy across the domain for each time step&lt;/li>
&lt;li>Validate the implementation of different boundary conditions&lt;/li>
&lt;/ul>
&lt;h4 id="4-case-studies-and-analysis-15">4. Case Studies and Analysis (15%)&lt;/h4>
&lt;ul>
&lt;li>Select and apply the developed code to solve a practical transient heat conduction problem of your choice&lt;/li>
&lt;li>The case study should demonstrate the temporal evolution of the thermal field and have relevance to engineering applications&lt;/li>
&lt;li>Examples of potential applications include (but are not limited to):
&lt;ul>
&lt;li>Thermal response of materials to sudden heating or cooling&lt;/li>
&lt;li>Heat treatment processes in manufacturing&lt;/li>
&lt;li>Thermal cycling and fatigue analysis&lt;/li>
&lt;li>Building thermal performance under variable conditions&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Analyze the chosen problem thoroughly, including:
&lt;ul>
&lt;li>Characteristic thermal response times&lt;/li>
&lt;li>Effect of material properties on transient behavior&lt;/li>
&lt;li>Sensitivity to boundary conditions&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Interpret results in terms of practical engineering implications&lt;/li>
&lt;li>Discuss limitations of the explicit method for your specific application&lt;/li>
&lt;/ul>
&lt;h2 id="technical-requirements">Technical Requirements&lt;/h2>
&lt;ul>
&lt;li>Implement in a programming language of choice (MATLAB, Python, or FORTRAN recommended)&lt;/li>
&lt;li>Create modular code with clear structure and documentation&lt;/li>
&lt;li>Ensure proper input/output interfaces for parameters and results&lt;/li>
&lt;li>Include stability checking and adaptive time stepping if appropriate&lt;/li>
&lt;li>Develop efficient algorithms that minimize computational time&lt;/li>
&lt;li>Include error handling and solution monitoring capabilities&lt;/li>
&lt;/ul>
&lt;h2 id="deliverables">Deliverables&lt;/h2>
&lt;ol>
&lt;li>
&lt;p>Comprehensive report including:&lt;/p>
&lt;ul>
&lt;li>Theoretical background on explicit finite difference methods&lt;/li>
&lt;li>Detailed mathematical formulation and stability analysis&lt;/li>
&lt;li>Description of numerical implementation and algorithm flowchart&lt;/li>
&lt;li>Validation results and verification approach&lt;/li>
&lt;li>Case study description, results, and engineering interpretation&lt;/li>
&lt;li>Limitations and potential improvements&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Well-documented source code:&lt;/p>
&lt;ul>
&lt;li>Core program for solving 2D transient heat conduction&lt;/li>
&lt;li>Supporting functions for time stepping, visualization, etc.&lt;/li>
&lt;li>User manual explaining how to use the program&lt;/li>
&lt;li>Example input files for validation cases&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Presentation:&lt;/p>
&lt;ul>
&lt;li>Clear explanation of the numerical approach&lt;/li>
&lt;li>Demonstration of program capabilities&lt;/li>
&lt;li>Presentation of key results and temporal evolution&lt;/li>
&lt;li>Discussion of challenges and solutions&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;h2 id="evaluation-criteria">Evaluation Criteria&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Report Quality&lt;/strong> (20%): Clarity, depth, and presentation of theoretical and computational details&lt;/li>
&lt;li>&lt;strong>Code Efficiency and Quality&lt;/strong> (30%): Correctness, modularity, and optimization&lt;/li>
&lt;li>&lt;strong>Presentation&lt;/strong> (50%): Delivery, visual appeal, and depth of understanding&lt;/li>
&lt;/ul>
&lt;h2 id="bonus-challenges-optional">Bonus Challenges (Optional)&lt;/h2>
&lt;p>For students interested in extending their understanding and skills beyond the core requirements:&lt;/p>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Variable Thermal Properties&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Implement temperature-dependent thermal properties (k, ρ, cp)&lt;/li>
&lt;li>Analyze how variable properties affect stability criteria&lt;/li>
&lt;li>Compare solutions with constant and variable properties&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Advanced Boundary Conditions&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Implement time-dependent boundary conditions&lt;/li>
&lt;li>Add radiation boundary conditions: $-k\frac{\partial T}{\partial n} = \epsilon\sigma(T^4 - T_{\infty}^4)$&lt;/li>
&lt;li>Develop mixed boundary conditions (combinations of different types)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Phase Change Implementation&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Extend the code to handle phase change problems (melting/solidification)&lt;/li>
&lt;li>Implement the effective heat capacity or enthalpy method&lt;/li>
&lt;li>Track the movement of phase boundaries over time&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>User Interface and Visualization&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Create an interactive GUI for problem setup and simulation control&lt;/li>
&lt;li>Develop advanced visualization tools for time-evolving thermal fields&lt;/li>
&lt;li>Implement animation capabilities for temperature evolution&lt;/li>
&lt;li>Create tools for parametric studies of transient responses&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;h2 id="recommended-reading">Recommended Reading&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Fundamentals of Heat and Mass Transfer&lt;/strong>, [&lt;em>8th ed.&lt;/em>] by Theodore L. Bergman, Adrienne S. Lavine&lt;/li>
&lt;li>&lt;strong>Heat and Mass Transfer, Fundamentals &amp;amp; Applications&lt;/strong>, [&lt;em>6th ed.&lt;/em>] by Yunus A. Cengel, Afshin J. Ghajar&lt;/li>
&lt;li>&lt;strong>Heat Conduction&lt;/strong>, [&lt;em>5th ed.&lt;/em>] by Kakac, S., Yener, Y., &amp;amp; Naveira-Cotta, C.P.&lt;/li>
&lt;li>&lt;strong>Heat Conduction&lt;/strong>, [&lt;em>3rd ed.&lt;/em>] by David W. Hahn, M. Necati Özisik&lt;/li>
&lt;li>&lt;strong>Finite Difference Methods in Heat Transfer&lt;/strong>, [&lt;em>2nd ed.&lt;/em>] by Özişik, M.N., Orlande, H.R.B., Colaço, M.J., &amp;amp; Cotta, R.M.&lt;/li>
&lt;/ol>
&lt;h2 id="submission-guidelines">Submission Guidelines&lt;/h2>
&lt;ul>
&lt;li>Submission deadline: &lt;em>TBA&lt;/em>&lt;/li>
&lt;li>Format: PDF report, source code (with comments), and presentation slides&lt;/li>
&lt;li>Groups of up to three members are allowed, provided each member&amp;rsquo;s contribution is documented clearly&lt;/li>
&lt;li>For every project, only one group with the best performance will be selected to present&lt;/li>
&lt;/ul></description></item><item><title>Engineering Mathematics Project 1: Mandelbrot Set Exploration</title><link>https://SadjadAbedi.ir/emath-proj-mandelbrot/</link><pubDate>Thu, 12 Dec 2024 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/emath-proj-mandelbrot/</guid><description>&lt;h2 id="project-overview">Project Overview&lt;/h2>
&lt;p>This project aims to explore the fascinating world of complex numbers through the lens of the Mandelbrot set—a quintessential mathematical object that beautifully demonstrates the complexity arising from simple iterative processes in the complex plane. By combining mathematical theory, computational methods, and visualizations, this project offers a hands-on journey into the intersection of mathematics and computational science.&lt;/p>
&lt;h2 id="learning-objectives">Learning Objectives&lt;/h2>
&lt;ul>
&lt;li>Develop a deep understanding of complex number operations and their behavior&lt;/li>
&lt;li>Apply mathematical concepts to solve computational problems creatively&lt;/li>
&lt;li>Explore the intersection of mathematics, computational methods, and visual art&lt;/li>
&lt;li>Gain practical experience in scientific programming and visualization techniques&lt;/li>
&lt;/ul>
&lt;h2 id="project-description">Project Description&lt;/h2>
&lt;h3 id="background">Background&lt;/h3>
&lt;p>The Mandelbrot set is defined by a simple yet powerful iterative function in the complex plane:
$$z_{n+1} = z_n^2 + c$$
Where:&lt;/p>
&lt;ul>
&lt;li>$z_0 = 0$&lt;/li>
&lt;li>$c$ is a complex number from the complex plane&lt;/li>
&lt;li>The set consists of all complex numbers $c$ for which the function does not diverge when iterated from $z_0$&lt;/li>
&lt;/ul>
&lt;p>This simple formula generates one of the most intricate and aesthetically fascinating structures in mathematics, offering a deep connection between numerical computation and visual patterns.&lt;/p>
&lt;h3 id="project-stages">Project Stages&lt;/h3>
&lt;h4 id="1-theoretical-foundation-20">1. Theoretical Foundation (20%)&lt;/h4>
&lt;ul>
&lt;li>Provide a comprehensive mathematical explanation of:
&lt;ul>
&lt;li>Complex number representation&lt;/li>
&lt;li>Complex plane coordinates&lt;/li>
&lt;li>Iteration process of the Mandelbrot set&lt;/li>
&lt;li>Criteria for divergence and its implications&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Derive and explain the mathematical properties and boundaries of the Mandelbrot set&lt;/li>
&lt;li>Discuss the significance of complex numbers in this context&lt;/li>
&lt;/ul>
&lt;h4 id="2-computational-implementation-40">2. Computational Implementation (40%)&lt;/h4>
&lt;p>Develop a program to generate the Mandelbrot set with the following requirements:&lt;/p>
&lt;ul>
&lt;li>Implement in a programming language of choice (Python, MATLAB, or FORTRAN recommended)&lt;/li>
&lt;li>Create functions for:
&lt;ul>
&lt;li>Complex number operations&lt;/li>
&lt;li>Mandelbrot set iteration&lt;/li>
&lt;li>Divergence testing and escape-time calculation&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Generate a visual representation of the Mandelbrot set&lt;/li>
&lt;li>Implement color mapping based on iteration count&lt;/li>
&lt;li>Provide annotations in the code for clarity and reproducibility&lt;/li>
&lt;/ul>
&lt;h4 id="3-advanced-exploration-20">3. Advanced Exploration (20%)&lt;/h4>
&lt;p>Choose and implement at least two of the following:&lt;/p>
&lt;ul>
&lt;li>Zoom functionality to explore fractal details&lt;/li>
&lt;li>Optimization techniques to reduce computational runtime&lt;/li>
&lt;li>Explore and implement creative color-mapping strategies&lt;/li>
&lt;li>Comparative analysis with Julia sets, discussing similarities and differences&lt;/li>
&lt;li>Leverage parallel computing for faster generation&lt;/li>
&lt;/ul>
&lt;h4 id="4-mathematical-analysis-20">4. Mathematical Analysis (20%)&lt;/h4>
&lt;p>Investigate the mathematical properties of the Mandelbrot set:&lt;/p>
&lt;ul>
&lt;li>Analyze the mathematical properties of the Mandelbrot set&lt;/li>
&lt;li>Investigate:
&lt;ul>
&lt;li>Boundary conditions&lt;/li>
&lt;li>Iteration convergence&lt;/li>
&lt;li>Symmetry properties&lt;/li>
&lt;li>Relationship to complex number behavior&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h2 id="technical-requirements">Technical Requirements&lt;/h2>
&lt;ul>
&lt;li>Use double-precision complex number representations&lt;/li>
&lt;li>Implement a grid-based visualization of the complex plane&lt;/li>
&lt;li>Handle computational challenges:
&lt;ul>
&lt;li>Numerical precision&lt;/li>
&lt;li>Iteration limits&lt;/li>
&lt;li>Computational complexity&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h2 id="deliverables">Deliverables&lt;/h2>
&lt;ol>
&lt;li>Comprehensive report including:
&lt;ul>
&lt;li>Theoretical background&lt;/li>
&lt;li>Detailed explanation of implementation&lt;/li>
&lt;li>Source code with annotations&lt;/li>
&lt;li>Visualizations and advanced explorations&lt;/li>
&lt;li>Mathematical analysis and insights&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Executable program: Capable of generating and visualizing the Mandelbrot set&lt;/li>
&lt;li>Presentation: A clear and engaging explanation of the project, its significance, and findings&lt;/li>
&lt;/ol>
&lt;h2 id="evaluation-criteria">Evaluation Criteria&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Report Quality&lt;/strong> (20%): Clarity, depth, and presentation of theoretical and computational details&lt;/li>
&lt;li>&lt;strong>Code Efficiency and Quality&lt;/strong> (30%): Correctness, modularity, and optimization&lt;/li>
&lt;li>&lt;strong>Presentation&lt;/strong> (50%): Delivery, visual appeal, and depth of understanding&lt;/li>
&lt;/ul>
&lt;h2 id="bonus-challenges">Bonus Challenges&lt;/h2>
&lt;ul>
&lt;li>Implement adaptive resolution to refine details dynamically during zooming&lt;/li>
&lt;li>Develop an interactive Mandelbrot set explorer with GUI&lt;/li>
&lt;li>Explore connections to chaos theory and other mathematical fields&lt;/li>
&lt;li>Investigate real-world applications or connections to physics and computer science&lt;/li>
&lt;/ul>
&lt;h2 id="recommended-reading">Recommended Reading&lt;/h2>
&lt;ol>
&lt;li>The wikipedia pages for the
&lt;/li>
&lt;li>
– &lt;em>A practical resource with examples and code.&lt;/em>&lt;/li>
&lt;li>
– &lt;em>An engaging video with animations.&lt;/em>&lt;/li>
&lt;li>&lt;em>Computational Physics&lt;/em> by Mark Newman - &lt;em>Includes practical approaches to numerical computation, which are helpful for implementing the Mandelbrot set.&lt;/em>&lt;/li>
&lt;li>
- &lt;em>A step-by-step guide to creating and visualizing the Mandelbrot set in Python.&lt;/em>&lt;/li>
&lt;/ol>
&lt;h2 id="submission-guidelines">Submission Guidelines&lt;/h2>
&lt;ul>
&lt;li>Submission deadline: &lt;em>TBA&lt;/em>&lt;/li>
&lt;li>Format: PDF report, source code, and presentation slides&lt;/li>
&lt;li>Groups of up to three members are allowed, provided each member&amp;rsquo;s contribution is documented clearly.&lt;/li>
&lt;li>For every project, only one group with the best performance will be selected to present.&lt;/li>
&lt;/ul></description></item><item><title>Engineering Mathematics Project 2: Joukowski Transformation</title><link>https://SadjadAbedi.ir/emath-proj-joukowski/</link><pubDate>Thu, 12 Dec 2024 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/emath-proj-joukowski/</guid><description>&lt;h2 id="project-overview">Project Overview&lt;/h2>
&lt;p>This project explores the elegant mathematical concept of the &lt;strong>Joukowski Transformation&lt;/strong>—a conformal mapping used to transform simple geometric shapes into airfoil-like structures in the complex plane. By leveraging your understanding of complex numbers, this project bridges theoretical mathematics with visually intriguing outcomes.&lt;/p>
&lt;h2 id="learning-objectives">Learning Objectives&lt;/h2>
&lt;ul>
&lt;li>Understand the concept of &lt;strong>conformal mapping&lt;/strong> in the complex plane.&lt;/li>
&lt;li>Apply complex number transformations to practical geometries.&lt;/li>
&lt;li>Develop computational skills to visualize and analyze mapped structures.&lt;/li>
&lt;li>Gain a stronger foundation in &lt;strong>complex analysis&lt;/strong> and its applications.&lt;/li>
&lt;/ul>
&lt;h2 id="project-description">Project Description&lt;/h2>
&lt;h3 id="background">Background&lt;/h3>
&lt;p>The Joukowski Transformation is defined as:&lt;/p>
&lt;p>$$
w = z + \frac{1}{z}
$$&lt;/p>
&lt;p>Where:&lt;/p>
&lt;ul>
&lt;li>$z = x + iy$ is a point in the complex plane.&lt;/li>
&lt;li>$w$ is the transformed point in a new plane.&lt;/li>
&lt;/ul>
&lt;p>This transformation maps circles in the $z$-plane into &lt;strong>airfoil-like shapes&lt;/strong> or flattened ovals in the $w$-plane. It serves as a fundamental concept in aerodynamics and complex analysis.&lt;/p>
&lt;h3 id="project-stages">Project Stages&lt;/h3>
&lt;h4 id="1-theoretical-foundation-30">1. Theoretical Foundation (30%)&lt;/h4>
&lt;ul>
&lt;li>Study the concept of conformal mappings and transformations.&lt;/li>
&lt;li>Derive and explain the effect of the Joukowski transformation on:
&lt;ul>
&lt;li>A unit circle $|z| = 1$.&lt;/li>
&lt;li>A shifted circle $|z - z_0| = r$ with parameters $z_0$ and $r$.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Discuss the geometric meaning of singularities and mapping behavior.&lt;/li>
&lt;/ul>
&lt;h4 id="2-computational-implementation-40">2. Computational Implementation (40%)&lt;/h4>
&lt;p>Develop a program to implement and visualize the Joukowski transformation. Tasks include:&lt;/p>
&lt;ol>
&lt;li>Input Parameters:
&lt;ul>
&lt;li>Define a circle in the complex plane (radius $r$ and center $z_0$).​&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Transformation:
&lt;ul>
&lt;li>Apply the Joukowski formula to map points on the circle into the $w$-plane.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Visualization
&lt;ul>
&lt;li>Plot the original circle and the transformed shape.&lt;/li>
&lt;li>Allow adjustments to the circle parameters and observe how the resulting shape changes.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;h4 id="3-geometric-exploration-20">3. Geometric Exploration (20%)&lt;/h4>
&lt;ul>
&lt;li>Explore how changing the circle’s &lt;strong>radius&lt;/strong> or &lt;strong>center&lt;/strong> influences the transformed shape.&lt;/li>
&lt;li>Investigate special cases where the Joukowski transformation produces:
&lt;ul>
&lt;li>Symmetric shapes.&lt;/li>
&lt;li>Sharp edges resembling airfoil trailing edges.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h4 id="4-mathematical-analysis-10">4. Mathematical Analysis (10%)&lt;/h4>
&lt;ul>
&lt;li>Analyze and describe why the transformation generates flattened or stretched shapes&lt;/li>
&lt;li>Discuss the geometric properties preserved by the transformation.&lt;/li>
&lt;li>Identify limitations, such as singularities in the transformation.&lt;/li>
&lt;/ul>
&lt;h2 id="technical-requirements">Technical Requirements&lt;/h2>
&lt;ul>
&lt;li>Implement in a programming language of choice (Python, MATLAB, or FORTRAN recommended)&lt;/li>
&lt;li>Ensure proper parameter control for circle position and radius.&lt;/li>
&lt;li>Present clear and well-annotated plots showing transformations.&lt;/li>
&lt;/ul>
&lt;h2 id="deliverables">Deliverables&lt;/h2>
&lt;ol>
&lt;li>Comprehensive report including:
&lt;ul>
&lt;li>Theoretical background&lt;/li>
&lt;li>Detailed explanation of implementation&lt;/li>
&lt;li>Source code with annotations&lt;/li>
&lt;li>Visualizations and advanced explorations&lt;/li>
&lt;li>Mathematical analysis and insights&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Executable program: Clean and annotated code for the transformation and visualization.&lt;/li>
&lt;li>Presentation: A clear and engaging explanation of the project, visual results, and key findings.&lt;/li>
&lt;/ol>
&lt;h2 id="evaluation-criteria">Evaluation Criteria&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Report Quality&lt;/strong> (20%): Clarity, depth, and presentation of theoretical and computational details&lt;/li>
&lt;li>&lt;strong>Code Efficiency and Quality&lt;/strong> (30%): Correctness, modularity, and readability&lt;/li>
&lt;li>&lt;strong>Presentation&lt;/strong> (50%): Delivery, visual appeal, and depth of understanding&lt;/li>
&lt;/ul>
&lt;p>Here&amp;rsquo;s the enriched version of the &lt;strong>Bonus Challenges&lt;/strong> section, incorporating studies of &lt;strong>potential flow&lt;/strong> and related topics:&lt;/p>
&lt;h2 id="bonus-challenges-optional">Bonus Challenges (Optional)&lt;/h2>
&lt;ul>
&lt;li>Explore the mapping of ellipses or other shapes instead of circles.&lt;/li>
&lt;li>Add an interactive feature to dynamically adjust parameters and observe the transformation.&lt;/li>
&lt;li>Investigate and explain how singularities appear during the transformation.&lt;/li>
&lt;/ul>
&lt;p>For students seeking deeper insights and a broader understanding, explore the following extensions that provide opportunities to connect complex analysis with &lt;strong>fluid dynamics&lt;/strong> concepts:&lt;/p>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Potential Flow Around the Joukowski Airfoil&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Study the &lt;strong>potential flow&lt;/strong> (ideal, inviscid, and irrotational flow) around the Joukowski airfoil.&lt;/li>
&lt;li>Analyze how the Joukowski transformation simplifies solving the Laplace equation for potential flow.&lt;/li>
&lt;li>Visualize &lt;strong>streamlines&lt;/strong> and &lt;strong>equipotential lines&lt;/strong> around the airfoil shape.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Lift Calculation Using the Kutta-Joukowski Theorem&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Introduce the &lt;strong>Kutta-Joukowski theorem&lt;/strong> for lift generation:
$$
L = \rho V \Gamma
$$
where $L$ is lift, $\rho$ is fluid density, $V$ is freestream velocity, and $\Gamma$ is the circulation.&lt;/li>
&lt;li>Apply the theorem to estimate lift for the Joukowski airfoil, assuming ideal flow conditions.&lt;/li>
&lt;li>Relate lift generation to the geometry of the transformed shape.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Effect of Circle Parameters on Airfoil Geometry&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Systematically study how varying the parameters $z_0$ (circle center) and $r$ (circle radius) influences the resulting airfoil geometry.&lt;/li>
&lt;li>Document relationships between input parameters and airfoil features, such as thickness, camber, and chord length.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Comparison with Real Airfoil Shapes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Compare the Joukowski airfoil with real-world airfoils used in aerodynamics (e.g., NACA airfoils).&lt;/li>
&lt;li>Discuss the limitations of the Joukowski transformation in modeling practical airfoil shapes.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Numerical Simulation of Flow&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Use numerical tools (e.g., CFD software like OpenFOAM or COMSOL) to simulate flow over the Joukowski airfoil.&lt;/li>
&lt;li>Compare idealized potential flow predictions with numerical results to identify discrepancies caused by viscosity and other real-world factors.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Explore Related Transformations&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Study alternative conformal mappings (e.g., Kármán-Trefftz transformation) and compare their ability to generate airfoil shapes.&lt;/li>
&lt;li>Discuss how modifications to the Joukowski transformation can produce different aerodynamic features.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;h2 id="recommended-reading">Recommended Reading&lt;/h2>
&lt;ol>
&lt;li>
page with engaging interactive plots&lt;/li>
&lt;li>All reference Textbooks of the course: Section of &lt;em>Conformal Mapping&lt;/em>&lt;/li>
&lt;/ol>
&lt;h2 id="submission-guidelines">Submission Guidelines&lt;/h2>
&lt;ul>
&lt;li>Submission deadline: &lt;em>TBA&lt;/em>&lt;/li>
&lt;li>Format: PDF report, source code, and presentation slides&lt;/li>
&lt;li>Groups of up to three members are allowed, provided each member&amp;rsquo;s contribution is documented clearly.&lt;/li>
&lt;li>For every project, only one group with the best performance will be selected to present.&lt;/li>
&lt;/ul></description></item><item><title>Heat and Mass Transfer Project 1: Human Body Heat Balance</title><link>https://SadjadAbedi.ir/heat-human-heat-balance/</link><pubDate>Thu, 12 Dec 2024 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/heat-human-heat-balance/</guid><description>&lt;h2 id="project-overview">Project Overview&lt;/h2>
&lt;p>This project focuses on understanding and analyzing heat balance in the human body through theoretical study and computational modeling. Students will explore the fundamental principles of heat transfer mechanisms in the human body and their relationship to heat stress indices, developing a comprehensive understanding of thermoregulation principles.&lt;/p>
&lt;h2 id="learning-objectives">Learning Objectives&lt;/h2>
&lt;ul>
&lt;li>Understand the fundamental mechanisms of heat transfer in the human body&lt;/li>
&lt;li>Learn to analyze and evaluate each term in the human body heat balance equation&lt;/li>
&lt;li>Develop basic computational skills to model heat transfer processes&lt;/li>
&lt;li>Understand the relationship between environmental conditions and heat stress&lt;/li>
&lt;li>Apply engineering principles to biological systems&lt;/li>
&lt;/ul>
&lt;h2 id="project-description">Project Description&lt;/h2>
&lt;h3 id="background">Background&lt;/h3>
&lt;p>The human body maintains its core temperature through various heat transfer mechanisms. This thermal regulation is described by the heat balance equation:
$$M - W = E + R + C + K + S$$
where M is metabolic heat production, W is mechanical work, E is evaporative heat loss, R is radiative heat exchange, C is convective heat exchange, K is conductive heat exchange, and S is heat storage. Understanding these components is crucial for evaluating human thermal comfort and heat stress.&lt;/p>
&lt;h3 id="project-stages">Project Stages&lt;/h3>
&lt;h4 id="1-literature-review">1. Literature Review&lt;/h4>
&lt;ul>
&lt;li>Research and summarize each component of the heat balance equation&lt;/li>
&lt;li>Study how each term is evaluated and calculated&lt;/li>
&lt;li>Investigate factors affecting each heat transfer mechanism&lt;/li>
&lt;li>Review common heat stress indices&lt;/li>
&lt;/ul>
&lt;h4 id="2-component-analysis">2. Component Analysis&lt;/h4>
&lt;ul>
&lt;li>Detailed study of each heat balance term:&lt;/li>
&lt;li>Metabolic heat production in different activities&lt;/li>
&lt;li>Evaporative heat loss mechanisms&lt;/li>
&lt;li>Radiative heat transfer with environment&lt;/li>
&lt;li>Convective heat transfer effects&lt;/li>
&lt;li>Conductive heat transfer significance&lt;/li>
&lt;li>Develop simple calculations for each component&lt;/li>
&lt;/ul>
&lt;h4 id="3-heat-stress-analysis">3. Heat Stress Analysis&lt;/h4>
&lt;ul>
&lt;li>Study various heat stress indices&lt;/li>
&lt;li>Understand environmental factors affecting heat stress&lt;/li>
&lt;li>Learn to calculate common indices like WBGT and Heat Stress Index&lt;/li>
&lt;li>Analyze the relationship between heat balance and heat stress&lt;/li>
&lt;/ul>
&lt;h4 id="4-case-study-development">4. Case Study Development&lt;/h4>
&lt;ul>
&lt;li>Select and analyze real-world scenarios&lt;/li>
&lt;li>Apply heat balance principles to specific situations&lt;/li>
&lt;li>Calculate heat stress indices for different conditions&lt;/li>
&lt;li>Propose recommendations for thermal comfort&lt;/li>
&lt;/ul>
&lt;h2 id="technical-requirements">Technical Requirements&lt;/h2>
&lt;ul>
&lt;li>Basic understanding of heat transfer principles&lt;/li>
&lt;li>Basic calculation and analytical skills&lt;/li>
&lt;li>Ability to research and synthesize information&lt;/li>
&lt;/ul>
&lt;h2 id="deliverables">Deliverables&lt;/h2>
&lt;ol>
&lt;li>Comprehensive report including:&lt;/li>
&lt;/ol>
&lt;ul>
&lt;li>Theoretical background of each heat transfer mechanism&lt;/li>
&lt;li>Detailed analysis of heat balance components&lt;/li>
&lt;li>Heat stress indices calculations and analysis&lt;/li>
&lt;li>Case study findings and recommendations&lt;/li>
&lt;/ul>
&lt;ol start="2">
&lt;li>Presentation slides&lt;/li>
&lt;/ol>
&lt;h2 id="evaluation-criteria">Evaluation Criteria&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Report Quality&lt;/strong> (50%): Understanding of theoretical concepts, Quality of analysis and calculations&lt;/li>
&lt;li>&lt;strong>Presentation&lt;/strong> (50%): Delivery, visual appeal, and depth of understanding&lt;/li>
&lt;/ul>
&lt;h2 id="bonus-challenges-optional">Bonus Challenges (Optional)&lt;/h2>
&lt;ul>
&lt;li>Create a simple program for heat balance calculations&lt;/li>
&lt;li>Analyze heat stress in different climatic conditions&lt;/li>
&lt;li>Compare different heat stress indices&lt;/li>
&lt;li>Investigate the effect of clothing on heat balance&lt;/li>
&lt;li>Study special cases (athletes, industrial workers)&lt;/li>
&lt;/ul>
&lt;h2 id="recommended-reading">Recommended Reading&lt;/h2>
&lt;ol>
&lt;li>
(Ken Parsons)&lt;/li>
&lt;li>
(John L. Monteith and Mike H. Unsworth)&lt;/li>
&lt;li>
(George Havenith and Dusan Fiala)&lt;/li>
&lt;li>
&lt;/li>
&lt;/ol>
&lt;h2 id="submission-guidelines">Submission Guidelines&lt;/h2>
&lt;ul>
&lt;li>Submission deadline: &lt;em>TBA&lt;/em>&lt;/li>
&lt;li>Format: PDF report and presentation slides&lt;/li>
&lt;li>Groups of up to three members are allowed, provided each member&amp;rsquo;s contribution is documented clearly.&lt;/li>
&lt;li>For every project, only one group with the best performance will be selected to present.&lt;/li>
&lt;/ul></description></item><item><title>Heat and Mass Transfer Project 2: Microvascular Heat Transfer</title><link>https://SadjadAbedi.ir/heat-microvascular-heat-transfer/</link><pubDate>Thu, 12 Dec 2024 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/heat-microvascular-heat-transfer/</guid><description>&lt;h2 id="project-overview">Project Overview&lt;/h2>
&lt;p>This project explores microvascular heat transfer mechanisms through a detailed theoretical study. Students will analyze existing models, understand fundamental principles, and explore applications in biomedical engineering.&lt;/p>
&lt;h2 id="learning-objectives">Learning Objectives&lt;/h2>
&lt;ul>
&lt;li>Understand the principles of heat transfer in biological tissues&lt;/li>
&lt;li>Analyze models of perfused tissues and their implications for heat transport&lt;/li>
&lt;li>Study theoretical models of microvascular heat transport&lt;/li>
&lt;li>Explore applications in biomedical engineering, such as hyperthermia treatment&lt;/li>
&lt;/ul>
&lt;h2 id="project-description">Project Description&lt;/h2>
&lt;h3 id="background">Background&lt;/h3>
&lt;p>Blood flow plays a critical role in tissue heat transfer, affecting temperature regulation and medical treatments. Understanding microvascular heat transfer requires analyzing conduction, convection, and perfusion effects. The bioheat equation models these interactions, accounting for tissue properties, metabolic heat generation, and perfusion rates.&lt;/p>
&lt;h3 id="project-stages">Project Stages&lt;/h3>
&lt;h4 id="1-literature-review">1. Literature Review&lt;/h4>
&lt;ul>
&lt;li>Study heat transfer mechanisms in vascular tissues&lt;/li>
&lt;li>Review the Pennes’ bioheat equation and alternative models&lt;/li>
&lt;li>Investigate models of perfused tissues and their role in heat transport&lt;/li>
&lt;/ul>
&lt;h4 id="2-theoretical-analysis">2. Theoretical Analysis&lt;/h4>
&lt;ul>
&lt;li>Compare different vascular heat transfer models (Pennes, effective conductivity, etc.)&lt;/li>
&lt;li>Examine key parameters like thermal conductivity, perfusion rate, and equilibration length&lt;/li>
&lt;li>Discuss the assumptions and limitations of existing models&lt;/li>
&lt;/ul>
&lt;h4 id="3-case-study-development">3. Case Study Development&lt;/h4>
&lt;ul>
&lt;li>Apply microvascular heat transfer models to a clinical or physiological scenario&lt;/li>
&lt;li>Evaluate temperature profiles in tissues with different perfusion rates&lt;/li>
&lt;li>Propose improvements for biomedical applications (e.g., thermal therapies)&lt;/li>
&lt;/ul>
&lt;h2 id="technical-requirements">Technical Requirements&lt;/h2>
&lt;ul>
&lt;li>Basic knowledge of heat transfer principles&lt;/li>
&lt;li>Ability to research and synthesize information from literature&lt;/li>
&lt;/ul>
&lt;h2 id="deliverables">Deliverables&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Comprehensive report&lt;/strong> including:&lt;/li>
&lt;/ol>
&lt;ul>
&lt;li>Theoretical background of microvascular heat transfer&lt;/li>
&lt;li>Analysis of bioheat models&lt;/li>
&lt;li>Case study findings and biomedical implications&lt;/li>
&lt;/ul>
&lt;ol start="2">
&lt;li>&lt;strong>Presentation slides&lt;/strong> summarizing key results&lt;/li>
&lt;/ol>
&lt;h2 id="evaluation-criteria">Evaluation Criteria&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Report Quality&lt;/strong> (50%): Depth of analysis, clarity of explanation, and accuracy of information&lt;/li>
&lt;li>&lt;strong>Presentation&lt;/strong> (50%): Clarity, visual quality, and understanding of concepts&lt;/li>
&lt;/ul>
&lt;h2 id="bonus-challenges-optional">Bonus Challenges (Optional)&lt;/h2>
&lt;ul>
&lt;li>Develop a simplified computational model for microvascular heat transfer&lt;/li>
&lt;li>Analyze heat transfer differences in various tissue types&lt;/li>
&lt;li>Investigate the impact of vascular architecture on heat transport&lt;/li>
&lt;li>Study pulsatile blood flow effects on thermal regulation&lt;/li>
&lt;/ul>
&lt;h2 id="recommended-reading">Recommended Reading&lt;/h2>
&lt;ol>
&lt;li>
(Robert A. Peattie, Robert J. Fisher, Joseph D. Bronzino, Donald R. Peterson)&lt;/li>
&lt;li>
(C.K. Charny)&lt;/li>
&lt;li>
&lt;/li>
&lt;/ol>
&lt;h2 id="submission-guidelines">Submission Guidelines&lt;/h2>
&lt;ul>
&lt;li>Submission deadline: &lt;em>TBA&lt;/em>&lt;/li>
&lt;li>Format: PDF report and presentation slides&lt;/li>
&lt;li>Groups of up to three members are allowed, with clearly documented contributions&lt;/li>
&lt;li>The best-performing group will present their findings in class&lt;/li>
&lt;/ul></description></item><item><title>Heat and Mass Transfer Project 3: 2D Steady-State Heat Transfer Analysis</title><link>https://SadjadAbedi.ir/heat-2d-steady-state/</link><pubDate>Thu, 12 Dec 2024 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/heat-2d-steady-state/</guid><description>&lt;h2 id="project-overview">Project Overview&lt;/h2>
&lt;p>This project explores numerical solutions to &lt;strong>steady-state heat conduction&lt;/strong> problems in two-dimensional rectangular domains using the &lt;strong>finite difference method&lt;/strong>. Students will develop a computational tool that can analyze heat distribution across materials with different thermal properties under various boundary conditions. This project connects theoretical heat transfer principles with practical numerical methods used extensively in engineering applications.&lt;/p>
&lt;h2 id="learning-objectives">Learning Objectives&lt;/h2>
&lt;ul>
&lt;li>Understand the mathematical foundation of &lt;strong>finite difference methods&lt;/strong> for heat transfer problems&lt;/li>
&lt;li>Apply numerical techniques to solve the 2D steady-state heat equation&lt;/li>
&lt;li>Develop computational skills to implement and visualize thermal solutions&lt;/li>
&lt;li>Analyze the effects of different boundary conditions on temperature distributions&lt;/li>
&lt;li>Gain proficiency in validating numerical solutions against analytical benchmarks&lt;/li>
&lt;/ul>
&lt;h2 id="project-description">Project Description&lt;/h2>
&lt;h3 id="background">Background&lt;/h3>
&lt;p>The steady-state heat conduction in a 2D domain is governed by the following partial differential equation:&lt;/p>
&lt;p>$$
\frac{\partial}{\partial x}\left(k_x \frac{\partial T}{\partial x}\right) + \frac{\partial}{\partial y}\left(k_y \frac{\partial T}{\partial y}\right) + \dot{q} = 0
$$&lt;/p>
&lt;p>Where:&lt;/p>
&lt;ul>
&lt;li>$T(x,y)$ is the temperature distribution&lt;/li>
&lt;li>$k$ is the thermal conductivity of the material&lt;/li>
&lt;li>$\dot{q}$ is the volumetric heat generation rate&lt;/li>
&lt;/ul>
&lt;p>For homogeneous materials with constant thermal conductivity and no internal heat generation, this simplifies to:&lt;/p>
&lt;p>$$
\frac{\partial^2 T}{\partial x^2} + \frac{\partial^2 T}{\partial y^2} = 0
$$&lt;/p>
&lt;p>This is the &lt;strong>Laplace equation&lt;/strong> for temperature.&lt;/p>
&lt;p>For cases with internal heat generation, the governing equation becomes:&lt;/p>
&lt;p>$$
\frac{\partial^2 T}{\partial x^2} + \frac{\partial^2 T}{\partial y^2} + \frac{\dot{q}}{k} = 0
$$&lt;/p>
&lt;p>This is the &lt;strong>Poisson equation&lt;/strong>, which must be addressed in this project.&lt;/p>
&lt;h3 id="project-stages">Project Stages&lt;/h3>
&lt;h4 id="1-theoretical-foundation-25">1. Theoretical Foundation (25%)&lt;/h4>
&lt;ul>
&lt;li>Review the derivation of the 2D heat conduction equation&lt;/li>
&lt;li>Study the finite difference approximations for second derivatives&lt;/li>
&lt;li>Develop the discretized form of the governing equation&lt;/li>
&lt;li>Analyze the implementation of different boundary conditions:
&lt;ul>
&lt;li>Dirichlet boundary condition (constant temperature)&lt;/li>
&lt;li>Neumann boundary condition (constant heat flux)&lt;/li>
&lt;li>Convection boundary condition (convective heat transfer)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Discuss solution methods for the resulting system of algebraic equations&lt;/li>
&lt;/ul>
&lt;h4 id="2-computational-implementation-40">2. Computational Implementation (40%)&lt;/h4>
&lt;p>Develop a program to implement the finite difference method for 2D steady-state heat conduction. Tasks include:&lt;/p>
&lt;ol>
&lt;li>
&lt;p>Program Input Requirements:&lt;/p>
&lt;ul>
&lt;li>Material properties (thermal conductivity, which may be directional)&lt;/li>
&lt;li>Internal heat generation rates&lt;/li>
&lt;li>Grid size (number of nodes in x and y directions)&lt;/li>
&lt;li>Boundary condition specifications for each edge (type and values)&lt;/li>
&lt;li>Solution method parameters (e.g., convergence criteria)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Domain Discretization:&lt;/p>
&lt;ul>
&lt;li>Create a mesh for the rectangular domain with specified dimensions $W \times H$&lt;/li>
&lt;li>Handle boundary nodes appropriately for different boundary conditions&lt;/li>
&lt;li>Implement heat generation terms in the domain&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Matrix Assembly:&lt;/p>
&lt;ul>
&lt;li>Generate the coefficient matrix for the system of algebraic equations&lt;/li>
&lt;li>Implement different boundary conditions into the matrix structure:
&lt;ul>
&lt;li>Constant temperature (Dirichlet)&lt;/li>
&lt;li>Constant heat flux (Neumann)&lt;/li>
&lt;li>Convection (Robin): $-k\frac{\partial T}{\partial n} = h(T - T_{\infty})$&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Create the right-hand side vector for the system&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Solution Methods:&lt;/p>
&lt;ul>
&lt;li>Implement direct solver methods (e.g., Gaussian elimination)&lt;/li>
&lt;li>Implement iterative solver methods (e.g., Gauss-Seidel)&lt;/li>
&lt;li>Compare performance&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Program Output Requirements:&lt;/p>
&lt;ul>
&lt;li>Nodal temperatures throughout the domain&lt;/li>
&lt;li>Heat fluxes at all nodes (magnitude and direction)&lt;/li>
&lt;li>Overall heat transfer rates at boundaries&lt;/li>
&lt;li>Visualization of temperature distribution and heat flow&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;h4 id="3-validation-and-verification-20">3. Validation and Verification (20%)&lt;/h4>
&lt;ul>
&lt;li>Compare numerical solutions with available analytical solutions for simple cases&lt;/li>
&lt;li>Conduct grid independence studies to determine optimal mesh sizes&lt;/li>
&lt;li>Analyze convergence rates and solution accuracy&lt;/li>
&lt;li>Verify conservation of energy across the domain&lt;/li>
&lt;li>Validate the implementation of different boundary conditions&lt;/li>
&lt;/ul>
&lt;h4 id="4-case-studies-and-analysis-15">4. Case Studies and Analysis (15%)&lt;/h4>
&lt;ul>
&lt;li>Select and apply the developed code to solve a practical heat conduction problem of your choice&lt;/li>
&lt;li>The case study should demonstrate the capabilities of your code and have relevance to engineering applications&lt;/li>
&lt;li>Analyze the chosen problem thoroughly, including:
&lt;ul>
&lt;li>Effect of grid resolution on results&lt;/li>
&lt;li>Impact of boundary conditions on temperature distribution&lt;/li>
&lt;li>Sensitivity to material properties or heat generation&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Interpret results in terms of practical engineering implications&lt;/li>
&lt;li>Discuss limitations of the numerical approach for your specific application&lt;/li>
&lt;/ul>
&lt;h2 id="technical-requirements">Technical Requirements&lt;/h2>
&lt;ul>
&lt;li>Implement in a programming language of choice (MATLAB, Python, or FORTRAN recommended)&lt;/li>
&lt;li>Create modular code with clear structure and documentation&lt;/li>
&lt;li>Ensure proper input/output interfaces for parameters and results&lt;/li>
&lt;li>Develop efficient algorithms that minimize computational time&lt;/li>
&lt;li>Include error handling and solution convergence criteria&lt;/li>
&lt;/ul>
&lt;h2 id="deliverables">Deliverables&lt;/h2>
&lt;ol>
&lt;li>
&lt;p>Comprehensive report including:&lt;/p>
&lt;ul>
&lt;li>Theoretical background on finite difference methods&lt;/li>
&lt;li>Detailed mathematical formulation&lt;/li>
&lt;li>Description of numerical implementation&lt;/li>
&lt;li>Validation results and analysis&lt;/li>
&lt;li>Case studies and their engineering interpretations&lt;/li>
&lt;li>Limitations and potential improvements&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Well-documented source code:&lt;/p>
&lt;ul>
&lt;li>Core program for solving 2D heat conduction&lt;/li>
&lt;li>Supporting functions for mesh generation, visualization, etc.&lt;/li>
&lt;li>User manual explaining how to use the program&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Presentation:&lt;/p>
&lt;ul>
&lt;li>Clear explanation of the numerical approach&lt;/li>
&lt;li>Demonstration of program capabilities&lt;/li>
&lt;li>Presentation of key results and insights&lt;/li>
&lt;li>Discussion of challenges and solutions&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;h2 id="evaluation-criteria">Evaluation Criteria&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Report Quality&lt;/strong> (20%): Clarity, depth, and presentation of theoretical and computational details&lt;/li>
&lt;li>&lt;strong>Code Efficiency and Quality&lt;/strong> (30%): Correctness, modularity, and optimization&lt;/li>
&lt;li>&lt;strong>Presentation&lt;/strong> (50%): Delivery, visual appeal, and depth of understanding&lt;/li>
&lt;/ul>
&lt;h2 id="bonus-challenges-optional">Bonus Challenges (Optional)&lt;/h2>
&lt;p>For students interested in extending their understanding and skills beyond the core requirements:&lt;/p>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Variable Grid Size Implementation&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Develop capabilities for non-uniform grid spacing in both x and y directions&lt;/li>
&lt;li>Implement local mesh refinement in regions of interest&lt;/li>
&lt;li>Compare solution accuracy between uniform and non-uniform grids&lt;/li>
&lt;li>Analyze computational efficiency gains from strategic grid refinement&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Radiation Boundary Condition&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Implement radiation boundary conditions: $-k\frac{\partial T}{\partial n} = \epsilon\sigma(T^4 - T_{\infty}^4)$&lt;/li>
&lt;li>Handle the non-linearity introduced by the fourth-power temperature dependence&lt;/li>
&lt;li>Develop a linearization technique or iterative approach for solution&lt;/li>
&lt;li>Compare combined radiation and convection effects on boundaries&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Spatially Variable Material Properties&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Implement capabilities for handling different materials within the domain&lt;/li>
&lt;li>Allow specification of thermal conductivity as a function of position&lt;/li>
&lt;li>Handle interfaces between different materials appropriately&lt;/li>
&lt;li>Analyze the impact of material property variations on temperature distribution&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>User Interface Development&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Create a graphical user interface (GUI) for easier problem setup&lt;/li>
&lt;li>Implement interactive visualization of results&lt;/li>
&lt;li>Develop tools for parametric studies and sensitivity analysis&lt;/li>
&lt;li>Design a user-friendly method for specifying complex boundary conditions&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;h2 id="recommended-reading">Recommended Reading&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Fundamentals of Heat and Mass Transfer&lt;/strong>, [&lt;em>8th ed.&lt;/em>] by Theodore L. Bergman, Adrienne S. Lavine&lt;/li>
&lt;li>&lt;strong>Heat and Mass Transfer, Fundamentals &amp;amp; Applications&lt;/strong>, [&lt;em>6th ed.&lt;/em>] by Yunus A. Cengel, Afshin J. Ghajar&lt;/li>
&lt;li>&lt;strong>Heat Conduction&lt;/strong>, [&lt;em>5th ed.&lt;/em>] by Kakac, S., Yener, Y., &amp;amp; Naveira-Cotta, C.P.&lt;/li>
&lt;li>&lt;strong>Heat Conduction&lt;/strong>, [&lt;em>3rd ed.&lt;/em>] by David W. Hahn, M. Necati Özisik&lt;/li>
&lt;li>&lt;strong>Finite Difference Methods in Heat Transfer&lt;/strong>, [&lt;em>2nd ed.&lt;/em>] by Özişik, M.N., Orlande, H.R.B., Colaço, M.J., &amp;amp; Cotta, R.M.&lt;/li>
&lt;/ol>
&lt;h2 id="submission-guidelines">Submission Guidelines&lt;/h2>
&lt;ul>
&lt;li>Submission deadline: &lt;em>TBA&lt;/em>&lt;/li>
&lt;li>Format: PDF report, source code (with comments), and presentation slides&lt;/li>
&lt;li>Groups of up to three members are allowed, provided each member&amp;rsquo;s contribution is documented clearly&lt;/li>
&lt;li>For every project, only one group with the best performance will be selected to present&lt;/li>
&lt;/ul></description></item><item><title>Dynamics</title><link>https://SadjadAbedi.ir/courses/dynamics_01/</link><pubDate>Tue, 12 Nov 2024 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/courses/dynamics_01/</guid><description>&lt;h2 id="course-information">Course Information&lt;/h2>
&lt;ul>
&lt;li>Course Title: Dynamics&lt;/li>
&lt;li>Course Code: 2014054&lt;/li>
&lt;li>Credits: 3&lt;/li>
&lt;li>Class Schedule:
&lt;ul>
&lt;li>Days: Sunday, Thuesday&lt;/li>
&lt;li>Time: 14:00-16:00&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Class Location: Class 9, Class 32&lt;/li>
&lt;li>&lt;strong>Instructor&lt;/strong>: Seyed Sadjad Abedi-Shahri
&lt;ul>
&lt;li>&lt;strong>Email&lt;/strong>:
&lt;/li>
&lt;li>&lt;strong>Office Hours&lt;/strong>:
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;!--
- **Teaching Assistant**: *TBA*
- **Email**: *TBA*
-->
&lt;ul>
&lt;li>&lt;strong>Lecture Materials&lt;/strong>: Provided weekly in
.&lt;/li>
&lt;li>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="course-overview">Course Overview&lt;/h2>
&lt;p>This course introduces the fundamental principles of dynamics, focusing on the theoretical aspects of particle and rigid body motion, force analysis, and energy methods, and their relevance to human movement and biomechanical systems. While the course primarily addresses traditional dynamics concepts, occasional examples related to human body mechanics will also be provided.&lt;/p>
&lt;hr>
&lt;h2 id="learning-objectives">Learning Objectives&lt;/h2>
&lt;p>By the end of the course, students will be able to:&lt;/p>
&lt;ol>
&lt;li>Understand and apply the principles of kinematics and kinetics for particles and rigid bodies.&lt;/li>
&lt;li>Use work-energy and impulse-momentum methods for solving dynamic problems.&lt;/li>
&lt;li>Analyze three-dimensional motion and dynamics of rigid bodies.&lt;/li>
&lt;li>Relate classical mechanics principles to biomechanics applications such as human motion analysis.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="syllabus">Syllabus&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Kinematics of a Particle&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Kinetics of a Particle: Force and Acceleration&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Kinetics of a Particle: Work and Energy&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Kinetics of a Particle: Impulse and Momentum&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Planar Kinematics of a Rigid Body&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Planar Kinetics of a Rigid Body: Force and Acceleration&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Planar Kinetics of a Rigid Body: Work and Energy&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Planar Kinetics of a Rigid Body: Impulse and Momentum&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Three-Dimensional Kinematics and Kinetics of a Rigid Body&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Related Topics in Biomechanics&lt;/strong>&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="references">References&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>[HIB]&lt;/strong> &lt;strong>Engineering Mechanics: Dynamics&lt;/strong> [&lt;em>14th ed.&lt;/em>] by Russell C. Hibbeler&lt;/li>
&lt;li>&lt;strong>[MER]&lt;/strong> &lt;strong>Engineering Mechanics: Dynamics&lt;/strong> [&lt;em>6th ed.&lt;/em>] by J.L. Meriam and L. Kraige&lt;/li>
&lt;li>&lt;strong>[PYT]&lt;/strong> &lt;strong>Engineering Mechanics: Dynamics&lt;/strong> [&lt;em>3rd ed.&lt;/em>] by Andrew Pytel and Jaan Kiusalaas&lt;/li>
&lt;li>&lt;strong>[OZK]&lt;/strong> &lt;strong>Fundamentals of Biomechanics&lt;/strong> [&lt;em>4th ed.&lt;/em>] by Nihat Özkaya, David Goldsheyder, and Margareta Nordin&lt;/li>
&lt;li>&lt;strong>[TOZ]&lt;/strong> &lt;strong>Human Body Dynamics: Classical Mechanics and Human Movement&lt;/strong> by Aydin Tozeren&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="evaluation-scheme">Evaluation Scheme&lt;/h2>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Midterm Evaluation&lt;/strong>: 35 points&lt;/p>
&lt;ul>
&lt;li>Covers Chapters 1-4.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Final Evaluation&lt;/strong>: 50 points&lt;/p>
&lt;ul>
&lt;li>Covers all remaining chapters.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Continuous Evaluation&lt;/strong>: 15 points&lt;/p>
&lt;ul>
&lt;li>Based on exercises, quizzes, and participation during lectures and discussions.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Extracurricular Activities (optional)&lt;/strong>: Up to 10 bonus points&lt;/p>
&lt;ul>
&lt;li>Awarded for participation in activities such as group projects, presentations, or relevant research outside the classroom.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="session-outline">Session Outline&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Session&lt;/th>
&lt;th>Date&lt;/th>
&lt;th>Outline&lt;/th>
&lt;th>Additional Resources&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>1&lt;/td>
&lt;td>21 Bahman&lt;/td>
&lt;td>Lecture 1 (U)&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>2&lt;/td>
&lt;td>23 Bahman&lt;/td>
&lt;td>Lecture 1 + Lecture 2 (U)&lt;/td>
&lt;td>[HIB]:12.1-12.3 &amp;amp; [MER]: 2.1-2.2&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>3&lt;/td>
&lt;td>28 Bahman&lt;/td>
&lt;td>Lecture 2&lt;/td>
&lt;td>[HIB]:12.4-12.7 &amp;amp; [MER]: 2.3-2.5&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>4&lt;/td>
&lt;td>30 Bahman&lt;/td>
&lt;td>Lecture 3&lt;/td>
&lt;td>[HIB]:12.8-12.10 &amp;amp; [MER]: 2.6-2.9&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>5&lt;/td>
&lt;td>5 Esfand&lt;/td>
&lt;td>Lecture 4 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>6&lt;/td>
&lt;td>12 Esfand&lt;/td>
&lt;td>Lecture 4 + Lecture 5 (U)&lt;/td>
&lt;td>[HIB]:13.1-13.6 &amp;amp; [MER]: 3.1-3.5, 4.1-4.2&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>7&lt;/td>
&lt;td>14 Esfand&lt;/td>
&lt;td>Lecture 5 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>8&lt;/td>
&lt;td>19 Esfand&lt;/td>
&lt;td>Lecture 5 + Exc. 1&lt;/td>
&lt;td>[HIB]:14.1-14.6 &amp;amp; [MER]: 3.6-3.7, 4.3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>9&lt;/td>
&lt;td>21 Esfand&lt;/td>
&lt;td>Exc. 2 + Exc. 3&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>10&lt;/td>
&lt;td>17 Farvardin&lt;/td>
&lt;td>Lecture 6 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>11&lt;/td>
&lt;td>19 Farvardin&lt;/td>
&lt;td>Lecture 6 + Lecture 7 (U)&lt;/td>
&lt;td>[HIB]:15.1-15.4 &amp;amp; [MER]: 3.9, 3.12&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>12&lt;/td>
&lt;td>24 Farvardin&lt;/td>
&lt;td>Lecture 7 + Review&lt;/td>
&lt;td>[HIB]:15.5-15.8 &amp;amp; [MER]: 3.10, 4.4-4.6&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>13&lt;/td>
&lt;td>26 Fravardin&lt;/td>
&lt;td>Exc. 4 + Exc. 5&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>14&lt;/td>
&lt;td>31 Farvardin&lt;/td>
&lt;td>Lecture 8 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>15&lt;/td>
&lt;td>2 Ordibehesht&lt;/td>
&lt;td>Lecture 8 + Lecture 9 (U)&lt;/td>
&lt;td>[HIB]:16.1-16.4 &amp;amp; [MER]: 5.1-5.3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>16&lt;/td>
&lt;td>7 Ordibehesht&lt;/td>
&lt;td>Lecture 9 + Lecture 10 (U)&lt;/td>
&lt;td>[HIB]:16.5-16.6 &amp;amp; [MER]: 5.4-5.5&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>17&lt;/td>
&lt;td>9 Ordibehesht&lt;/td>
&lt;td>Lecture 10&lt;/td>
&lt;td>[HIB]:16.7-16.8 &amp;amp; [MER]: 5.6-5.7&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>18&lt;/td>
&lt;td>14 Ordibehesht&lt;/td>
&lt;td>Exc. 6&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>19&lt;/td>
&lt;td>16 Ordibehesht&lt;/td>
&lt;td>Exc. 6 + Exc. 7&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>20&lt;/td>
&lt;td>21 Ordibehesht&lt;/td>
&lt;td>Lecture 11 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>21&lt;/td>
&lt;td>23 Ordibehesht&lt;/td>
&lt;td>Midterm Exam&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>22&lt;/td>
&lt;td>28 Ordibehesht&lt;/td>
&lt;td>Lecture 11&lt;/td>
&lt;td>[HIB]:17.1-17.3 &amp;amp; [MER]: 6.1-6.3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>23&lt;/td>
&lt;td>30 Ordibehesht&lt;/td>
&lt;td>Lecture 12&lt;/td>
&lt;td>[HIB]:17.4-17.5 &amp;amp; [MER]: 6.4-6.5&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>24&lt;/td>
&lt;td>4 Khordad&lt;/td>
&lt;td>Lecture 13&lt;/td>
&lt;td>[HIB]:18.1-18.5 &amp;amp; [MER]: 6.6-6.7&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>25&lt;/td>
&lt;td>6 Khordad&lt;/td>
&lt;td>Lecture 14&lt;/td>
&lt;td>[HIB]:19.1-19.3 &amp;amp; [MER]: 6.8&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>26&lt;/td>
&lt;td>11 Khordad&lt;/td>
&lt;td>Exc. 8 + Exc. 9&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;ul>
&lt;li>&lt;strong>Lecture 1&lt;/strong>: &lt;em>Kinematics of a Particle - Part 1&lt;/em>
&lt;ul>
&lt;li>Introduction&lt;/li>
&lt;li>Rectilinear Kinematics: Continuous Motion&lt;/li>
&lt;li>Rectilinear Kinematics: Erratic Motion&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 2&lt;/strong>: &lt;em>Kinematics of a Particle - Part 2&lt;/em>
&lt;ul>
&lt;li>General Curvilinear Motion&lt;/li>
&lt;li>Curvilinear Motion: Rectangular Components&lt;/li>
&lt;li>Motion of a Projectile&lt;/li>
&lt;li>Curvilinear Motion: Normal and Tangential Components&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 3&lt;/strong>: &lt;em>Kinematics of a Particle - Part 3&lt;/em>
&lt;ul>
&lt;li>Curvilinear Motion: Cylindrical Components&lt;/li>
&lt;li>Absolute Dependent Motion Analysis of Two Particles&lt;/li>
&lt;li>Relative-Motion of Two Particles Using Translating Axes&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 4&lt;/strong>: &lt;em>Kinetics of a Particle: Force and Acceleration&lt;/em>
&lt;ul>
&lt;li>Newton’s Second Law of Motion&lt;/li>
&lt;li>The Equation of Motion&lt;/li>
&lt;li>Equation of Motion for a System of Particles&lt;/li>
&lt;li>Equations of Motion: Rectangular Coordinates&lt;/li>
&lt;li>Equations of Motion: Normal and Tangential Coordinates&lt;/li>
&lt;li>Equations of Motion: Cylindrical Coordinates&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 5&lt;/strong>: &lt;em>Kinetics of a Particle: Work and Energy&lt;/em>
&lt;ul>
&lt;li>The Work of a Force&lt;/li>
&lt;li>Principle of Work and Energy&lt;/li>
&lt;li>Principle of Work and Energy for a System of Particles&lt;/li>
&lt;li>Power and Efficiency&lt;/li>
&lt;li>Conservative Forces and Potential Energy&lt;/li>
&lt;li>Conservation of Energy&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 6&lt;/strong>: &lt;em>Kinetics of a Particle: Linear Impulse and Momentum&lt;/em>
&lt;ul>
&lt;li>Principle of Linear Impulse and Momentum&lt;/li>
&lt;li>Principle of Linear Impulse and Momentum for a System of Particles&lt;/li>
&lt;li>Conservation of Linear Momentum for a System of Particles&lt;/li>
&lt;li>Impact&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 7&lt;/strong>: &lt;em>Kinetics of a Particle: Angular Impulse and Momentum&lt;/em>
&lt;ul>
&lt;li>Angular Momentum&lt;/li>
&lt;li>Relation Between Moment of a Force and Angular Momentum&lt;/li>
&lt;li>Principle of Angular Impulse and Momentum&lt;/li>
&lt;li>Steady Flow of a Fluid Stream&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 8&lt;/strong>: &lt;em>Planar Kinematics of a Rigid Body - Part 1&lt;/em>
&lt;ul>
&lt;li>Planar Rigid-Body Motion&lt;/li>
&lt;li>Translation&lt;/li>
&lt;li>Rotation about a Fixed Axis&lt;/li>
&lt;li>Absolute Motion Analysis&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 9&lt;/strong>: &lt;em>Planar Kinematics of a Rigid Body - Part 2&lt;/em>
&lt;ul>
&lt;li>Relative-Motion Analysis: Velocity&lt;/li>
&lt;li>Instantaneous Center of Zero Velocity&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 10&lt;/strong>: &lt;em>Planar Kinematics of a Rigid Body - Part 3&lt;/em>
&lt;ul>
&lt;li>Relative-Motion Analysis: Acceleration&lt;/li>
&lt;li>Relative-Motion Analysis Using Rotating Axes&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 11&lt;/strong>: &lt;em>Planar Kinetics of a Rigid Body: Force and Acceleration - Part 1&lt;/em>
&lt;ul>
&lt;li>Mass Moment of Inertia&lt;/li>
&lt;li>Planar Kinetic Equations of Motion&lt;/li>
&lt;li>Equations of Motion: Translation&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 12&lt;/strong>: &lt;em>Planar Kinetics of a Rigid Body: Force and Acceleration - Part 2&lt;/em>
&lt;ul>
&lt;li>Equations of Motion: Rotation about a Fixed Axis&lt;/li>
&lt;li>Equations of Motion: General Plane Motion&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 13&lt;/strong>: &lt;em>Planar Kinetics of a Rigid Body: Work and Energy&lt;/em>
&lt;ul>
&lt;li>Kinetic Energy&lt;/li>
&lt;li>The Work of a Force&lt;/li>
&lt;li>The Work of a Couple Moment&lt;/li>
&lt;li>Principle of Work and Energy&lt;/li>
&lt;li>Conservation of Energy&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 14&lt;/strong>: &lt;em>Planar Kinetics of a Rigid Body: Impulse and Momentum&lt;/em>
&lt;ul>
&lt;li>Linear and Angular Momentum&lt;/li>
&lt;li>Principle of Impulse and Momentum&lt;/li>
&lt;li>Conservation of Momentum&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="additional-information">Additional Information&lt;/h2>
&lt;h3 id="prerequisites">Prerequisites&lt;/h3>
&lt;p>Students are expected to have a basic understanding of:&lt;/p>
&lt;ul>
&lt;li>Calculus II&lt;/li>
&lt;li>Statics&lt;/li>
&lt;/ul>
&lt;!--
### Course Tools
- **Software**: Python, Fortran, MATLAB or Haskell (optional) for numerical simulations.
- **Lecture Materials**: Provided weekly on the course webpage.
-->
&lt;h3 id="policies">Policies&lt;/h3>
&lt;ol>
&lt;li>Attendance is not mandatory but may influence your continuous evaluation score. Regular attendance is strongly recommended to stay on track with course material.&lt;/li>
&lt;li>Students are expected to arrive on time. Late arrivals may disrupt the class and could impact participation evaluation.&lt;/li>
&lt;li>Collaboration on assignments, exercises, and projects is encouraged. However, all submissions must reflect individual understanding and adhere to academic integrity policies. Plagiarism or copying will not be tolerated.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h1 id="announcements">Announcements&lt;/h1>
&lt;div class="alert alert-note">
&lt;div>
&lt;ul>
&lt;li>The midterm will be held on 13 May 2025 (23 Ordibehesht 1404) from 14:00 to 16:00. Don&amp;rsquo;t forget to bring a formula sheet and engineering calculator.
&lt;/li>
&lt;/ul>
&lt;/div>
&lt;/div>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>(U): Unfinished&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Engineering Mathematics</title><link>https://SadjadAbedi.ir/courses/emath/</link><pubDate>Tue, 12 Nov 2024 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/courses/emath/</guid><description>&lt;h2 id="course-information">Course Information&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Course Title&lt;/strong>: Engineering Mathematics&lt;/li>
&lt;li>&lt;strong>Course Code&lt;/strong>: 2014197-01&lt;/li>
&lt;li>&lt;strong>Credits&lt;/strong>: 3&lt;/li>
&lt;li>&lt;strong>Schedule&lt;/strong>: Saturday 10:00-12:00 &amp;amp; Tuesday 10:00-12:00&lt;/li>
&lt;li>&lt;strong>Location&lt;/strong>: Class 39 &amp;amp; Class 2&lt;/li>
&lt;li>&lt;strong>Instructor&lt;/strong>: Seyed Sadjad Abedi-Shahri
&lt;ul>
&lt;li>&lt;strong>Email&lt;/strong>:
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;!--
- **Teaching Assistant**: *TBA*
- **Email**: *TBA*
-->
&lt;ul>
&lt;li>&lt;strong>Lecture Materials&lt;/strong>: Provided weekly in
.&lt;/li>
&lt;li>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="course-overview">Course Overview&lt;/h2>
&lt;p>This advanced engineering mathematics course is designed to provide students with a comprehensive understanding of key mathematical techniques essential for engineering and applied science disciplines. The course focuses on three critical areas: Complex Analysis, Fourier Analysis, and Partial Differential Equations, equipping students with powerful mathematical tools for modeling and solving complex engineering problems.&lt;/p>
&lt;hr>
&lt;h2 id="learning-objectives">Learning Objectives&lt;/h2>
&lt;p>By the end of this course, students will be able to:&lt;/p>
&lt;ol>
&lt;li>Complex Analysis
&lt;ul>
&lt;li>Manipulate complex functions and understand their properties&lt;/li>
&lt;li>Apply complex integration techniques&lt;/li>
&lt;li>Use conformal mapping and residue theorem to solve engineering problems&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Fourier Analysis
&lt;ul>
&lt;li>Understand and apply Fourier series and transforms&lt;/li>
&lt;li>Solve engineering problems using Fourier techniques&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Partial Differential Equations (PDEs)
&lt;ul>
&lt;li>Classify and solve different types of PDEs (Wave/Heat/Laplace)&lt;/li>
&lt;li>Apply separation of variables and transform methods&lt;/li>
&lt;li>Model physical phenomena using PDEs in engineering contexts&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="syllabus">Syllabus&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Complex Analysis&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Fourier Analysis&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Partial Differential Equations&lt;/strong>&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="references">References&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>[ZIL]&lt;/strong> &lt;strong>Advanced Engineering Mathematics&lt;/strong> [&lt;em>6th ed.&lt;/em>] by Dennis G. Zill&lt;/li>
&lt;li>&lt;strong>[KRE]&lt;/strong> &lt;strong>Advanced Engineering Mathematics&lt;/strong> [&lt;em>9th ed.&lt;/em>] by Erwin Kreyszig&lt;/li>
&lt;li>&lt;strong>[ONE]&lt;/strong> &lt;strong>Advanced Engineering Mathematics&lt;/strong> [&lt;em>7th ed.&lt;/em>] by Peter V. O&amp;rsquo;Neil&lt;/li>
&lt;li>&lt;strong>[DUF]&lt;/strong> &lt;strong>Advanced Engineering Mathematics with MATLAB&lt;/strong> [&lt;em>4th ed.&lt;/em>] by Dean G. Duffy&lt;/li>
&lt;li>&lt;strong>[YAN]&lt;/strong> &lt;strong>Engineering Mathematics with MATLAB&lt;/strong> by Won Y. Yan &lt;em>et al.&lt;/em>&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="evaluation-scheme">Evaluation Scheme&lt;/h2>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Midterm Evaluation&lt;/strong>: 30 points&lt;/p>
&lt;ul>
&lt;li>Complex Analysis&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Final Evaluation&lt;/strong>: 55 points&lt;/p>
&lt;ul>
&lt;li>Fourier Analysis + Partial Differential Equations&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Continuous Evaluation&lt;/strong>: 15 points&lt;/p>
&lt;ul>
&lt;li>Based on exercises, quizzes, and participation during lectures and discussions.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Extracurricular Activities (optional)&lt;/strong>: Up to 10 bonus points&lt;/p>
&lt;ul>
&lt;li>Awarded for participation in activities such as group
, presentations, or relevant research outside the classroom.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="session-outline">Session Outline&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Session&lt;/th>
&lt;th>Date&lt;/th>
&lt;th>Outline&lt;/th>
&lt;th>Additional Resources&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>1&lt;/td>
&lt;td>5 Esfand&lt;/td>
&lt;td>Lecture 1 (U)&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;!--
1. **Module 1: Complex Analysis**
- **Lecture 1**: *Complex Numbers and Functions*
- Complex Numbers
- Powers and Roots
- Sets in the Complex Plane
- Functions of a Complex Variable
- Cauchy-Riemann Equations
- Exponential and Logarithmic Functions
- Trigonometric and Hyperbolic Functions
- Inverse Trigonometric and Hyperbolic Functions
- **Lecture 2**: *Complex Integration*
- Contour Integrals
- Cauchy-Goursat Theorem
- Independence of the Path
- Cauchy's Integral Formulas
- **Lecture 3**: *Series*
- Sequences and Series
- Taylor Series
- Laurent Series
- **Lecture 4**: *Residues*
- Zeros and Poles
- Residues and Residue Theorem
- Evaluation of Real Integrals
- **Lecture 5**: *Conformal Mappings*
- Complex Functions as Mappings
- Conformal Mappings
- Linear Fractional Transformations
2. **Module 2: Partial Differential Equations**
- **Lecture 6**: **Orthogonal Functions and Fourier Series**
- Orthogonal Functions
- Fourier Series
- Fourier Cosine and Sine Series
- Complex Fourier Series
- **Lecture 7**: **Boundary-Value Problems in Rectangular Coordinates - Part 1**
- Separable Partial Differential Equations
- Classical PDEs and Boundary-Value Problems
- **Lecture 8**: **Boundary-Value Problems in Rectangular Coordinates - Part 2**
- Heat Equation
- Wave Equation
- Laplace Equation
- **Lecture 9**: **Boundary-Value Problems in Rectangular Coordinates - Part 3**
- Nonhomogeneous Boundary-Value Problems
- Orthogonal Series Expansions
- Fourier Series in Two Variables
- **Lecture 10**: **Integral Transform Method**
- Error Function
- Applications of the Laplace Transform
- Fourier Integral
- Fourier Transforms
-->
&lt;hr>
&lt;h3 id="projects">Projects:&lt;/h3>
&lt;ul>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="additional-information">Additional Information&lt;/h2>
&lt;h3 id="prerequisites">Prerequisites&lt;/h3>
&lt;p>Students are expected to have a basic understanding of:&lt;/p>
&lt;ul>
&lt;li>Calculus II&lt;/li>
&lt;li>Differential Equations&lt;/li>
&lt;li>Introductory programming (optional)&lt;/li>
&lt;/ul>
&lt;h3 id="policies">Policies&lt;/h3>
&lt;ol>
&lt;li>Regular attendance is strongly recommended to stay on track with course material and acquire continuous evaluation score&lt;/li>
&lt;li>Students are expected to arrive on time. Late arrivals may disrupt the class and could impact participation evaluation.&lt;/li>
&lt;li>Collaboration on assignments, exercises, and projects is encouraged. However, all submissions must reflect individual understanding and adhere to academic integrity policies. Plagiarism or copying will not be tolerat&lt;/li>
&lt;/ol>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>(U): Unfinished&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Engineering Mathematics</title><link>https://SadjadAbedi.ir/courses/emath_01/</link><pubDate>Tue, 12 Nov 2024 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/courses/emath_01/</guid><description>&lt;h2 id="course-information">Course Information&lt;/h2>
&lt;ul>
&lt;li>Course Title: Engineering Mathematics&lt;/li>
&lt;li>Course Code: 2014197&lt;/li>
&lt;li>Credits: 3&lt;/li>
&lt;li>Class Schedule:
&lt;ul>
&lt;li>Days: Sunday, Tuesday&lt;/li>
&lt;li>Time: 8:00-10:00&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Class Location: Class 2&lt;/li>
&lt;li>&lt;strong>Instructor&lt;/strong>: Seyed Sadjad Abedi-Shahri
&lt;ul>
&lt;li>&lt;strong>Email&lt;/strong>:
&lt;/li>
&lt;li>&lt;strong>Office Hours&lt;/strong>:
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;!--
- **Teaching Assistant**: *TBA*
- **Email**: *TBA*
-->
&lt;ul>
&lt;li>&lt;strong>Lecture Materials&lt;/strong>: Provided weekly in
.&lt;/li>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="course-overview">Course Overview&lt;/h2>
&lt;p>This advanced engineering mathematics course is designed to provide students with a comprehensive understanding of key mathematical techniques essential for engineering and applied science disciplines. The course focuses on three critical areas: Complex Analysis, Fourier Analysis, and Partial Differential Equations, equipping students with powerful mathematical tools for modeling and solving complex engineering problems.&lt;/p>
&lt;hr>
&lt;h2 id="learning-objectives">Learning Objectives&lt;/h2>
&lt;p>By the end of this course, students will be able to:&lt;/p>
&lt;ol>
&lt;li>Complex Analysis
&lt;ul>
&lt;li>Manipulate complex functions and understand their properties&lt;/li>
&lt;li>Apply complex integration techniques&lt;/li>
&lt;li>Use conformal mapping and residue theorem to solve engineering problems&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Fourier Analysis
&lt;ul>
&lt;li>Understand and apply Fourier series and transforms&lt;/li>
&lt;li>Solve engineering problems using Fourier techniques&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Partial Differential Equations (PDEs)
&lt;ul>
&lt;li>Classify and solve different types of PDEs (Wave/Heat/Laplace)&lt;/li>
&lt;li>Apply separation of variables and transform methods&lt;/li>
&lt;li>Model physical phenomena using PDEs in engineering contexts&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="syllabus">Syllabus&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Complex Analysis&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Fourier Analysis&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Partial Differential Equations&lt;/strong>&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="references">References&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>[ZIL]&lt;/strong> &lt;strong>Advanced Engineering Mathematics&lt;/strong> [&lt;em>6th ed.&lt;/em>] by Dennis G. Zill&lt;/li>
&lt;li>&lt;strong>[KRE]&lt;/strong> &lt;strong>Advanced Engineering Mathematics&lt;/strong> [&lt;em>9th ed.&lt;/em>] by Erwin Kreyszig&lt;/li>
&lt;li>&lt;strong>[ONE]&lt;/strong> &lt;strong>Advanced Engineering Mathematics&lt;/strong> [&lt;em>7th ed.&lt;/em>] by Peter V. O&amp;rsquo;Neil&lt;/li>
&lt;li>&lt;strong>[DUF]&lt;/strong> &lt;strong>Advanced Engineering Mathematics with MATLAB&lt;/strong> [&lt;em>4th ed.&lt;/em>] by Dean G. Duffy&lt;/li>
&lt;li>&lt;strong>[YAN]&lt;/strong> &lt;strong>Engineering Mathematics with MATLAB&lt;/strong> by Won Y. Yan &lt;em>et al.&lt;/em>&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="evaluation-scheme">Evaluation Scheme&lt;/h2>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Midterm Evaluation&lt;/strong>: 25 points&lt;/p>
&lt;ul>
&lt;li>Complex Analysis&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Final Evaluation&lt;/strong>: 60 points&lt;/p>
&lt;ul>
&lt;li>Fourier Analysis + Partial Differential Equations&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Continuous Evaluation&lt;/strong>: 15 points&lt;/p>
&lt;ul>
&lt;li>Based on exercises, quizzes, and participation during lectures and discussions.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Extracurricular Activities (optional)&lt;/strong>: Up to 10 bonus points&lt;/p>
&lt;ul>
&lt;li>Awarded for participation in activities such as group
, presentations, or relevant research outside the classroom.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="session-outline">Session Outline&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Session&lt;/th>
&lt;th>Date&lt;/th>
&lt;th>Outline&lt;/th>
&lt;th>Additional Resources&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>1&lt;/td>
&lt;td>21 Bahman&lt;/td>
&lt;td>Lecture 1 (U)&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>2&lt;/td>
&lt;td>23 Bahman&lt;/td>
&lt;td>Lecture 1&lt;/td>
&lt;td>[ZIL]:17.1-17.8 &amp;amp; [KRE]: 13.1-13.7 &amp;amp; [ONE]: 19.1-19.5&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>3&lt;/td>
&lt;td>28 Bahman&lt;/td>
&lt;td>Lecture 2 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>4&lt;/td>
&lt;td>30 Bahman&lt;/td>
&lt;td>Lecture 2 + Lecture 3 (U)&lt;/td>
&lt;td>[ZIL]:18.1-18.4 &amp;amp; [KRE]: 14.1-14.4 &amp;amp; [ONE]: 20.1-20.3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>5&lt;/td>
&lt;td>5 Esfand&lt;/td>
&lt;td>Lecture 3&lt;/td>
&lt;td>[ZIL]:19.1-19.3 &amp;amp; [KRE]: 15.1-15.5, 16.1 &amp;amp; [ONE]: 21.1-21.2&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>6&lt;/td>
&lt;td>12 Esfand&lt;/td>
&lt;td>Lecture 4&lt;/td>
&lt;td>[ZIL]:19.4-19.6 &amp;amp; [KRE]: 16.2-16.4 &amp;amp; [ONE]: 22.1-22.3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>7&lt;/td>
&lt;td>14 Esfand&lt;/td>
&lt;td>Lecture 5 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>8&lt;/td>
&lt;td>19 Esfand&lt;/td>
&lt;td>Lecture 5&lt;/td>
&lt;td>[ZIL]:20.1-20.3 &amp;amp; [KRE]: 17.1-17.4 &amp;amp; [ONE]: 23.1-23.2&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>9&lt;/td>
&lt;td>21 Esfand&lt;/td>
&lt;td>Exc. 1 + Exc. 2&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>10&lt;/td>
&lt;td>17 Farvardin&lt;/td>
&lt;td>Lecture 6 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>11&lt;/td>
&lt;td>19 Farvardin&lt;/td>
&lt;td>Lecture 6&lt;/td>
&lt;td>[ZIL]:12.1-12.4 &amp;amp; [KRE]: 11.1-11.5 &amp;amp; [ONE]: 13.1-13.6&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>12&lt;/td>
&lt;td>24 Farvardin&lt;/td>
&lt;td>Exc. 3&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>13&lt;/td>
&lt;td>26 Farvardin&lt;/td>
&lt;td>Exc. 4 + Exc. 5&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>14&lt;/td>
&lt;td>31 Farvardin&lt;/td>
&lt;td>Lecture 7 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>15&lt;/td>
&lt;td>2 Ordibehesht&lt;/td>
&lt;td>Midterm Exam&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>16&lt;/td>
&lt;td>7 Ordibehesht&lt;/td>
&lt;td>Lecture 7&lt;/td>
&lt;td>[ZIL]:13.1-13.2 &amp;amp; [KRE]: 12.1-12.2&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>17&lt;/td>
&lt;td>9 Ordibehesht&lt;/td>
&lt;td>Lecture 8 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>18&lt;/td>
&lt;td>14 Ordibehesht&lt;/td>
&lt;td>Lecture 8 + Exc. 6&lt;/td>
&lt;td>[ZIL]:13.3-13.5 &amp;amp; [KRE]: 12.3-12.5&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>19&lt;/td>
&lt;td>16 Ordibehesht&lt;/td>
&lt;td>Exc. 6 + Lecture 9 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>20&lt;/td>
&lt;td>21 Ordibehesht&lt;/td>
&lt;td>Lecture 9 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>21&lt;/td>
&lt;td>23 Ordibehesht&lt;/td>
&lt;td>Lecture 9&lt;/td>
&lt;td>[ZIL]:13.6-13.8 &amp;amp; [KRE]: 12.7-12.8&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>22&lt;/td>
&lt;td>28 Ordibehesht&lt;/td>
&lt;td>Lecture 10 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>23&lt;/td>
&lt;td>30 Ordibehesht&lt;/td>
&lt;td>Lecture 10&lt;/td>
&lt;td>[ZIL]:15.1-15.4 &amp;amp; [KRE]: 11.7-11.9 , 12.6, 12.11&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>24&lt;/td>
&lt;td>4 Khordad&lt;/td>
&lt;td>Exc. 7&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>25&lt;/td>
&lt;td>6 Khordad&lt;/td>
&lt;td>Exc. 7 + Exc. 8&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>26&lt;/td>
&lt;td>11 Khordad&lt;/td>
&lt;td>Exc. 8&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>27&lt;/td>
&lt;td>13 Khordad&lt;/td>
&lt;td>Exc. 9&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;ol>
&lt;li>&lt;strong>Module 1: Complex Analysis&lt;/strong>
&lt;ul>
&lt;li>&lt;strong>Lecture 1&lt;/strong>: &lt;em>Complex Numbers and Functions&lt;/em>
&lt;ul>
&lt;li>Complex Numbers&lt;/li>
&lt;li>Powers and Roots&lt;/li>
&lt;li>Sets in the Complex Plane&lt;/li>
&lt;li>Functions of a Complex Variable&lt;/li>
&lt;li>Cauchy–Riemann Equations&lt;/li>
&lt;li>Exponential and Logarithmic Functions&lt;/li>
&lt;li>Trigonometric and Hyperbolic Functions&lt;/li>
&lt;li>Inverse Trigonometric and Hyperbolic Functions&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 2&lt;/strong>: &lt;em>Complex Integration&lt;/em>
&lt;ul>
&lt;li>Contour Integrals&lt;/li>
&lt;li>Cauchy–Goursat Theorem&lt;/li>
&lt;li>Independence of the Path&lt;/li>
&lt;li>Cauchy’s Integral Formulas&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 3&lt;/strong>: &lt;em>Series&lt;/em>
&lt;ul>
&lt;li>Sequences and Series&lt;/li>
&lt;li>Taylor Series&lt;/li>
&lt;li>Laurent Series&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 4&lt;/strong>: &lt;em>Residues&lt;/em>
&lt;ul>
&lt;li>Zeros and Poles&lt;/li>
&lt;li>Residues and Residue Theorem&lt;/li>
&lt;li>Evaluation of Real Integrals&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 5&lt;/strong>: &lt;em>Conformal Mappings&lt;/em>
&lt;ul>
&lt;li>Complex Functions as Mappings&lt;/li>
&lt;li>Conformal Mappings&lt;/li>
&lt;li>Linear Fractional Transformations&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Module 2: Partial Differential Equations&lt;/strong>
&lt;ul>
&lt;li>&lt;strong>Lecture 6&lt;/strong>: &lt;strong>Orthogonal Functions and Fourier Series&lt;/strong>
&lt;ul>
&lt;li>Orthogonal Functions&lt;/li>
&lt;li>Fourier Series&lt;/li>
&lt;li>Fourier Cosine and Sine Series&lt;/li>
&lt;li>Complex Fourier Series&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 7&lt;/strong>: &lt;strong>Boundary-Value Problems in Rectangular Coordinates - Part 1&lt;/strong>
&lt;ul>
&lt;li>Separable Partial Differential Equations&lt;/li>
&lt;li>Classical PDEs and Boundary-Value Problems&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 8&lt;/strong>: &lt;strong>Boundary-Value Problems in Rectangular Coordinates - Part 2&lt;/strong>
&lt;ul>
&lt;li>Heat Equation&lt;/li>
&lt;li>Wave Equation&lt;/li>
&lt;li>Laplace Equation&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 9&lt;/strong>: &lt;strong>Boundary-Value Problems in Rectangular Coordinates - Part 3&lt;/strong>
&lt;ul>
&lt;li>Nonhomogeneous Boundary-Value Problems&lt;/li>
&lt;li>Orthogonal Series Expansions&lt;/li>
&lt;li>Fourier Series in Two Variables&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 10&lt;/strong>: &lt;strong>Integral Transform Method&lt;/strong>
&lt;ul>
&lt;li>Error Function&lt;/li>
&lt;li>Applications of the Laplace Transform&lt;/li>
&lt;li>Fourier Integral&lt;/li>
&lt;li>Fourier Transforms&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h3 id="projects">Projects:&lt;/h3>
&lt;ul>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="additional-information">Additional Information&lt;/h2>
&lt;h3 id="prerequisites">Prerequisites&lt;/h3>
&lt;p>Students are expected to have a basic understanding of:&lt;/p>
&lt;ul>
&lt;li>Calculus II&lt;/li>
&lt;li>Differential Equations&lt;/li>
&lt;li>Introductory programming (optional)&lt;/li>
&lt;/ul>
&lt;h3 id="policies">Policies&lt;/h3>
&lt;ol>
&lt;li>Attendance is not mandatory but may influence your continuous evaluation score. Regular attendance is strongly recommended to stay on track with course material.&lt;/li>
&lt;li>Students are expected to arrive on time. Late arrivals may disrupt the class and could impact participation evaluation.&lt;/li>
&lt;li>Collaboration on assignments, exercises, and projects is encouraged. However, all submissions must reflect individual understanding and adhere to academic integrity policies. Plagiarism or copying will not be tolerated.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h1 id="announcements">Announcements&lt;/h1>
&lt;div class="alert alert-note">
&lt;div>
&lt;ul>
&lt;li>The midterm will be held on 22 Apr 2025 (2 Ordibehesht 1404) from 08:00 to 10:00. Don&amp;rsquo;t forget to bring an engineering calculator.
&lt;/li>
&lt;/ul>
&lt;/div>
&lt;/div>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>(U): Unfinished&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Engineering Mathematics</title><link>https://SadjadAbedi.ir/courses/emath_02/</link><pubDate>Tue, 12 Nov 2024 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/courses/emath_02/</guid><description>&lt;h2 id="course-information">Course Information&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Course Title&lt;/strong>: Engineering Mathematics&lt;/li>
&lt;li>&lt;strong>Course Code&lt;/strong>: 2014197-01&lt;/li>
&lt;li>&lt;strong>Credits&lt;/strong>: 3&lt;/li>
&lt;li>&lt;strong>Schedule&lt;/strong>: Sunday 10:00–12:00 &amp;amp; Monday 14:00-16:00&lt;/li>
&lt;li>&lt;strong>Location&lt;/strong>: Class 1 &amp;amp; Class 9&lt;/li>
&lt;li>&lt;strong>Instructor&lt;/strong>: Seyed Sadjad Abedi-Shahri
&lt;ul>
&lt;li>&lt;strong>Email&lt;/strong>:
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;!--
- **Teaching Assistant**: *TBA*
- **Email**: *TBA*
-->
&lt;ul>
&lt;li>&lt;strong>Lecture Materials&lt;/strong>: Provided weekly in
.&lt;/li>
&lt;li>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="course-overview">Course Overview&lt;/h2>
&lt;p>This advanced engineering mathematics course is designed to provide students with a comprehensive understanding of key mathematical techniques essential for engineering and applied science disciplines. The course focuses on three critical areas: Complex Analysis, Fourier Analysis, and Partial Differential Equations, equipping students with powerful mathematical tools for modeling and solving complex engineering problems.&lt;/p>
&lt;hr>
&lt;h2 id="learning-objectives">Learning Objectives&lt;/h2>
&lt;p>By the end of this course, students will be able to:&lt;/p>
&lt;ol>
&lt;li>Complex Analysis
&lt;ul>
&lt;li>Manipulate complex functions and understand their properties&lt;/li>
&lt;li>Apply complex integration techniques&lt;/li>
&lt;li>Use conformal mapping and residue theorem to solve engineering problems&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Fourier Analysis
&lt;ul>
&lt;li>Understand and apply Fourier series and transforms&lt;/li>
&lt;li>Solve engineering problems using Fourier techniques&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Partial Differential Equations (PDEs)
&lt;ul>
&lt;li>Classify and solve different types of PDEs (Wave/Heat/Laplace)&lt;/li>
&lt;li>Apply separation of variables and transform methods&lt;/li>
&lt;li>Model physical phenomena using PDEs in engineering contexts&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="syllabus">Syllabus&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Complex Analysis&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Fourier Analysis&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Partial Differential Equations&lt;/strong>&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="references">References&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>[ZIL]&lt;/strong> &lt;strong>Advanced Engineering Mathematics&lt;/strong> [&lt;em>6th ed.&lt;/em>] by Dennis G. Zill&lt;/li>
&lt;li>&lt;strong>[KRE]&lt;/strong> &lt;strong>Advanced Engineering Mathematics&lt;/strong> [&lt;em>9th ed.&lt;/em>] by Erwin Kreyszig&lt;/li>
&lt;li>&lt;strong>[ONE]&lt;/strong> &lt;strong>Advanced Engineering Mathematics&lt;/strong> [&lt;em>7th ed.&lt;/em>] by Peter V. O&amp;rsquo;Neil&lt;/li>
&lt;li>&lt;strong>[DUF]&lt;/strong> &lt;strong>Advanced Engineering Mathematics with MATLAB&lt;/strong> [&lt;em>4th ed.&lt;/em>] by Dean G. Duffy&lt;/li>
&lt;li>&lt;strong>[YAN]&lt;/strong> &lt;strong>Engineering Mathematics with MATLAB&lt;/strong> by Won Y. Yan &lt;em>et al.&lt;/em>&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="evaluation-scheme">Evaluation Scheme&lt;/h2>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Midterm Evaluation&lt;/strong>: 30 points&lt;/p>
&lt;ul>
&lt;li>Complex Analysis&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Final Evaluation&lt;/strong>: 55 points&lt;/p>
&lt;ul>
&lt;li>Fourier Analysis + Partial Differential Equations&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Continuous Evaluation&lt;/strong>: 15 points&lt;/p>
&lt;ul>
&lt;li>Based on exercises, quizzes, and participation during lectures and discussions.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Extracurricular Activities (optional)&lt;/strong>: Up to 10 bonus points&lt;/p>
&lt;ul>
&lt;li>Awarded for participation in activities such as group
, presentations, or relevant research outside the classroom.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="session-outline">Session Outline&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Session&lt;/th>
&lt;th>Date&lt;/th>
&lt;th>Outline&lt;/th>
&lt;th>Additional Resources&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>1&lt;/td>
&lt;td>30 Shahrivar&lt;/td>
&lt;td>Lecture 1 (U)&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>2&lt;/td>
&lt;td>31 Shahrivar&lt;/td>
&lt;td>Lecture 1&lt;/td>
&lt;td>[ZIL]:17.1-17.8 &amp;amp; [KRE]: 13.1-13.7 &amp;amp; [ONE]: 19.1-19.5&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>3&lt;/td>
&lt;td>6 Mehr&lt;/td>
&lt;td>Lecture 2 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>4&lt;/td>
&lt;td>7 Mehr&lt;/td>
&lt;td>Lecture 2&lt;/td>
&lt;td>[ZIL]:18.1-18.4 &amp;amp; [KRE]: 14.1-14.4 &amp;amp; [ONE]: 20.1-20.3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>5&lt;/td>
&lt;td>13 Mehr&lt;/td>
&lt;td>Lecture 3 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>6&lt;/td>
&lt;td>14 Mehr&lt;/td>
&lt;td>Lecture 3&lt;/td>
&lt;td>[ZIL]:19.4-19.6 &amp;amp; [KRE]: 16.2-16.4 &amp;amp; [ONE]: 22.1-22.3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>7&lt;/td>
&lt;td>20 Mehr&lt;/td>
&lt;td>Lecture 4 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>8&lt;/td>
&lt;td>21 Mehr&lt;/td>
&lt;td>Lecture 4 + Lecture 5 (U)&lt;/td>
&lt;td>[ZIL]:19.4-19.6 &amp;amp; [KRE]: 16.2-16.4 &amp;amp; [ONE]: 22.1-22.3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>9&lt;/td>
&lt;td>27 Mehr&lt;/td>
&lt;td>Lecture 5&lt;/td>
&lt;td>[ZIL]:20.1-20.3 &amp;amp; [KRE]: 17.1-17.4 &amp;amp; [ONE]: 23.1-23.2&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>10&lt;/td>
&lt;td>28 Mehr&lt;/td>
&lt;td>Ex. 1 + Ex. 2&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>11&lt;/td>
&lt;td>25 Aban&lt;/td>
&lt;td>Ex. 2 + Ex. 3&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>12&lt;/td>
&lt;td>26 Aban&lt;/td>
&lt;td>Ex. 4&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>13&lt;/td>
&lt;td>27 Aban&lt;/td>
&lt;td>Ex. 5&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>14&lt;/td>
&lt;td>2 Azar&lt;/td>
&lt;td>Lecture 6 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>15&lt;/td>
&lt;td>9 Azar&lt;/td>
&lt;td>Lecture 6&lt;/td>
&lt;td>[ZIL]:12.1-12.4 &amp;amp; [KRE]: 11.1-11.5 &amp;amp; [ONE]: 13.1-13.6&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>16&lt;/td>
&lt;td>10 Azar&lt;/td>
&lt;td>Lecture 7&lt;/td>
&lt;td>[ZIL]:13.1-13.2 &amp;amp; [KRE]: 12.1-12.2&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>17&lt;/td>
&lt;td>11 Azar&lt;/td>
&lt;td>Lecture 8 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>18&lt;/td>
&lt;td>16 Azar&lt;/td>
&lt;td>Lecture 8&lt;/td>
&lt;td>[ZIL]:13.3-13.5 &amp;amp; [KRE]: 12.3-12.5&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>19&lt;/td>
&lt;td>17 Azar&lt;/td>
&lt;td>Lecture 9(U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>20&lt;/td>
&lt;td>18 Azar&lt;/td>
&lt;td>Lecture 9&lt;/td>
&lt;td>[ZIL]:13.6-13.8 &amp;amp; [KRE]: 12.7-12.8&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>21&lt;/td>
&lt;td>23 Azar&lt;/td>
&lt;td>Lecture 10 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>22&lt;/td>
&lt;td>24 Azar&lt;/td>
&lt;td>Midterm&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>23&lt;/td>
&lt;td>25 Azar&lt;/td>
&lt;td>Lecture 10&lt;/td>
&lt;td>[ZIL]:15.1-15.4 &amp;amp; [KRE]: 11.7-11.9 , 12.6, 12.11&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>24&lt;/td>
&lt;td>30 Azar&lt;/td>
&lt;td>Exc. 6&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>25&lt;/td>
&lt;td>1 Dey&lt;/td>
&lt;td>Exc. 7&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>26&lt;/td>
&lt;td>2 Dey&lt;/td>
&lt;td>Exc. 8&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>27&lt;/td>
&lt;td>7 Dey&lt;/td>
&lt;td>Exc. 8 + Exc. 9&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>28&lt;/td>
&lt;td>8 Dey&lt;/td>
&lt;td>Exc. 9&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;ol>
&lt;li>&lt;strong>Module 1: Complex Analysis&lt;/strong>
&lt;ul>
&lt;li>&lt;strong>Lecture 1&lt;/strong>: &lt;em>Complex Numbers and Functions&lt;/em>
&lt;ul>
&lt;li>Complex Numbers&lt;/li>
&lt;li>Powers and Roots&lt;/li>
&lt;li>Sets in the Complex Plane&lt;/li>
&lt;li>Functions of a Complex Variable&lt;/li>
&lt;li>Cauchy–Riemann Equations&lt;/li>
&lt;li>Exponential and Logarithmic Functions&lt;/li>
&lt;li>Trigonometric and Hyperbolic Functions&lt;/li>
&lt;li>Inverse Trigonometric and Hyperbolic Functions&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 2&lt;/strong>: &lt;em>Complex Integration&lt;/em>
&lt;ul>
&lt;li>Contour Integrals&lt;/li>
&lt;li>Cauchy–Goursat Theorem&lt;/li>
&lt;li>Independence of the Path&lt;/li>
&lt;li>Cauchy’s Integral Formulas&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 3&lt;/strong>: &lt;em>Series&lt;/em>
&lt;ul>
&lt;li>Sequences and Series&lt;/li>
&lt;li>Taylor Series&lt;/li>
&lt;li>Laurent Series&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 4&lt;/strong>: &lt;em>Residues&lt;/em>
&lt;ul>
&lt;li>Zeros and Poles&lt;/li>
&lt;li>Residues and Residue Theorem&lt;/li>
&lt;li>Evaluation of Real Integrals&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 5&lt;/strong>: &lt;em>Conformal Mappings&lt;/em>
&lt;ul>
&lt;li>Complex Functions as Mappings&lt;/li>
&lt;li>Conformal Mappings&lt;/li>
&lt;li>Linear Fractional Transformations&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Module 2: Partial Differential Equations&lt;/strong>
&lt;ul>
&lt;li>&lt;strong>Lecture 6&lt;/strong>: &lt;strong>Orthogonal Functions and Fourier Series&lt;/strong>
&lt;ul>
&lt;li>Orthogonal Functions&lt;/li>
&lt;li>Fourier Series&lt;/li>
&lt;li>Fourier Cosine and Sine Series&lt;/li>
&lt;li>Complex Fourier Series&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 7&lt;/strong>: &lt;strong>Boundary-Value Problems in Rectangular Coordinates - Part 1&lt;/strong>
&lt;ul>
&lt;li>Separable Partial Differential Equations&lt;/li>
&lt;li>Classical PDEs and Boundary-Value Problems&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 8&lt;/strong>: &lt;strong>Boundary-Value Problems in Rectangular Coordinates - Part 2&lt;/strong>
&lt;ul>
&lt;li>Heat Equation&lt;/li>
&lt;li>Wave Equation&lt;/li>
&lt;li>Laplace Equation&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 9&lt;/strong>: &lt;strong>Boundary-Value Problems in Rectangular Coordinates - Part 3&lt;/strong>
&lt;ul>
&lt;li>Nonhomogeneous Boundary-Value Problems&lt;/li>
&lt;li>Orthogonal Series Expansions&lt;/li>
&lt;li>Fourier Series in Two Variables&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 10&lt;/strong>: &lt;strong>Integral Transform Method&lt;/strong>
&lt;ul>
&lt;li>Error Function&lt;/li>
&lt;li>Applications of the Laplace Transform&lt;/li>
&lt;li>Fourier Integral&lt;/li>
&lt;li>Fourier Transforms&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h3 id="projects">Projects:&lt;/h3>
&lt;ul>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="additional-information">Additional Information&lt;/h2>
&lt;h3 id="prerequisites">Prerequisites&lt;/h3>
&lt;p>Students are expected to have a basic understanding of:&lt;/p>
&lt;ul>
&lt;li>Calculus II&lt;/li>
&lt;li>Differential Equations&lt;/li>
&lt;li>Introductory programming (optional)&lt;/li>
&lt;/ul>
&lt;h3 id="policies">Policies&lt;/h3>
&lt;ol>
&lt;li>Regular attendance is strongly recommended to stay on track with course material and acquire continuous evaluation score&lt;/li>
&lt;li>Students are expected to arrive on time. Late arrivals may disrupt the class and could impact participation evaluation.&lt;/li>
&lt;li>Collaboration on assignments, exercises, and projects is encouraged. However, all submissions must reflect individual understanding and adhere to academic integrity policies. Plagiarism or copying will not be tolerat&lt;/li>
&lt;/ol>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>(U): Unfinished&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Heat and Mass Transfer</title><link>https://SadjadAbedi.ir/courses/heat_01/</link><pubDate>Tue, 12 Nov 2024 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/courses/heat_01/</guid><description>&lt;h2 id="course-information">Course Information&lt;/h2>
&lt;ul>
&lt;li>Course Title: Heat and Mass Transfer&lt;/li>
&lt;li>Course Code: 2014368&lt;/li>
&lt;li>Credits: 3&lt;/li>
&lt;li>Class Schedule:
&lt;ul>
&lt;li>Days: Monday, Tuesday&lt;/li>
&lt;li>Time: 10:00-12:00&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Class Location: Class 2, Class 30&lt;/li>
&lt;li>&lt;strong>Instructor&lt;/strong>: Seyed Sadjad Abedi-Shahri
&lt;ul>
&lt;li>&lt;strong>Email&lt;/strong>:
&lt;/li>
&lt;li>&lt;strong>Office Hours&lt;/strong>:
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;!--
- **Teaching Assistant**: *TBA*
- **Email**: *TBA*
-->
&lt;ul>
&lt;li>&lt;strong>Lecture Materials&lt;/strong>: Provided weekly in
.&lt;/li>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="course-overview">Course Overview&lt;/h2>
&lt;p>A foundational engineering course covering heat and mass transfer principles, mechanisms, and applications. The course progresses systematically through conduction, convection, and mass transfer, incorporating selected biomedical examples to demonstrate real-world applications in biological systems.&lt;/p>
&lt;hr>
&lt;h2 id="learning-objectives">Learning Objectives&lt;/h2>
&lt;ul>
&lt;li>Apply fundamental principles of heat and mass transfer&lt;/li>
&lt;li>Solve steady-state and transient conduction problems in multiple dimensions&lt;/li>
&lt;li>Analyze forced convection in external and internal flows&lt;/li>
&lt;li>Evaluate natural convection scenarios&lt;/li>
&lt;li>Derive and solve governing equations for transport phenomena&lt;/li>
&lt;li>Use analytical and numerical methods for heat transfer problems&lt;/li>
&lt;li>Apply heat and mass transfer principles to (bio)engineering design problems&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="syllabus">Syllabus&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Introduction to Heat Transfer&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Introduction to Conduction&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Steady-State Conduction&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Transient Conduction&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Introduction to Convection&lt;/strong>&lt;/li>
&lt;li>&lt;strong>External Flow Convection&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Internal Flow Convection&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Mass Transfer&lt;/strong>&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="references">References&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>[BER]&lt;/strong> &lt;strong>Fundamentals of Heat and Mass Transfer&lt;/strong> [&lt;em>8th ed.&lt;/em>] by Theodore L. Bergman, Adrienne S. Lavine&lt;/li>
&lt;li>&lt;strong>[CEN]&lt;/strong> &lt;strong>Heat and Mass Transfer, Fundamentals &amp;amp; Applications&lt;/strong> [&lt;em>6th ed.&lt;/em>] by Yunus A. Cengel, Afshin J. Ghajar&lt;/li>
&lt;li>&lt;strong>[DAT]&lt;/strong> &lt;strong>Heat and Mass Transfer, A Biological Context&lt;/strong> [&lt;em>2nd ed.&lt;/em>] by Ashim K. Datta&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="evaluation-scheme">Evaluation Scheme&lt;/h2>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Midterm Evaluation&lt;/strong>: 40 points&lt;/p>
&lt;ul>
&lt;li>Modules 1 to 4&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Final Evaluation&lt;/strong>: 45 points&lt;/p>
&lt;ul>
&lt;li>Modules 5 to 9&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Continuous Evaluation&lt;/strong>: 15 points&lt;/p>
&lt;ul>
&lt;li>Based on exercises, quizzes, and participation during lectures and discussions.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Extracurricular Activities (optional)&lt;/strong>: Up to 10 bonus points&lt;/p>
&lt;ul>
&lt;li>Awarded for participation in activities such as group
, presentations, or relevant research outside the classroom.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="session-outline">Session Outline&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Session&lt;/th>
&lt;th>Date&lt;/th>
&lt;th>Outline&lt;/th>
&lt;th>Additional Resources&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>1&lt;/td>
&lt;td>23 Bahman&lt;/td>
&lt;td>Lecture 1&lt;/td>
&lt;td>[BER]: 1.1-1.7 &amp;amp; [CEN]: 1.1-1.15 &amp;amp; [DAT]: 1.1-1.9, 2.1-2.7&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>2&lt;/td>
&lt;td>29 Bahman&lt;/td>
&lt;td>Lecture 2&lt;/td>
&lt;td>[BER]: 2.1-2.4 &amp;amp; [CEN]: 2.1-2.4 &amp;amp; [DAT]: 3.1-3.10&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>3&lt;/td>
&lt;td>30 Bahman&lt;/td>
&lt;td>Lecture 3 (U)&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>4&lt;/td>
&lt;td>13 Esfand&lt;/td>
&lt;td>Lecture 3 + Lecture 4 (U)&lt;/td>
&lt;td>[BER]: 3.1-3.5 &amp;amp; [CEN]: 2.5-2.7, 3.1-3.5 &amp;amp; [DAT]: 4.1-4.4&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>5&lt;/td>
&lt;td>14 Esfand&lt;/td>
&lt;td>Lecture 4&lt;/td>
&lt;td>[BER]: 3.6-3.7.1 &amp;amp; [CEN]: 3.6-3.7 &amp;amp; [DAT]: 4.5-4.8&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>6&lt;/td>
&lt;td>20 Esfand&lt;/td>
&lt;td>Lecture 5 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>7&lt;/td>
&lt;td>21 Esfand&lt;/td>
&lt;td>Lecture 5&lt;/td>
&lt;td>[BER]: 4.1-4.6 &amp;amp; [CEN]: 3.8, 5.1-5.4&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>8&lt;/td>
&lt;td>18 Farvardin&lt;/td>
&lt;td>Lecture 6&lt;/td>
&lt;td>[BER]: 5.1-5.3 &amp;amp; [CEN]: 4.1 &amp;amp; [DAT]: 5.1-5.2&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>9&lt;/td>
&lt;td>19 Farvardin&lt;/td>
&lt;td>Exc. 1 + Exc. 2 + Exc. 3&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>10&lt;/td>
&lt;td>25 Farvardin&lt;/td>
&lt;td>Lecture 7 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>11&lt;/td>
&lt;td>26 Farvardin&lt;/td>
&lt;td>Lecture 7&lt;/td>
&lt;td>[BER]: 5.4-5.7, 5.10 &amp;amp; [CEN]: 4.2-4.3, 5.5 &amp;amp; [DAT]: 5.3-5.5&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>12&lt;/td>
&lt;td>1 Ordibehesht&lt;/td>
&lt;td>Exc. 4 + Exc. 5&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>13&lt;/td>
&lt;td>2 Ordibehesht&lt;/td>
&lt;td>Lecture 8&lt;/td>
&lt;td>[CEN]: 6.1-6.5&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>14&lt;/td>
&lt;td>8 Ordibehesh&lt;/td>
&lt;td>Lecture 9 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>15&lt;/td>
&lt;td>9 Ordibehesht&lt;/td>
&lt;td>Lecture 9&lt;/td>
&lt;td>[CEN]: 6.6-6.11&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>16&lt;/td>
&lt;td>15 Ordibehesht&lt;/td>
&lt;td>Exc. 6&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>17&lt;/td>
&lt;td>16 Ordibehesht&lt;/td>
&lt;td>Lecture 10 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>18&lt;/td>
&lt;td>20 Ordibehesht&lt;/td>
&lt;td>Exc. 7&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>19&lt;/td>
&lt;td>22 Ordibehesht&lt;/td>
&lt;td>Lecture 10&lt;/td>
&lt;td>[CEN]: 7.1-7.3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>20&lt;/td>
&lt;td>23 Ordibehesht&lt;/td>
&lt;td>Lecture 11 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>21&lt;/td>
&lt;td>29 Ordibehesht&lt;/td>
&lt;td>Lecture 11&lt;/td>
&lt;td>[CEN]: 8.1-8.6&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>22&lt;/td>
&lt;td>30 Ordibehesht&lt;/td>
&lt;td>Lecture 12 (U)&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>23&lt;/td>
&lt;td>5 Khordad&lt;/td>
&lt;td>Review&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>24&lt;/td>
&lt;td>6 Khordad&lt;/td>
&lt;td>Midterm Exam&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>24&lt;/td>
&lt;td>12 Khordad&lt;/td>
&lt;td>Lecture 12&lt;/td>
&lt;td>[CEN]: 14.1-14.5&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;ol>
&lt;li>&lt;strong>Module 1: Introduction to Heat Transfer&lt;/strong>
&lt;ul>
&lt;li>&lt;strong>Lecture 1&lt;/strong>: &lt;em>Introduction to Heat Transfer&lt;/em>
&lt;ul>
&lt;li>What is heat transfer?&lt;/li>
&lt;li>Physical Origins and Rate Equations&lt;/li>
&lt;li>Review of Thermodynamics&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Module 2: Introduction to Conduction&lt;/strong>
&lt;ul>
&lt;li>&lt;strong>Lecture 2&lt;/strong>: &lt;em>Introduction to Conduction&lt;/em>
&lt;ul>
&lt;li>The Conduction Rate Equation&lt;/li>
&lt;li>The Thermal Properties of Matter&lt;/li>
&lt;li>The Heat Diffusion Equation&lt;/li>
&lt;li>Boundary and Initial Conditions&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Module 3: Steady-State Conduction&lt;/strong>
&lt;ul>
&lt;li>&lt;strong>Lecture 3&lt;/strong>: &lt;em>One-Dimensional Conduction&lt;/em>
&lt;ul>
&lt;li>The Plane Wall&lt;/li>
&lt;li>An Alternative Conduction Analysis&lt;/li>
&lt;li>Radial Systems&lt;/li>
&lt;li>Conduction with Thermal Energy Generation&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 4&lt;/strong>: &lt;em>Applications of One-Dimensional, Steady-State Conduction&lt;/em>
&lt;ul>
&lt;li>Heat Transfer from Extended Surfaces&lt;/li>
&lt;li>The Bioheat Equation&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 5&lt;/strong>: &lt;em>Two-Dimensional Conduction&lt;/em>
&lt;ul>
&lt;li>General Considerations and Solution Techniques&lt;/li>
&lt;li>The Method of Separation of Variables&lt;/li>
&lt;li>The Conduction Shape Factor and the Dimensionless Conduction Heat Rate&lt;/li>
&lt;li>Finite-Difference Equations&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Module 4: Transient Conduction&lt;/strong>
&lt;ul>
&lt;li>&lt;strong>Lecture 6&lt;/strong>: &lt;em>Lumped Systems&lt;/em>
&lt;ul>
&lt;li>The Lumped Capacitance Method&lt;/li>
&lt;li>Validity of the Lumped Capacitance Method&lt;/li>
&lt;li>General Lumped Capacitance Analysis&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 7&lt;/strong>: &lt;em>Finite and Semi-Infinite Solids&lt;/em>
&lt;ul>
&lt;li>Spatial Effects&lt;/li>
&lt;li>The Plane Wall with Convection&lt;/li>
&lt;li>Radial Systems with Convection&lt;/li>
&lt;li>The Semi-Infinite Solid&lt;/li>
&lt;li>Finite-Difference Methods&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Module 5: Introduction to Convection&lt;/strong>
&lt;ul>
&lt;li>&lt;strong>Lecture 8&lt;/strong>: &lt;em>Physical Mechanism&lt;/em>
&lt;ul>
&lt;li>Physical Mechanism of Convection&lt;/li>
&lt;li>Classification of Fluid Flows&lt;/li>
&lt;li>Velocity Boundary Layer&lt;/li>
&lt;li>Thermal Boundary Layer&lt;/li>
&lt;li>Laminar and Turbulent Flows&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Lecture 9&lt;/strong>: &lt;em>Governing Equations&lt;/em>
&lt;ul>
&lt;li>Derivation of Differential Convection Equations&lt;/li>
&lt;li>Solutions of Convection Equations for a Flat Plate&lt;/li>
&lt;li>Nondimensionalized Convection Equations and Similarity&lt;/li>
&lt;li>Functional Forms of Friction and Convection Coefficients&lt;/li>
&lt;li>Analogies Between Momentum and Heat Transfer&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Module 6: External Flow Convection&lt;/strong>
&lt;ul>
&lt;li>&lt;strong>Lecture 10&lt;/strong>: &lt;em>External Flow Convection&lt;/em>
&lt;ul>
&lt;li>Drag and Heat Transfer in External Flow&lt;/li>
&lt;li>Parallel Flow Over Flat Plates&lt;/li>
&lt;li>Flow Across Cylinders and Spheres&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Module 7: Internal Flow Convection&lt;/strong>
&lt;ul>
&lt;li>&lt;strong>Lecture 11&lt;/strong>: &lt;em>Internal Flow Convection&lt;/em>
&lt;ul>
&lt;li>Average Velocity and Temperature&lt;/li>
&lt;li>The Entrance Region&lt;/li>
&lt;li>General Thermal Analysis&lt;/li>
&lt;li>Laminar Flow in Tubes&lt;/li>
&lt;li>Turbulent Flow in Tubes&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Module 8: Mass Transfer&lt;/strong>
&lt;ul>
&lt;li>&lt;strong>Lecture 12&lt;/strong>: &lt;em>Mass Diffusion&lt;/em>
&lt;ul>
&lt;li>Analogy Between Heat and Mass Transfer&lt;/li>
&lt;li>Mass Diffusion&lt;/li>
&lt;li>Boundary Conditions&lt;/li>
&lt;li>Steady Mass Diffusion Through a Wall&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h3 id="projects">Projects:&lt;/h3>
&lt;ul>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;li>
&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="additional-information">Additional Information&lt;/h2>
&lt;h3 id="prerequisites">Prerequisites&lt;/h3>
&lt;p>Students are expected to have a basic understanding of:&lt;/p>
&lt;ul>
&lt;li>Engineering Mathematics&lt;/li>
&lt;li>Thermodynamics&lt;/li>
&lt;li>Fluid Mechanics&lt;/li>
&lt;/ul>
&lt;h3 id="policies">Policies&lt;/h3>
&lt;ol>
&lt;li>Attendance is not mandatory but may influence your continuous evaluation score. Regular attendance is strongly recommended to stay on track with course material.&lt;/li>
&lt;li>Students are expected to arrive on time. Late arrivals may disrupt the class and could impact participation evaluation.&lt;/li>
&lt;li>Collaboration on assignments, exercises, and projects is encouraged. However, all submissions must reflect individual understanding and adhere to academic integrity policies. Plagiarism or copying will not be tolerated.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h1 id="announcements">Announcements&lt;/h1>
&lt;div class="alert alert-note">
&lt;div>
&lt;ul>
&lt;li>The midterm will be held on 12 May 2025 (22 Ordibehesht 1404) from 08:00 to 10:00. Don&amp;rsquo;t forget to bring an engineering calculator.
&lt;/li>
&lt;/ul>
&lt;/div>
&lt;/div>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>(U): Unfinished&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>TPIC 2024 - Oral Presentation</title><link>https://SadjadAbedi.ir/event/tpic2024/</link><pubDate>Fri, 08 Nov 2024 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/event/tpic2024/</guid><description>&lt;!--
&lt;div class="alert alert-note">
&lt;div>
Click on the &lt;strong>Slides&lt;/strong> button above to view the built-in slides feature.
&lt;/div>
&lt;/div>
Slides can be added in a few ways:
- **Create** slides using Hugo Blox Builder's [_Slides_](https://docs.hugoblox.com/reference/content-types/) feature and link using `slides` parameter in the front matter of the talk file
- **Upload** an existing slide deck to `static/` and link using `url_slides` parameter in the front matter of the talk file
- **Embed** your slides (e.g. Google Slides) or presentation video on this page using [shortcodes](https://docs.hugoblox.com/reference/markdown/).
Further event details, including [page elements](https://docs.hugoblox.com/reference/markdown/) such as image galleries, can be added to the body of this page.-->
&lt;iframe src="https://docs.google.com/presentation/d/e/2PACX-1vQvvO24hSJsQGfmztBs8hZdzIl9tJmWUic0vEspxj0fOFYJ8JB3R_aBgKqgOvL5aQ/embed?start=false&amp;amp;loop=false&amp;amp;delayms=10000" width=100% height="400" frameborder="0" scrolling="auto" allowfullscreen="allowfullscreen">&lt;/iframe></description></item><item><title>Deep Learning-Based Quantitative Assessment of Pulmonary Vascular Changes Using Histological Microscopy Images</title><link>https://SadjadAbedi.ir/publication/conf_tpic2024/</link><pubDate>Fri, 01 Nov 2024 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/publication/conf_tpic2024/</guid><description/></item><item><title>Analysis of Hip Implants in Osteoporotic Patients Using the Finite Element Method for Optimal Selection Among Commercially Available Implants</title><link>https://SadjadAbedi.ir/publication/conf_stconf07/</link><pubDate>Sat, 10 Aug 2024 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/publication/conf_stconf07/</guid><description/></item><item><title>Constructing Complex Shapes with Signed Distance Functions: The Heart Example</title><link>https://SadjadAbedi.ir/post/constructing-complex-shapes-with-signed-distance-functions-the-heart-example/</link><pubDate>Sun, 07 Apr 2024 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/post/constructing-complex-shapes-with-signed-distance-functions-the-heart-example/</guid><description>&lt;p>In this notebook, we&amp;rsquo;ll implement a signed distance function for a heart shape using Python and visualize it using matplotlib.&lt;/p>
&lt;h2 id="function-definitions">Function Definitions&lt;/h2>
&lt;p>The following functions are defined:&lt;/p>
&lt;ul>
&lt;li>&lt;code>line_sdf&lt;/code>: Calculates the signed distance from a point to a line segment.&lt;/li>
&lt;li>&lt;code>circle_sdf&lt;/code>: Calculates the signed distance from a point to a circle.&lt;/li>
&lt;li>&lt;code>intersect_sdf&lt;/code>: Calculates the signed distance field resulting from the intersection of two distance fields.&lt;/li>
&lt;li>&lt;code>union_sdf&lt;/code>: Calculates the signed distance field resulting from the union of two distance fields.&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">numpy&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">np&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">matplotlib.pyplot&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">plt&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">line_sdf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">P&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">x1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">y1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">x2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">y2&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl"> &lt;span class="s2">&amp;#34;&amp;#34;&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl">&lt;span class="s2"> Calculate the signed distance from a point P to a line segment
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl">&lt;span class="s2"> defined by two endpoints (x1, y1) and (x2, y2).
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl">&lt;span class="s2"> &amp;#34;&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl"> &lt;span class="n">a&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">array&lt;/span>&lt;span class="p">([&lt;/span>&lt;span class="n">x2&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">x1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">y2&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">y1&lt;/span>&lt;span class="p">])&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">11&lt;/span>&lt;span class="cl"> &lt;span class="n">a&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">linalg&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">norm&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">12&lt;/span>&lt;span class="cl"> &lt;span class="n">b&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">P&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">array&lt;/span>&lt;span class="p">([&lt;/span>&lt;span class="n">x1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">y1&lt;/span>&lt;span class="p">])&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">13&lt;/span>&lt;span class="cl"> &lt;span class="n">d&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">dot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">b&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">array&lt;/span>&lt;span class="p">([&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">]]))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">14&lt;/span>&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">d&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">15&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">16&lt;/span>&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">circle_sdf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">P&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">xc&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">yc&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">r&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">17&lt;/span>&lt;span class="cl"> &lt;span class="s2">&amp;#34;&amp;#34;&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">18&lt;/span>&lt;span class="cl">&lt;span class="s2"> Calculate the signed distance from a point P to a circle defined by its center (xc, yc) and radius r.
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">19&lt;/span>&lt;span class="cl">&lt;span class="s2"> &amp;#34;&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">20&lt;/span>&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">sqrt&lt;/span>&lt;span class="p">((&lt;/span>&lt;span class="n">P&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">xc&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">**&lt;/span> &lt;span class="mi">2&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">P&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">yc&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">**&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">r&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">21&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">22&lt;/span>&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">intersect_sdf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">d1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">d2&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">23&lt;/span>&lt;span class="cl"> &lt;span class="s2">&amp;#34;&amp;#34;&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">24&lt;/span>&lt;span class="cl">&lt;span class="s2"> Calculate the signed distance field resulting from the intersection of two distance fields (d1 and d2).
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">25&lt;/span>&lt;span class="cl">&lt;span class="s2"> &amp;#34;&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">26&lt;/span>&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="nb">max&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">d1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">d2&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">27&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">28&lt;/span>&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">union_sdf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">d1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">d2&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">29&lt;/span>&lt;span class="cl"> &lt;span class="s2">&amp;#34;&amp;#34;&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">30&lt;/span>&lt;span class="cl">&lt;span class="s2"> Calculate the signed distance field resulting from the union of two distance fields (d1 and d2).
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">31&lt;/span>&lt;span class="cl">&lt;span class="s2"> &amp;#34;&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">32&lt;/span>&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="nb">min&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">d1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">d2&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h1 id="tangent-point-calculation">Tangent Point Calculation&lt;/h1>
&lt;p>The &lt;code>find_tangent_point&lt;/code> function finds the tangent point that has a specified distance from the bottom tip of the heart shape. This function is inspired by
and
.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">find_tangent_point&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">x1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">y1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">d1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">x2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">y2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">d2&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl"> &lt;span class="s2">&amp;#34;&amp;#34;&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl">&lt;span class="s2"> Find the tangent point that has radius(d1) distance from center of circle
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl">&lt;span class="s2"> and calculated distance (d2) from the bottom tip of the heart. The result is
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl">&lt;span class="s2"> limited to desired tangent point.
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl">&lt;span class="s2"> &amp;#34;&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl"> &lt;span class="n">centerdx&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">x1&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">x2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl"> &lt;span class="n">centerdy&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">y1&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">y2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl"> &lt;span class="n">R&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">sqrt&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">centerdx&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">centerdy&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">11&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">12&lt;/span>&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="ow">not&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nb">abs&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">d1&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">d2&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">&amp;lt;=&lt;/span> &lt;span class="n">R&lt;/span> &lt;span class="ow">and&lt;/span> &lt;span class="n">R&lt;/span> &lt;span class="o">&amp;lt;=&lt;/span> &lt;span class="n">d1&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">d2&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">13&lt;/span>&lt;span class="cl"> &lt;span class="c1"># No intersections&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">14&lt;/span>&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="p">[]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">15&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">16&lt;/span>&lt;span class="cl"> &lt;span class="n">d1d2&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">d1&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">d2&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">17&lt;/span>&lt;span class="cl"> &lt;span class="n">a&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">d1d2&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="n">R&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">18&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">19&lt;/span>&lt;span class="cl"> &lt;span class="n">c&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">sqrt&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">d1&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">d2&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">R&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">d1d2&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="n">R&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="mi">4&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">20&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">21&lt;/span>&lt;span class="cl"> &lt;span class="n">fx&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">x1&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">x2&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="mi">2&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">x2&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">x1&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">22&lt;/span>&lt;span class="cl"> &lt;span class="n">gx&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">c&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">y2&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">y1&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">23&lt;/span>&lt;span class="cl"> &lt;span class="c1"># ix1 = fx + gx&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">24&lt;/span>&lt;span class="cl"> &lt;span class="n">ix2&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">fx&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">gx&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">25&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">26&lt;/span>&lt;span class="cl"> &lt;span class="n">fy&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">y1&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">y2&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="mi">2&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">y2&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">y1&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">27&lt;/span>&lt;span class="cl"> &lt;span class="n">gy&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">c&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">x1&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">x2&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">28&lt;/span>&lt;span class="cl"> &lt;span class="c1"># iy1 = fy + gy&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">29&lt;/span>&lt;span class="cl"> &lt;span class="n">iy2&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">fy&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">gy&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">30&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">31&lt;/span>&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">ix2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">iy2&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h1 id="heart-shape-sdf">Heart Shape SDF&lt;/h1>
&lt;p>The &lt;code>heart_sdf&lt;/code> function calculates the signed distance from a point to a heart shape defined by two circles and three line segments.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">heart_sdf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">p&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">r&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">4&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl"> &lt;span class="s2">&amp;#34;&amp;#34;&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl">&lt;span class="s2"> Calculate the signed distance from a point P to a heart shape defined by two circles and three line segments.
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl">&lt;span class="s2">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl">&lt;span class="s2"> The heart shape consists of two circles representing the left and right sides, and three line segments representing the bottom tip and the tangent lines connecting the circles.
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl">&lt;span class="s2">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl">&lt;span class="s2"> Parameters:
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl">&lt;span class="s2"> p (tuple): A tuple containing the coordinates (x, y) of the point P.
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl">&lt;span class="s2"> r (float): The radius of the heart shape. Default is 4.
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl">&lt;span class="s2">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">11&lt;/span>&lt;span class="cl">&lt;span class="s2"> Returns:
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">12&lt;/span>&lt;span class="cl">&lt;span class="s2"> float: The signed distance from the point P to the heart shape. Negative values indicate that the point is inside the heart shape, zero indicates that the point is on the boundary, and positive values indicate that the point is outside the heart shape.
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">13&lt;/span>&lt;span class="cl">&lt;span class="s2">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">14&lt;/span>&lt;span class="cl">&lt;span class="s2"> Note:
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">15&lt;/span>&lt;span class="cl">&lt;span class="s2"> The heart shape is constructed based on mathematical equations and geometric calculations. The function utilizes signed distance functions (SDFs) for circles and lines to determine the distance from the point P to various components of the heart shape.
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">16&lt;/span>&lt;span class="cl">&lt;span class="s2"> &amp;#34;&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">17&lt;/span>&lt;span class="cl"> &lt;span class="c1"># Some experimental ratio for the center of circles based on their radius&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">18&lt;/span>&lt;span class="cl"> &lt;span class="n">a&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">r&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="mi">3&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">19&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">20&lt;/span>&lt;span class="cl"> &lt;span class="n">circle1&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">circle_sdf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">p&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">r&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Left Circle&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">21&lt;/span>&lt;span class="cl"> &lt;span class="n">circle2&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">circle_sdf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">p&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">r&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Right Circle&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">22&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">23&lt;/span>&lt;span class="cl"> &lt;span class="c1"># Distance from bottom tip to center of circles&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">24&lt;/span>&lt;span class="cl"> &lt;span class="n">d2c&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">sqrt&lt;/span>&lt;span class="p">((&lt;/span>&lt;span class="n">a&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">**&lt;/span> &lt;span class="mi">2&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="mi">2&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">r&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">**&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">25&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">26&lt;/span>&lt;span class="cl"> &lt;span class="c1"># Distance to tangent point of circle using Pythagorean theorem&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">27&lt;/span>&lt;span class="cl"> &lt;span class="n">d2t&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">sqrt&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">d2c&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">r&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">28&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">29&lt;/span>&lt;span class="cl"> &lt;span class="n">tpr&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">find_tangent_point&lt;/span>&lt;span class="p">(&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">30&lt;/span>&lt;span class="cl"> &lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">r&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">r&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">d2t&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">31&lt;/span>&lt;span class="cl"> &lt;span class="p">)&lt;/span> &lt;span class="c1"># Tangent point on right circle&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">32&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">33&lt;/span>&lt;span class="cl"> &lt;span class="n">line1&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">line_sdf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">p&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="n">tpr&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="n">tpr&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">r&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">34&lt;/span>&lt;span class="cl"> &lt;span class="n">line2&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">line_sdf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">p&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">r&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">tpr&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="n">tpr&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">])&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">35&lt;/span>&lt;span class="cl"> &lt;span class="n">line3&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">line_sdf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">p&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">tpr&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="n">tpr&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="n">tpr&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="n">tpr&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">])&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">36&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">37&lt;/span>&lt;span class="cl"> &lt;span class="c1"># Create a triangle which base is the line that&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">38&lt;/span>&lt;span class="cl"> &lt;span class="c1"># connects tangent points and the vertex point is heart bottom tip&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">39&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">40&lt;/span>&lt;span class="cl"> &lt;span class="n">dl&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">intersect_sdf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">intersect_sdf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">line1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">line2&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="n">line3&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">41&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">42&lt;/span>&lt;span class="cl"> &lt;span class="n">d&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">union_sdf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">union_sdf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">circle1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">circle2&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="n">dl&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">43&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">44&lt;/span>&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">d&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h1 id="visualization">Visualization&lt;/h1>
&lt;p>The &lt;code>plot_sdf&lt;/code> function plots the signed distance function. This function is adopted from
project.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">plot_sdf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">SDF&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">BdBox&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">10&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">10&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="mi">12&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">8&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="n">n&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">300&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl"> &lt;span class="s2">&amp;#34;&amp;#34;&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl">&lt;span class="s2"> Plots the signed distance function.
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl">&lt;span class="s2"> &amp;#34;&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl"> &lt;span class="n">x&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">y&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">meshgrid&lt;/span>&lt;span class="p">(&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl"> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">linspace&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">BdBox&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="n">BdBox&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="n">n&lt;/span>&lt;span class="p">),&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl"> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">linspace&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">BdBox&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="n">BdBox&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="n">n&lt;/span>&lt;span class="p">),&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl"> &lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl"> &lt;span class="n">points&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">hstack&lt;/span>&lt;span class="p">([&lt;/span>&lt;span class="n">x&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">reshape&lt;/span>&lt;span class="p">((&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">)),&lt;/span> &lt;span class="n">y&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">reshape&lt;/span>&lt;span class="p">((&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">))])&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">11&lt;/span>&lt;span class="cl"> &lt;span class="n">sdf&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">fromiter&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nb">map&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">SDF&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">points&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="n">dtype&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nb">float&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">12&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">13&lt;/span>&lt;span class="cl"> &lt;span class="n">inner&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">where&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sdf&lt;/span> &lt;span class="o">&amp;lt;=&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">14&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">15&lt;/span>&lt;span class="cl"> &lt;span class="n">_&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">ax&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">plt&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">subplots&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">figsize&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">8&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">6&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">16&lt;/span>&lt;span class="cl"> &lt;span class="n">_&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">ax&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">imshow&lt;/span>&lt;span class="p">(&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">17&lt;/span>&lt;span class="cl"> &lt;span class="n">inner&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">reshape&lt;/span>&lt;span class="p">((&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">n&lt;/span>&lt;span class="p">)),&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">18&lt;/span>&lt;span class="cl"> &lt;span class="n">extent&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">BdBox&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="n">BdBox&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="n">BdBox&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="n">BdBox&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="p">]),&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">19&lt;/span>&lt;span class="cl"> &lt;span class="n">origin&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;lower&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">20&lt;/span>&lt;span class="cl"> &lt;span class="n">cmap&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;Reds&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">21&lt;/span>&lt;span class="cl"> &lt;span class="n">alpha&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mf">0.8&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">22&lt;/span>&lt;span class="cl"> &lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">23&lt;/span>&lt;span class="cl"> &lt;span class="n">ax&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">contour&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">x&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">y&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sdf&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">reshape&lt;/span>&lt;span class="p">((&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">n&lt;/span>&lt;span class="p">)),&lt;/span> &lt;span class="n">levels&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="n">colors&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;gold&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">linewidths&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">24&lt;/span>&lt;span class="cl"> &lt;span class="n">ax&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">set_xlabel&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;X&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">fontweight&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;bold&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">25&lt;/span>&lt;span class="cl"> &lt;span class="n">ax&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">set_ylabel&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Y&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">fontweight&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;bold&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">26&lt;/span>&lt;span class="cl"> &lt;span class="n">ax&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">set_title&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;SDF Visualization&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">fontweight&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;bold&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">fontsize&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">16&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">27&lt;/span>&lt;span class="cl"> &lt;span class="n">ax&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">set_aspect&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;equal&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">28&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">29&lt;/span>&lt;span class="cl"> &lt;span class="n">plt&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">show&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Now let&amp;rsquo;s execute the &lt;code>plot_sdf&lt;/code> function to visualize the signed distance function for the heart shape.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">plot_sdf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">heart_sdf&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="png" srcset="
/post/constructing-complex-shapes-with-signed-distance-functions-the-heart-example/featured_hu9725241531771170759.webp 400w,
/post/constructing-complex-shapes-with-signed-distance-functions-the-heart-example/featured_hu9352621534901351034.webp 760w,
/post/constructing-complex-shapes-with-signed-distance-functions-the-heart-example/featured_hu3098947801264897299.webp 1200w"
src="https://SadjadAbedi.ir/post/constructing-complex-shapes-with-signed-distance-functions-the-heart-example/featured_hu9725241531771170759.webp"
width="569"
height="551"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;div class="alert alert-note">
&lt;div>
The full code, ready to copy and try, is also available at
.
&lt;/div>
&lt;/div></description></item><item><title>Exploring Boolean Operations in SDFs: Union, Difference, and Intersection</title><link>https://SadjadAbedi.ir/post/exploring-boolean-operations-in-sdfs-union-difference-and-intersection/</link><pubDate>Mon, 18 Mar 2024 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/post/exploring-boolean-operations-in-sdfs-union-difference-and-intersection/</guid><description>&lt;p>In our
of Signed Distance Functions (SDFs), we unveiled their power in representing and manipulating geometric shapes. We also delved into the intricacies of SDFs for lines and rectangles. Now, let&amp;rsquo;s unlock the potential of Boolean operations on SDFs, enabling the creation of even more complex shapes.&lt;/p>
&lt;h2 id="merging-shapes-with-union-a-powerful-tool">Merging Shapes with Union: A Powerful Tool&lt;/h2>
&lt;p>The &lt;strong>Union&lt;/strong> operation in SDFs allows us to combine two or more shapes, essentially merging them into a single new shape. Mathematically, the union of two SDFs, $SDF_1$ and $SDF_2$, representing shapes A and B respectively, can be expressed as:&lt;/p>
&lt;p>$$
SDF_{Union}(P) = min(SDF_1(P), SDF_2(P))
$$&lt;/p>
&lt;p>This operation essentially takes the minimum distance value from either SDF at each point (P). Points outside of both shape A or B will have a positive SDF value, indicating they lie outside the combined shape. Points within both shapes A and B will have a negative value, signifying their position inside the resulting union shape.&lt;/p>
&lt;h2 style="text-align: center;">Union of Two Circles&lt;/h2>
&lt;iframe src="https://SadjadAbedi.ir/union_sdf.html" width="100%" height="400px" frameborder="0">&lt;/iframe>
&lt;blockquote>
&lt;p>The visualization of the union of two circles SDF is also available at
using
module.&lt;/p>
&lt;/blockquote>
&lt;h2 id="carving-shapes-with-difference-subtracting-one-from-another">Carving Shapes with Difference: Subtracting One from Another&lt;/h2>
&lt;p>The &lt;strong>Difference&lt;/strong> operation in Signed Distance Functions (SDFs) enables us to sculpt one shape by subtracting another. Mathematically, the difference of $SDF1$​ and $SDF2$​, representing shapes A and B respectively, can be defined as:&lt;/p>
&lt;p>$$
SDF_{Difference​}(P)=max(SDF_1​(P),−SDF_2​(P))
$$&lt;/p>
&lt;p>Here, the negative of $SDF_2$​ is taken prior to the maximum operation. This action effectively reverses the sign of distances originating from shape B. Points lying outside both shapes, as well as points residing inside shape A but also within shape B, will yield a positive SDF value. This indicates that they belong to the exterior of the resultant shape after the difference operation. Points situated within shape A but outside shape B will generate a negative value, denoting their inclusion within the final difference shape.&lt;/p>
&lt;h2 style="text-align: center;">Difference of Two Circles (Circle 1 - Circle 2)&lt;/h2>
&lt;iframe src="https://SadjadAbedi.ir/diff_sdf.html" width="100%" height="400px" frameborder="0">&lt;/iframe>
&lt;blockquote>
&lt;p>The visualization of the difference of two circles SDF is also available at
using
module.&lt;/p>
&lt;/blockquote>
&lt;h2 id="finding-the-common-ground-intersection-of-shapes">Finding the Common Ground: Intersection of Shapes&lt;/h2>
&lt;p>The &lt;strong>Intersection&lt;/strong> operation in SDFs allows us to identify the region where two shapes overlap. Mathematically, the intersection of $SDF_1$ and $SDF_2$ can be expressed as:&lt;/p>
&lt;p>$$
SDF_{Intersection}(P) = max(SDF_1(P), SDF_2(P))
$$&lt;/p>
&lt;p>In this case, the maximum distance value is taken. Points outside both shapes A and B will have positive SDF values. Points inside either shape A or B (but not their overlap) will also have positive values. Points that lie within the overlapping region of both shapes A and B will have a negative SDF value, signifying their location within the intersection.&lt;/p>
&lt;h2 style="text-align: center;">Intersection of Two Circles&lt;/h2>
&lt;iframe src="https://SadjadAbedi.ir/intersect_sdf.html" width="100%" height="400px" frameborder="0">&lt;/iframe>
&lt;blockquote>
&lt;p>The visualization of the intersection of two circles SDF is also available at
using
module.&lt;/p>
&lt;/blockquote>
&lt;h2 id="a-composition-of-lines-the-sdf-of-a-rectangle">A Composition of Lines: The SDF of a Rectangle&lt;/h2>
&lt;p>While we&amp;rsquo;ve explored circles and other shapes, it&amp;rsquo;s important to remember that even seemingly basic shapes can be constructed using SDFs and Boolean operations. Take a rectangle, for instance. We can define a rectangle as the &lt;strong>intersection&lt;/strong> of four lines, each representing the distance to an edge:&lt;/p>
&lt;ul>
&lt;li>The distance to the top edge of the rectangle.&lt;/li>
&lt;li>The distance to the bottom edge.&lt;/li>
&lt;li>The distance to the left edge.&lt;/li>
&lt;li>The distance to the right edge.&lt;/li>
&lt;/ul>
&lt;h2 style="text-align: center;">Rectangle SDF&lt;/h2>
&lt;iframe src="https://SadjadAbedi.ir/rect_sdf.html" width="100%" height="400px" frameborder="0">&lt;/iframe>
&lt;blockquote>
&lt;p>The visualization of the rectangle defined by intersection of 4 lines is also available at
using
module.&lt;/p>
&lt;/blockquote>
&lt;p>The order of these intersections does not matter. Taking the maximum distance (intersection) from all four lines simultaneously would define a rectangle. Alternatively, we can perform the intersection progressively.&lt;/p>
&lt;p>This concept extends beyond rectangles. Any polygon can be defined similarly using the intersection of line SDFs representing distances to its edges.&lt;/p>
&lt;h2 id="defining-complex-domains-with-sdf-boolean-operations">Defining Complex Domains with SDF Boolean Operations&lt;/h2>
&lt;p>By mastering Boolean operations on SDFs, we unlock the ability to create mathematically defined representations of even intricate 2D domains. From simple geometric shapes to elaborate, user-defined patterns, these techniques empower us to model a vast array of scenarios. This opens doors for various applications, from scientific simulations to artistic expression, all leveraging the power of mathematics and code to define complex shapes and spaces.&lt;/p></description></item><item><title>Session 1: Introduction to Python</title><link>https://SadjadAbedi.ir/slides/pythonbootcamp2024_s1/</link><pubDate>Fri, 15 Mar 2024 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/slides/pythonbootcamp2024_s1/</guid><description>&lt;h1 id="session-1-introduction-to-python">Session 1: Introduction to Python&lt;/h1>
&lt;p>Instructor :
&lt;/p>
&lt;hr>
&lt;h2 id="introduction-to-programming">Introduction to Programming&lt;/h2>
&lt;p>Programming is the process of creating a set of instructions or logic that can be understood and executed by a computer to perform a specific task or solve a problem. It involves breaking down complex problems into smaller, more manageable steps that the computer can follow.&lt;/p>
&lt;hr>
&lt;p>Programming languages are the tools used to communicate instructions to computers. They provide a structured way to express algorithms, which are sets of rules or procedures for solving problems. Different programming languages have their own syntax (rules for writing code) and semantics (meaning of the code).&lt;/p>
&lt;hr>
&lt;h3 id="why-learn-programming">Why Learn Programming?&lt;/h3>
&lt;ol>
&lt;li>&lt;strong>Problem-solving&lt;/strong>: Programming teaches logical thinking and problem-solving skills.&lt;/li>
&lt;li>&lt;strong>Career opportunities&lt;/strong>: Programming skills are in high demand across various industries.&lt;/li>
&lt;li>&lt;strong>Automation&lt;/strong>: Programming allows you to automate repetitive tasks, saving time and increasing productivity.&lt;/li>
&lt;li>&lt;strong>Creation&lt;/strong>: Programming empowers you to create software applications, websites, games, and other digital products.&lt;/li>
&lt;li>&lt;strong>Understanding technology&lt;/strong>: Having a basic understanding of programming helps you better comprehend the technologies you use daily.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="what-is-python">What is Python?&lt;/h2>
&lt;p>Python is a popular, high-level, general-purpose programming language known for its simplicity, readability, and versatility. It was created by Guido van Rossum in the late 1980s and first released in 1991.&lt;/p>
&lt;hr>
&lt;h3 id="key-features-of-python">Key Features of Python&lt;/h3>
&lt;ol>
&lt;li>&lt;strong>Easy to learn&lt;/strong>: Python has a clean and straightforward syntax that emphasizes readability, making it easy for beginners to learn and understand.&lt;/li>
&lt;li>&lt;strong>Interpreted&lt;/strong>: Python is an interpreted language, which means that its code is executed line by line without the need for a separate compilation step, allowing for faster development and testing cycles.&lt;/li>
&lt;li>&lt;strong>Cross-platform&lt;/strong>: Python code can run on various operating systems, including Windows, macOS, and Linux, without requiring significant modifications.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;ol start="4">
&lt;li>&lt;strong>Dynamically-typed&lt;/strong>: Python is a dynamically-typed language, which means that variable types are determined during runtime, providing flexibility and reducing development time.&lt;/li>
&lt;li>&lt;strong>Extensive libraries&lt;/strong>: Python has a vast collection of standard and third-party libraries and frameworks that cover a wide range of applications, from web development to data analysis, machine learning, and more.&lt;/li>
&lt;li>&lt;strong>Open-source&lt;/strong>: Python is an open-source language, which means its source code is freely available for use, modification, and distribution, fostering a strong community of developers.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h3 id="python-applications">Python Applications&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Web Development&lt;/strong>: Python is widely used for building web applications and frameworks like Django, Flask, and Pyramid.&lt;/li>
&lt;li>&lt;strong>Data Analysis and Scientific Computing&lt;/strong>: Libraries like NumPy, Pandas, Matplotlib, and SciPy make Python a powerful tool for data analysis, manipulation, and visualization.&lt;/li>
&lt;li>&lt;strong>Artificial Intelligence and Machine Learning&lt;/strong>: Popular libraries like TensorFlow, Keras, and scikit-learn enable Python for AI and machine learning applications.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;ul>
&lt;li>&lt;strong>Automation and Scripting&lt;/strong>: Python&amp;rsquo;s simplicity and cross-platform compatibility make it an excellent choice for automating tasks and writing scripts.&lt;/li>
&lt;li>&lt;strong>Game Development&lt;/strong>: With libraries like Pygame and Panda3D, Python can be used to create games.&lt;/li>
&lt;li>&lt;strong>Education and Prototyping&lt;/strong>: Python&amp;rsquo;s readability and ease of use make it a popular choice for teaching programming and building prototypes.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="setting-up-the-python-environment">Setting up the Python Environment&lt;/h2>
&lt;p>To start programming in Python, you need to set up the Python environment on your computer. This involves installing the Python interpreter and an Integrated Development Environment (IDE) or a code editor. In this bootcamp, we will be using the Anaconda distribution and the Spyder IDE.&lt;/p>
&lt;hr>
&lt;h3 id="anaconda-distribution">Anaconda Distribution&lt;/h3>
&lt;p>Anaconda is a popular open-source distribution of Python and other data science packages. It comes bundled with Python, the Conda package manager, and various pre-installed libraries and tools for data science, machine learning, and scientific computing.&lt;/p>
&lt;hr>
&lt;p>To install Anaconda, follow these steps:&lt;/p>
&lt;ol>
&lt;li>Go to the official Anaconda website (
) and download the latest version of Anaconda for your operating system (Windows, macOS, or Linux).&lt;/li>
&lt;li>Run the downloaded installer and follow the prompts to complete the installation process.&lt;/li>
&lt;/ol>
&lt;p>After the installation is complete, you will have access to the Anaconda Navigator, which is a graphical user interface (GUI) that allows you to launch applications and manage conda packages, environments, and channels.&lt;/p>
&lt;hr>
&lt;h3 id="spyder-ide">Spyder IDE&lt;/h3>
&lt;p>Spyder (Scientific Python Development Environment) is a powerful IDE that comes bundled with Anaconda. It provides a user-friendly interface for writing, debugging, and executing Python code, as well as advanced features such as code completion, code exploration, and integration with popular scientific libraries like NumPy, SciPy, and Matplotlib.&lt;/p>
&lt;hr>
&lt;p>To launch Spyder, you can either:&lt;/p>
&lt;ol>
&lt;li>Open the Anaconda Navigator and click on the &amp;ldquo;Launch&amp;rdquo; button next to the Spyder application.&lt;/li>
&lt;li>Open the Anaconda Prompt (on Windows) or the terminal (on macOS/Linux) and type &lt;code>spyder&lt;/code>.&lt;/li>
&lt;/ol>
&lt;p>The Spyder IDE consists of three main panels:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Editor&lt;/strong>: This is where you write and edit your Python code.&lt;/li>
&lt;li>&lt;strong>IPython Console&lt;/strong>: This is an interactive Python shell where you can run code and see the output immediately.&lt;/li>
&lt;li>&lt;strong>Variable Explorer&lt;/strong>: This panel displays the variables and their values in your current workspace.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h3 id="python-syntax">Python Syntax&lt;/h3>
&lt;p>Python&amp;rsquo;s syntax is designed to be simple, readable, and easy to learn. Here&amp;rsquo;s a quick overview of some essential syntax elements:&lt;/p>
&lt;h4 id="comments">Comments&lt;/h4>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="c1"># This is a single-line comment&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="s2">&amp;#34;&amp;#34;&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">&lt;span class="s2">This is a
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">&lt;span class="s2">multi-line comment
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl">&lt;span class="s2">&amp;#34;&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h4 id="indentation">Indentation&lt;/h4>
&lt;p>Python uses indentation to define code blocks instead of curly braces or keywords like begin and end. Proper indentation is crucial for Python code to run correctly.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="k">if&lt;/span> &lt;span class="n">condition&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl"> &lt;span class="c1"># Indented block&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl"> &lt;span class="n">statement1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl"> &lt;span class="n">statement2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">&lt;span class="k">else&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl"> &lt;span class="c1"># Indented block&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl"> &lt;span class="n">statement3&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="variables">Variables&lt;/h3>
&lt;p>Variables in Python don&amp;rsquo;t need to be explicitly declared. You can assign values to variables directly.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">x&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">5&lt;/span> &lt;span class="c1"># Integer&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="n">y&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mf">3.14&lt;/span> &lt;span class="c1"># Float&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="n">name&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s2">&amp;#34;Sadjad Abedi&amp;#34;&lt;/span> &lt;span class="c1"># String&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">&lt;span class="n">is_true&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="kc">True&lt;/span> &lt;span class="c1"># Boolean&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="data-types">Data Types&lt;/h3>
&lt;p>Python supports several built-in data types, including:&lt;/p>
&lt;h4 id="numbers">Numbers&lt;/h4>
&lt;p>Python supports two main types of numbers: integers and floating-point numbers.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">x&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">31&lt;/span> &lt;span class="c1"># Integer&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="n">y&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mf">3.14&lt;/span> &lt;span class="c1"># Float&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="n">z&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">1&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="n">j&lt;/span> &lt;span class="c1"># Complex number&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h4 id="strings">Strings&lt;/h4>
&lt;p>Strings in Python are sequences of characters enclosed in single quotes (&amp;rsquo;), double quotes (&amp;quot;), or triple quotes (&amp;rsquo;&amp;rsquo;&amp;rsquo; or &amp;quot;&amp;quot;&amp;quot;).&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">name&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s2">&amp;#34;Sadjad Abedi&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="n">message&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s1">&amp;#39;Hello, World!&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="n">multiline&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s2">&amp;#34;&amp;#34;&amp;#34;This is
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">&lt;span class="s2">a multiline
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">&lt;span class="s2">string.&amp;#34;&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h4 id="lists">Lists&lt;/h4>
&lt;p>Lists are ordered collections of items, which can be of different data types.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">fruits&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;apple&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;banana&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;cherry&amp;#34;&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="c1"># List of strings&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="n">numbers&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">5&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="c1"># List of integers&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="n">mixed&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;apple&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mf">3.14&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="kc">True&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="c1"># Mixed data types&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h4 id="list-operations">List Operations&lt;/h4>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="nb">len&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">fruits&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Get the length of the list&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="n">fruits&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="c1"># Access the first element&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="n">fruits&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="c1"># Access the last element&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">&lt;span class="n">fruits&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="c1"># Get a slice (from index 1 to 3)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">&lt;span class="n">fruits&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">append&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;orange&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Add an element to the end&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl">&lt;span class="n">fruits&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">insert&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;kiwi&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Insert an element at a specific index&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl">&lt;span class="n">fruits&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">remove&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;banana&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Remove the first occurrence of an element&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">8&lt;/span>&lt;span class="cl">&lt;span class="n">fruits&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">pop&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Remove the element at a specific index&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="basic-inputoutput-operations">Basic Input/Output Operations&lt;/h2>
&lt;p>Python provides several built-in functions for handling input and output operations, allowing you to interact with users and work with files.&lt;/p>
&lt;hr>
&lt;h3 id="input">Input&lt;/h3>
&lt;p>The &lt;code>input()&lt;/code> function is used to get user input from the console or terminal. It takes an optional prompt string as an argument and returns the user&amp;rsquo;s input as a string.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">name&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">input&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Enter your name: &amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Hello, &amp;#34;&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">name&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>By default, input() returns a string.&lt;/p>
&lt;hr>
&lt;p>If you need to work with other data types, such as integers or floats, you can use type conversion functions like int() or float().&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">age&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">int&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nb">input&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Enter your age: &amp;#34;&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="n">weight&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">float&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nb">input&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Enter your weight (kg): &amp;#34;&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="output">Output&lt;/h3>
&lt;p>The print() function is used to display output to the console or terminal.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Hello, World!&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;p>You can print multiple values by separating them with commas, and you can customize the separator and end characters using the sep and end parameters, respectively.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Apple&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;Banana&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;Cherry&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sep&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;, &amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Output: Apple, Banana, Cherry&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Hello&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">end&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;World&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Output: HelloWorld&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="file-operations">File Operations&lt;/h3>
&lt;p>Python provides several functions and methods for working with files, including reading from and writing to files.&lt;/p>
&lt;h4 id="writing-to-a-file">Writing to a File&lt;/h4>
&lt;p>To write to a file, you first need to open it in write mode (&amp;ldquo;w&amp;rdquo;) or append mode (&amp;ldquo;a&amp;rdquo;). Then, you can use the &lt;code>write()&lt;/code> method to write data to the file.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">file&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;data.txt&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;w&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Open a file for writing&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="n">file&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">write&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Hello, World!&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="n">file&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">close&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="c1"># Don&amp;#39;t forget to close the file&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="reading-from-a-file">Reading from a File&lt;/h3>
&lt;p>To read from a file, you need to open it in read mode (&amp;ldquo;r&amp;rdquo;). Then, you can use methods like &lt;code>read()&lt;/code> or &lt;code>readline()&lt;/code> to read the contents of the file.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">file&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;data.txt&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;r&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="n">content&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">file&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">read&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="c1"># Read the entire file&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">content&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">&lt;span class="n">file&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">close&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;p>Alternatively, you can use a for loop to read the file line by line.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">file&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;data.txt&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;r&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="k">for&lt;/span> &lt;span class="n">line&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">file&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">line&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">strip&lt;/span>&lt;span class="p">())&lt;/span> &lt;span class="c1"># Strip leading/trailing whitespace&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">&lt;span class="n">file&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">close&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;p>Python also provides a convenient &lt;code>with&lt;/code> statement to automatically handle opening and closing files.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="k">with&lt;/span> &lt;span class="nb">open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;data.txt&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;r&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="n">file&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl"> &lt;span class="n">content&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">file&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">read&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">content&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h1 id="questions">Questions?&lt;/h1>
&lt;p>
&lt;/p>
&lt;p>
&lt;/p></description></item><item><title>Session 2: Control Flow and Functions</title><link>https://SadjadAbedi.ir/slides/pythonbootcamp2024_s2/</link><pubDate>Fri, 15 Mar 2024 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/slides/pythonbootcamp2024_s2/</guid><description>&lt;h1 id="session-2-control-flow-and-functions">Session 2: Control Flow and Functions&lt;/h1>
&lt;p>Instructor :
&lt;/p>
&lt;hr>
&lt;p>Control flow statements in Python allow you to control the order of execution of your code based on certain conditions or loops. These statements are essential for creating dynamic and flexible programs.&lt;/p>
&lt;hr>
&lt;h2 id="conditional-statements">Conditional Statements&lt;/h2>
&lt;p>Conditional statements allow you to execute different blocks of code based on certain conditions. Python uses the &lt;code>if&lt;/code>, &lt;code>elif&lt;/code> (else if), and &lt;code>else&lt;/code> statements for this purpose.&lt;/p>
&lt;hr>
&lt;h3 id="if-statement">&lt;code>if&lt;/code> Statement&lt;/h3>
&lt;p>The &lt;code>if&lt;/code> statement executes a block of code if the specified condition is &lt;code>True&lt;/code>.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">x&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="k">if&lt;/span> &lt;span class="n">x&lt;/span> &lt;span class="o">&amp;gt;&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;x is positive&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="elif-statement">&lt;code>elif&lt;/code> Statement&lt;/h3>
&lt;p>The &lt;code>elif&lt;/code> statement allows you to check for additional conditions if the previous conditions were &lt;code>False&lt;/code>.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">x&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="k">if&lt;/span> &lt;span class="n">x&lt;/span> &lt;span class="o">&amp;gt;&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;x is positive&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">&lt;span class="k">elif&lt;/span> &lt;span class="n">x&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;x is negative&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl">&lt;span class="k">else&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">8&lt;/span>&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;x is zero&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="else-statement">&lt;code>else&lt;/code> Statement&lt;/h3>
&lt;p>The &lt;code>else&lt;/code> statement is executed if all the previous conditions in the if and elif statements were &lt;code>False&lt;/code>.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">age&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">18&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="k">if&lt;/span> &lt;span class="n">age&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="mi">13&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;You are a child&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">&lt;span class="k">elif&lt;/span> &lt;span class="n">age&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="mi">20&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;You are a teenager&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl">&lt;span class="k">else&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">8&lt;/span>&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;You are an adult&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="loops">Loops&lt;/h2>
&lt;p>Loops are used to repeat a block of code multiple times. Python provides two types of loops: &lt;code>for&lt;/code> loops and &lt;code>while&lt;/code> loops.&lt;/p>
&lt;hr>
&lt;h3 id="for-loop">&lt;code>for&lt;/code> Loop&lt;/h3>
&lt;p>The &lt;code>for&lt;/code> loop is used to iterate over a sequence (such as a &lt;code>list&lt;/code>, &lt;code>tuple&lt;/code>, &lt;code>string&lt;/code>, or &lt;code>range&lt;/code>) or other iterable objects.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">fruits&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;apple&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;banana&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;cherry&amp;#34;&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="k">for&lt;/span> &lt;span class="n">fruit&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">fruits&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">fruit&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;p>You can also use the &lt;code>range()&lt;/code> function to generate a sequence of numbers for the for loop.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="k">for&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">5&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Output: 0 1 2 3 4&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="while-loop">&lt;code>while&lt;/code> Loop&lt;/h3>
&lt;p>The &lt;code>while&lt;/code> loop executes a block of code as long as the specified condition is &lt;code>True&lt;/code>.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">count&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="k">while&lt;/span> &lt;span class="n">count&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="mi">5&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">count&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl"> &lt;span class="n">count&lt;/span> &lt;span class="o">+=&lt;/span> &lt;span class="mi">1&lt;/span> &lt;span class="c1"># Increment the counter&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;p>Loops can be nested (one loop inside another loop) to create more complex patterns or iterate over multi-dimensional data structures.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="k">for&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="n">j&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;(&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">, &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">j&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">)&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="functions">Functions&lt;/h2>
&lt;p>Functions are reusable blocks of code that perform a specific task. They help organize code into logical units, improve code readability, and promote code reuse. In Python, functions are defined using the &lt;code>def&lt;/code> keyword, followed by the function name, parentheses for arguments, and a colon.&lt;/p>
&lt;hr>
&lt;h3 id="defining-functions">Defining Functions&lt;/h3>
&lt;p>Here&amp;rsquo;s the basic syntax for defining a function:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">function_name&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">parameters&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl"> &lt;span class="s2">&amp;#34;&amp;#34;&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="s2"> Docstring: A brief description of what the function does.
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">&lt;span class="s2"> &amp;#34;&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl"> &lt;span class="c1"># Function body&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl"> &lt;span class="c1"># Code to be executed&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">value&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;ul>
&lt;li>&lt;code>def&lt;/code> is the keyword used to define a function.&lt;/li>
&lt;li>&lt;code>function_name&lt;/code> is the name you give to the function (follow naming conventions).&lt;/li>
&lt;li>&lt;code>parameters&lt;/code> are optional inputs that the function can accept (separated by commas).&lt;/li>
&lt;li>The &lt;code>&amp;quot;&amp;quot;&amp;quot;Docstring&amp;quot;&amp;quot;&amp;quot;&lt;/code> is a multi-line string that provides a brief description of the function (optional but recommended).&lt;/li>
&lt;li>The function body is the block of code that will be executed when the function is called.&lt;/li>
&lt;li>The &lt;code>return&lt;/code> statement is used to return a value from the function (optional).&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>Example:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">greet&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">name&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl"> &lt;span class="s2">&amp;#34;&amp;#34;&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="s2"> Prints a greeting message with the provided name.
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">&lt;span class="s2"> &amp;#34;&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;Hello, &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">name&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">!&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl">&lt;span class="n">greet&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Alice&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Output: Hello, Alice!&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="calling-functions">Calling Functions&lt;/h3>
&lt;p>To use a function, you need to call it by its name, followed by parentheses and any required arguments.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">result&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">my_function&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">argument1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">argument2&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;p>Functions can return values using the &lt;code>return&lt;/code> statement, which can be assigned to variables or used in expressions.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">add_numbers&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">b&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl"> &lt;span class="s2">&amp;#34;&amp;#34;&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="s2"> Returns the sum of two numbers.
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">&lt;span class="s2"> &amp;#34;&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">b&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl">&lt;span class="nb">sum&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">add_numbers&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">5&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">8&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nb">sum&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Output: 8&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="scope-and-namespaces">Scope and Namespaces&lt;/h2>
&lt;p>In Python, variables and functions have a scope, which determines their visibility and accessibility within the program. Understanding scope and namespaces is crucial for managing variable names and avoiding naming conflicts.&lt;/p>
&lt;hr>
&lt;h2 id="scope">Scope&lt;/h2>
&lt;p>The scope of a variable or function refers to the region of the code where it is accessible. Python has several types of scope:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Local Scope&lt;/strong>: Variables defined within a function are local to that function and cannot be accessed outside of it. Their scope is limited to the function in which they are defined.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;ol start="2">
&lt;li>&lt;strong>Global Scope&lt;/strong>: Variables defined outside of any function or class are global and can be accessed from anywhere in the program, including within functions.&lt;/li>
&lt;li>&lt;strong>Built-in Scope&lt;/strong>: Names that are part of the Python language itself, such as &lt;code>print&lt;/code>, &lt;code>len&lt;/code>, and &lt;code>range&lt;/code>, have a built-in scope and are always available.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;p>Example:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">x&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">10&lt;/span> &lt;span class="c1"># Global variable&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">my_function&lt;/span>&lt;span class="p">():&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl"> &lt;span class="n">y&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">5&lt;/span> &lt;span class="c1"># Local variable&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">x&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Accessing global variable&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">y&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">8&lt;/span>&lt;span class="cl">&lt;span class="n">my_function&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="c1"># Output: 10, 5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">9&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">y&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Error: y is not defined (outside the function scope)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="namespaces">Namespaces&lt;/h3>
&lt;p>While scope determines the visibility and accessibility of variables and functions, namespaces are mapping structures that associate names (identifiers) with objects (variables, functions, etc.). Python maintains several namespaces:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Built-in Namespace&lt;/strong>: Contains names of built-in functions, exceptions, and other objects. This namespace is always available.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;ul>
&lt;li>&lt;strong>Global Namespace&lt;/strong>: Contains names defined at the top level of a module or script. Variables and functions defined outside any function or class reside in this namespace.&lt;/li>
&lt;li>&lt;strong>Local Namespace&lt;/strong>: Contains names defined inside a function or class. Variables and functions defined within a function or class reside in this namespace.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>When Python tries to resolve a name (e.g., a variable or function), it searches the namespaces in the following order:&lt;/p>
&lt;ol>
&lt;li>Local Namespace&lt;/li>
&lt;li>Enclosing Namespaces (if nested functions or classes)&lt;/li>
&lt;li>Global Namespace&lt;/li>
&lt;li>Built-in Namespace&lt;/li>
&lt;/ol>
&lt;hr>
&lt;p>The scope of a variable or function determines which namespace it belongs to and where it can be accessed. The namespaces themselves are the structures that store and map these names to their corresponding objects.&lt;/p>
&lt;hr>
&lt;h2 id="introducing-codewars">Introducing CodeWars&lt;/h2>
&lt;p>&lt;strong>CodeWars&lt;/strong> is an educational online platform that helps developers improve their coding skills through practice and gamification. It provides a vast collection of coding challenges, also known as &amp;ldquo;&lt;em>katas&lt;/em>&amp;rdquo;, which cover a wide range of programming languages and concepts.&lt;/p>
&lt;hr>
&lt;h3 id="what-are-katas">What are Katas?&lt;/h3>
&lt;p>Katas are coding challenges that range in difficulty from beginner to expert level. Each kata presents a problem statement and a set of requirements that you must fulfill by writing code that passes a series of test cases. Katas are designed to help you practice your problem-solving skills, learn new language features, and improve your coding proficiency.&lt;/p>
&lt;hr>
&lt;h3 id="getting-started-with-codewars">Getting Started with CodeWars&lt;/h3>
&lt;p>To get started with CodeWars, follow these steps:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Sign Up&lt;/strong>: Visit the CodeWars website (
) and create an account.&lt;/li>
&lt;li>&lt;strong>Choose a Language&lt;/strong>: Select the programming language you want to practice. CodeWars supports many popular languages, including Python, Java, JavaScript, C#, and more.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;ol start="3">
&lt;li>&lt;strong>Browse Katas&lt;/strong>: Explore the available katas by difficulty level or topic. You can filter katas based on your preferences or search for specific keywords.&lt;/li>
&lt;li>&lt;strong>Attempt a Kata&lt;/strong>: Click on a kata to view its problem statement and requirements. CodeWars provides an online code editor where you can write and test your solution.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;ol start="5">
&lt;li>&lt;strong>Submit Your Solution&lt;/strong>: Once you&amp;rsquo;ve written your code, submit it to the CodeWars platform. Your solution will be tested against a set of test cases, and you&amp;rsquo;ll receive feedback on whether it passed or failed.&lt;/li>
&lt;li>&lt;strong>Learn from Others&lt;/strong>: CodeWars allows you to view other users&amp;rsquo; solutions to the same kata. You can learn from these solutions and gain insights into different problem-solving approaches.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;ol start="7">
&lt;li>Optionally, You can join the Clan &amp;ldquo;&lt;em>Scicho&lt;/em>&amp;rdquo; by setting this name as clan name in your profile. You can also follow the instructor using this Link:&lt;/li>
&lt;/ol>
&lt;p>
&lt;/p>
&lt;hr>
&lt;ol start="8">
&lt;li>There is also a &lt;em>collection&lt;/em> of katas that most fit your current proficiency:&lt;/li>
&lt;/ol>
&lt;p>
&lt;/p>
&lt;hr>
&lt;h3 id="tutorial-videos">Tutorial Videos&lt;/h3>
&lt;ol>
&lt;li>
&lt;p>
&lt;/p>
&lt;/li>
&lt;li>
&lt;p>
&lt;/p>
&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h1 id="questions">Questions?&lt;/h1>
&lt;p>
&lt;/p>
&lt;p>
&lt;/p></description></item><item><title>Session 3: Data Structures</title><link>https://SadjadAbedi.ir/slides/pythonbootcamp2024_s3/</link><pubDate>Fri, 15 Mar 2024 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/slides/pythonbootcamp2024_s3/</guid><description>&lt;h1 id="session-3-data-structures">Session 3: Data Structures&lt;/h1>
&lt;p>Instructor :
&lt;/p>
&lt;hr>
&lt;p>Python provides several built-in data structures that allow you to organize and store data efficiently. In this session, we&amp;rsquo;ll explore data structures in Python.&lt;/p>
&lt;hr>
&lt;h2 id="lists">Lists&lt;/h2>
&lt;p>Lists are &lt;strong>ordered&lt;/strong> collections of items, which can be of &lt;em>different data types&lt;/em>. They are &lt;strong>mutable&lt;/strong>, meaning you can modify, add, or remove elements after creating the list.&lt;/p>
&lt;hr>
&lt;h3 id="creating-lists">Creating Lists&lt;/h3>
&lt;p>Lists are defined using square brackets &lt;code>[]&lt;/code> and elements are separated by commas.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">fruits&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;apple&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;banana&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;cherry&amp;#34;&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="n">numbers&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">5&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="n">mixed&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;apple&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mf">3.14&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="kc">True&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="list-operations">List Operations&lt;/h3>
&lt;p>Lists support various operations, such as &lt;em>indexing&lt;/em>, &lt;em>slicing&lt;/em>, &lt;em>concatenation&lt;/em>, and more.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">&lt;span class="n">fruits&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;apple&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;banana&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;cherry&amp;#34;&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nb">len&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">fruits&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="c1"># Get the length of the list (Output: 3)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">fruits&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">])&lt;/span> &lt;span class="c1"># Access the first element (Output: &amp;#34;apple&amp;#34;)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">fruits&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">])&lt;/span> &lt;span class="c1"># Access the last element (Output: &amp;#34;cherry&amp;#34;)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">fruits&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="p">])&lt;/span> &lt;span class="c1"># Get a slice (from index 1 to 3) (Output: [&amp;#34;banana&amp;#34;, &amp;#34;cherry&amp;#34;])&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl">&lt;span class="n">fruits&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">append&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;orange&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Add an element to the end&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl">&lt;span class="n">fruits&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">insert&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;kiwi&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Insert an element at a specific index&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl">&lt;span class="n">fruits&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">remove&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;banana&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Remove the first occurrence of an element&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl">&lt;span class="n">fruits&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">pop&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Remove the element at a specific index&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Lists are versatile and commonly used for &lt;em>storing&lt;/em> and &lt;em>manipulating&lt;/em> collections of data in Python.&lt;/p>
&lt;hr>
&lt;h2 id="tuples">Tuples&lt;/h2>
&lt;p>Tuples are &lt;strong>ordered&lt;/strong> collections of items, similar to lists, but they are &lt;strong>immutable&lt;/strong>, meaning you cannot modify, add, or remove elements after creating the tuple.&lt;/p>
&lt;hr>
&lt;h3 id="creating-tuples">Creating Tuples&lt;/h3>
&lt;p>Tuples are defined using parentheses &lt;code>()&lt;/code> and elements are separated by commas.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">point&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="n">person&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;John&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">32&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;Programmer&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="n">empty_tuple&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Alternatively, you can create tuples without parentheses if there is a comma separating the elements.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">point&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="n">single_element_tuple&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="c1"># Note the trailing comma&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="tuple-operations">Tuple Operations&lt;/h3>
&lt;p>Although tuples are immutable, you can perform various operations on them, such as &lt;em>indexing&lt;/em>, &lt;em>slicing&lt;/em>, and &lt;em>concatenation&lt;/em>.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">person&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;John&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">32&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;Programmer&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nb">len&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">person&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="c1"># Get the length of the tuple (Output: 3)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">person&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">])&lt;/span> &lt;span class="c1"># Access the first element (Output: &amp;#34;John&amp;#34;)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">person&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">])&lt;/span> &lt;span class="c1"># Access the last element (Output: &amp;#34;Programmer&amp;#34;)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">person&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="p">])&lt;/span> &lt;span class="c1"># Get a slice (from index 1 to 3) (Output: (32, &amp;#34;Programmer&amp;#34;))&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Tuples are commonly used for storing and handling collections of related but immutable data, such as &lt;em>coordinates&lt;/em>, &lt;em>database records&lt;/em>, or &lt;em>configuration settings&lt;/em>.&lt;/p>
&lt;hr>
&lt;h2 id="sets">Sets&lt;/h2>
&lt;p>Sets are &lt;strong>unordered&lt;/strong> collections of &lt;strong>unique&lt;/strong> elements. They are &lt;strong>mutable&lt;/strong>, meaning you can add or remove elements after creating the set. Sets are useful for performing mathematical operations like &lt;em>union&lt;/em>, &lt;em>intersection&lt;/em>, and &lt;em>difference&lt;/em> on collections of elements.&lt;/p>
&lt;hr>
&lt;h3 id="creating-sets">Creating Sets&lt;/h3>
&lt;p>Sets are defined using curly braces &lt;code>{}&lt;/code> or the &lt;code>set()&lt;/code> function.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">fruits&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="s2">&amp;#34;apple&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;banana&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;cherry&amp;#34;&lt;/span>&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="n">numbers&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">set&lt;/span>&lt;span class="p">([&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">5&lt;/span>&lt;span class="p">])&lt;/span> &lt;span class="c1"># Duplicates are automatically removed&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="set-operations">Set Operations&lt;/h3>
&lt;p>Sets support various operations, such as &lt;em>adding&lt;/em> and &lt;em>removing&lt;/em> elements, performing &lt;em>set operations&lt;/em>, and more.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">&lt;span class="n">fruits&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="s2">&amp;#34;apple&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;banana&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;cherry&amp;#34;&lt;/span>&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl">&lt;span class="n">fruits&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">add&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;orange&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Add an element to the set&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl">&lt;span class="n">fruits&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">remove&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;banana&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Remove an element from the set&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl">&lt;span class="n">fruits&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">discard&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;kiwi&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Remove an element if it exists (no error if not)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl">&lt;span class="n">numbers&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">5&lt;/span>&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl">&lt;span class="n">even_numbers&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">6&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">8&lt;/span>&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">numbers&lt;/span> &lt;span class="o">|&lt;/span> &lt;span class="n">even_numbers&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Union (Output: {1, 2, 3, 4, 5, 6, 8})&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">11&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">numbers&lt;/span> &lt;span class="o">&amp;amp;&lt;/span> &lt;span class="n">even_numbers&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Intersection (Output: {2, 4})&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">12&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">numbers&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">even_numbers&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Difference (Output: {1, 3, 5})&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Sets are useful for &lt;em>removing duplicates&lt;/em>, &lt;em>performing mathematical operations&lt;/em> on collections, and &lt;em>maintaining&lt;/em> an unordered collection of &lt;em>unique&lt;/em> elements.&lt;/p>
&lt;hr>
&lt;h2 id="dictionaries">Dictionaries&lt;/h2>
&lt;p>Dictionaries are &lt;strong>unordered&lt;/strong> collections of &lt;strong>key-value pairs&lt;/strong>. They are &lt;strong>mutable&lt;/strong>, meaning you can add, modify, or remove key-value pairs after creating the dictionary. Dictionaries are useful for &lt;em>storing&lt;/em> and &lt;em>retrieving&lt;/em> data based on keys.&lt;/p>
&lt;hr>
&lt;h3 id="creating-dictionaries">Creating Dictionaries&lt;/h3>
&lt;p>Dictionaries are defined using curly braces &lt;code>{}&lt;/code> with key-value pairs separated by colons.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">person&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="s2">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;John&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;age&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">32&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;occupation&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;Programmer&amp;#34;&lt;/span>&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="n">empty_dict&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="dictionary-operations">Dictionary Operations&lt;/h3>
&lt;p>Dictionaries support various operations, such as &lt;em>accessing&lt;/em>, &lt;em>adding&lt;/em>, &lt;em>modifying&lt;/em>, and &lt;em>removing&lt;/em> key-value pairs.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">person&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="s2">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;John&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;age&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">32&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;occupation&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;Programmer&amp;#34;&lt;/span>&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">person&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">])&lt;/span> &lt;span class="c1"># Access the value associated with the &amp;#34;name&amp;#34; key (Output: &amp;#34;John&amp;#34;)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">&lt;span class="n">person&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;age&amp;#34;&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">33&lt;/span> &lt;span class="c1"># Modify the value associated with the &amp;#34;age&amp;#34; key&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">&lt;span class="n">person&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;location&amp;#34;&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s2">&amp;#34;USA&amp;#34;&lt;/span> &lt;span class="c1"># Add a new key-value pair&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl">&lt;span class="k">del&lt;/span> &lt;span class="n">person&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;occupation&amp;#34;&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="c1"># Remove a key-value pair&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl">&lt;span class="k">for&lt;/span> &lt;span class="n">key&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">value&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">person&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">items&lt;/span>&lt;span class="p">():&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">8&lt;/span>&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">key&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">: &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">value&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Iterate over key-value pairs&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Dictionaries are used for &lt;em>storing&lt;/em> and &lt;em>retrieving&lt;/em> data based on keys, representing structured data like objects or records, and implementing efficient &lt;em>lookup&lt;/em> and &lt;em>retrieval&lt;/em> operations.&lt;/p>
&lt;hr>
&lt;h2 id="list-comprehensions">List Comprehensions&lt;/h2>
&lt;p>List comprehensions in Python provide a concise and efficient way to create lists from existing iterables (such as lists, tuples, or strings) based on specific conditions or transformations. They offer a more readable and expressive syntax compared to traditional &lt;code>for&lt;/code> loops and can often lead to more compact and optimized code.&lt;/p>
&lt;hr>
&lt;h3 id="basic-syntax">Basic Syntax&lt;/h3>
&lt;p>The basic syntax for a list comprehension is as follows:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">new_list&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">expression&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="n">item&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">iterable&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ul>
&lt;li>&lt;code>new_list&lt;/code>: The new list created by the list comprehension.&lt;/li>
&lt;li>&lt;code>expression&lt;/code>: The operation or transformation applied to each item in the iterable.&lt;/li>
&lt;li>&lt;code>item&lt;/code>: The variable representing each element in the iterable.&lt;/li>
&lt;li>&lt;code>iterable&lt;/code>: The sequence (list, tuple, string, etc.) from which the elements are drawn.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;ul>
&lt;li>Example:&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">numbers&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">5&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="n">squared_numbers&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">x&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="n">x&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">numbers&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">squared_numbers&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Output: [1, 4, 9, 16, 25]&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>In this example, the list comprehension creates a new list &lt;code>squared_numbers&lt;/code> by squaring each element &lt;code>x&lt;/code> in the &lt;code>numbers&lt;/code> list.&lt;/p>
&lt;hr>
&lt;h3 id="using-conditionals">Using Conditionals&lt;/h3>
&lt;p>List comprehensions can also include conditional statements to filter or transform elements based on specific conditions.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">numbers&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">5&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">6&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">7&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">8&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">9&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">10&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="n">even_numbers&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">x&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="n">x&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">numbers&lt;/span> &lt;span class="k">if&lt;/span> &lt;span class="n">x&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">2&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">even_numbers&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Output: [2, 4, 6, 8, 10]&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>In this example, the list comprehension creates a new list &lt;code>even_numbers&lt;/code> by including only the elements &lt;code>x&lt;/code> from &lt;code>numbers&lt;/code> that are divisible by 2 (even numbers).&lt;/p>
&lt;hr>
&lt;h3 id="nested-comprehensions">Nested Comprehensions&lt;/h3>
&lt;p>List comprehensions can be nested to create more complex expressions or work with multiple iterables.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">matrix&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">4&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">5&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">6&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">7&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">8&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">9&lt;/span>&lt;span class="p">]]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="n">flattened&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">num&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="n">row&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">matrix&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="n">num&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">row&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">flattened&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Output: [1, 2, 3, 4, 5, 6, 7, 8, 9]&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>In this example, the nested list comprehension&lt;code>[num for row in matrix for num in row]&lt;/code> flattens the nested &lt;code>matrix&lt;/code> list into a single list &lt;code>flattened&lt;/code>.&lt;/p>
&lt;hr>
&lt;h3 id="conditional-expression-ternary-operator">Conditional Expression (Ternary Operator)&lt;/h3>
&lt;p>List comprehensions can also incorporate conditional expressions (ternary operators) to perform different operations based on conditions.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">numbers&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">5&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">6&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">7&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">8&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">9&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">10&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="n">result&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;even&amp;#34;&lt;/span> &lt;span class="k">if&lt;/span> &lt;span class="n">x&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">2&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span> &lt;span class="k">else&lt;/span> &lt;span class="s2">&amp;#34;odd&amp;#34;&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="n">x&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">numbers&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">result&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Output: [&amp;#39;odd&amp;#39;, &amp;#39;even&amp;#39;, &amp;#39;odd&amp;#39;, &amp;#39;even&amp;#39;, &amp;#39;odd&amp;#39;, &amp;#39;even&amp;#39;, &amp;#39;odd&amp;#39;, &amp;#39;even&amp;#39;, &amp;#39;odd&amp;#39;, &amp;#39;even&amp;#39;]&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>In this example, the list comprehension &lt;code>[&amp;quot;even&amp;quot; if x % 2 == 0 else &amp;quot;odd&amp;quot; for x in numbers]&lt;/code> creates a new list &lt;code>result&lt;/code> by appending the string &amp;ldquo;even&amp;rdquo; if &lt;code>x&lt;/code> is even, and &amp;ldquo;odd&amp;rdquo; if &lt;code>x&lt;/code> is odd.&lt;/p>
&lt;hr>
&lt;p>List comprehensions are powerful and expressive tools that can significantly improve the readability and conciseness of your code when working with lists and iterables in Python. They can help you write more &lt;strong>Pythonic&lt;/strong> and efficient code, especially when dealing with complex data transformations or filtering operations.&lt;/p>
&lt;hr>
&lt;h2 id="questions">Questions?&lt;/h2>
&lt;p>
&lt;/p>
&lt;p>
&lt;/p></description></item><item><title>Session 4: Introduction to Libraries and Modules</title><link>https://SadjadAbedi.ir/slides/pythonbootcamp2024_s4/</link><pubDate>Fri, 15 Mar 2024 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/slides/pythonbootcamp2024_s4/</guid><description>&lt;h1 id="session-4-introduction-to-libraries-and-modules">Session 4: Introduction to Libraries and Modules&lt;/h1>
&lt;p>Instructor :
&lt;/p>
&lt;hr>
&lt;p>Python provides a modular structure that allows you to organize your code into &lt;em>reusable components&lt;/em> called &lt;em>modules&lt;/em> and &lt;em>packages&lt;/em>. These modules and packages can contain &lt;em>variables&lt;/em>, &lt;em>functions&lt;/em>, &lt;em>classes&lt;/em>, and even other modules and packages.&lt;/p>
&lt;p>This modular approach promotes code reuse, maintainability, and collaboration within the Python community.&lt;/p>
&lt;hr>
&lt;h2 id="modules">Modules&lt;/h2>
&lt;p>A module in Python is a &lt;em>single file&lt;/em> containing Python code, such as functions, classes, or variables. Modules help organize code into logical units and promote code reuse across different parts of your program or across different projects.&lt;/p>
&lt;hr>
&lt;h2 id="packages">Packages&lt;/h2>
&lt;p>A package is &lt;em>a collection of modules&lt;/em> organized into a directory structure. Packages allow you to hierarchically organize related modules, making it easier to manage and distribute larger code bases.&lt;/p>
&lt;p>A package is essentially a directory that contains an &lt;code>__init__.py&lt;/code> file, which marks the directory as a Python package. The &lt;code>__init__.py&lt;/code> file can contain initialization code or be left empty.&lt;/p>
&lt;hr>
&lt;h2 id="importing-and-using-modules">Importing and Using Modules&lt;/h2>
&lt;p>To use a module or package in your Python code, you need to import it. The &lt;code>import&lt;/code> statement allows you to access and use the code defined in the imported module or package.&lt;/p>
&lt;hr>
&lt;h3 id="importing-modules">Importing Modules&lt;/h3>
&lt;p>There are several ways to import modules in Python:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Import the entire module&lt;/strong>: &lt;code>import module_name&lt;/code>&lt;/li>
&lt;li>&lt;strong>Import specific objects from a module&lt;/strong>: &lt;code>from module_name import object1, object2&lt;/code>&lt;/li>
&lt;li>&lt;strong>Import a module with an alias&lt;/strong>: &lt;code>import module_name as alias&lt;/code>&lt;/li>
&lt;li>&lt;del>&lt;strong>Import all objects from a module&lt;/strong>: &lt;code>from module_name import *&lt;/code> (not recommended, as it can lead to naming conflicts)&lt;/del>&lt;/li>
&lt;/ol>
&lt;hr>
&lt;p>Example:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">math&lt;/span> &lt;span class="c1"># Import the entire math module&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">math&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">pi&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Access the pi constant from the math module&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">math&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">sqrt&lt;/span> &lt;span class="c1"># Import the sqrt function from the math module&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sqrt&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">16&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="c1"># Use the imported sqrt function&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">random&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">rd&lt;/span> &lt;span class="c1"># Import the random module with an alias&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">8&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">rd&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">randint&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">10&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="c1"># Use the randint function from the random module&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="importing-packages">Importing Packages&lt;/h3>
&lt;p>To import modules from a package, you need to use the package hierarchy in your import statement.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">package_name.module_name&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">package_name.module_name&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">object1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">object2&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="installing-external-libraries">Installing External Libraries&lt;/h3>
&lt;p>Python has a vast ecosystem of external libraries and packages that provide additional functionality beyond the standard library. These external libraries can be installed using package managers like &lt;code>pip&lt;/code> (Python Package Installer) or &lt;code>conda&lt;/code> (Anaconda&amp;rsquo;s package manager).&lt;/p>
&lt;hr>
&lt;p>To install an external library (e.g., NumPy or Matplotlib), you can open the Anaconda Prompt (on Windows) or the terminal (on macOS/Linux) and run the following command:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">conda install library_name
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Replace &lt;code>library_name&lt;/code> with the name of the library you want to install (e.g., &lt;code>numpy&lt;/code> or &lt;code>matplotlib&lt;/code>).&lt;/p>
&lt;p>After installing a library, you can import and use it in your Python code like any other module or package.&lt;/p>
&lt;hr>
&lt;h2 id="built-in-libraries">Built-in Libraries&lt;/h2>
&lt;p>Python comes with a comprehensive standard library that provides a wide range of modules for various tasks. Here are a few examples of commonly used built-in modules:&lt;/p>
&lt;hr>
&lt;ul>
&lt;li>&lt;strong>math&lt;/strong>: This module provides access to mathematical functions and constants, such as &lt;code>pi&lt;/code>, &lt;code>sin()&lt;/code>, &lt;code>cos()&lt;/code>, &lt;code>sqrt()&lt;/code>, and more.&lt;/li>
&lt;li>&lt;strong>random&lt;/strong>: This module provides functions for generating random numbers and making random choices.&lt;/li>
&lt;li>&lt;strong>os&lt;/strong>: The &lt;code>os&lt;/code> module allows you to interact with the operating system, including functions for file and directory operations, environment variables, and more.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;ul>
&lt;li>&lt;strong>re&lt;/strong>: The &lt;code>re&lt;/code> module provides support for regular expressions, which are powerful patterns for text processing and manipulation.&lt;/li>
&lt;li>&lt;strong>datetime&lt;/strong>: This module supplies classes for working with dates, times, and time intervals, making it easier to perform date and time operations.&lt;/li>
&lt;li>&lt;strong>json&lt;/strong>: The &lt;code>json&lt;/code> module allows you to encode and decode JSON (JavaScript Object Notation) data, which is a lightweight data interchange format.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h3 id="examples-of-math-module">Examples of &lt;code>math&lt;/code> Module&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">math&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">math&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">pi&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Output: 3.141592653589793 (pi constant)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">math&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">sqrt&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">16&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="c1"># Output: 4.0 (square root)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">math&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">sin&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="c1"># Output: 0.0 (sine function)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">math&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">cos&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">math&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">pi&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="c1"># Output: 6.123233995736766e-17 (cosine function)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">math&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">floor&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mf">3.7&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="c1"># Output: 3 (floor function)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">8&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">math&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">ceil&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mf">3.2&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="c1"># Output: 4 (ceiling function)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="examples-of-random-module">Examples of &lt;code>random&lt;/code> Module&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">random&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">random&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">random&lt;/span>&lt;span class="p">())&lt;/span> &lt;span class="c1"># Output: A random float between 0 and 1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">random&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">uniform&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">10&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="c1"># Output: A random float between 1 and 10&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">random&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">randint&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">6&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="c1"># Output: A random integer between 1 and 6 (inclusive)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl">&lt;span class="n">my_list&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">5&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">random&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">choice&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">my_list&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="c1"># Output: A random element from the list&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl">&lt;span class="n">random&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">shuffle&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">my_list&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Shuffle the elements of the list in-place&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">my_list&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Output: The shuffled list&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="popular-external-libraries">Popular External Libraries&lt;/h2>
&lt;p>The Python ecosystem is enriched by a vast collection of external libraries and packages contributed by the community. These libraries offer specialized functionality for various domains. Here&amp;rsquo;s a description of some popular external libraries:&lt;/p>
&lt;hr>
&lt;ul>
&lt;li>&lt;strong>NumPy&lt;/strong>: A powerful library for &lt;em>numerical computing&lt;/em>, providing support for large, multi-dimensional &lt;em>arrays&lt;/em> and &lt;em>matrices&lt;/em>, along with a vast collection of mathematical functions to operate on these arrays.&lt;/li>
&lt;li>&lt;strong>Matplotlib&lt;/strong>: A comprehensive &lt;em>data visualization&lt;/em> library for creating static, animated, and interactive visualizations in Python, including plots, histograms, bar charts, scatter plots, and more.&lt;/li>
&lt;li>&lt;strong>Pandas&lt;/strong>: A high-performance, easy-to-use &lt;em>data manipulation and analysis&lt;/em> library for working with structured (tabular, multidimensional, heterogeneous) and time-series data.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;ul>
&lt;li>&lt;strong>SciPy&lt;/strong>: A collection of mathematical algorithms and convenience functions for &lt;em>scientific and technical computing&lt;/em>, including modules for optimization, linear algebra, integration, interpolation, and more.&lt;/li>
&lt;li>&lt;strong>Scikit-learn&lt;/strong>: A &lt;em>machine learning&lt;/em> library that provides simple and efficient tools for data mining and data analysis, including classification, regression, clustering, dimensionality reduction, and more.&lt;/li>
&lt;li>&lt;strong>TensorFlow&lt;/strong>: A powerful library for &lt;em>machine learning&lt;/em> and &lt;em>deep learning&lt;/em>, used for building and deploying neural networks and other machine learning models.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;ul>
&lt;li>&lt;strong>Requests&lt;/strong>: A simple and elegant library for making &lt;em>HTTP requests&lt;/em>, handling cookies, file uploads, and more.&lt;/li>
&lt;li>&lt;strong>Django&lt;/strong>: A high-level Python web framework that encourages rapid development and clean, pragmatic design for &lt;em>web applications&lt;/em>.&lt;/li>
&lt;li>&lt;strong>Flask&lt;/strong>: A lightweight, flexible, and minimalist Python web framework for building &lt;em>web applications&lt;/em>.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="introducing-numpy-for-numerical-computing">Introducing NumPy (for Numerical Computing)&lt;/h2>
&lt;p>&lt;strong>NumPy&lt;/strong> (Numerical Python) is a fundamental library for &lt;em>scientific computing&lt;/em> in Python. It provides support for large, multi-dimensional arrays and matrices, as well as a vast collection of mathematical functions to operate on these arrays efficiently.&lt;/p>
&lt;hr>
&lt;p>NumPy is widely used in various fields, including data analysis, machine learning, scientific computing, and more. It serves as the foundation for many other scientific libraries in the Python ecosystem, such as &lt;em>Pandas&lt;/em>, &lt;em>SciPy&lt;/em>, and &lt;em>Matplotlib&lt;/em>.&lt;/p>
&lt;hr>
&lt;h3 id="numpy-arrays">NumPy Arrays&lt;/h3>
&lt;p>The core data structure in NumPy is the &lt;code>ndarray&lt;/code> (N-dimensional array). NumPy arrays are &lt;em>efficient&lt;/em>, &lt;em>homogeneous&lt;/em> (containing elements of the same data type), and provide a wide range of operations and functions to work with them.&lt;/p>
&lt;hr>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">numpy&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">np&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="c1"># Creating NumPy arrays&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">&lt;span class="n">a&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">array&lt;/span>&lt;span class="p">([&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">5&lt;/span>&lt;span class="p">])&lt;/span> &lt;span class="c1"># 1D array&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">&lt;span class="n">b&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">array&lt;/span>&lt;span class="p">([[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="p">]])&lt;/span> &lt;span class="c1"># 2D array&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl">&lt;span class="n">c&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">zeros&lt;/span>&lt;span class="p">((&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="c1"># 3x4 array filled with zeros&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl">&lt;span class="n">d&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">ones&lt;/span>&lt;span class="p">((&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="c1"># 2x3x4 array filled with ones&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">8&lt;/span>&lt;span class="cl">&lt;span class="n">e&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">arange&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">10&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># 1D array with values from 0 to 9&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">9&lt;/span>&lt;span class="cl">&lt;span class="n">f&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">linspace&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">5&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># 1D array with 5 evenly spaced values between 0 and 1&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">&lt;span class="c1"># Array operations&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Output: [3 4 5 6 7] (Element-wise addition)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="n">b&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Output: [[ 1 4]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl"> &lt;span class="c1"># [ 9 16]] (Element-wise multiplication)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">sqrt&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="c1"># Output: [1. 1.41421356 1.73205081 2. 2.23606798] (Square root)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">sum&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">b&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="c1"># Output: 10 (Sum of all elements)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">mean&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="c1"># Output: 3.0 (Mean of the elements)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl">&lt;span class="c1"># Array indexing and slicing&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">b&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="p">:])&lt;/span> &lt;span class="c1"># Output: [1 2] (First row of b)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">11&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">b&lt;/span>&lt;span class="p">[:,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">])&lt;/span> &lt;span class="c1"># Output: [2 4] (Second column of b)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">12&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">b&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">])&lt;/span> &lt;span class="c1"># Output: 4 (Element at row 1, column 1 of b)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="c1"># Array reshaping&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="n">g&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">a&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">reshape&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">5&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Reshaping 1D array a into a 2D array with shape (1, 5)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">g&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Output: [[1 2 3 4 5]]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">&lt;span class="c1"># Array concatenation&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl">&lt;span class="n">h&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">concatenate&lt;/span>&lt;span class="p">((&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">e&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="n">axis&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Concatenate a and e along the first axis&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">h&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># Output: [1 2 3 4 5 0 1 2 3 4 5 6 7 8 9]&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="introducing-matplotlib-for-data-visualization">Introducing Matplotlib (for Data Visualization)&lt;/h2>
&lt;p>Matplotlib is a comprehensive &lt;em>data visualization&lt;/em> library in Python. It provides a wide range of tools and functions for creating static, animated, and interactive visualizations in various formats, including plots, histograms, bar charts, scatter plots, and more.&lt;/p>
&lt;hr>
&lt;h3 id="basic-plotting">Basic Plotting&lt;/h3>
&lt;p>Matplotlib provides a &lt;em>MATLAB-like&lt;/em> interface for creating plots. Here&amp;rsquo;s an example of creating a simple line plot:&lt;/p>
&lt;hr>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">matplotlib.pyplot&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">plt&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">numpy&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">np&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl">&lt;span class="c1"># Generate some data&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl">&lt;span class="n">x&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">linspace&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">10&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">100&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl">&lt;span class="n">y&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">sin&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">x&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl">&lt;span class="c1"># Create a figure and axes&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl">&lt;span class="n">fig&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">ax&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">plt&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">subplots&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">11&lt;/span>&lt;span class="cl">&lt;span class="c1"># Plot the data&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">12&lt;/span>&lt;span class="cl">&lt;span class="n">ax&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">x&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">y&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">13&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">14&lt;/span>&lt;span class="cl">&lt;span class="c1"># Add labels and title&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">15&lt;/span>&lt;span class="cl">&lt;span class="n">ax&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">set_xlabel&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;X&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">16&lt;/span>&lt;span class="cl">&lt;span class="n">ax&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">set_ylabel&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;Y&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">17&lt;/span>&lt;span class="cl">&lt;span class="n">ax&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">set_title&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;Sine Wave&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">18&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">19&lt;/span>&lt;span class="cl">&lt;span class="c1"># Display the plot&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">20&lt;/span>&lt;span class="cl">&lt;span class="n">plt&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">show&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="plot-customization">Plot Customization&lt;/h3>
&lt;p>Matplotlib offers extensive customization options for plots, allowing you to adjust colors, line styles, markers, legends, and more.&lt;/p>
&lt;hr>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">matplotlib.pyplot&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">plt&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">numpy&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">np&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl">&lt;span class="c1"># Generate some data&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl">&lt;span class="n">x&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">linspace&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">10&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">10&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">100&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl">&lt;span class="n">y1&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">x&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl">&lt;span class="n">y2&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">x&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="mi">3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl">&lt;span class="c1"># Create a figure and axes&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl">&lt;span class="n">fig&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">ax&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">plt&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">subplots&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">11&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">12&lt;/span>&lt;span class="cl">&lt;span class="c1"># Plot the data&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">13&lt;/span>&lt;span class="cl">&lt;span class="n">ax&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">x&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">y1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">color&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s1">&amp;#39;r&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">label&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s1">&amp;#39;Square&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">14&lt;/span>&lt;span class="cl">&lt;span class="n">ax&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">x&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">y2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">color&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s1">&amp;#39;g&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">linestyle&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s1">&amp;#39;--&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">marker&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s1">&amp;#39;o&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">label&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s1">&amp;#39;Cube&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">15&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">16&lt;/span>&lt;span class="cl">&lt;span class="c1"># Add labels, title, and legend&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">17&lt;/span>&lt;span class="cl">&lt;span class="n">ax&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">set_xlabel&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;X&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">18&lt;/span>&lt;span class="cl">&lt;span class="n">ax&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">set_ylabel&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;Y&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">19&lt;/span>&lt;span class="cl">&lt;span class="n">ax&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">set_title&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;Polynomial Plots&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">20&lt;/span>&lt;span class="cl">&lt;span class="n">ax&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">legend&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">21&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">22&lt;/span>&lt;span class="cl">&lt;span class="c1"># Display the plot&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">23&lt;/span>&lt;span class="cl">&lt;span class="n">plt&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">show&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="other-visualization-types">Other Visualization Types&lt;/h3>
&lt;p>Matplotlib supports various types of visualizations beyond line plots, including:&lt;/p>
&lt;ul>
&lt;li>Scatter plots&lt;/li>
&lt;li>Bar charts&lt;/li>
&lt;li>Histograms&lt;/li>
&lt;li>Pie charts&lt;/li>
&lt;li>3D plots&lt;/li>
&lt;li>Contour plots&lt;/li>
&lt;li>Image plots&lt;/li>
&lt;/ul>
&lt;hr>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">matplotlib.pyplot&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">plt&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">numpy&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">np&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl">&lt;span class="c1"># Generate some data&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl">&lt;span class="n">data&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">random&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">normal&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1000&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl">&lt;span class="c1"># Create a figure and axes&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl">&lt;span class="n">fig&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">ax&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">plt&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">subplots&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl">&lt;span class="c1"># Plot a histogram&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">11&lt;/span>&lt;span class="cl">&lt;span class="n">ax&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">hist&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">data&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">bins&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">20&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">edgecolor&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s1">&amp;#39;black&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">12&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">13&lt;/span>&lt;span class="cl">&lt;span class="c1"># Add labels and title&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">14&lt;/span>&lt;span class="cl">&lt;span class="n">ax&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">set_xlabel&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;Value&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">15&lt;/span>&lt;span class="cl">&lt;span class="n">ax&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">set_ylabel&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;Frequency&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">16&lt;/span>&lt;span class="cl">&lt;span class="n">ax&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">set_title&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;Histogram&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">17&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">18&lt;/span>&lt;span class="cl">&lt;span class="c1"># Display the plot&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">19&lt;/span>&lt;span class="cl">&lt;span class="n">plt&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">show&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="reading-and-writing-files">Reading and Writing Files&lt;/h2>
&lt;p>Working with files is a fundamental aspect of many programming tasks. Python provides built-in functions and modules for reading and writing files, allowing you to interact with various file formats and perform file operations efficiently.&lt;/p>
&lt;hr>
&lt;h3 id="reading-files">Reading Files&lt;/h3>
&lt;p>Python provides the &lt;code>open()&lt;/code> function to open files for reading or writing. Here&amp;rsquo;s an example of reading the contents of a text file:&lt;/p>
&lt;hr>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">&lt;span class="c1"># Open a file in read mode&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl">&lt;span class="n">file&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;example.txt&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s1">&amp;#39;r&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl">&lt;span class="c1"># Read the entire file&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl">&lt;span class="n">content&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">file&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">read&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">content&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl">&lt;span class="c1"># Read a single line&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl">&lt;span class="n">line&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">file&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">readline&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">line&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">11&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">12&lt;/span>&lt;span class="cl">&lt;span class="c1"># Read all lines into a list&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">13&lt;/span>&lt;span class="cl">&lt;span class="n">lines&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">file&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">readlines&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">14&lt;/span>&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">lines&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">15&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">16&lt;/span>&lt;span class="cl">&lt;span class="c1"># Close the file&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">17&lt;/span>&lt;span class="cl">&lt;span class="n">file&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">close&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;p>It&amp;rsquo;s recommended to use the with statement when working with files, as it ensures the file is properly closed after the operations are completed, even in the case of exceptions or errors.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="c1"># Open a file using the with statement&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="k">with&lt;/span> &lt;span class="nb">open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;example.txt&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s1">&amp;#39;r&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="n">file&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl"> &lt;span class="c1"># Read the file contents&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl"> &lt;span class="n">content&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">file&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">read&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">content&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="writing-files">Writing Files&lt;/h2>
&lt;p>Writing to files is similar to reading, but you need to open the file in write mode (&lt;code>w&lt;/code>) or append mode (&lt;code>a&lt;/code>).&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="c1"># Open a file in write mode (will create the file if it doesn&amp;#39;t exist)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="k">with&lt;/span> &lt;span class="nb">open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;output.txt&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s1">&amp;#39;w&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="n">file&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl"> &lt;span class="n">file&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">write&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;This is a new line&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s1">&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl"> &lt;span class="n">file&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">write&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;This is another line&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s1">&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl">&lt;span class="c1"># Open a file in append mode&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">8&lt;/span>&lt;span class="cl">&lt;span class="k">with&lt;/span> &lt;span class="nb">open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;output.txt&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s1">&amp;#39;a&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="n">file&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">9&lt;/span>&lt;span class="cl"> &lt;span class="n">file&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">write&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;This line is appended&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s1">&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h3 id="working-with-other-file-formats">Working with Other File Formats&lt;/h3>
&lt;p>Python&amp;rsquo;s standard library and third-party libraries provide support for working with various file formats, such as &lt;em>CSV&lt;/em>, &lt;em>JSON&lt;/em>, &lt;em>Excel&lt;/em>, and more.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">&lt;span class="c1"># Working with CSV files&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">csv&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl">&lt;span class="c1"># Open a CSV file and read its contents&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl">&lt;span class="k">with&lt;/span> &lt;span class="nb">open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;data.csv&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s1">&amp;#39;r&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="n">file&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl"> &lt;span class="n">reader&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">csv&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">reader&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">file&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="n">row&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">reader&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">row&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl">&lt;span class="c1"># Open a CSV file and write data to it&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">11&lt;/span>&lt;span class="cl">&lt;span class="k">with&lt;/span> &lt;span class="nb">open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;output.csv&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s1">&amp;#39;w&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">newline&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s1">&amp;#39;&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="n">file&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">12&lt;/span>&lt;span class="cl"> &lt;span class="n">writer&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">csv&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">writer&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">file&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">13&lt;/span>&lt;span class="cl"> &lt;span class="n">writer&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">writerow&lt;/span>&lt;span class="p">([&lt;/span>&lt;span class="s1">&amp;#39;Name&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s1">&amp;#39;Age&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s1">&amp;#39;City&amp;#39;&lt;/span>&lt;span class="p">])&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">14&lt;/span>&lt;span class="cl"> &lt;span class="n">writer&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">writerow&lt;/span>&lt;span class="p">([&lt;/span>&lt;span class="s1">&amp;#39;John&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">25&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s1">&amp;#39;New York&amp;#39;&lt;/span>&lt;span class="p">])&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">15&lt;/span>&lt;span class="cl"> &lt;span class="n">writer&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">writerow&lt;/span>&lt;span class="p">([&lt;/span>&lt;span class="s1">&amp;#39;Jane&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">30&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s1">&amp;#39;London&amp;#39;&lt;/span>&lt;span class="p">])&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="questions">Questions?&lt;/h2>
&lt;p>
&lt;/p>
&lt;p>
&lt;/p></description></item><item><title>Mathematics of 2D Shapes: Line and Rectangle SDFs Unveiled</title><link>https://SadjadAbedi.ir/post/mathematics-of-2d-shapes-line-and-rectangle-sdfs-unveiled/</link><pubDate>Fri, 15 Dec 2023 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/post/mathematics-of-2d-shapes-line-and-rectangle-sdfs-unveiled/</guid><description>&lt;p>In our
of Signed Distance Functions (SDFs), we demystified their role in representing and manipulating geometric shapes. Now, let&amp;rsquo;s delve deeper into the mathematical intricacies of SDFs, focusing specifically on lines and rectangles in 2D geometry.&lt;/p>
&lt;h2 id="the-significance-of-line-sdfs">The Significance of Line SDFs&lt;/h2>
&lt;p>A &lt;strong>Line Signed Distance Function (SDF)&lt;/strong> assigns a real number to each point in space, representing the distance from that point to the nearest point on a specified line. The sign of this distance indicates whether the point lies to the left or right of the line. Mathematically, the signed distance from a point $ P(x,y) $ to a line $L$ defined by two points $ (x_1, y_1) $ and $ (x_2, y_2) $ on it can be calculated in three steps:&lt;/p>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Vector Representation:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Define vector $ \mathbf{a} $ as the direction vector of the line:
$$ \mathbf{a} = \begin{bmatrix} x_2 - x_1 \ y_2 - y_1 \end{bmatrix} $$&lt;/li>
&lt;li>Normalize $ \mathbf{a} $ to obtain a unit vector $ \hat{\mathbf{a}} $:
$$ \hat{\mathbf{a}} = \frac{\mathbf{a}}{|\mathbf{a}|} $$&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Position Vector:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Define vector $ \mathbf{b} $ as the position vector from any point on the line $L$ to point $ P $: $$ \mathbf{b} = \begin{bmatrix} x - x_1 \ y - y_1 \end{bmatrix} $$&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Dot Product:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Calculate the dot product of $ \mathbf{b} $ and a vector perpendicular to $ \mathbf{a} $: $$ d = \mathbf{b} \cdot \begin{bmatrix} a_y \ -a_x \end{bmatrix} $$&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;h3 id="understanding-line-sdf-values">Understanding Line SDF Values&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Positive SDF:&lt;/strong> Points to the right of the line (when facing along the line&amp;rsquo;s direction) will have a positive SDF value.&lt;/li>
&lt;li>&lt;strong>Negative SDF:&lt;/strong> Points to the left of the line will have a negative SDF value.&lt;/li>
&lt;li>&lt;strong>Zero SDF:&lt;/strong> Points lying on the line will have an SDF value of zero.&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>The visualization of line SDF is available at
using
module.&lt;/p>
&lt;/blockquote>
&lt;h3 id="unraveling-rectangle-sdfs">Unraveling Rectangle SDFs&lt;/h3>
&lt;p>Continuing our exploration of signed distance functions (SDFs), let&amp;rsquo;s delve into rectangles. A rectangle can be defined by its bottom-left corner coordinates $(x_1, y_1)$ and top-right corner coordinates $(x_2, y_2)$. The signed distance function $d_{\text{Rectangle}}$ for a point $P = (x, y)$ to this rectangle is expressed as:&lt;/p>
&lt;p>$$
d_{\text{Rectangle}}(P) = \max\left(x_1 - x, x - x_2, y_1 - y, y - y_2, 0\right)
$$&lt;/p>
&lt;p>The function accounts for the distances to each side of the rectangle, considering negative distances for points inside the rectangle and positive distances for points outside. The overall signed distance is determined by taking the maximum among these distances.&lt;/p>
&lt;h3 id="directionality-matters">Directionality Matters&lt;/h3>
&lt;p>For rectangles, the order of corner points matters, affecting the orientation of the SDF. Ensure consistency in the order to maintain a coherent representation.&lt;/p>
&lt;blockquote>
&lt;p>The visualization of rectangle SDF is available at
using
module.&lt;/p>
&lt;/blockquote>
&lt;h2 id="other-2d-shapes-with-known-sdfs">Other 2D Shapes with Known SDFs&lt;/h2>
&lt;p>In addition to
,
and
, various other 2D shapes have well-defined SDFs. While we won&amp;rsquo;t delve deep into them in this post, some noteworthy shapes include ellipses, triangles, and regular polygons.&lt;/p>
&lt;p>By understanding the mathematics behind SDFs for lines and rectangles, we pave the way for more advanced explorations into 2D geometry and computational modeling. Stay tuned for future posts as we continue our journey through the captivating world of implicit geometry.&lt;/p>
&lt;p>Feel free to experiment with the provided mathematical expressions and incorporate visual illustrations to enhance your understanding. Mathematics becomes a powerful tool when coupled with visualization.&lt;/p>
&lt;p>Happy exploring!&lt;/p></description></item><item><title>Demystifying Signed Distance Functions</title><link>https://SadjadAbedi.ir/post/demystifying-signed-distance-functions/</link><pubDate>Sun, 10 Dec 2023 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/post/demystifying-signed-distance-functions/</guid><description>&lt;h1 id="demystifying-signed-distance-functions">Demystifying Signed Distance Functions&lt;/h1>
&lt;p>In the realm of mathematics and computer graphics, signed distance functions (SDFs) play a pivotal role in representing and manipulating geometric shapes. Unlike traditional polygonal meshes, which store vertices and connectivity information, SDFs define shapes implicitly, offering a powerful and flexible approach to 3D modeling and simulation.&lt;/p>
&lt;h2 id="what-is-a-signed-distance-function">What is a Signed Distance Function?&lt;/h2>
&lt;p>At its core, an SDF is a mathematical function that assigns a real number to each point in space, representing the distance from that point to the nearest boundary of a specified shape. This distance value carries a sign, indicating whether the point lies inside, outside, or on the boundary of the shape.&lt;/p>
&lt;h3 id="properties-of-signed-distance-functions">Properties of Signed Distance Functions&lt;/h3>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Non-parametric Representation:&lt;/strong> SDFs describe shapes without explicit geometric data, making them ideal for representing complex shapes and adapting to deformations.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Global Shape Representation:&lt;/strong> SDFs provide a global representation of a shape, allowing for efficient proximity queries and intersection detection crucial for computational geometry.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Differentiable:&lt;/strong> SDFs are differentiable, enabling smooth transitions between different shape representations and their derivatives, a key aspect in mesh generation.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h3 id="applications-of-signed-distance-functions">Applications of Signed Distance Functions&lt;/h3>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Mesh Generation for Physics Simulations:&lt;/strong> SDFs are widely used in physics simulations to represent objects and their interactions, enabling the creation of high-quality meshes representing objects with complex shapes, realistic collision detection and physics calculations.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Level of Detail (LOD):&lt;/strong> SDFs facilitate efficient LOD management by allowing for the creation of high-quality representations at various levels of detail.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Procedural Modeling:&lt;/strong> SDFs are the foundation of procedural modeling techniques, enabling the creation of organic and complex shapes from simple mathematical rules.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Graphics Rendering:&lt;/strong> SDFs play a crucial role in ray tracing algorithms, enabling ray casting and intersection detection for realistic graphics rendering.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h2 id="understanding-the-mathematical-significance">Understanding the Mathematical Significance&lt;/h2>
&lt;p>In mathematical terms, the sign of the distance values generated by the SDF holds crucial information about the relative position of a point to the shape:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Negative Values:&lt;/strong> Points with negative SDF values lie inside the shape&amp;rsquo;s boundary. The magnitude of the negative value represents how far inside the point is relative to the nearest surface.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Positive Values:&lt;/strong> Points with positive SDF values are located outside the shape. Similar to negative values, the magnitude indicates the distance from the point to the nearest surface outside the shape.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Zero Value:&lt;/strong> A point with an SDF value of zero resides exactly on the shape&amp;rsquo;s boundary.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>Mathematically, the SDF function can be represented as follows for a given point $P$ in space:&lt;/p>
&lt;p>$$ SDF(P) = \text{Distance from } P \text{ to the nearest surface} $$&lt;/p>
&lt;p>The sign of $SDF(P)$ provides a concise indication of whether the point $P$ is inside, outside, or on the boundary of the represented shape.&lt;/p>
&lt;p>This mathematical understanding is foundational for computational geometry algorithms and plays a pivotal role in mesh generation processes, guiding the placement of vertices and defining the geometry of the resulting mesh.&lt;/p>
&lt;h3 id="mathematical-example-sdf-for-a-circle">Mathematical Example: SDF for a Circle&lt;/h3>
&lt;p>Consider a two-dimensional space ($x, y$) and a circle centered at the origin with a radius of $r$. The SDF for this circle ($SDF_{\text{circle}}$) at a given point $(x, y)$ can be expressed as follows:&lt;/p>
&lt;p>$$
SDF_{\text{circle}}(x, y) = \sqrt{x^2 + y^2} - r
$$&lt;/p>
&lt;p>In this equation:&lt;/p>
&lt;ul>
&lt;li>$SDF_{\text{circle}}(x, y)$ is the signed distance function for the circle.&lt;/li>
&lt;li>$\sqrt{x^2 + y^2}$ calculates the Euclidean distance from the point $(x, y)$ to the origin.&lt;/li>
&lt;li>$r$ is the radius of the circle.&lt;/li>
&lt;/ul>
&lt;p>Now, let&amp;rsquo;s break down the sign of $SDF_{\text{circle}}(x, y)$ based on the relative position of the point to the circle:&lt;/p>
&lt;ul>
&lt;li>If $SDF_{\text{circle}}(x, y) &amp;lt; 0$, the point $(x, y)$ is inside the circle.&lt;/li>
&lt;li>If $SDF_{\text{circle}}(x, y) &amp;gt; 0$, the point $(x, y)$ is outside the circle.&lt;/li>
&lt;li>If $SDF_{\text{circle}}(x, y) = 0$, the point $(x, y)$ is exactly on the boundary of the circle.&lt;/li>
&lt;/ul>
&lt;p>This mathematical example illustrates how the SDF values can be computed for a simple geometric shape like a circle, forming the basis for more complex computations in computational geometry and mesh generation.&lt;/p>
&lt;h3 id="example-python-code-creating-a-circle-sdf">Example Python Code: Creating a Circle SDF&lt;/h3>
&lt;p>The following Python code defines an SDF function for a circle:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">numpy&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">np&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">circle_sdf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">x&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">y&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">center&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="n">radius&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">80&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">sqrt&lt;/span>&lt;span class="p">((&lt;/span>&lt;span class="n">x&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">center&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">])&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="mi">2&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">y&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">center&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">])&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="n">radius&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This function takes two-dimensional coordinates as input and returns the distance from the point to the circle&amp;rsquo;s boundary.&lt;/p>
&lt;h2 style="text-align: center;">Signed Distance Function Visualization&lt;/h2>
&lt;iframe src="https://SadjadAbedi.ir/circle_sdf.html" width="100%" height="400px" frameborder="0">&lt;/iframe>
&lt;blockquote>
&lt;p>The visualization of circle SDF is also available at
using
module.&lt;/p>
&lt;/blockquote></description></item><item><title>pyPolyMesher: Polygonal mesh generator</title><link>https://SadjadAbedi.ir/project/pypolymesher/</link><pubDate>Sat, 09 Dec 2023 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/project/pypolymesher/</guid><description>&lt;h1 id="introduction">Introduction&lt;/h1>
&lt;p>&lt;strong>PyPolyMesher&lt;/strong> is a powerful Python library designed for polygon mesh generation, drawing inspiration from the renowned
. Leveraging the flexibility and efficiency of Python, this library empowers users to effortlessly create polygonal meshes using signed distance functions of different domains.&lt;/p>
&lt;h1 id="features">Features&lt;/h1>
&lt;ul>
&lt;li>Seamlessly generate structured quadrilateral elements from specified points.&lt;/li>
&lt;li>Effortlessly create unstructured polygon elements using randomly generated points.&lt;/li>
&lt;li>Comprehensive SDF support for all example domains featured in the original program.&lt;/li>
&lt;li>Easily generate the SDF for new domains with user-friendly functionality.&lt;/li>
&lt;li>Import polygon-shaped domains directly from dxf files.&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>Explore the
file for detailed insights into features and usage.&lt;/p>
&lt;/blockquote>
&lt;h1 id="license">License&lt;/h1>
&lt;p>Distributed under the GPLv3 License. Refer to
for mdetailed licensing information.&lt;/p>
&lt;h1 id="contact">Contact&lt;/h1>
&lt;p>Project Link:
&lt;/p></description></item><item><title>QTREEMESH: Generating QuadTree Mesh from Images</title><link>https://SadjadAbedi.ir/project/qtreemesh/</link><pubDate>Fri, 08 Dec 2023 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/project/qtreemesh/</guid><description>&lt;h1 id="introduction">Introduction&lt;/h1>
&lt;p>QTREEMESH is a Python package that simplifies the generation of Quadtree meshes from images. Quadtree structures, known for their efficiency in spatial data representation, find applications in image processing and finite element analysis. This package provides an intuitive interface for seamlessly generating Quadtree meshes, enabling various image processing and analysis techniques.&lt;/p>
&lt;h1 id="features-v012">Features (v0.1.2)&lt;/h1>
&lt;ul>
&lt;li>Perform QuadTree decomposition of images&lt;/li>
&lt;li>Generate QuadTree mesh&lt;/li>
&lt;li>Export as &lt;code>vtk&lt;/code> format&lt;/li>
&lt;li>Generate FEM-friendly mesh (handling hanging nodes)&lt;/li>
&lt;/ul>
&lt;h1 id="license">License&lt;/h1>
&lt;p>Distributed under the MIT License. See
for more information.&lt;/p>
&lt;h1 id="contact">Contact&lt;/h1>
&lt;p>Project Link:
&lt;/p></description></item><item><title>A Scaled Boundary Finite Element Formulation for Solving Plane-Strain Viscoelastic Problems</title><link>https://SadjadAbedi.ir/publication/paper_viscosbfem/</link><pubDate>Tue, 01 Nov 2022 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/publication/paper_viscosbfem/</guid><description/></item><item><title>Numerical analysis of human head with implant under impact</title><link>https://SadjadAbedi.ir/publication/conf_headimpact/</link><pubDate>Tue, 29 Dec 2020 00:00:00 +0000</pubDate><guid>https://SadjadAbedi.ir/publication/conf_headimpact/</guid><description/></item></channel></rss>