今天整理了简正模导出声子的内容,其中用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. if 的一切

    第一种语法: if 条件: # @引号是为了把条件和结果分开. 结果1 # 一个Tab或者4个空格 @告诉程序满足上面的if条件才会执行结果1结果2 如果条件为真(True),执行结果1,然后执行结果 ...

  2. Spring 利用PropertyPlaceholderConfigurer占位符

      Hey Girl   博客园    首页    博问    闪存    新随笔    订阅     管理 posts - 42,  comments - 3,  trackbacks - 0 Sp ...

  3. JavaScript计算指定日期与当前日期的相差天数

    java中处理2个时间段相差几天很容易,直接调相关方法就行,不过js处理这类问题稍微有点不易,项目开发中也用到了,如下: 1 2 3 4 5 6 7 8 9 10 11 12 //计算两个日期天数差的 ...

  4. AOP-切面是如何织入到目标对象中的

    切面是如何织入到目标对象中的???这大概是每个人在学习AOP的过程中都会产生的疑问吧. 当我们在调用目标方法时候,也就是通过代理对象调用目标方法的时候,比如:JdkDynamicAopProxy会通过 ...

  5. BZOJ3611:[HEOI2014]大工程(树形DP,虚树)

    Description 国家有一个大工程,要给一个非常大的交通网络里建一些新的通道.  我们这个国家位置非常特殊,可以看成是一个单位边权的树,城市位于顶点上.  在 2 个国家 a,b 之间建一条新通 ...

  6. python伪装网页访问

    # -*- coding:utf8 -*-#import urllib.request#url =' http://www.douban.com/'#webPage=urllib.request.ur ...

  7. django restframework 序列化

    Serialization 序列化 创建表 from django.db import models from pygments.lexers import get_all_lexers from p ...

  8. 多线程之CountDownLatch、CyclicBarrier和Semaphore

    Java并发编程:CountDownLatch.CyclicBarrier和Semaphore 在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch ...

  9. 469 B. Intercepted Message

    http://codeforces.com/problemset/problem/950/B Hacker Zhorik wants to decipher two secret messages h ...

  10. 通过条件注解@Conditional细粒度的选择bean实例

    在进行spring进行开发时,当某个接口有多种实现方式并且我们只想让一种生效时,比如声明如下一个接口和两个实现: public interface LanggageService { String s ...