timescale(如何调整cfx timescale factor)

本文目录
- 如何调整cfx timescale factor
- verilog中`timescale后面的单位最小可以定义为多少和什么有关
- 如何在project 2013中设置timescale的格式
- 新手求教:quartus verilog 关于timescale的问题
- unity timescale会影响协程么
- verilog中的关键字timescale是不是前面还要加个点如: ‘timescale
- timescale 1ns/100ps的意思
如何调整cfx timescale factor
(1)关于如何选取时间步长
Timescale,可以参考下面的介绍(摘自
CAE
BEGINNER)。
(2)Residual
Target
默认为1E-4,如果要求高的话还可以提高精度。
CFX的求解器是比较特别的,和普通教科书上的不太一样。它使用耦合求解
器(coupled
solver),并且使用求解瞬态方程的方法来求解稳态问题。时间步长
(timescale)是影响收敛的最重要的因素。时间步长在耦合求解器里的重要性,
相当于松弛因子(underrelaxation
factor)在分离求解器(segregated
solver)
里的重要性。
打个比方,在开车时。如果速度很慢,就会比较安全,但是需要比较长的时
间才能到达目的地;如果速度很慢,就会节省时间,但是可能会不安全。同样的,
在用CFX求解时,如果timescale很小,收敛会很稳定,但是需要很多的迭代,
速度较慢;如果timescale很大,需要的迭代次数较少,但也可能引起求解器不
稳定,甚至发散。因此合适的timescale对于收敛是很重要的。
通常情况下,timescale可以根据(特征时间=特征长度/特征速度)这个公式
算出来。但是对于复杂的流场而言,直接推算出合适的时间步长还是有一定难度
的,需要试出合适的timescale。
在CFX里,auto
timescale是让系统自动估算出timescale,而physical
timescale是由用户直接输入timescale。通常情况下,系统估算出的auto
timescale过于保守,用户需要使用较大的physical
timescale。另外,由于使
用耦合求解器的缘故,CFX一般能在100-200
个迭代步内收敛。如果在200步内
还没有收敛的话,需要考虑改大timescale,而不是让系统跑更多的迭代(例如,
把最大迭代数设成1000),这样会浪费很多宝贵的时间。
最近碰到一个室内空调系统的模拟问题,由于浮力(buoyancy)的存在,动量
方程和能量方程的耦合会导致收敛困难。使用的是CFX
11.0。11.0提供了时间
步长系数(Timescale
factor)这个新选项,可以方便的测试不同的timescale。
timescale
factor
=
10代表timescale
=
10
*
auto
timescale。
上面所说的空调模拟问题,我测试了timescale
factor
=
1、10、100三种
情况。平均残差(RMS
residual)和全局不平衡(global
imbalance)的曲线图附在
下面。
从曲线图可以清楚地看出,使用小的时间步,收敛曲线呈波浪形,或收敛缓
慢,全局不平衡较大;使用大的时间步,收敛曲线呈”之”字形上下跳动。下面
这个例子,timescale
factor
=
10可能较快得到收敛结果,最终我使用了
timescale
factor
=
20。曾经尝试修改能量方程的时间步长,但是效果不太好。
CFX物理时间尺度的选择取(转载)
verilog中`timescale后面的单位最小可以定义为多少和什么有关
1fs吧(我试了,飞秒是支持的);
这个是仿真用的,不是真正时钟频率。
比如你写`timescale 1ns / 1ps
那么写#1就是延时1ns,
1ps是仿真的精度。
如何在project 2013中设置timescale的格式
Project的甘特图区域上方就是时间刻度,也就是你说的timescale,这是可以自定义去设置它的样式的,在时间刻度的区域双击或者右键选择“时间刻度”就会弹出下面的设置窗口
在中间那个位置,你会看到“时间刻度选项”显示“两层(中层、底层)”,这里就可以设置显示的层数,最多三层,最少一层。
至于具体的设置,建议你自己动手设置一下,不难。唯一需要特别注意的是,那里有个“计数”单位,中层的单位乘以单位不能超过顶层的这个数值,比如顶层是按每月显示的,那么如果中层按照周显示,下面的计数就不能超过4,因为一个月最多有4个星期。
张连永
lianyong.zhang@163.com
Project培训网创始人
Microsoft Project 项目管理实战应用专家
清华大学工商管理硕士(MBA)
西安交通大学学士
PMP
曾为多家大型企业提供过企业内训
10+年跨国企业项目管理实战经验
新手求教:quartus verilog 关于timescale的问题
错误的地方在timescale那里,其它地方没有错。改成:
`timescale 1ns/1ns
改了以后,我用modelsim跑试了一下,可以跑出波形。
另外,需要设置一个时间限制,不然会一直跑下去停不了。再添加一点东西:
initial
begin
#1000
$stop;
end
你的资料书质量不太高,仿真工具也不太行。
unity timescale会影响协程么
[csharp] view plain copy
using UnityEngine;
using System.Collections;
public class TestTimeScale : MonoBehaviour {
// Use this for initialization
void Start () {
StartCoroutine( xx() );
}
// Update is called once per frame
void Update() {
if( Input.GetKeyDown( KeyCode.Q ) ) {
Time.timeScale = 0;
}
if( Input.GetKeyDown( KeyCode.Z ) ) {
Time.timeScale = 1;
}
}
private IEnumerator xx() {
//Debug.Log( “begin ----“ );
//while( true ) {
//说明:yes:有影响。no:无影响。且将Time.timeScale恢复后会继续执行(而不是网上某些说的不会恢复执行
//yield return null;//no
//yield return new WaitForSeconds( 5.0f );//yes
//yield return new WaitForFixedUpdate();//yes
//yield return new WaitForEndOfFrame();//no
//yield return 2;//no
//Debug.Log( “---------“ + Time.timeScale );
//no
//WWW www = new WWW( “www.baidu.com“ );
//yield return www;
//Debug.Log( www.bytes.Length +“-----“+Time.timeScale);
// }
}
}
几种time(unity圣典截图):
verilog中的关键字timescale是不是前面还要加个点如: ‘timescale
【1】你的理解是对的(请留意这个点号的形式,他应该和键盘上~符号在一个键上,且用英文输入法)
【2】
`timescale是Verilog
HDL 中的一种时间尺度预编译指令,它用来定义模块的仿真
时的时间单位和时间精度。格式如下:`timescale 仿真时间单位/时间精度
【3】欢迎采纳
timescale 1ns/100ps的意思
`timescale 1ns / 1ps,含义为:时延单位为1ns,时延精度为1ps。
在编译过程中,`timescale会影响其后面所有模块中的时延值,直至遇到另一个
`timescale指令或`resetall指令。

更多文章:
易语言网页api接口怎么调用(易语言,怎么读取网页json的api)
2026年10月11日 08:00
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40
another time(another time和other time的区别)
2026年10月11日 05:00







