吾生有涯 学海无涯
析模有界 知识无界

使用谷歌Gemini 2.0

前两天,谷歌发布了 Gemini 2.0 系列人工智能模型的首个版本,该模型名为 Gemini 2.0 Flash,提供聊天版本供全球用户使用,同时还有一个实验版的模型可供开发人员免费使用,该版本具有文本转语音和图像生成功能。

据谷歌官网介绍,这是 Agent 时代迄今为止为最强大的 AI 模型,相比上一代 Gemini 模型,2.0 在速度上快两倍,并且比更大的专业版 Gemini 1.5 更加强大。此外,该版本带来了增强的性能、更多的多模态性和新的原生工具。

1 在Cherry Studio中配置使用Gemini2.0

这里以Cherry Studio为平台,简单聊一下如何配置使用。

  1. 下载并安装Cherry Studio。这个是开源软件(仓库地址:https://github.com/kangfenmao/cherry-studio),官网地址(https://cherry-ai.com/),下载后一路默认安装就可以了。

  2. 启动Cherry Studio后,点击左下角的设置按钮,然后选择 模型服务 ,选中大模型列表中的 Gemini ,并在右侧输入API秘钥,点击下方的 管理 按钮打开模型选择对话框

  3. API秘钥可以在下面的网址中添加:https://aistudio.google.com/app/apikey 。期间可能会要求注册或登录谷歌账号,这里看各人的方法了。

  4. 在模型选择对话框中选择 Gemini 2.0 Flash Experimental ,点击其右侧的 + 号添加模型

  5. 可以测试一下,让它写个UDF试试

  6. 以下部分是Gemini 2.0输出的结果,看起来还是相当不错的。

好的,下面是如何使用 Fluent UDF (User Defined Function) 编写一个随时间变化的热源的详细步骤和示例代码。我们将使用 DEFINE_SOURCE 宏来定义热源,并使用 CURRENT_TIME 宏来获取当前模拟时间。

步骤:

  1. 理解 DEFINE_SOURCE 宏:

    • name: UDF 的名称 (例如, time_dependent_heat_source).
    • c: 指向当前单元格的 Cell 对象指针.
    • t: 指向当前线程的线程对象指针.
    • dS: 指向源项导数数组的指针.  (通常用于隐式求解)
    • eqn: 表示正在处理的标量方程的枚举类型 (例如, eqn_energy 表示能量方程).
    • DEFINE_SOURCE(name, c, t, dS, eqn) 是定义源项的宏。
  2. 获取当前模拟时间:

    • 使用 CURRENT_TIME 宏来获取以秒为单位的当前模拟时间。
  3. 定义时间相关的热源表达式:

    • 线性变化: q = a + b * CURRENT_TIME
    • 正弦变化: q = A * sin(2 * pi * f * CURRENT_TIME)
    • 阶跃变化: if (CURRENT_TIME < time_threshold) { q = q1; } else { q = q2; }
    • 自定义函数: 可以基于特定的时间规律定义更复杂的函数。
    • 根据你的需要定义一个函数,该函数返回随时间变化的热源强度。例如,你可以使用:
  4. 实现 UDF 代码:

    #include "udf.h"

    DEFINE_SOURCE(time_dependent_heat_source, c, t, dS, eqn)
    {
    real source;
    real time = CURRENT_TIME;
    real amplitude = 100000.0; // 热源强度峰值 [W/m^3]
    real frequency = 0.5; // 频率 [Hz]

    if (eqn == eqn_energy)
    {
    // 使用正弦函数作为随时间变化的热源
    source = amplitude * sin(2.0 * M_PI * frequency * time);

    // 可选: 添加限制,确保source为正
    if (source < 0) source = 0;

    dS[eqn] = 0.0; // 对于显式求解,导数通常为0
    }
    else
    {
    source = 0; // 如果不是能量方程,则源项为0
    }
    return source;
    }

代码解释:

  • #include "udf.h": 包含 UDF 头文件,必须放在代码的开头。
  • DEFINE_SOURCE(time_dependent_heat_source, c, t, dS, eqn):  定义了名为 time_dependent_heat_source 的源项 UDF。
  • real time = CURRENT_TIME;: 获取当前模拟时间。
  • real amplitude = 100000.0;real frequency = 0.5; 定义了正弦函数的幅度和频率。
  • source = amplitude * sin(2.0 * M_PI * frequency * time);  计算当前时间的热源强度,使用正弦函数作为变化规律。
  • if (source < 0) source = 0;:可选操作,确保热源为正。
  • if (eqn == eqn_energy) { ... } else { ... }: 确保热源只应用于能量方程。
  • dS[eqn] = 0.0;: 对于显式求解,源项的导数通常为 0。如果你使用的是隐式求解,则需要根据你的实际情况计算和设置导数。
  • return source;: 返回当前单元格的热源强度。
  1. 编译 UDF:

    • 将代码保存为 .c 文件(例如,time_dependent_heat_source.c)。
    • 在 Fluent 中,打开 "User-Defined" -> "Functions" -> "Compiled UDFs..."。
    • 点击 "Add...",  选择 .c 文件。
    • 点击 "Build",编译 UDF。
    • 点击 "Load" 加载 UDF。
  2. 应用 UDF 作为源项:

    • 在 Fluent 中,打开 "Setup" -> "Cell Zone Conditions"。
    • 选择你需要应用热源的区域。
    • 在 "Source Terms" 部分,编辑能量源项,选择 "Source Term" 为你创建的 UDF  time_dependent_heat_source
    • 设置你所需的其他参数。
    • 开始模拟。

重要注意事项:

  • 单位:  确保你的时间和热源强度单位一致。
  • 显式 vs. 隐式: 如果你使用隐式求解器,你需要提供 dS 中的导数信息。
  • 复杂的时间函数:  根据你的需求,可以定义更复杂的函数来控制热源随时间的变化。
  • 边界条件: 检查你的边界条件,确保它们与时间相关的热源配合良好。
  • 稳定性: 注意时间步长的选择,以保证模拟的稳定性。对于快速变化的热源,较小的时间步长可能更有利。
  • 调试: 编译 UDF 时,注意查看 Fluent 的输出窗口,以便及时发现和解决编译错误。

示例:阶跃变化的热源

如果需要一个阶跃变化的热源,修改 UDF 代码如下:

#include "udf.h"

DEFINE_SOURCE(time_dependent_heat_source, c, t, dS, eqn)
{
real source;
real time = CURRENT_TIME;
real q1 = 10000.0; // 热源强度值1 [W/m^3]
real q2 = 50000.0; // 热源强度值2 [W/m^3]
real time_threshold = 5.0; // 时间阈值 [s]

if (eqn == eqn_energy)
{
if (time < time_threshold) {
source = q1;
} else {
source = q2;
}

dS[eqn] = 0.0;
}
else
{
source = 0.0;
}
return source;
}

在这个例子中,当 CURRENT_TIME 小于 time_threshold时,热源强度为 q1,否则为 q2

如何使用这个 UDF 的示例:

  1. 修改上面的 UDF 代码以满足您的需求 (例如,修改正弦函数的参数,或使用其他类型的函数)。
  2. 将代码保存为 .c 文件 (例如, my_heat_source.c)。
  3. 按照步骤 5 和 6 将 UDF 添加到 Fluent 并在指定区域启用。
  4. 运行模拟。

通过这种方法,你可以方便地模拟各种时间相关的热源,从而更准确地分析和优化你的热传递问题。

请根据你的具体问题调整代码和参数。如果你在实现过程中遇到问题,请随时提问。

2 在Cursor中配置使用Gemini 2.0

准备好了谷歌API后,也可以在Cursor中配置使用Gemini 2.0。

启动Cursor后,选择菜单 文件 → 首选项 → Cursor Settings 可以打开Cursor设置面板

  • Cursor Settings 面板中配置 Google API Key,如下图所示。
  • 添加后,在 Model Names 里面并没有显示最新的 gemini-2.0-flash-exp 模型,这里需要手动添加模型。点击 Add model 按钮

  • 在文本框中输入 gemini-2.0-flash-exp,并按回车

  • 勾选并启用新添加的 gemini-2.0-flash-exp 模型,如下图所示

此时可以在chat面板中进行测试(注意在提示词输入面板中选择模型gemini-2.0-flash-exp),如下图所示。

输出速度和输出结果还是相当不错的。就是不知道这个还能免费耍多久。


(完)

本篇文章来源于微信公众号: CFD之道

赞(0) 打赏
版权声明:未经允许,请勿随意用于商业用途。
文章名称:《使用谷歌Gemini 2.0》
文章链接:https://www.topcfd.cn/40260/
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到

说两句 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者吧

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册