tikz中谐振子(弹簧)的绘制,以及声子色散关系的绘制
今天整理了简正模导出声子的内容,其中用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中谐振子(弹簧)的绘制,以及声子色散关系的绘制的更多相关文章
- ArcGis For Silverlight API,地图显示Gis,绘制点,线,绘制图等--绘制点、线、圆,显示提示信息
ArcGis For Silverlight API,地图显示Gis,绘制点,线,绘制图等--绘制点.线.圆,显示提示信息 /// <summary> /// 绘制界面上的点和线 /// ...
- ArcGIS Mobile 自定义图层在绘制面时节点未绘制完全的问题
ArcGIS Mobile 自定义图层在绘制面时节点未绘制完全,如下图: 面的绘制代码如下: public void Draw(Display dis, Pen p1, Pen p2,Pen p3 , ...
- Java小题,通过JNI调用本地C++共享库中的对应方法实现杨辉三角的绘制
1.在Eclipse中配置Javah,配置如下 位置是你javah.exe在你电脑磁盘上的路径 位置:C:\Program Files\Java\jdk1.8.0_112\bin\javah.exe ...
- 使用D3绘制图表(2)--绘制曲线
上一篇是使用D3绘制画布,这一篇的内容是在画布上绘制曲线. 1.之前的html代码没有变化,但是我还是贴出来 <!DOCTYPE html> <html> <head&g ...
- 使用 jsPlumb 绘制拓扑图 —— 异步载入与绘制的实现
本文实现的方法能够边异步载入数据边绘制拓扑图. 有若干点须要说明一下: 1. 一次性获取全部数据并绘制拓扑图. 请參见文章: <使用 JsPlumb 绘制拓扑图的通用方法> ; 本文实现 ...
- Android绘制优化(一)绘制性能分析
前言 一个优秀的应用不仅仅是要有吸引人的功能和交互,同时在性能上也有很高的要求.运行Android系统的手机,虽然配置在不断的提升,但仍旧无法和PC相比,无法做到PC那样拥有超大的内存以及高性能的CP ...
- win32绘制自定义类窗口导致绘制11个窗口的解决办法
上网查了一圈也没有找到解决问题的办法,一旦创建了一个窗口,并且在过程函数中绘制窗口,尤其是一些非子窗口的自定义类窗口,都会生成11个窗口(算上主窗口就是12个),但是使用系统通用控件就不会有这种情况的 ...
- 关于c#winform用sharpGL(OpenGL)绘制不出图形,绘制窗口是个黑框的坑
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11790309.html 在c++的opengl中可能是因为是最基本的库,很多东西都把你做好了 ...
- 在 LaTeX 中同步缩放 TikZ 与其中的 node
PGF/TikZ 是 Till Tantau 开发的基于 TeX 的绘图引擎.因其可以直接在 LaTeX 文稿中通过代码绘制向量图,所以是目前流行的 LaTeX 绘图解决方案之一. 在 tikzpic ...
随机推荐
- if 的一切
第一种语法: if 条件: # @引号是为了把条件和结果分开. 结果1 # 一个Tab或者4个空格 @告诉程序满足上面的if条件才会执行结果1结果2 如果条件为真(True),执行结果1,然后执行结果 ...
- Spring 利用PropertyPlaceholderConfigurer占位符
Hey Girl 博客园 首页 博问 闪存 新随笔 订阅 管理 posts - 42, comments - 3, trackbacks - 0 Sp ...
- JavaScript计算指定日期与当前日期的相差天数
java中处理2个时间段相差几天很容易,直接调相关方法就行,不过js处理这类问题稍微有点不易,项目开发中也用到了,如下: 1 2 3 4 5 6 7 8 9 10 11 12 //计算两个日期天数差的 ...
- AOP-切面是如何织入到目标对象中的
切面是如何织入到目标对象中的???这大概是每个人在学习AOP的过程中都会产生的疑问吧. 当我们在调用目标方法时候,也就是通过代理对象调用目标方法的时候,比如:JdkDynamicAopProxy会通过 ...
- BZOJ3611:[HEOI2014]大工程(树形DP,虚树)
Description 国家有一个大工程,要给一个非常大的交通网络里建一些新的通道. 我们这个国家位置非常特殊,可以看成是一个单位边权的树,城市位于顶点上. 在 2 个国家 a,b 之间建一条新通 ...
- python伪装网页访问
# -*- coding:utf8 -*-#import urllib.request#url =' http://www.douban.com/'#webPage=urllib.request.ur ...
- django restframework 序列化
Serialization 序列化 创建表 from django.db import models from pygments.lexers import get_all_lexers from p ...
- 多线程之CountDownLatch、CyclicBarrier和Semaphore
Java并发编程:CountDownLatch.CyclicBarrier和Semaphore 在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch ...
- 469 B. Intercepted Message
http://codeforces.com/problemset/problem/950/B Hacker Zhorik wants to decipher two secret messages h ...
- 通过条件注解@Conditional细粒度的选择bean实例
在进行spring进行开发时,当某个接口有多种实现方式并且我们只想让一种生效时,比如声明如下一个接口和两个实现: public interface LanggageService { String s ...