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 ...
随机推荐
- MVC中使用EF的技巧集(一)
一.建好数据库后,向项目中添加数据模型. 1.右键点击“Models” 文件夹,选择“添加”,再选择“添加新项”. 2.在“添加新项”窗口,选择左边的“数据”,然后再在右边选择“ADO.NET 实体数 ...
- 操作系统之Linux的内存分页管理
内存是计算机的主存储器.内存为进程开辟出进程空间,让进程在其中保存数据.我将从内存的物理特性出发,深入到内存管理的细节,特别是了解虚拟内存和内存分页的概念. 内存 简单地说,内存就是一个数据货架.内存 ...
- [USACO08NOV]lites
嘟嘟嘟 竟然还能发现这么水的题.就是线段树维护区间亦或嘛~~~~ #include<cstdio> #include<iostream> #include<algorit ...
- MySQL——总结
数据库命令:创建create database 数据库名 charset=utf8;删除drop database 数据库名;查看所有数据库:show databases;使用数据库:use 数据库名 ...
- 集合之HashTable
在java中与有两个类都提供了一个多种用途的hashTable机制,他们都可以将可以key和value结合起来构成键值对通过put(key,value)方法保存起来,然后通过get(key)方法获取相 ...
- C语言程序设计I—第五周教学
第五周教学总结(29/9-7/10) 本周为国庆节放假,周六周日提前补课,计算机专业已补,软件专业未补,由于国庆放假冲课不补,因此,软件专业在整体进度上落后计算机一次课,估计我要特别抽时间才能将进度拉 ...
- atom / vscode (配置c++环境流程)
最初主要是被这个炫酷的插件吸引了,这么打代码太特么有激情了 还有跳舞的初音姐姐哦!! 现附上一篇文章,这篇文章步骤讲得很详细了 http://blog.csdn.net/qq_36731677/art ...
- cloudstack 添加新网卡使其能上网
由于虚拟机使用了默认的网络套餐,是不能上网的.现在的需求是使其能上网. 操作步骤: 1.添加一个在能上网的网络里的网卡,使其成为默认网卡 2.复制网卡配置文件,修改网卡名称等,重启network(可能 ...
- kubenetes 1.9 学习 pod - volume -- dashboard
kubelet: the component that runs on all of the machines in your cluster and does things like startin ...
- [图解tensorflow源码] 线程池模块分析 (CPU thread pool device)