今天整理了简正模导出声子的内容,其中用tikz画了两张图。一张是整个问题的物理模型,效果如下

这幅图的绘制参考了https://tex.stackexchange.com/questions/41608/draw-mechanical-springs-in-tikz中弹簧的绘制。具体代码如下:

\usepackage{tikz}
\usepackage{pgfplots}
\usetikzlibrary{decorations.pathmorphing,patterns}
\begin{figure}\label{classical chain}
\centering
\begin{tikzpicture}
\node[circle,fill=gray,inner sep=2.5mm] (a1) at (2,0){$M$};
\node[circle,fill=brown,inner sep=1.5mm] (b1) at (4,0){$m$};
\node[circle,fill=gray,inner sep=2.5mm] (a2) at (6,0){$M$};
\node[circle,fill=brown,inner sep=1.5mm] (b2) at (8,0){$m$};
\draw[decoration={aspect=0.3, segment length=2mm, amplitude=1.5mm,coil},decorate](0,0)--(a1) node[midway,below]{$k$};
\draw[decoration={aspect=0.3, segment length=2mm, amplitude=1.5mm,coil},decorate](a1)--(b1)node[midway,below]{$k$};
\draw[decoration={aspect=0.3, segment length=2mm, amplitude=1.5mm,coil},decorate](b1)--(a2)node[midway,below]{$k$};
\draw[decoration={aspect=0.3, segment length=2mm, amplitude=1.5mm,coil},decorate](a2)--(b2)node[midway,below]{$k$};
\draw[decoration={aspect=0.3, segment length=2mm, amplitude=1.5mm,coil},decorate](b2)--(10,0)node[midway,below]{$k$};
\draw[->,thick](0,-1)--(10,-1) node[right]{$x$};
\draw (2,-1)--(2,-1.3) node[anchor=north]{$X_n$};
\draw (4,-1)--(4,-1.3) node[anchor=north]{$x_n$};
\draw (6,-1)--(6,-1.3) node[anchor=north]{$X_{n+1}$};
\draw (8,-1)--(8,-1.3) node[anchor=north]{$x_{n+1}$};
\draw [<->,thick](2,1)--(4,1) node[midway,above]{$a$};
\draw [<->,thick](4,1)--(8,1) node[midway,above]{$2a$};
\end{tikzpicture}
\caption{1D classical chain oscillators.}
\end{figure}

声子的色散关系是tikz中函数关系的绘制,代码如下:

\begin{figure}\label{phonon}
\centering
\begin{tikzpicture}
\draw[->,thick](-4,0)--(4,0) node[right]{$q$};
\draw[->,thick](0,-0.5)--(0,2.8) node[above]{$\omega_q^2$};
\draw[-,thick](-pi/2,0)--(-pi/2,-0.1) node[below]{$-\frac{\pi}{2a}$};
\draw[-,thick](pi/2,0)--(pi/2,-0.1) node[below]{$\frac{\pi}{2a}$};
\draw[-,thick](-pi,0)--(-pi,-0.1) node[below]{$-\frac{\pi}{a}$};
\draw[-,thick](pi,0)--(pi,-0.1) node[below]{$\frac{\pi}{a}$}; \draw [red,domain=-3.8:3.8,smooth,thick] plot (\x, {1+sqrt(1-0.8*sin(\x r)*sin(\x r))}) node[above]{$\quad\omega_+(q)$ optical phonon};
\draw [blue,domain=-3.8:3.8,smooth,thick] plot (\x, {1-sqrt(1-0.8*sin(\x r)*sin(\x r))}) node[above]{$\qquad \omega_-(q)$ acoustic phonon};
\end{tikzpicture}
\caption{Optical phonon and acoustic phonon.}
\end{figure}

结果如下:

tikz中谐振子(弹簧)的绘制,以及声子色散关系的绘制的更多相关文章

  1. ArcGis For Silverlight API,地图显示Gis,绘制点,线,绘制图等--绘制点、线、圆,显示提示信息

    ArcGis For Silverlight API,地图显示Gis,绘制点,线,绘制图等--绘制点.线.圆,显示提示信息 /// <summary> /// 绘制界面上的点和线 ///  ...

  2. ArcGIS Mobile 自定义图层在绘制面时节点未绘制完全的问题

    ArcGIS Mobile 自定义图层在绘制面时节点未绘制完全,如下图: 面的绘制代码如下: public void Draw(Display dis, Pen p1, Pen p2,Pen p3 , ...

  3. Java小题,通过JNI调用本地C++共享库中的对应方法实现杨辉三角的绘制

    1.在Eclipse中配置Javah,配置如下 位置是你javah.exe在你电脑磁盘上的路径 位置:C:\Program Files\Java\jdk1.8.0_112\bin\javah.exe ...

  4. 使用D3绘制图表(2)--绘制曲线

    上一篇是使用D3绘制画布,这一篇的内容是在画布上绘制曲线. 1.之前的html代码没有变化,但是我还是贴出来 <!DOCTYPE html> <html> <head&g ...

  5. 使用 jsPlumb 绘制拓扑图 —— 异步载入与绘制的实现

    本文实现的方法能够边异步载入数据边绘制拓扑图. 有若干点须要说明一下: 1.  一次性获取全部数据并绘制拓扑图. 请參见文章: <使用 JsPlumb 绘制拓扑图的通用方法> ; 本文实现 ...

  6. Android绘制优化(一)绘制性能分析

    前言 一个优秀的应用不仅仅是要有吸引人的功能和交互,同时在性能上也有很高的要求.运行Android系统的手机,虽然配置在不断的提升,但仍旧无法和PC相比,无法做到PC那样拥有超大的内存以及高性能的CP ...

  7. win32绘制自定义类窗口导致绘制11个窗口的解决办法

    上网查了一圈也没有找到解决问题的办法,一旦创建了一个窗口,并且在过程函数中绘制窗口,尤其是一些非子窗口的自定义类窗口,都会生成11个窗口(算上主窗口就是12个),但是使用系统通用控件就不会有这种情况的 ...

  8. 关于c#winform用sharpGL(OpenGL)绘制不出图形,绘制窗口是个黑框的坑

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11790309.html 在c++的opengl中可能是因为是最基本的库,很多东西都把你做好了 ...

  9. 在 LaTeX 中同步缩放 TikZ 与其中的 node

    PGF/TikZ 是 Till Tantau 开发的基于 TeX 的绘图引擎.因其可以直接在 LaTeX 文稿中通过代码绘制向量图,所以是目前流行的 LaTeX 绘图解决方案之一. 在 tikzpic ...

随机推荐

  1. 查找数据库表中重复的 Image 类型值

    直接上代码: SELECT * FROM [dbo].[V_Courseware] ))) IN ())) FROM [dbo].[V_Courseware] ))) ); 替换以上代码中相应对象即可 ...

  2. ORACLE默认实例设置--linux

    数据库实例多了之后,每次export的时候,显示的ORACLE_SID总不是自己经常用的那个,要是能让默认的自定义就好了. 现在就解释一下在linux环境中如何定义: 1.su - oracle 2. ...

  3. Kubernetes 初探

    一.容器: 1. 容器是运行一个或一组进程的方法,使得这些进程和主机上其他进程相隔离 2. 容器类似于虚拟机,但不同于虚拟机 容器                                    ...

  4. Day1 MySql安装和基本操作

    数据和数据库 1.数据:客观事物的符号表示. 2.存储介质:纸,光盘,磁盘,u盘,云盘… 3.存储的目的:检索(查询) 存储数据量加大,导致检索的难度升高. 4.数据库(DB:database):按照 ...

  5. 初识Qt文字绘制

    1.新建一个Qt Gui应用,项目名称为myDraw,基类选择为QMainWindow,类名设置为MainWindow. 2.在mainwindow.h头文件中添加void paintEvent(QP ...

  6. c++——inline内联函数

    1 inline内联函数 C++中的const常量可以替代宏常数定义,如: const int A = 3;  #define A 3 C++中是否有解决方案替代宏代码片段呢?(替代宏代码片段就可以 ...

  7. ajax表单提交post(错误400) 序列化表单(post表单转换json(序列化))

    序列化表单 使用serializeArray()序列化 转换成json格式 function arrayTOjson(node) { var b = "{"; for (var i ...

  8. Spring源码分析(二十五)finishRefresh

    摘要: 本文结合<Spring源码深度解析>来分析Spring 5.0.6版本的源代码.若有描述错误之处,欢迎指正. 在 Spring 中还提供了 Lifecycle 接口, Lifecy ...

  9. 《You dont know JS》原生函数

    原生函数 原生函数,即JavaScript的内建函数(built-in function).常用的原生函数有String().Number().Boolean().Array().Object().F ...

  10. JavaScript跨源资源共享

    CORS(跨 源资源共享)基本思想,就是使用自定义的HTTP头部让浏览器与服务器进行沟通,从而决定请求或响应式应该成功还是失败 IE对CORS的实现 IE8引入了XDR类型,与XHR类似,但可以实现安 ...