<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="/scripts/pretty-feed-v3.xsl" type="text/xsl"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:h="http://www.w3.org/TR/html4/"><channel><title>我TM来啦</title><description>保持求知，保持好奇</description><link>https://lizx.vercel.app</link><item><title>ANSYS 拓扑优化方法及几种约束</title><link>https://lizx.vercel.app/blog/ansys-topology-optimization-methods-and-constraints</link><guid isPermaLink="true">https://lizx.vercel.app/blog/ansys-topology-optimization-methods-and-constraints</guid><description>整理 ANSYS 中常见的拓扑优化方法、制造约束与使用注意事项。</description><pubDate>Sun, 19 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;⚙️ 核心优化方法详解&lt;/h2&gt;
&lt;h3&gt;🔬 拓扑优化 (Topology Optimization)&lt;/h3&gt;
&lt;p&gt;拓扑优化的自由度最高，能在给定空间内寻找最优的材料布局，常在概念设计初期使用。根据对材料描述方式的不同，ANSYS提供了两种主要的拓扑优化方法：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;混合密度/基于密度法 (Density-Based / Mixable-Density Method)&lt;/strong&gt;：这是最主流的方法。其核心是为设计区域内的每个有限单元分配一个0（代表孔洞/无材料）到1（代表实体材料）之间的“虚拟密度”变量。优化算法通过调整这些密度，在满足体积或质量约束下最大化刚度（最小化柔度）。混合密度法是此方法的演进版，旨在提供更平滑的结果，并能与其他优化方法结合。&lt;/p&gt;
&lt;p&gt;**基于水平集法 (Level Set-Based Method)：**该方法通过一个高一维函数的零等值面（即水平集函数）来隐式地描述结构边界。在优化过程中，这个边界可以自由移动、融合或分裂。与密度法相比，水平集法通常能产生边界更清晰、更平滑的设计，对特定目标值（如柔度）的优化效果也更好。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;🦴 晶格优化 (Lattice Optimization)&lt;/strong&gt;
晶格优化是拓扑优化面向增材制造（3D打印） 的延伸。它不是单纯地去除材料，而是用可变密度的晶格（点阵）结构来填充内部空间。通过在软件中设置晶胞类型和尺寸，优化过程可以确定晶格梁的厚度变化，从而在轻量化的同时，保证足够的结构刚度和吸能特性。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;✏️ 形状优化 (Shape Optimization)&lt;/strong&gt;
形状优化不改变拓扑关系（即不会生成新孔洞或连接），而是通过直接移动结构表面的网格节点来微调局部几何形状。它通常在拓扑优化之后进行，用于降低应力集中、延长疲劳寿命，计算结果（如应力）通常比拓扑优化更精确。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;🗺️ 地形优化 (Topography Optimization)&lt;/strong&gt;
地形优化是形状优化的一种特殊形式，专用于壳体或板壳结构。它通过软件自动在壳体表面生成凹凸的“鼓包”或“筋条”来改变结构形貌，从而极大地提高局部刚度，常用于汽车覆盖件、家电外壳等钣金件上。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;🧪 材料优化 (Material Optimization)&lt;/strong&gt;
与前几种聚焦几何外形的方法不同，材料优化侧重于材料本身的分布。它旨在优化设计域内多种不同材料的体积分数，实现材料性能的梯度变化，常用于功能梯度材料或复合材料的设计。&lt;/p&gt;
&lt;p&gt;选择哪种优化方法取决于产品开发阶段和设计目标。通常的流程建议是：&lt;/p&gt;
&lt;p&gt;概念设计阶段：从拓扑优化入手，探索最佳材料布局。&lt;/p&gt;
&lt;p&gt;面向增材制造：如果准备使用3D打印，晶格优化是极佳的轻量化方案。&lt;/p&gt;
&lt;p&gt;详细设计阶段：用形状优化或地形优化进行精细修形，以降低应力、提高性能。&lt;/p&gt;
&lt;p&gt;材料开发阶段：当设计对象是材料本身时，使用材料优化来定义多材料的最佳分布。&lt;/p&gt;
&lt;h3&gt;💡 关键约束详解与参数设置&lt;/h3&gt;
&lt;p&gt;下面是几个常用约束的详细说明：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Member Size (成员尺寸约束)&lt;/strong&gt;：用于控制结构的最小（Min）或最大（Max）特征尺寸。
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;设置方式&lt;/strong&gt;：在 &lt;code&gt;Details of &quot;Member Size&quot;&lt;/code&gt; 面板中定义。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;最小尺寸 (Min)&lt;/strong&gt;：限制设计空间中保留材料的最小厚度。&lt;strong&gt;建议设置为平均单元尺寸的2~3倍&lt;/strong&gt;，以保证计算精度和优化结果的可制造性。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;最大尺寸 (Max)&lt;/strong&gt;：避免出现过于粗大的结构，常用于铸造、3D打印等，以预防热集中、翘曲等问题。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pull Direction (拔模方向)&lt;/strong&gt;：模拟铸造或注塑件从模具中取出的过程。
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;设置方式&lt;/strong&gt;：选择约束后，在 &lt;code&gt;Details&lt;/code&gt; 面板的 &lt;code&gt;Pull Out Direction&lt;/code&gt; 中，通过选择几何体（面、边）来定义拔模方向。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;关键选项&lt;/strong&gt;：&lt;code&gt;Subtype&lt;/code&gt; 提供了三种重要模式：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;1-sided&lt;/code&gt;&lt;/strong&gt;：最常见的单向拔模。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;2-sided&lt;/code&gt;&lt;/strong&gt;：沿拔模方向&lt;strong&gt;两侧同时抽壳&lt;/strong&gt;，生成对称的空心结构。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Stamping&lt;/code&gt; (冲压)&lt;/strong&gt;：模拟&lt;strong&gt;钣金冲压成型&lt;/strong&gt;，限制结构只在冲压方向上有变化，常用于设计恒定厚度的钣金件。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;No-hole&lt;/code&gt; (无孔)&lt;/strong&gt;：强制结构在拔模方向上&lt;strong&gt;没有孔洞或凹陷&lt;/strong&gt;，保证模具能顺利开合。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Overhang Prevention (悬垂角控制)&lt;/strong&gt;：这是为3D打印设计的专用约束，能确保优化出的结构具有&lt;strong&gt;自支撑性&lt;/strong&gt;，减少或避免使用支撑结构。
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;设置方式&lt;/strong&gt;：选择约束后，在 &lt;code&gt;Details&lt;/code&gt; 面板中定义：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Build Direction&lt;/code&gt; (构建方向)&lt;/strong&gt;：指定3D打印机的Z轴方向。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Overhang Angle&lt;/code&gt; (悬垂角度)&lt;/strong&gt;：设置结构可容忍的最大倾斜角度（相对于构建方向）。此角度应参考你的3D打印工艺（如FDM、SLM）的典型临界角。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;⚠️ 重要限制&lt;/strong&gt;：在 &lt;strong&gt;Mechanical&lt;/strong&gt; 中，&lt;code&gt;AM Overhang Constraint&lt;/code&gt; 有以下使用限制：
&lt;ul&gt;
&lt;li&gt;每个分析中&lt;strong&gt;只能使用一次&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;不能与 &lt;code&gt;Member Size&lt;/code&gt; (已定义最大尺寸)、&lt;code&gt;Extrusion&lt;/code&gt; 或 &lt;code&gt;Pull Out Direction&lt;/code&gt; 约束同时使用。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;⚠️ 使用注意事项&lt;/h3&gt;
&lt;p&gt;使用制造约束时，需要留意以下几点：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;数量限制&lt;/strong&gt;：一个分析中通常只能包含 &lt;strong&gt;一个&lt;/strong&gt; &lt;code&gt;Manufacturing Constraint&lt;/code&gt; 对象。如需组合多个约束，需选择支持组合的特定&lt;code&gt;Subtype&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;网格精度&lt;/strong&gt;：对于 &lt;code&gt;Member Size&lt;/code&gt; 等尺寸约束，网格划分要足够精细，通常建议在最小特征尺寸的厚度方向上至少有2-3个单元。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;检查组合规则&lt;/strong&gt;：某些约束组合有特定的几何要求。例如，同时使用&lt;strong&gt;过悬挂预防 (Overhang)&lt;/strong&gt; 和 &lt;strong&gt;对称 (Symmetry)&lt;/strong&gt; 约束时，构建方向 (Build Direction) 必须在对称平面内。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果在使用过程中遇到特定组合无效的情况，可以查询官方帮助文档中关于约束组合规则的部分。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ol&gt;</content:encoded><h:img src="undefined"/><enclosure url="undefined"/></item><item><title>一个简单的Umat子程序</title><link>https://lizx.vercel.app/blog/%E4%B8%80%E4%B8%AA%E7%AE%80%E5%8D%95%E7%9A%84umat%E5%AD%90%E7%A8%8B%E5%BA%8F</link><guid isPermaLink="true">https://lizx.vercel.app/blog/%E4%B8%80%E4%B8%AA%E7%AE%80%E5%8D%95%E7%9A%84umat%E5%AD%90%E7%A8%8B%E5%BA%8F</guid><description>笔记 1</description><pubDate>Sun, 15 Jun 2025 07:32:27 GMT</pubDate><content:encoded>&lt;h1&gt;Power Law UMAT&lt;/h1&gt;
&lt;p&gt;December 19, 1995&lt;/p&gt;
&lt;h2&gt;1 Mechanics&lt;/h2&gt;
&lt;p&gt;No summation in the following expressions!!&lt;/p&gt;
&lt;p&gt;$$
\sigma _ { i j } = S _ { i j } + p \delta _ { i j }
$$&lt;/p&gt;
&lt;p&gt;$$
p = k \ t r \ \epsilon
$$&lt;/p&gt;
&lt;p&gt;For shear components introduce engineering strain:&lt;/p&gt;
&lt;p&gt;$$
\gamma _ { i j } = 2 \epsilon _ { i j }
$$&lt;/p&gt;
&lt;p&gt;$$
S _ { i i } = \frac { 2 } { 3 } \left( \frac { \overline { { \epsilon } } } { \epsilon _ { 0 } } \right) ^{m - 1} \sigma _ { 0 } \frac { \epsilon _ { i i } } { \epsilon _ { 0 } }  \mathrm { a n d }  S _ { i j } = \frac { 1 } { 3 } \left( \frac { \overline { { \epsilon } } } { \epsilon _ { 0 } } \right) ^{m - 1} \sigma _ { 0 } \frac { \gamma _ { i j } } { \epsilon _ { 0 } }
$$&lt;/p&gt;
&lt;p&gt;$$
\begin{array}{rl} { \overline { { \epsilon } } } &amp;#x26; { = \left( \frac { 2 } { 3 } \epsilon _ { i j } \epsilon _ { i j } \right) ^{\frac { 1} { 2 } } = \left( \frac { 2 } { 3 } \left( \sum \epsilon _ { i i } ^{2} + 2 \sum \epsilon _ { i j } ^{2} \right) \right) ^{\frac { 1} { 2 } } } \&amp;#x26; { = \left( \frac { 2 } { 3 } \left( \sum \epsilon _ { i i } ^{2} + \frac { 1 } { 2 } \sum \gamma _ { i j } ^{2} \right) \right) ^{\frac { 1} { 2 } } } \end{array}
$$&lt;/p&gt;
&lt;p&gt;$$
\begin{array}{r} { \frac { \partial \epsilon _ { i i } } { \partial \epsilon _ { j j } } = \pmb { \delta } _ { i j }  \mathrm { a n d }  \frac { \partial \gamma _ { i j } } { \partial \gamma _ { k l } } = \pmb { \delta } _ { i k } \pmb { \delta } _ { j l } } \end{array}
$$&lt;/p&gt;
&lt;p&gt;$$
I _ { i j k l } = \frac { 1 } { 2 } ( \delta _ { i k } \delta _ { j l } + \delta _ { i l } \delta _ { j k } )
$$&lt;/p&gt;
&lt;p&gt;$$
\boldsymbol { J } = \frac { \partial \Delta \sigma _ { i j } ( t + \Delta t ) } { \partial \Delta \epsilon _ { k l } ( t + \Delta t ) } = \frac { \partial \sigma _ { i j } ( t + \Delta t ) } { \partial \epsilon _ { k l } ( t + \Delta t ) }
$$&lt;/p&gt;
&lt;p&gt;$$
\frac { \partial , t r , \epsilon } { \partial \epsilon _ { k l } } = \delta _ { k l }
$$&lt;/p&gt;
&lt;p&gt;$$
\frac { \partial \overline { { \epsilon } } } { \partial \epsilon _ { k k } } = \frac { 1 } { 2 \overline { { \epsilon } } } \frac { \partial \overline { { \epsilon } } ^{2} } { \partial \epsilon _ { k k } } = \frac { 1 } { 2 \overline { { \epsilon } } } \frac { 2 } { 3 } \frac { \partial \left( \sum \epsilon _ { i i } ^{2} \right) } { \partial \epsilon _ { k k } } = \frac { 2 } { 3 \overline { { \epsilon } } } \epsilon _ { k k }
$$&lt;/p&gt;
&lt;p&gt;$$
\frac { \partial \overline { { \epsilon } } } { \partial \gamma _ { k l } } = \frac { 1 } { 2 \overline { { \epsilon } } } \frac { \partial \overline { { \epsilon } } ^{2} } { \partial \gamma _ { k l } } = \frac { 1 } { 2 \overline { { \epsilon } } } \frac { 2 } { 3 } \frac { \partial \left( \frac { 1 } { 2 } \sum \gamma _ { i j } ^{2} \right) } { \partial \gamma _ { k l } } = \frac { 1 } { 3 \overline { { \epsilon } } } \gamma _ { k l }
$$&lt;/p&gt;
&lt;p&gt;Now we can compute $\frac{\partial S}{\partial \epsilon}$:&lt;/p&gt;
&lt;p&gt;$$
\begin{array}{rl} { \frac { \partial S _ { i i } } { \partial \epsilon _ { k k } } } &amp;#x26; { = \frac { 2 } { 3 } \left( \frac { \overline { { \epsilon } } } { \epsilon _ { 0 } } \right) ^{m - 1} \frac { \sigma _ { 0 } } { \epsilon _ { 0 } } \left( \frac { m - 1 } { \overline { { \epsilon } } } \frac { \partial \overline { { \epsilon } } } { \partial \epsilon _ { k k } } \epsilon _ { i i } + \frac { \partial \epsilon _ { i i } } { \partial \epsilon _ { k k } } \right) } \&amp;#x26; { = \frac { 2 } { 3 } \left( \frac { \overline { { \epsilon } } } { \epsilon _ { 0 } } \right) ^{m - 1} \frac { \sigma _ { 0 } } { \epsilon _ { 0 } } \left( \frac { 2 ( m - 1 ) } { 3 \overline { { \epsilon } } ^{2} } \epsilon _ { k k } \epsilon _ { i i } + \delta _ { i k } \right) } \end{array}
$$&lt;/p&gt;
&lt;p&gt;$$
\begin{array}{rl} { \frac { \partial S _ { i j } } { \partial \epsilon _ { k k } } } &amp;#x26; { = \frac { 1 } { 3 } \left( \frac { \overline { { \epsilon } } } { \epsilon _ { 0 } } \right) ^{m - 1} \frac { \sigma _ { 0 } } { \epsilon _ { 0 } } \left( \frac { m - 1 } { \tau } \frac { \partial \overline { { \epsilon } } } { \partial \epsilon _ { k k } } \gamma _ { i j } + \frac { \partial \gamma _ { i j } } { \partial \epsilon _ { k k } } \right) } \&amp;#x26; { = \frac { 1 } { 3 } \left( \frac { \overline { { \epsilon } } } { \epsilon _ { 0 } } \right) ^{m - 1} \frac { \sigma _ { 0 } } { \epsilon _ { 0 } } \frac { 2 ( m - 1 ) } { 3 \overline { { \epsilon } } ^{2} } \epsilon _ { k k } \gamma _ { i j } } \end{array}
$$&lt;/p&gt;
&lt;p&gt;$$
\begin{array}{rl} { \frac { \partial S _ { i i } } { \partial \gamma _ { k l } } } &amp;#x26; { = \frac { 2 } { 3 } \left( \frac { \overline { { \epsilon } } } { \epsilon _ { 0 } } \right) ^{m - 1} \frac { \sigma _ { 0 } } { \epsilon _ { 0 } } \left( \frac { m - 1 } { \overline { { \epsilon } } } \frac { \partial \overline { { \epsilon } } } { \partial \gamma _ { k l } } \epsilon _ { i i } + \frac { \partial \epsilon _ { i i } } { \partial \gamma _ { k l } } \right) } \&amp;#x26; { = \frac { 2 } { 3 } \left( \frac { \overline { { \epsilon } } } { \epsilon _ { 0 } } \right) ^{m - 1} \frac { \sigma _ { 0 } } { \epsilon _ { 0 } } \frac { ( m - 1 ) } { 3 \overline { { \epsilon } } ^{2} } \gamma _ { k l } \epsilon _ { i i } } \end{array}
$$&lt;/p&gt;
&lt;p&gt;$$
\begin{array}{rl} { \frac { \partial S _ { i j } } { \partial \gamma _ { k l } } } &amp;#x26; { = \frac { 1 } { 3 } \left( \frac { \overline { { \epsilon } } } { \epsilon _ { 0 } } \right) ^{m - 1} \frac { \sigma _ { 0 } } { \epsilon _ { 0 } } \left( \frac { m - 1 } { \overline { { \epsilon } } } \frac { \partial \overline { { \epsilon } } } { \partial \gamma _ { k l } } \boldsymbol { \gamma } _ { i j } + \frac { \partial \boldsymbol { \gamma } _ { i j } } { \partial \boldsymbol { \gamma } _ { k l } } \right) } \&amp;#x26; { = \frac { 1 } { 3 } \left( \frac { \overline { { \epsilon } } } { \epsilon _ { 0 } } \right) ^{m - 1} \frac { \sigma _ { 0 } } { \epsilon _ { 0 } } \left( \frac { ( m - 1 ) } { 3 \overline { { \epsilon } } ^{2} } \boldsymbol { \epsilon } _ { k l } \boldsymbol { \epsilon } _ { i j } + \boldsymbol { \delta } _ { i k } \boldsymbol { \delta } _ { j l } \right) } \&amp;#x26; { \frac { \partial p } { \partial \epsilon _ { k k } } \boldsymbol { \delta } _ { i j } = k \frac { \partial , t r , \boldsymbol { \epsilon } } { \partial \epsilon _ { k k } } \boldsymbol { \delta } _ { i j } = k \boldsymbol { \delta } _ { i j }  \mathrm { a n d }  \frac { \partial p } { \partial \gamma _ { k l } } \boldsymbol { \delta } _ { i j } = k \frac { \partial , t r , \boldsymbol { \epsilon } } { \partial \gamma _ { k l } } \boldsymbol { \delta } _ { i j } = 0 } \end{array}
$$&lt;/p&gt;
&lt;p&gt;Now we can compute Jacobian:&lt;/p&gt;
&lt;p&gt;$$
\begin{array}{rl} { \pmb { J } _ { i i k k } } &amp;#x26; { = \frac { \partial \pmb { \sigma } _ { i i } } { \partial \epsilon _ { k k } } = \frac { \partial S _ { i i } } { \partial \epsilon _ { k k } } + \frac { \partial p } { \partial \epsilon _ { k k } } } \&amp;#x26; { = \frac { 2 } { 3 } \left( \frac { \overline { { \epsilon } } } { \epsilon _ { 0 } } \right) ^{m - 1} \frac { \sigma _ { 0 } } { \epsilon _ { 0 } } \left( \frac { 2 ( m - 1 ) } { 3 \overline { { \epsilon } } ^{2} } \pmb { \epsilon } _ { k k } \pmb { \epsilon } _ { i i } + \pmb { \delta } _ { i k } \right) + k } \{ \pmb { J } _ { i j k k } } &amp;#x26; { = \frac { \partial \pmb { \sigma } _ { i j } } { \partial \epsilon _ { k k } } = \frac { \partial S _ { i j } } { \partial \epsilon _ { k k } } } \&amp;#x26; { = \frac { 1 } { 3 } \left( \frac { \overline { { \epsilon } } } { \epsilon _ { 0 } } \right) ^{m - 1} \frac { \sigma _ { 0 } } { \epsilon _ { 0 } } \frac { 2 ( m - 1 ) } { 3 \overline { { \epsilon } } ^{2} } \pmb { \epsilon } _ { k k } \pmb { \gamma } _ { i j } } \{ \pmb { J } _ { i i k l } } &amp;#x26; { = \frac { \partial \pmb { \sigma } _ { i i } } { \partial \pmb { \gamma } _ { k l } } = \frac { \partial S _ { i i } } { \partial \pmb { \gamma } _ { k l } } + \frac { \partial p } { \partial \pmb { \gamma } _ { k l } } } \&amp;#x26; { = \frac { 2 } { 3 } \left( \frac { \overline { { \epsilon } } } { \epsilon _ { 0 } } \right) ^{m - 1} \frac { \sigma _ { 0 } } { \epsilon _ { 0 } } \frac { ( m - 1 ) } { 3 \overline { { \epsilon } } ^{2} } \pmb { \gamma } _ { k l } \pmb { \epsilon } _ { i i } } \{ \pmb { J } _ { i j k l } } &amp;#x26; { = \frac { \partial \pmb { \sigma } _ { i j } } { \partial \pmb { \gamma } _ { k l } } = \frac { \partial S _ { i j } } { \partial \pmb { \epsilon } _ { k l } } } \&amp;#x26; { = \frac { 1 } { 3 } \left( \frac { \overline { { \epsilon } } } { \epsilon _ { 0 } } \right) ^{m - 1} \frac { \sigma _ { 0 } } { \epsilon _ { 0 } } \left( \frac { ( m - 1 ) } { 3 \overline { { \epsilon } } ^{2} } \pmb { \epsilon } _ { k l } \pmb { \epsilon } _ { i j } + \pmb { \delta } _ { i k } \pmb { \delta } _ { j l } \right) } \end{array}
$$&lt;/p&gt;
&lt;p&gt;and Stress:&lt;/p&gt;
&lt;p&gt;$$
\pmb { \sigma } _ { i i } = \pmb { S } _ { i i } + p = \frac { 2 } { 3 } \left( \frac { \overline { { \epsilon } } } { \epsilon _ { 0 } } \right) ^{m - 1} \frac { \sigma _ { 0 } } { \epsilon _ { 0 } } \pmb { \epsilon } _ { i i } + k , t r , \pmb { \epsilon }
$$&lt;/p&gt;
&lt;p&gt;$$
\sigma _ { i j } = S _ { i j } = \frac { 1 } { 3 } \left( \frac { \overline { { c } } } { \epsilon _ { 0 } } \right) ^{m - 1} \frac { \sigma _ { 0 } } { \epsilon _ { 0 } } \gamma _ { i j }
$$&lt;/p&gt;
&lt;h2&gt;2 Coding&lt;/h2&gt;
&lt;p&gt;$$
P N L T \ = \ k
$$&lt;/p&gt;
&lt;p&gt;$$
T E R M 1 \ = \ { \frac { 2 } { 3 } } \left( { \frac { \overline { { \epsilon } } } { \overline { { \epsilon _ { 0 } } } } } \right) ^{m - 1} { \frac { \sigma _ { 0 } } { \epsilon _ { 0 } } }
$$&lt;/p&gt;
&lt;p&gt;$$
T E R M 2 \ = \ { \frac { 2 ( m - 1 ) } { 3 \overline { { c } } ^{2} } }
$$&lt;/p&gt;
&lt;p&gt;$$
T E R M 3 \ = \ { \frac { 1 } { 2 } } T E R M 1 , T E R M 2
$$&lt;/p&gt;
&lt;p&gt;For Jacobian:&lt;/p&gt;
&lt;p&gt;$$
\begin{array}{rl} { J _ { i i k k } } &amp;#x26; { { } = \ T E R M 1 \left( T E R M 2 , \epsilon _ { k k } \epsilon _ { i i } + \pmb { \delta } _ { i k } \right) + P N L T } \end{array}
$$&lt;/p&gt;
&lt;p&gt;$$
\begin{array}{rl} { J _ { i i k l } } &amp;#x26; { { } = \textbf { J } _ { k l i i } = T E R M 3 , \epsilon _ { i i } \gamma _ { k l } } \end{array}
$$&lt;/p&gt;
&lt;p&gt;$$
\begin{array}{rl} { J _ { i j k l } } &amp;#x26; { = \frac { 1 } { 2 } T E R M 1 \left( \frac { 1 } { 2 } T E R M 2 , \gamma _ { i j } \gamma _ { k l } + \delta _ { i k } \delta _ { j l } \right) } \end{array}
$$&lt;/p&gt;
&lt;p&gt;For Stress:&lt;/p&gt;
&lt;p&gt;$$
\pmb { \sigma } _ { i i } \ = \ T E R M 1 , \epsilon _ { i i } + P N L T , t r , \epsilon
$$&lt;/p&gt;
&lt;p&gt;$$
\sigma _ { i j } \ = \ \frac { 1 } { 2 } T E R M 1 \ \epsilon _ { i j }
$$&lt;/p&gt;
&lt;h2&gt;3 ABAQUS input file: Uniaxial Tension&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-fortran&quot;&gt;*LEADING

UMAT - POWER LAW INCOMPRESSIBLE MATERIAL, C3D8 ---- UMATPLT3

*WAVEFRONT MINIMIZATION, SUPPRESS

*NODE,NSET=ALLN

1,0..0.,0.

2,1..0.,0.

3,1..1.,0.

4,0..1.,0.

5,0..0.,1.

6,1..0.,1.

7,1..1.,1.

8,0..1.,1.

*ELEMENT,TYPE=C3D8,ELSET=ALLE

1,1,2,3,4,5,6,7,8

*SOLID SECTION,ELSESET=ALLE,MATERIAL=ALLE

*MATERIAL,NAME=ALLE

*USER MATERIAL,CONSTANTS=7

**E v POWER sig0 eps0 St Tol Pnlt

200.E3,.3,.5,1..,1..,1.E-6,1.E6

*USER SUBROUTINE

SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,

1 RPL,DDSDDT,DRPLDE,DRPLDT,STRAN,DTRAN,

2 TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,MATERL,NDI,NSHR,NTENS,

3 NSTATV,PROPNS,COORDS,DROT,PNEWD,CELENT,

4 DFGRD0,DFGRD1,NOEL,NPT,KSLAY,KSPT,KSTEP,KINC)

C

INCLUDE &apos;ABA_PARAM.INC&apos;

C

CHARACTER*8 CMNAME

DIMENSION STRESS(NTENS), STATEV(NSTATV),

1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),

2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),

3 PROPS(NPROPS),COORDS(3),DROT(3,3),

4 DFGRD0(3,3),DFGRD1(3,3)

C

DIMENSION STRANT(6),DELTA(3,3)

C

C  

PARAMETER (ONE=1.0DO,TWO=2.0DO,THREE=3.0DO,SIX=6.0DO,
1 HALF=.5DO,ZERO = 0.0DO)
DATA NEWTON,TOLER/10,1.D-6/

C
C KRONECKER&apos;S DELTA

C
DATA DELTA /1.0DO,0.0DO,0.0DO,

1 0.0DO,1.0DO,0.0DO,

2 0.0DO,0.0DO,1.0D0/

C
C
UMAT FOR ISOTROPIC ELASTICITY AND ISOTROPIC PLASTICITY

C J2 FLOW THEORY

C
C PROPS(1) - E
C PROPS(2) - NU
C PROPS(3) - POWER - POWER LAW EXPONENT
C PROPS(4) - SIGO
C PROPS(5) - EPSO
C PROPS(6) - STTOL - &quot;ELASTIC&quot; STRAIN/&quot;YIELD&quot; STRAIN
C PROPS(7) - PNLT - PENALTY FOR INCOMPRESSIBILITY

C
C COMPUTE TOTAL STRAIN

C
DO K1=1,NTENS
STRANT(K1) = STRAN(K1)*DSTRAN(K1)
ENDDO

C
C COMPUTE MEAN STRAIN

C
STNMN = ZERO
DO K1 = 1,NDI
STNMN = STRANT(K1)*STRANT(K1)
ENDDO
DO K1 = 1+NDI,NTENS
STNMN = STRANT + HALF*STRANT(K1)*STRANT(K1)
ENDDO

ENDDO  

STNMN = (TWO/THREE*STNMN)**HALF

C

C ELASTIC PROPERTIES

C

EMOD=PROP5(1)

ENU=PROP5(2)

IF (ENU.GT.0.4999 AND.ENU.LT.0.5001) ENU=0.49

EBULK3=EMOD/(ONE-TWO*ENU)

EG2=EMOD/(ONE+ENU)

EG3=THREE*EG

ELAM=(EBULK3-EG2)/THREE

C

C MATERIAL PROPERTIES AND PENALTIES

C

POWER = PROPS(3)

SIGO = PROPS(4)

EPS0 = PROPS(5)

STTOL = PROPS(6)*EPS0

PNLT = PROPS(7)*EMOD

C

C SWITCH FOR LINEAR/POWER LAW BEHAVIOR

C IF (STNMN.LE.STTOL) THEN

C

C ELLASTIC STIFFNESS

C DO 20 K1=1,NTENS

DO 10 K2=1,NTENS

DDSDDE(K2,K1)=ZERO

10 CONTINUE

20 CONTINUE

C DO 40 K1=1,NDI

DO 30 K2=1,NDI

DDSDDE(K2,K1)=ELAM

30 CONTINUE

DDSDDE(K1,K1)=EG2+ELAM  

40 CONTINUE
DO 50 K1=NDI+1,NTENS
DDSDDE(K1,K1)=EG
CONTINUE
C
CALCULATE STRESS FROM ELASTIC STRAINS
C
DO 70 K1=1,NTENS
DO 60 K2=1,NTENS
STRESS(K2)=STRESS(K2)+DDSDDE(K2,K1)*DSTRAN(K1)
60 CONTINUE
C
CONTINUE
C
ELSE
C
C NON-LINEAR BEHAVIOR
C
C PRESSURE
C
VOLDEF = 0.0
DO K1 = 1,NDI
VOLDEF = VOLDEF + STRANT(K1)
ENDDO
PRESS = PNLT*VOLDEF
C
C PRECOMPUTED TERMS
C
TERM1 = TWO/THREE*(STNMN/EPSO)**(POWER-ONE)*SIG0/EPS0
TERM2 = (POWER-ONE)*TWO/THREE/(STNMN*STMNN)
TERM3 = HALF*TERM1*TERM2
C
C STRESS
C
DO K1 = 1,NDI
STRESS(K1) = TERM1*STRANT(K1) + PRESS
ENDDO
DO K1 = NDI+1, NTENS
STRESS(K1) = HALF*TERM1*STRANT(K1)
ENDDO  

C
C JACOBIAN
C
C
JACOBIAN - TENSION-TENSION COMPONENTS
C
1 DO K1 = 1,NDI
DO K2 = 1,NDI
DDSDDE(K1,K2) = TERM1*(TERM2*
STRANT(K1)*STRANT(K2)+DELTA(K1,K2)) + PNLT
ENDDO
ENDDO
C
C JACOBIAN - TENSION-SHEAR COMPONENTS
C
DO K1 = 1,NDI
DO K2 = NDI+1,NTENS
DDSDDE(K1,K2) = TERM3*STRANT(K1)*STRANT(K2)
DDSDDE(K2,K1) = DSSDDE(K1,K2)
ENDDO
ENDDO
C
C JACOBIAN - SHEAR-SHEAR COMPONENTS
C
DO K1 = NDI+1,NTENS
DO K2 = NDI+1,NTENS
DDSDDE(K1,K2) = HALF*TERM1* (HALF*TERM2*
STRANT(K1)*STRANT(K2)+DELTA(K1-NDI,K2-NDI))
ENDDO
ENDDO
ENDIF
C
RETURN
END
*BOUNDARY
1,PINNED
2,2
5,2
6,2  

4,1
5,1
8,1
2,3
3,3
4,3
*STEP, INC=100
*STATIC
1.,20.
*BOUNDARY
7,3,,1.
5,3,,1.
6,3,,1.
8,3,,1.
*EL PRINT
S
SINV
E
EE
*NODE PRINT
U,RF
*EL FILE,FREQ=10
S,E
*RESTART,WRITE
*END STEP  
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;4 ABAQUS BC: Shear Test&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-fortran&quot;&gt;*BOUNDARY

1, 1, 3

4, 1, 3

5, 1, 3

8, 1, 3

2, 3, 3

3, 3, 3

6, 3, 3

7, 3, 3

2, 1, 1

3, 1, 1

6, 1, 1

7, 1, 1

*STEP, INC=100

*STATIC

1., 20.

*BOUNDARY

2, 2, 1.

3, 2, 1.

6, 2, 1.

7, 2, 1.

*EL PRINT  
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;5 Results for Uniaxial Tension Test&lt;/p&gt;
&lt;p&gt;| ELEMENT | PT FOOT-NOTE | MISES | TREC | PRESS | INV3 |
| --- | --- | --- | --- | --- | --- |
|  | 1 | 1.0000 | 1.0000 | -.3333 | 1.0000 |
|  | 1 | 2 | 1.0000 | 1.0000 | -.3333 | 1.0000 |
|  | 1 | 3 | 1.0000 | 1.0000 | -.3333 | 1.0000 |
|  | 1 | 4 | 1.0000 | 1.0000 | -.3333 | 1.0000 |
|  | 1 | 5 | 1.0000 | 1.0000 | -.3333 | 1.0000 |
|  | 1 | 6 | 1.0000 | 1.0000 | -.3334 | 1.0000 |
|  | 1 | 7 | 1.0000 | 1.0000 | -.3333 | 1.0000 |
|  | 1 | 8 | 1.0000 | 1.0000 | -.3333 | 1.0000 |
| MAXIMUM | 1.0000 | 1.0000 | -.3333 | 1.0000 |
| ELEMENT | 1 | 1 | 1 | 1 |&lt;/p&gt;
&lt;h2&gt;6 Results for Shear Test&lt;/h2&gt;
&lt;p&gt;| ELEMENT | PT FOOT-NOTE | MISES | TREC | PRESS | INV3 |
| --- | --- | --- | --- | --- | --- |
| 1 | 1 | .7598 | .8774 | -6.9389E-07 | 0.0000E+00 |
| 1 | 2 | .7598 | .8774 | -3.4694E-07 | 0.0000E+00 |
| 1 | 3 | .7598 | .8774 | -6.9389E-07 | 0.0000E+00 |
| 1 | 4 | .7598 | .8774 | -3.4694E-07 | 0.0000E+00 |
| 1 | 5 | .7598 | .8774 | -4.8572E-06 | 0.0000E+00 |
| 1 | 6 | .7598 | .8774 | 6.9389E-07 | 0.0000E+00 |
| 1 | 7 | .7598 | .8774 | 3.9031E-06 | 0.0000E+00 |
| 1 | 8 | .7598 | .8774 | 7.6328E-06 | 0.0000E+00 |
| MAXIMUM |&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://cdn.jsdelivr.net/gh/LiZhenxing1998/bolg-img@main/e5c445e2647e94997f858aa98a271792889e268e2f08e0eeac172f15d2f7db9d_65.jpg&quot; alt=&quot;&quot;&gt;{width=65%}&lt;br&gt;
Figure 1: Uniaxial Tension Test&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://cdn.jsdelivr.net/gh/LiZhenxing1998/bolg-img@main/367bc1ed0015b22de10542596a34d117be184749a0061d9f60c35ffec8caa739_65.jpg&quot; alt=&quot;&quot;&gt;{width=65%}&lt;/p&gt;
&lt;h2&gt;7 Pressurized Pipe&lt;/h2&gt;
&lt;h3&gt;7.1 Model Definition for One Layer of Elements&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-fortran&quot;&gt;*HEADING
INF. LONG CYLIN. TUBE SUBJECTED TO INT.PRESS - POWER LAW M
UNITS: N, mm
*RESTART,WRITE
*NODE
1, 60.0, 0.0
9, 0.0, 60.0
161, 140.0, 0.0
169, 0.0, 140.0
*NGEN,LINE=C,NSET=Di
1, 9, 1, , 0.0, 0.0, 0.0
*NGEN,LINE=C,NSET=Do
161, 169, 1, , 0.0, 0.0, 0.0
*NFILL,NSET=Face1
Di, Do, 16, 10
*NCOPY,CHANGE NUMBER=2000,OLD SET=Face1,SHIFT,NEW SET=Face2
0.0, 0.0, 300.0
0.0,
*NFILL,NSET=Nall
Face1, Face2, 2, 1000
*NSET,GENERATE,NSET=Xsymm
1, 161, 10
1001, 1161, 10
2001, 2161, 10
*NSET,GENERATE,NSET=Ysymm
9, 169, 10
1009, 1169, 10
2009, 2169, 10
*NSET,GENERATE,NSET=Noutp
1, 161, 10

***

*ELEMENT,TYPE=C3D20R
1, 1, 161, 163, 3, 2001, 2161, 2163, 2003, 81, 162, 8
2083, 2002, 1001, 1161, 1163, 1003
*ELGEN,ELSET=Eall  

1, 4, 2, 1

*ELSET,GENERATE,ELSET=Inside

1, 4

*ELSET,ELSET=Eoutp

1

*SOLID SECTION,ELSET=Eall,MATERIAL=ALLE

*MATERIAL,NAME=ALLE

*USER MATERIAL,CONSTANTS=7

**E v POWER sig0 eps0 StTol Pnlt

200.E3,.3,.5,1..,1..,1.E-6,1.E6

*USER SUBROUTINE

SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,

. . .

END

*BOUNDARY

Xsymm, 2

Ysymm, 1

Face1, 3

Face2, 3

*

*STEP,PERTURBATION

*STATIC

*DLOAD

Inside, P6, 50.0

*EL PRINT,ELSET=Eoutp

1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16

COORD, S11, S22, S33

*EL PRINT,ELSET=Eoutp

17,18,19,20,21,22,23,24

COORD, S11, S22, S33

*EL FILE

S, E

*NODE PRINT,NSET=Noutp

U1,

*NODE FILE

U, RF

*END STEP

*END STEP 
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;7.2 Model Definition for Four Layers of Elements&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-fortran&quot;&gt;*HEADING
INF. LONG CYLIN. TUBE SUBJECTED TO INT.PRESS - POWER LAW M
UNITS: N, mm
*RESTART,WRITE
*
*NODE
1, 60.0, 0.0
9, 0.0, 60.0
161, 140.0, 0.0
169, 0.0, 140.0
*NGEN,LINE=C,NSET=Di
1, 9, 1, , 0.0, 0.0, 0.0
*NGEN,LINE=C,NSET=Do
161, 169, 1, , 0.0, 0.0, 0.0
*NFILL,NSET=Face1
Di, Do, 16, 10
*NCOPY,CHANGE NUMBER=2000,OLD SET=Face1,SHIFT,NEW SET=Face2
0.0, 0.0, 300.0
0.0,
*NFILL,NSET=Nall
Face1, Face2, 2, 1000
*NSET,GENERATE,NSET=Xsymm
1, 161, 10
1001, 1161, 10
2001, 2161, 10
*NSET,GENERATE,NSET=Ysymm
9, 169, 10
1009, 1169, 10
2009, 2169, 10
*NSET,GENERATE,NSET=Noutp
1, 161, 10

***

*ELEMENT,TYPE=C3D20R
1, 1, 41, 43, 3, 2001, 2041, 2043, 2003, 21, 42, 23,
2023, 2002, 1001, 1041, 1043, 1003
*ELGEN,ELSET=Eall
1, 4, 2, 1, 4, 40, 10
*ELSET,GENERATE,ELSET=Inside  

1, 4

*ELSET,GENERATE,ELSET=Eoutp

1, 41, 10

*SOLID SECTION,ELSET=Eall,MATERIAL=ALLE

*MATERIAL,NAME=ALLE

*USER MATERIAL,CONSTANTS=7

**E v POWER sig0 eps0 StTo1 Pnlt

200.E3,.3,.5,1..,1..,1.E-6,1.E6

*USER SUBROUTINE

SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,

. . .

END

*BOUNDARY

Xsymm, 2

Ysymm, 1

Face1, 3

Face2, 3

*

*STEP,PERTURBATION

*STATIC

*DLOAD

Inside, P6, 50.0

*EL PRINT,ELSET=Eoutp

1,2,3,4,5,6

COORD, S11, S22, S33

*EL FILE

S, E

*NODE PRINT,NSET=Noutp

U1

*NODE FILE

U,RF

*END STEP
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&quot;https://cdn.jsdelivr.net/gh/LiZhenxing1998/bolg-img@main/478728f2fe6f3dac3a2fb029b4de472a34e0f17433b0903ca9de4e64c1c15c1d_65.jpg&quot; alt=&quot;&quot;&gt;{width=65%}&lt;br&gt;
Figure 3: Pressurized Pipe. One layer of elements. Power Law Material. Mesh.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://cdn.jsdelivr.net/gh/LiZhenxing1998/bolg-img@main/ff47792170b1c4d4d1735d1a915723787d714fa56e394fbac4cfe5085ee04140_65.jpg&quot; alt=&quot;&quot;&gt;{width=65%}&lt;br&gt;
Figure 4: Pressurized Pipe. One layer of elements. Power Law Material.Displacement.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://cdn.jsdelivr.net/gh/LiZhenxing1998/bolg-img@main/b77156cd6792df854048f15553c2bf217429e95d8c0daddd769630a7e26f39a5_64.jpg&quot; alt=&quot;&quot;&gt;{width=64%}&lt;br&gt;
Figure 5: Pressurized Pipe. One layer of elements. Power Law Material. $\sigma_{22}$.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://cdn.jsdelivr.net/gh/LiZhenxing1998/bolg-img@main/89f512d6018ca97cde6d1e06e5143c234aff665de2b78d1e275befccb8e733e9_65.jpg&quot; alt=&quot;&quot;&gt;{width=65%}&lt;br&gt;
Figure 6: Pressurized Pipe. Four layers of elements. Power Law Material. Mesh.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://cdn.jsdelivr.net/gh/LiZhenxing1998/bolg-img@main/a024ec953d946c5dabeb371693cc8977cd127f33f1a1913cdcc2bba10a6d9dfe_65.jpg&quot; alt=&quot;&quot;&gt;{width=65%}&lt;br&gt;
Figure 7: Pressurized Pipe. Four layers of elements. Power Law Material.Displacement.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://cdn.jsdelivr.net/gh/LiZhenxing1998/bolg-img@main/bfddd0f17619de22199ade526dfffc805bdbe2b1b6f5159eec5b1efd255a1863_65.jpg&quot; alt=&quot;&quot;&gt;{width=65%}&lt;br&gt;
Figure 8: Pressurized Pipe. Four layers of elements. Power Law Material. $\sigma_{22}$.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://cdn.jsdelivr.net/gh/LiZhenxing1998/bolg-img@main/ff113919403bf77ceea29472166b98edf14a85f272a2d81912b32b3a4e1c04e6_64.jpg&quot; alt=&quot;&quot;&gt;{width=64%}&lt;br&gt;
Figure 9: Pressurized Pipe. Four layers of elements. Linear Material. Displacement.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://cdn.jsdelivr.net/gh/LiZhenxing1998/bolg-img@main/cf40af4f7b87d76bc53c915325c9a26e8c960191257c60721cdadb83db3b4e9d_65.jpg&quot; alt=&quot;&quot;&gt;{width=65%}&lt;br&gt;
Figure 10: Pressurized Pipe. Four layers of elements. Linear Material.$\sigma_{22}$.&lt;/p&gt;</content:encoded><h:img src="undefined"/><enclosure url="undefined"/></item><item><title>Tips to improve concentration</title><link>https://lizx.vercel.app/blog/improve-concentration</link><guid isPermaLink="true">https://lizx.vercel.app/blog/improve-concentration</guid><description>Mindfulness, cognitive training, and a healthy lifestyle may help sharpen your focus.</description><pubDate>Sat, 10 May 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;import { Aside } from &apos;astro-pure/user&apos;&lt;/p&gt;
&lt;p&gt;You&apos;re trying to concentrate, but your mind is wandering or you&apos;re easily distracted. What happened to the laser-sharp focus you once enjoyed? As we age, we tend to have more difficulty filtering out stimuli that are not relevant to the task at hand.&lt;/p&gt;
&lt;h2&gt;What&apos;s fogging up focus?&lt;/h2&gt;
&lt;p&gt;Like a computer that slows with use, the brain accumulates wear and tear that affects processing. This can be caused by a number of physiological stressors such as inflammation, injury to blood vessels (especially if you have high blood pressure), the buildup of abnormal proteins, and naturally occurring brain shrinkage.&lt;/p&gt;
&lt;p&gt;The following factors can also affect your concentration.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Underlying conditions.&lt;/strong&gt; Depression or sleep disorders (such as sleep apnea) can undermine your ability to concentrate. So can the effects of vision or hearing loss. You waste precious cognitive resources when you spend too much time trying to make out what&apos;s written on a page or just hear what someone is saying.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Medication side effects.&lt;/strong&gt; Some drugs, especially anticholinergics (such as treatments for incontinence, depression, or allergies), can slow processing speed and your ability to think clearly.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Excessive drinking.&lt;/strong&gt; Having too much alcohol impairs thinking and causes interrupted sleep, which affects concentration.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Information overload.&lt;/strong&gt; We are bombarded with information from TVs, computers, and messages such as texts or emails. When there&apos;s too much material, it burdens our filtering system and it&apos;s easy to get distracted.&lt;/p&gt;
&lt;h2&gt;Strategies to stay focused&lt;/h2&gt;
&lt;p&gt;To improve attention, consider the following strategies.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mindfulness.&lt;/strong&gt; &quot;Mindfulness is about focusing attention on the present moment, and practicing mindfulness has been shown to rewire the brain so that attention is stronger in everyday life,&quot; says Kim Willment, a neuropsychologist with Brigham and Women&apos;s Hospital. She recommends sitting still for a few minutes each day, closing your eyes, and focusing on your breathing as well as the sounds and sensations around you.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cognitive training.&lt;/strong&gt; Computerized cognitive training games aim to improve your response times and attention. Evidence that this works has been mixed. &quot;The goal of playing these games is not to get better at them, but to get better in the cognitive activities of everyday life,&quot; Willment says. &quot;But there is evidence that a person&apos;s ability to pay attention can be improved by progressively pushing the person to higher levels of performance. So if you reach a certain level of sustained attention, pushing it to the next level can help improve it, and this may translate to everyday life.&quot;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A healthier lifestyle.&lt;/strong&gt; Many aspects of a healthy lifestyle can help attention, starting with sleep and exercise. There is a direct link between exercise and cognitive ability, especially attention. When you exercise, you increase the availability of brain chemicals that promote new brain connections, reduce stress, and improve sleep. And when we sleep, we reduce stress hormones that can be harmful to the brain, and we clear out proteins that injure it.&lt;/p&gt;
&lt;p&gt;Aim for seven to eight hours of sleep each night, and 150 minutes per week of aerobic exercise, such as brisk walking.&lt;/p&gt;
&lt;p&gt;Other healthy steps to improve focus: eat a Mediterranean-style diet, which has been shown to support brain health; treat underlying conditions; and change medications that may be affecting your ability to focus.&lt;/p&gt;
&lt;p&gt;Getting older is out of your control, but healthier living is something you determine, and it may improve concentration.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Article from: &lt;a href=&quot;https://www.health.harvard.edu/mind-and-mood/tips-to-improve-concentration&quot;&gt;Harvard Health Publishing&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;</content:encoded><h:img src="/_astro/thumbnail.1GZ294Dz.jpg"/><enclosure url="/_astro/thumbnail.1GZ294Dz.jpg"/></item><item><title>Using MDX</title><link>https://lizx.vercel.app/blog/using-mdx</link><guid isPermaLink="true">https://lizx.vercel.app/blog/using-mdx</guid><description>Learning how to use MDX in Astro</description><pubDate>Sun, 01 Jun 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;This theme comes with the &lt;a href=&quot;https://docs.astro.build/en/guides/integrations-guide/mdx/&quot;&gt;@astrojs/mdx&lt;/a&gt; integration installed and configured in your &lt;code&gt;astro.config.mjs&lt;/code&gt; config file. If you prefer not to use MDX, you can disable support by removing the integration from your config file.&lt;/p&gt;
&lt;h2&gt;Why MDX?&lt;/h2&gt;
&lt;p&gt;MDX is a special flavor of Markdown that supports embedded JavaScript &amp;#x26; JSX syntax. This unlocks the ability to &lt;a href=&quot;https://docs.astro.build/en/guides/markdown-content/#mdx-features&quot;&gt;mix JavaScript and UI Components into your Markdown content&lt;/a&gt; for things like interactive charts or alerts.&lt;/p&gt;
&lt;p&gt;If you have existing content authored in MDX, this integration will hopefully make migrating to Astro a breeze.&lt;/p&gt;
&lt;h2&gt;Example&lt;/h2&gt;
&lt;p&gt;Here is how you import and use a UI component inside of MDX.&lt;br&gt;
When you open this page in the browser, you should see the clickable button below.&lt;/p&gt;
&lt;p&gt;import { Button } from &apos;astro-pure/user&apos;&lt;/p&gt;
&lt;p&gt;Click Me&lt;/p&gt;
&lt;h2&gt;More Links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://mdxjs.com/docs/what-is-mdx&quot;&gt;MDX Syntax Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.astro.build/en/guides/markdown-content/#markdown-and-mdx-pages&quot;&gt;Astro Usage Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Note:&lt;/strong&gt; &lt;a href=&quot;https://docs.astro.build/en/reference/directives-reference/#client-directives&quot;&gt;Client Directives&lt;/a&gt; are still required to create interactive components. Otherwise, all components in your MDX will render as static HTML (no JavaScript) by default.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><h:img src="undefined"/><enclosure url="undefined"/></item><item><title>What Is 3D Rendering? Complete Guide to 3D Visualization</title><link>https://lizx.vercel.app/blog/3d-rendering</link><guid isPermaLink="true">https://lizx.vercel.app/blog/3d-rendering</guid><description>3D imagery has the power to bring cinematic visions to life and help accurately plan tomorrow’s cityscapes. Here, 3D expert Ricardo Ortiz explains how it works.</description><pubDate>Sun, 09 Feb 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;3D rendering is all around us. From huge action movies to car commercials to previews of upcoming buildings or product designs, 3D visualization has become so widespread and realistic that you probably don’t even know it’s there.&lt;/p&gt;
&lt;p&gt;In this introductory piece, Chaos’ Ricardo Ortiz explains the basics of 3D rendering, from the computational methods that create imagery to the artistic techniques that create great computer-generated (CG) content and its various uses.&lt;/p&gt;
&lt;h2&gt;What is 3D Rendering?&lt;/h2&gt;
&lt;p&gt;Put simply, 3D rendering is the process of using a computer to generate a 2D image from a digital three-dimensional scene.&lt;/p&gt;
&lt;p&gt;To generate an image, specific methodologies and special software and hardware are used. Therefore, we need to understand that 3D rendering is a process—the one that builds the image.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://lizx.vercel.app/_image?href=%2F_astro%2Fnikola-arsov-still-life-interior-design-vray-3ds-max-05-930px.DoY3_oVo.jpg&amp;#x26;w=1920&amp;#x26;h=1280&amp;#x26;f=webp&quot; alt=&quot;alt text&quot;&gt;&lt;/p&gt;
&lt;h2&gt;Types of 3D rendering&lt;/h2&gt;
&lt;p&gt;We can create different types of rendered image; they can be realistic or non-realistic.&lt;/p&gt;
&lt;p&gt;A realistic image could be an architectural interior that looks like a photograph, a product-design image such as a piece of furniture, or an automotive rendering of a car. On the other hand, we can create a non-realistic image such as an outline-type diagram or a cartoon-style image with a traditional 2D look. Technically, we can visualize anything we can imagine.&lt;/p&gt;
&lt;h2&gt;How is 3D rendering used?&lt;/h2&gt;
&lt;p&gt;3D rendering is an essential technique for many industries including architecture, product design, advertising, video games and visual effects for film, TV and animation.&lt;/p&gt;
&lt;p&gt;In design and architecture, renders allow creative people to communicate their ideas in a clear and transparent way. A render gives them the chance to evaluate their proposals, experiment with materials, conduct studies and contextualize their designs in the real world before they are built or manufactured.&lt;/p&gt;
&lt;p&gt;For the media and entertainment industries, 3D rendering is fundamental to the creation of sequences and animations that tell stories, whether we’re watching an animated movie, a period drama, or an action sequence with explosions, ships from the future, exotic locales, or extraterrestrial creatures.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://lizx.vercel.app/_image?href=%2F_astro%2Fthanos-dd-single-image-004a.DUX4VGf-.jpg&amp;#x26;w=1920&amp;#x26;h=993&amp;#x26;f=webp&quot; alt=&quot;alt text&quot;&gt;&lt;/p&gt;
&lt;p&gt;Over the past few years, the evolution of computer graphics in these industries has replaced traditional techniques. For example, special effects are being replaced by visual effects, which means stunt people no longer risk their lives in car crashes.&lt;/p&gt;
&lt;p&gt;In advertising, I would dare to say that 90% of automotive commercials are CG—or even more. In the architecture industry, many traditional techniques to create representations, such as scale models, have been replaced with photorealistic imagery to ensure we can see exactly how something will look once it’s built.&lt;/p&gt;
&lt;p&gt;Accelerating processes, reducing costs and the demand for better quality results have helped technology evolve. Hardware is more powerful than ever and the switch to CG was inevitable.&lt;/p&gt;
&lt;h2&gt;How is a 3D rendered image generated?&lt;/h2&gt;
&lt;p&gt;Two pieces of software, with different characteristics, are used to computer-generate images and animations: render engines and game engines. Render engines use a technique called ray tracing, while game engines use a technique called rasterization—and some engines mix both techniques, but we will talk about that later on.&lt;/p&gt;</content:encoded><h:img src="/_astro/thumbnail.DzZDiYKA.jpg"/><enclosure url="/_astro/thumbnail.DzZDiYKA.jpg"/></item><item><title>The Impact of Technology on the Music World</title><link>https://lizx.vercel.app/blog/music-journey</link><guid isPermaLink="true">https://lizx.vercel.app/blog/music-journey</guid><description>The evolution of music is a symphony of creativity, rhythm, and technology.</description><pubDate>Sat, 30 Nov 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;The evolution of music is a symphony of creativity, rhythm, and technology. From the humble beginnings of acoustic instruments to the present-day digital era, the relationship between music and technology has been transformative. In this article, we will explore the historical milestones, digital revolution, and emerging technologies that have shaped the music world. Join us on a journey through the chords of innovation as we discuss how technology has changed music.&lt;/p&gt;
&lt;h2&gt;Historical Perspective&lt;/h2&gt;
&lt;p&gt;The marriage of music and technology dates back centuries, with pivotal moments shaping the industry. The invention of the phonograph by Thomas Edison in the late 19th century marked the first time music could be recorded and replayed. Subsequent milestones, such as the electric guitar and the synthesizer, revolutionized music creation, paving the way for new genres and sounds.&lt;/p&gt;
&lt;p&gt;These technological leaps didn&apos;t merely shape the musical landscape of their time but laid a foundation for the continuous evolution of the intersection between music and technology. As artists embraced these innovations, they unlocked new avenues for creativity, paving the way for diverse sounds and genres that have become integral to the vibrant tapestry of the modern music industry. The historical perspective illuminates the symbiotic relationship between music and technology, highlighting the transformative impact that each innovation has had on the way we create, consume, and experience music.&lt;/p&gt;
&lt;h2&gt;Digital Revolution&lt;/h2&gt;
&lt;p&gt;The digital revolution has been a seismic shift in the music industry, altering how music is consumed, distributed, and produced. The transition from physical formats like CDs and vinyl to digital formats such as MP3s and streaming services has democratized access to music. The ease of streaming has transformed how listeners discover and enjoy music, challenging traditional revenue models while offering unparalleled convenience.&lt;/p&gt;
&lt;h2&gt;Technology in Music Consumption and Distribution&lt;/h2&gt;
&lt;p&gt;Streaming services have become the heartbeat of music consumption, causing a decline in traditional music stores. The accessibility of music online has reshaped distribution channels, impacting both artists and record labels. While it provides exposure to a global audience, it also poses challenges regarding fair compensation for artists. The dynamics of the industry are evolving, reflecting the intricate dance between technology and music.
Music Production and Creation&lt;/p&gt;
&lt;p&gt;The advent of digital audio workstations (DAWs), software instruments, and electronic production techniques has democratized music creation. Artists now have powerful tools at their fingertips, enabling them to experiment with sounds, collaborate remotely, and produce music independently. This technological shift has broken down barriers, allowing for a diverse array of voices to be heard in the ever-expanding realm of music.&lt;/p&gt;</content:encoded><h:img src="/_astro/thumbnail.Cx18cRmB.jpg"/><enclosure url="/_astro/thumbnail.Cx18cRmB.jpg"/></item><item><title>Personalized Customization Guide</title><link>https://lizx.vercel.app/blog/customize</link><guid isPermaLink="true">https://lizx.vercel.app/blog/customize</guid><description>astro-theme-pure Personalized Customization Guide</description><pubDate>Sat, 27 Jul 2024 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;Site Configuration&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/cworld1/astro-theme-pure&quot;&gt;astro-theme-pure&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Customizing this theme requires adjusting a significant amount of source code.&lt;/p&gt;
&lt;p&gt;We have made efforts to centralize the configuration options in the &lt;code&gt;src/site.config.ts&lt;/code&gt; file for user convenience and have integrated a variety of common social media/tools icons. If you want to add new icons, you will need to modify the source code yourself.&lt;/p&gt;
&lt;p&gt;You can globally search for the following keywords to find the text that needs to be replaced:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Lorem ipsum&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;astro-theme-pure&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cworld&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Next, we will introduce each aspect in detail.&lt;/p&gt;
&lt;h3&gt;Configuration Files&lt;/h3&gt;
&lt;p&gt;See &lt;a href=&quot;/docs/setup/configuration&quot;&gt;Configuration Files&lt;/a&gt; for details.&lt;/p&gt;
&lt;h4&gt;Waline Comment System&lt;/h4&gt;
&lt;p&gt;See &lt;a href=&quot;/docs/integrations/comment&quot;&gt;Waline Comment System&lt;/a&gt; for details.&lt;/p&gt;
&lt;h4&gt;Footer&lt;/h4&gt;
&lt;p&gt;Currently supported social media include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;coolapk&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;telegram&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;github&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bilibili&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;twitter&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;zhihu&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;steam&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;netease_music&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you want to add new social media, you need to modify the following files:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;src/types.ts&lt;/code&gt;: Add a new &lt;code&gt;SocialLink.name&lt;/code&gt; enum value and the icon mapping relationship for &lt;code&gt;SocialMediaIconId&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;public/icons/social.svg&lt;/code&gt;: Follow the existing format and add a new icon as a symbol&lt;/p&gt;
&lt;p&gt;It is recommended to find social media icons on the following websites to maintain consistency:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://remixicon.com/&quot;&gt;remixicon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.mingcute.com/&quot;&gt;mingcute&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Other Files to Replace&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;public/favicon&lt;/code&gt;: The site&apos;s favicon. You can generate a favicon at &lt;a href=&quot;https://favicon.io/favicon-converter/&quot;&gt;favicon.io&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;public/images/social-card.png&lt;/code&gt;: The site&apos;s social card&lt;/li&gt;
&lt;li&gt;&lt;code&gt;src/assets/&lt;/code&gt;: This directory contains client-rendered avatars, sponsorship QR codes, and other images. Please replace them with your own images&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Other Pages&lt;/h2&gt;
&lt;h3&gt;About&lt;/h3&gt;
&lt;p&gt;Currently supported icons can be found in the &lt;code&gt;src/icons&lt;/code&gt; directory.&lt;/p&gt;
&lt;p&gt;If you want to add new Tools icons, you need to add a new icon in the &lt;code&gt;src/icons&lt;/code&gt; directory.&lt;/p&gt;
&lt;p&gt;It is recommended to find new icons on the following websites to maintain consistency:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://icon-sets.iconify.design/&quot;&gt;iconify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://icones.js.org/&quot;&gt;icones&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Deployment Mode&lt;/h2&gt;
&lt;p&gt;See &lt;a href=&quot;/docs/deployment&quot;&gt;Deployment&lt;/a&gt; for details.&lt;/p&gt;</content:encoded><h:img src="/_astro/thumbnail.H3t_xmcX.jpg"/><enclosure url="/_astro/thumbnail.H3t_xmcX.jpg"/></item><item><title>Markdown Syntax Support</title><link>https://lizx.vercel.app/blog/markdown</link><guid isPermaLink="true">https://lizx.vercel.app/blog/markdown</guid><description>Markdown is a lightweight markup language.</description><pubDate>Wed, 26 Jul 2023 08:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;Basic Syntax&lt;/h2&gt;
&lt;p&gt;Markdown is a lightweight and easy-to-use syntax for styling your writing.&lt;/p&gt;
&lt;h3&gt;Headers&lt;/h3&gt;
&lt;p&gt;When the content of the article is extensive, you can use headers to segment:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;# Header 1

## Header 2

## Large Header

### Small Header
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Header previews would disrupt the structure of the article, so they are not displayed here.&lt;/p&gt;
&lt;h3&gt;Bold and Italics&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;_Italic text_ and **Bold text**, together will be **_Bold Italic text_**
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Preview:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Italic text&lt;/em&gt; and &lt;strong&gt;Bold text&lt;/strong&gt;, together will be &lt;strong&gt;&lt;em&gt;Bold Italic text&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;Links&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;Text link [Link Name](http://link-url)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Preview:&lt;/p&gt;
&lt;p&gt;Text link &lt;a href=&quot;http://link-url&quot;&gt;Link Name&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Inline Code&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;This is an `inline code`
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Preview:&lt;/p&gt;
&lt;p&gt;This is an &lt;code&gt;inline code&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Code Blocks&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;```js
// calculate fibonacci
function fibonacci(n) {
  if (n &amp;#x3C;= 1) return 1
  const result = fibonacci(n - 1) + fibonacci(n - 2) // [\!code --]
  return fibonacci(n - 1) + fibonacci(n - 2) // [\!code ++]
}
```
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Preview:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-js&quot;&gt;// calculate fibonacci
function fibonacci(n) {
  if (n &amp;#x3C;= 1) return 1
  const result = fibonacci(n - 1) + fibonacci(n - 2) // [!code --]
  return fibonacci(n - 1) + fibonacci(n - 2) // [!code ++]
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Currently using shiki as the code highlighting plugin. For supported languages, refer to &lt;a href=&quot;https://shiki.matsu.io/languages.html&quot;&gt;Shiki: Languages&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Inline Formula&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;This is an inline formula $e^{i\pi} + 1 = 0$
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Preview:&lt;/p&gt;
&lt;p&gt;This is an inline formula $e^{i\pi} + 1 = 0$&lt;/p&gt;
&lt;h3&gt;Formula Blocks&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;$$
\hat{f}(\xi) = \int_{-\infty}^{\infty} f(x) e^{-2\pi i x \xi} \, dx
$$
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Preview:&lt;/p&gt;
&lt;p&gt;$$
\hat{f}(\xi) = \int_{-\infty}^{\infty} f(x) e^{-2\pi i x \xi} , dx
$$&lt;/p&gt;
&lt;p&gt;Currently using KaTeX as the math formula plugin. For supported syntax, refer to &lt;a href=&quot;https://katex.org/docs/supported.html&quot;&gt;KaTeX Supported Functions&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Images&lt;/h4&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;![CWorld](https://cravatar.cn/avatar/1ffe42aa45a6b1444a786b1f32dfa8aa?s=200)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Preview:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://cravatar.cn/avatar/1ffe42aa45a6b1444a786b1f32dfa8aa?s=200&quot; alt=&quot;CWorld&quot;&gt;&lt;/p&gt;
&lt;h4&gt;Strikethrough&lt;/h4&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;~~Strikethrough~~
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Preview:&lt;/p&gt;
&lt;p&gt;~~Strikethrough~~&lt;/p&gt;
&lt;h3&gt;Lists&lt;/h3&gt;
&lt;p&gt;Regular unordered list&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;- 1
- 2
- 3
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Preview:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1&lt;/li&gt;
&lt;li&gt;2&lt;/li&gt;
&lt;li&gt;3&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Regular ordered list&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;1. GPT-4
2. Claude Opus
3. LLaMa
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Preview:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;GPT-4&lt;/li&gt;
&lt;li&gt;Claude Opus&lt;/li&gt;
&lt;li&gt;LLaMa&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You can continue to nest syntax within lists.&lt;/p&gt;
&lt;h3&gt;Blockquotes&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;&gt; Gunshot, thunder, sword rise. A scene of flowers and blood.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Preview:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Gunshot, thunder, sword rise. A scene of flowers and blood.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;You can continue to nest syntax within blockquotes.&lt;/p&gt;
&lt;h3&gt;Line Breaks&lt;/h3&gt;
&lt;p&gt;Markdown needs a blank line to separate paragraphs.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;If you don&apos;t leave a blank line
it will be in one paragraph

First paragraph

Second paragraph
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Preview:&lt;/p&gt;
&lt;p&gt;If you don&apos;t leave a blank line
it will be in one paragraph&lt;/p&gt;
&lt;p&gt;First paragraph&lt;/p&gt;
&lt;p&gt;Second paragraph&lt;/p&gt;
&lt;h3&gt;Separators&lt;/h3&gt;
&lt;p&gt;If you have the habit of writing separators, you can start a new line and enter three dashes &lt;code&gt;---&lt;/code&gt; or asterisks &lt;code&gt;***&lt;/code&gt;. Leave a blank line before and after when there are paragraphs:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;---
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Preview:&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;Advanced Techniques&lt;/h2&gt;
&lt;h3&gt;Inline HTML Elements&lt;/h3&gt;
&lt;p&gt;Currently, only some inline HTML elements are supported, including &lt;code&gt;&amp;#x3C;kdb&gt; &amp;#x3C;b&gt; &amp;#x3C;i&gt; &amp;#x3C;em&gt; &amp;#x3C;sup&gt; &amp;#x3C;sub&gt; &amp;#x3C;br&gt;&lt;/code&gt;, such as&lt;/p&gt;
&lt;h4&gt;Key Display&lt;/h4&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;Use &amp;#x3C;kbd&gt;Ctrl&amp;#x3C;/kbd&gt; + &amp;#x3C;kbd&gt;Alt&amp;#x3C;/kbd&gt; + &amp;#x3C;kbd&gt;Del&amp;#x3C;/kbd&gt; to reboot the computer
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Preview:&lt;/p&gt;
&lt;p&gt;Use Ctrl + Alt + Del to reboot the computer&lt;/p&gt;
&lt;h4&gt;Bold Italics&lt;/h4&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;&amp;#x3C;b&gt; Markdown also applies here, such as _bold_ &amp;#x3C;/b&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Preview:&lt;/p&gt;
&lt;p&gt; Markdown also applies here, such as &lt;em&gt;bold&lt;/em&gt; &lt;/p&gt;
&lt;h3&gt;Other HTML Writing&lt;/h3&gt;
&lt;h4&gt;Foldable Blocks&lt;/h4&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;&amp;#x3C;details&gt;&amp;#x3C;summary&gt;Click to expand&amp;#x3C;/summary&gt;It is hidden&amp;#x3C;/details&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Preview:&lt;/p&gt;
&lt;h3&gt;Tables&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;| Header1  | Header2  |
| -------- | -------- |
| Content1 | Content2 |
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Preview:&lt;/p&gt;
&lt;p&gt;| Header1  | Header2  |
| -------- | -------- |
| Content1 | Content2 |&lt;/p&gt;
&lt;h3&gt;Footnotes&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;Use [^footnote] to add a footnote at the point of reference.

Then, at the end of the document, add the content of the footnote (it will be rendered at the end of the article by default).

[^footnote]: Here is the content of the footnote
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Preview:&lt;/p&gt;
&lt;p&gt;Use [^footnote] to add a footnote at the point of reference.&lt;/p&gt;
&lt;p&gt;Then, at the end of the document, add the content of the footnote (it will be rendered at the end of the article by default).&lt;/p&gt;
&lt;p&gt;[^footnote]: Here is the content of the footnote&lt;/p&gt;
&lt;h3&gt;To-Do Lists&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;- [ ] Incomplete task
- [x] Completed task
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Preview:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;[ ] Incomplete task&lt;/li&gt;
&lt;li&gt;[x] Completed task&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Symbol Escaping&lt;/h3&gt;
&lt;p&gt;If you need to use markdown symbols like _ # * in your description but don&apos;t want them to be escaped, you can add a backslash before these symbols, such as &lt;code&gt;\_&lt;/code&gt; &lt;code&gt;\#&lt;/code&gt; &lt;code&gt;\*&lt;/code&gt; to avoid it.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;\_Don&apos;t want the text here to be italic\_

\*\*Don&apos;t want the text here to be bold\*\*
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Preview:&lt;/p&gt;
&lt;p&gt;_Don&apos;t want the text here to be italic_&lt;/p&gt;
&lt;p&gt;**Don&apos;t want the text here to be bold**&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;Embedding Astro Components&lt;/h2&gt;
&lt;p&gt;See &lt;a href=&quot;/docs/integrations/components&quot;&gt;User Components&lt;/a&gt; and &lt;a href=&quot;/docs/integrations/advanced&quot;&gt;Advanced Components&lt;/a&gt; for details.&lt;/p&gt;</content:encoded><h:img src="/_astro/thumbnail.HAXFr_hw.jpg"/><enclosure url="/_astro/thumbnail.HAXFr_hw.jpg"/></item><item><title>Markdown 语法支持</title><link>https://lizx.vercel.app/blog/markdown-zh</link><guid isPermaLink="true">https://lizx.vercel.app/blog/markdown-zh</guid><description>Markdown 是一种轻量级的「标记语言」。</description><pubDate>Wed, 26 Jul 2023 08:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;基本语法&lt;/h2&gt;
&lt;p&gt;Markdown 是一种轻量级且易于使用的语法，用于为您的写作设计风格。&lt;/p&gt;
&lt;h3&gt;标题&lt;/h3&gt;
&lt;p&gt;文章内容较多时，可以用标题分段：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;# 标题 1

## 标题 2

## 大标题

### 小标题
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;标题预览会打乱文章的结构，所以在此不展示。&lt;/p&gt;
&lt;h3&gt;粗斜体&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;_斜体文本_

**粗体文本**

**_粗斜体文本_**
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;预览：&lt;/p&gt;
&lt;p&gt;&lt;em&gt;斜体文本&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;粗体文本&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;粗斜体文本&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;链接&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;文字链接 [链接名称](http://链接网址)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;预览：&lt;/p&gt;
&lt;p&gt;文字链接 &lt;a href=&quot;http://%E9%93%BE%E6%8E%A5%E7%BD%91%E5%9D%80&quot;&gt;链接名称&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;行内代码&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;这是一条 `单行代码`
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;预览：&lt;/p&gt;
&lt;p&gt;这是一条 &lt;code&gt;行内代码&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;代码块&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;```js
// calculate fibonacci
function fibonacci(n) {
  if (n &amp;#x3C;= 1) return 1
  return fibonacci(n - 1) + fibonacci(n - 2)
}
```
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;预览：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-js&quot;&gt;// calculate fibonacci
function fibonacci(n) {
  if (n &amp;#x3C;= 1) return 1
  return fibonacci(n - 1) + fibonacci(n - 2)
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;当前使用 shiki 作为代码高亮插件，支持的语言请参考 &lt;a href=&quot;https://shiki.matsu.io/languages.html&quot;&gt;shiki / languages&lt;/a&gt;。&lt;/p&gt;
&lt;h3&gt;行内公式&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;这是一条行内公式 $e^{i\pi} + 1 = 0$
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;预览：&lt;/p&gt;
&lt;p&gt;这是一条行内公式 $e^{i\pi} + 1 = 0$&lt;/p&gt;
&lt;h3&gt;公式块&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;$$
\hat{f}(\xi) = \int_{-\infty}^{\infty} f(x) e^{-2\pi i x \xi} \, dx
$$
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;预览：&lt;/p&gt;
&lt;p&gt;$$
\hat{f}(\xi) = \int_{-\infty}^{\infty} f(x) e^{-2\pi i x \xi} , dx
$$&lt;/p&gt;
&lt;p&gt;当前使用 KaTeX 作为数学公式插件，支持的语法请参考 &lt;a href=&quot;https://katex.org/docs/supported.html&quot;&gt;KaTeX Supported Functions&lt;/a&gt;。&lt;/p&gt;
&lt;h4&gt;图片&lt;/h4&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;![CWorld](https://cravatar.cn/avatar/1ffe42aa45a6b1444a786b1f32dfa8aa?s=200)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;预览：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://cravatar.cn/avatar/1ffe42aa45a6b1444a786b1f32dfa8aa?s=200&quot; alt=&quot;CWorld&quot;&gt;&lt;/p&gt;
&lt;h4&gt;删除线&lt;/h4&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;~~删除线~~
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;预览：&lt;/p&gt;
&lt;p&gt;~~删除线~~&lt;/p&gt;
&lt;h3&gt;列表&lt;/h3&gt;
&lt;p&gt;普通无序列表&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;- 1
- 2
- 3
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;预览：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1&lt;/li&gt;
&lt;li&gt;2&lt;/li&gt;
&lt;li&gt;3&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;普通有序列表&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;1. GPT-4
2. Claude Opus
3. LLaMa
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;预览：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;GPT-4&lt;/li&gt;
&lt;li&gt;Claude Opus&lt;/li&gt;
&lt;li&gt;LLaMa&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;列表里可以继续嵌套语法&lt;/p&gt;
&lt;h3&gt;引用&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;&gt; 枪响，雷鸣，剑起。繁花血景。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;预览：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;枪响，雷鸣，剑起。繁花血景。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;引用里也可以继续嵌套语法。&lt;/p&gt;
&lt;h3&gt;换行&lt;/h3&gt;
&lt;p&gt;markdown 分段落是需要空一行的。&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;如果不空行
就会在一段

第一段

第二段
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;预览：&lt;/p&gt;
&lt;p&gt;如果不空行
就会在一段&lt;/p&gt;
&lt;p&gt;第一段&lt;/p&gt;
&lt;p&gt;第二段&lt;/p&gt;
&lt;h3&gt;分隔符&lt;/h3&gt;
&lt;p&gt;如果你有写分割线的习惯，可以新起一行输入三个减号&lt;code&gt;---&lt;/code&gt; 或者星号 &lt;code&gt;***&lt;/code&gt;。当前后都有段落时，请空出一行：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;---
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;预览：&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;高级技巧&lt;/h2&gt;
&lt;h3&gt;行内 HTML 元素&lt;/h3&gt;
&lt;p&gt;目前只支持部分段内 HTML 元素效果，包括 &lt;code&gt;&amp;#x3C;kdb&gt; &amp;#x3C;b&gt; &amp;#x3C;i&gt; &amp;#x3C;em&gt; &amp;#x3C;sup&gt; &amp;#x3C;sub&gt; &amp;#x3C;br&gt;&lt;/code&gt; ，如&lt;/p&gt;
&lt;h4&gt;键位显示&lt;/h4&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;使用 &amp;#x3C;kbd&gt;Ctrl&amp;#x3C;/kbd&gt; + &amp;#x3C;kbd&gt;Alt&amp;#x3C;/kbd&gt; + &amp;#x3C;kbd&gt;Del&amp;#x3C;/kbd&gt; 重启电脑
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;预览：&lt;/p&gt;
&lt;p&gt;使用 Ctrl + Alt + Del 重启电脑&lt;/p&gt;
&lt;h4&gt;粗斜体&lt;/h4&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;&amp;#x3C;b&gt; Markdown 在此处同样适用，如 _加粗_ &amp;#x3C;/b&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;预览：&lt;/p&gt;
&lt;p&gt; Markdown 在此处同样适用，如 &lt;em&gt;加粗&lt;/em&gt; &lt;/p&gt;
&lt;h3&gt;其他 HTML 写法&lt;/h3&gt;
&lt;h4&gt;折叠块&lt;/h4&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;&amp;#x3C;details&gt;&amp;#x3C;summary&gt;点击展开&amp;#x3C;/summary&gt;它被隐藏了&amp;#x3C;/details&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;预览：&lt;/p&gt;
&lt;h3&gt;表格&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;| 表头1 | 表头2 |
| ----- | ----- |
| 内容1 | 内容2 |
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;预览：&lt;/p&gt;
&lt;p&gt;| 表头1 | 表头2 |
| ----- | ----- |
| 内容1 | 内容2 |&lt;/p&gt;
&lt;h3&gt;注释&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;在引用的地方使用 [^注释] 来添加注释。

然后在文档的结尾，添加注释的内容（会默认于文章结尾渲染之）。

[^注释]: 这里是注释的内容
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;预览：&lt;/p&gt;
&lt;p&gt;在引用的地方使用 &lt;a href=&quot;%E8%BF%99%E9%87%8C%E6%98%AF%E6%B3%A8%E9%87%8A%E7%9A%84%E5%86%85%E5%AE%B9&quot;&gt;^注释&lt;/a&gt; 来添加注释。&lt;/p&gt;
&lt;p&gt;然后在文档的结尾，添加注释的内容（会默认于文章结尾渲染之）。&lt;/p&gt;
&lt;h3&gt;To-Do 列表&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;- [ ] 未完成的任务
- [x] 已完成的任务
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;预览：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;[ ] 未完成的任务&lt;/li&gt;
&lt;li&gt;[x] 已完成的任务&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;符号转义&lt;/h3&gt;
&lt;p&gt;如果你的描述中需要用到 markdown 的符号，比如 _ # * 等，但又不想它被转义，这时候可以在这些符号前加反斜杠，如 &lt;code&gt;\_&lt;/code&gt; &lt;code&gt;\#&lt;/code&gt; &lt;code&gt;\*&lt;/code&gt; 进行避免。&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;\_不想这里的文本变斜体\_

\*\*不想这里的文本被加粗\*\*
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;预览：&lt;/p&gt;
&lt;p&gt;_不想这里的文本变斜体_&lt;/p&gt;
&lt;p&gt;**不想这里的文本被加粗**&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;内嵌 Astro 组件&lt;/h2&gt;
&lt;p&gt;See &lt;a href=&quot;/docs/integrations/components&quot;&gt;User Components&lt;/a&gt; and &lt;a href=&quot;/docs/integrations/advanced&quot;&gt;Advanced Components&lt;/a&gt; for details.&lt;/p&gt;</content:encoded><h:img src="/_astro/thumbnail.HAXFr_hw.jpg"/><enclosure url="/_astro/thumbnail.HAXFr_hw.jpg"/></item></channel></rss>