如何macOS 上优雅的使用 Gaussian 09 与GaussView 6

故事起源于早上的物理化学课,老师要求安装 Gaussian 09 来预测结构数据。当然 Mac 用户是永远得不到关爱的,老师不会给我提供安装包,于是我就在网上探寻一番,发现 Gaussian 09 真的已经太古老了:官方仅仅发行了适用于 MacOS 的 32 位版本。而激进的苹果从 macOS Catalina 开始不再兼容 32 位 App。且网上相关资料较少,我看到了大量求助帖却得不到有效的回复。经过一上午的摸索我终于实现了在 macOS 上优雅的使用 Gaussian 09 与 GaussView 6,在这里记录一下踩坑的路,希望可以帮上各位科研工作者。

首先聊一聊 Gaussian 套件的结构,简单的说是在 GaussView 上作图,然后通过 Gaussian 进行分析运算。最直接粗暴的方法是用 Wine 容器直接安装 Windows 版本的 Gaussian 与 GaussView(我没试过,盲猜性能极低且兼容性很差)。且我这里的结构是:利用 Crossover 容器运行 GaussView 6,导出草图后放入运行在原生 macOS 上的 Gaussian 09 进行运算,实现性能最大化。

先回答几个问题:

  • 为什么我要用 GaussView 6 的 Windows 版本?
    • 答:我能找到的 GaussView 5 的 Mac 版本是 32 位的,并且找不到 GaussView 6 的 Mac 版本;
  • 我可以在 Crossover 中运行 GaussView 5 吗?
    • 答:经过各种参数的枚举,所有我能找到的 GaussView 5 版本均无法成功的在 Crossover 中安装,当然这个结论不一定对,您可以自行安装测试;
  • Gaussian 09 需要破解吗?
    • 答:不需要,但是 GaussView 需要提供一个序列号。

那么,背景铺设完毕,跟着我一起来吧!

1. 材料准备

  • macOS Catalina 以上版本(如果是 Inter 芯片将获得更佳性能,Apple 芯片则需要 Rosetta 2 转译)
  • Gaussian 09M 下载 Mac 文件夹下的 G09M.zip
  • GaussView 6 下载 Windows 文件夹下的 [url=]GV6.0.16_win64.exe,记住文件夹下文本文件提供的序列号[/url]
  • 需要一些命令基础和反复阅读的双眼

2. 安装 Gaussian 09

  • 解压 G09M.zip 将获得的 gaussian09 文件夹拖入“应用程序”文件夹下(/Users/你的用户名/Applications);
  • 按住 command + 空格 输入 terminal 打开终端(# 后内容为注释,不用输入);
  • 设定权限
    • 输入命令 chmod 750 ~/Applications/gaussian09
  • 设定环境变量
    • 输入命令 vim ~/.zshrc # macOS Catalina 及以上版本默认终端应该都是 zsh
    • 确保在英文输入模式下,
      • 按 G # 跳转到末尾
      • 按 shift + 4 # 跳转到行尾
      • 按 a # 进入编辑模式
      • 按回车
      • 输入 export g09root=/Applications/gaussian09/ # 然后按回车
      • 输入 export GAUSS_SCRDIR=/Applications/gaussian09/Scratch # 这句命令是配置临时文件夹,然后按回车
      • 输入 source $g09root/g09/bsd/g09.profile
      • 按 esc 键
      • 按 : 键
      • 输入 wq
      • 按回车
    • 关闭终端,在 dock 栏右击 terminal 图标,点退出,确认下方圆点消失
  • 至此,Gaussian 09 安装完毕

2. 安装 GaussView 6

  • 安装 Crossover(这个就各显神通了,我个人安装的是 Crossover 21.2 ,打开需要魔法);
  • 打开 Crossover,选择 安装 Windows 程序;
  • 点击左下角,查看所有应用程序;
  • 选择 科学,技术与数学 --> 生物与化学 --> Palynodata (没有为什么,因为这是试出来的,可以完美运行),点击继续;
  • 选择安装包 --> 下载安装程序 --> 选择之前下载的 [url=]GV6.0.16_win64.exe,点击继续;[/url]
  • 容器使用“新 Windows 10 64-bit 容器”,右边取个名字,然后按继续,就像 Windows 那样安装,记得设桌面图标与文件后缀关联;
  • 安装需要序列号,可以在之前百度云中文本文件找到;
  • 打开运行吧!

3. 协同 Gaussian 09 与 GaussView 6

  • 在 GaussView 6 中绘图,保存到 C 盘下;
  • 打开 Crossover 主程序,选择右边的容器,右击,“打开 C: 盘”,
  • 把文件拷贝到任意文件夹下,例如“文档”文件夹(这里按照“文档”文件夹做演示,其他文件夹改目录即可);
  • 右击文件,用任意文本编辑器打开,将第一行的 %chk=C:\你的文件名.chk 改为 %chk=你的文件名.chk ,或者直接留空
  • 打开终端,输入 cd ~/Documents/
  • 按照需要的方法在终端运行

常见有以下几种,test.gjf是输入文件
g09 < test.gjf > test.out (信息都输出到test.out里。末尾可以再加上&令任务在后台运行)
g09 < test.gjf |tee test.out (信息输出到test.out的同时也同时输出到屏幕上)
g09 test.gjf (输出文件将默认为当前目录下的test.log)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 在MacOS使用Java8做本地通知需要使用JavaFX。 首先,确保你已经安装了Java8。然后,使用以下步骤进行操作: 1. 在Eclipse中新建一个JavaFX项目。 2. 在`Main`类中加入以下代码: ``` import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.GridPane; import javafx.scene.text.Text; import javafx.stage.Stage; import javafx.stage.StageStyle; public class Main extends Application { public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) { primaryStage.setTitle("JavaFX Local Notification Example"); primaryStage.initStyle(StageStyle.UNDECORATED); GridPane grid = new GridPane(); grid.setAlignment(Pos.CENTER); grid.setHgap(10); grid.setVgap(10); grid.setPadding(new Insets(25, 25, 25, 25)); Button btn = new Button(); btn.setText("Show Notification"); btn.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { showNotification(); } }); grid.add(btn, 0, 1); Scene scene = new Scene(grid, 300, 275); primaryStage.setScene(scene); primaryStage.show(); } private void showNotification() { TrayNotification tray = new TrayNotification(); tray.setTitle("Notification"); tray.setMessage("This is a local notification."); tray.setNotificationType(NotificationType.SUCCESS); tray.showAndWait(); } } ``` 3. 运行项目,点击“Show Notification”按钮,即可看到本地通知。 注意:你可能需要导入TrayNotification类,它可以在这里获取:https://github.com/PureElegance/TrayNotification 希望这对你有帮助! ### 回答2: 要在MacOS使用Java 8做本地通知,你可以使用Java的桌面通知功能和MacOS的通知中心。 首先,你需要确保你的MacOS版本支持桌面通知。从MacOS 10.8开始,Apple引入了桌面通知功能,并在通知中心中进行管理。 然后,你需要创建一个Java应用程序,并添加依赖项以使用Java的桌面通知功能。你可以在你的项目中添加javax.swing和java.awt包,它们提供了创建用户界面所需的类和方法。 接下来,你需要编写代码以创建和发送通知。你可以使用Java的javax.swing.JOptionPane类来创建一个简单的弹窗,然后使用java.awt包中的Toolkit类将其转换为通知。 下面是一个简单示例代码: ```java import javax.swing.JOptionPane; import java.awt.Toolkit; public class NotificationExample { public static void main(String[] args) { // 创建一个弹窗 JOptionPane.showMessageDialog(null, "这是一个通知"); // 将弹窗转换为通知 Toolkit.getDefaultToolkit().beep(); } } ``` 编译和运行这个代码后,你会在你的MacOS上收到一个简单的通知。你也可以根据你的需要添加更多的功能,比如自定义通知标题、内容和图标等。 总结来说,要在MacOS使用Java 8做本地通知,你需要确保你的MacOS版本支持桌面通知,并在你的Java应用程序中添加依赖项以使用Java的桌面通知功能。然后,你可以使用Java的弹窗功能和MacOS的通知中心来创建和发送通知。 ### 回答3: 在MacOS使用Java8进行本地通知有以下几个步骤: 1. 确保已经安装了Java开发工具,可以在终端中运行`java -version`命令来验证是否安装。如果没有安装,你可以去Oracle官网下载并安装最新的Java8版本。 2. 创建一个Java项目,可以使用任何喜欢的IDE(比如IntelliJ IDEA)或者纯文本编辑器。在项目中创建一个Java类作为入口点。 3. 导入所需的Java库以进行本地通知。Java提供了`java.awt`和`javax.swing`库来处理图形界面,可以使用这些库来创建通知窗口。 4. 在Java类中,创建一个通知窗口的方法。可以使用`JFrame`类来创建一个可自定义的窗口,其中包括通知的标题、内容和图标。样例代码如下: ```java import java.awt.Dimension; import java.awt.Toolkit; import javax.swing.JFrame; import javax.swing.JLabel; public class Notification { public static void showNotification(String title, String message) { JFrame frame = new JFrame(); frame.setSize(400, 200); // 设置通知窗口的大小 frame.setTitle(title); // 设置通知的标题 // 获取屏幕尺寸 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); int screenWidth = (int) screenSize.getWidth(); int screenHeight = (int) screenSize.getHeight(); // 设置窗口的位置居中显示在屏幕上 frame.setLocation((screenWidth - frame.getWidth()) / 2, (screenHeight - frame.getHeight()) / 2); // 设置窗口不可调整大小 frame.setResizable(false); // 在窗口中添加通知内容 JLabel label = new JLabel(message); frame.add(label); frame.setVisible(true); } } ``` 5. 在项目的其他部分调用`showNotification()`方法来显示通知窗口。在调用时,传入通知窗口的标题和内容。例如: ```java public class Main { public static void main(String[] args) { Notification.showNotification("通知标题", "这是一条通知消息!"); } } ``` 这样,当你运行该Java程序时,就会在屏幕中央显示一个具有指定标题和内容的通知窗口。你可以根据需要对窗口进行自定义,比如添加更多的组件或者调整窗口的样式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值