<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Impact Fragmentation on Keqi's blog</title><link>https://yekq.top/en/tags/impact-fragmentation/</link><description>Recent content in Impact Fragmentation on Keqi's blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>plloningye@gmail.com (Keqi Ye)</managingEditor><webMaster>plloningye@gmail.com (Keqi Ye)</webMaster><copyright>Keqi Ye</copyright><lastBuildDate>Tue, 26 May 2026 15:20:00 +0800</lastBuildDate><atom:link href="https://yekq.top/en/tags/impact-fragmentation/index.xml" rel="self" type="application/rss+xml"/><item><title>Nakamura 1991 Basalt Sphere Impact Fragmentation Validation - GASPHiA Test Case</title><link>https://yekq.top/en/posts/gasphia/nakamura1991-basalt-sphere-impact/</link><pubDate>Tue, 26 May 2026 15:20:00 +0800</pubDate><author>plloningye@gmail.com (Keqi Ye)</author><guid>https://yekq.top/en/posts/gasphia/nakamura1991-basalt-sphere-impact/</guid><description>&lt;h1 id="nakamura-1991-basalt-sphere-impact-fragmentation-validation">Nakamura 1991 Basalt Sphere Impact Fragmentation Validation
&lt;/h1>&lt;h2 id="overview">Overview
&lt;/h2>&lt;p>This case reproduces the basalt sphere impact fragmentation experiment of Nakamura &amp;amp; Fujiwara (1991). The core comparison quantity is the &lt;strong>cumulative fragment mass distribution&lt;/strong>:&lt;/p>
&lt;blockquote>
&lt;p>Given a fragment mass threshold &lt;code>M_f&lt;/code>, how many fragments have mass greater than it?&lt;/p>
&lt;/blockquote>
&lt;p>This type of statistic is sensitive to brittle damage, fracture propagation, fragment identification, and post-processing algorithms, making it suitable as a validation standard for whether the fragmentation chain is usable.&lt;/p>
&lt;p>Key data from this run:&lt;/p>
&lt;ul>
&lt;li>Initial total particle count: &lt;code>524065&lt;/code>&lt;/li>
&lt;li>Particles retained after damage threshold filtering (pre-FoF): &lt;code>157751&lt;/code>&lt;/li>
&lt;li>Total connected fragments identified: &lt;code>1594&lt;/code>&lt;/li>
&lt;li>Effective fragments (particle count &amp;gt; 1): &lt;code>509&lt;/code>&lt;/li>
&lt;li>Maximum fragment mass: ~&lt;code>0.262&lt;/code> of the target sphere mass&lt;/li>
&lt;/ul>
&lt;p>&lt;img src="https://yekq.top/posts/gasphia/nakamura1991-basalt-sphere-impact/fragment_mass_distribution.png"
width="1490"
height="936"
srcset="https://yekq.top/posts/gasphia/nakamura1991-basalt-sphere-impact/fragment_mass_distribution_hu77b22c71062a7ab97b19ef48ad3dcce0_132047_480x0_resize_box_3.png 480w, https://yekq.top/posts/gasphia/nakamura1991-basalt-sphere-impact/fragment_mass_distribution_hu77b22c71062a7ab97b19ef48ad3dcce0_132047_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="Nakamura 1991 Fragment Mass Cumulative Distribution"
class="gallery-image"
data-flex-grow="159"
data-flex-basis="382px"
>&lt;/p>
&lt;hr>
&lt;h2 id="validation-objective">Validation Objective
&lt;/h2>&lt;ul>
&lt;li>Damage model&lt;/li>
&lt;li>Particles form reasonable fragment clusters after fracture&lt;/li>
&lt;li>Post-processing algorithm accurately identifies fragments&lt;/li>
&lt;li>Final fragment mass distribution matches experimental or literature trends&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="physical-setup-and-references">Physical Setup and References
&lt;/h2>&lt;p>This case is based on:&lt;/p>
&lt;blockquote>
&lt;p>Nakamura &amp;amp; Fujiwara (1991) basalt sphere impact fragmentation experiment&lt;/p>
&lt;/blockquote>
&lt;p>Model setup:&lt;/p>
&lt;ul>
&lt;li>Target: Basalt sphere&lt;/li>
&lt;li>Projectile: Lucite&lt;/li>
&lt;li>Primary validation quantity: Cumulative fragment mass distribution&lt;/li>
&lt;/ul>
&lt;p>Key geometric and physical quantities set in the input script:&lt;/p>
&lt;ul>
&lt;li>Basalt target sphere radius: &lt;code>3 cm&lt;/code>&lt;/li>
&lt;li>Target density: &lt;code>2700 kg/m^3&lt;/code>&lt;/li>
&lt;li>Projectile density: &lt;code>1180 kg/m^3&lt;/code>&lt;/li>
&lt;li>Projectile initial velocity: &lt;code>3200 m/s&lt;/code>&lt;/li>
&lt;/ul>
&lt;h2 id="how-to-run">How to Run
&lt;/h2>&lt;p>Test directory:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">GASPHiA-Tests/Nakamura1991_BasaltSphereImpact
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>The full workflow consists of four steps:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">python input/input.py
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">./compile.sh
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">CUDA_VISIBLE_DEVICES&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="m">0&lt;/span> ./GASPHIA -i impact.ini
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">python post/fast_fof.py -input output_no_bals/nakamura1991_00020.h5 -outputF post/fragments.txt
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="actual-run-data">Actual Run Data
&lt;/h2>&lt;p>Key metrics extracted from this run and post-processing:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Metric&lt;/th>
&lt;th style="text-align:left">Value&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">Initial total particle count&lt;/td>
&lt;td style="text-align:left">&lt;code>524065&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Particles participating in FoF after damage filtering&lt;/td>
&lt;td style="text-align:left">&lt;code>157751&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Total FoF-identified fragments&lt;/td>
&lt;td style="text-align:left">&lt;code>1594&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Effective fragments (particle count &amp;gt; 1)&lt;/td>
&lt;td style="text-align:left">&lt;code>509&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Maximum fragment normalized mass&lt;/td>
&lt;td style="text-align:left">&lt;code>2.6208e-01&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Minimum fragment normalized mass&lt;/td>
&lt;td style="text-align:left">&lt;code>1.6694e-06&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Target sphere total mass&lt;/td>
&lt;td style="text-align:left">&lt;code>3.0536e-01 kg&lt;/code>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Currently this case uses the von Mises yield model. Interested readers may re-run it with the Lundborg yield model; the difference between the two is approximately 1%.&lt;/p></description></item></channel></rss>