edem-fluent耦合到最后报错无效的数据是怎么回事?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了edem-fluent耦合到最后报错无效的数据是怎么回事?相关的知识,希望对你有一定的参考价值。
参考技术A在 EDEM-Fluent 耦合中出现“无效的数据”错误通常是因为 Fluent 中网格的一些问题。可能的原因包括:
网格质量差: 网格不良可能导致 Fluent 无法正常运行。在进行模拟之前,应确保 Fluent 网格质量良好。
网格大小: 网格的大小和分辨率可能会影响模拟的结果。如果网格过于密集或过于稀疏,可能会导致 Fluent 报错。可以尝试调整网格的大小和分辨率以解决问题。
边界条件: 边界条件的设置可能会影响模拟结果。确保在设置边界条件时,所有的参数都设置正确,并符合物理实际。
如果以上方法不能解决问题,可以尝试查看 Fluent 中的详细日志,以了解错误的具体原因。同时,也可以查看 EDEM 和 Fluent 的文档和论坛,寻找类似问题的解决方案。如果问题仍无法解决,建议联系 EDEM 和 Fluent 的技术支持。
调用webservice接口,报错:(十六进制值0x01)是无效的字符
#事故现场
调用webservice接口,报错:(十六进制值0x01)是无效的字符。
如图:
意思是webservice返回的信息中包含无效的字符,无法解析成xml;
#分析
使用postman向webservice发送请求,请求成功,返回了数据,但在数据中发现了一些莫名其妙的字符,如图:
因数据来源数据库,故去数据库中查询,果然又发现,如图:
将异常文本复制到notepad++中,显示的是:SOH
SOH是ASCII中的控制字符,start of heading的缩写,报文头的意思;
在ASCII码中,第0~31号及第127号(共33个)是控制字符或通讯专用字符,如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(振铃)等;通讯专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等。
#解决方法
故取数据的时候要过滤掉这些字符,以C#代码为例:
/// <summary>
/// 过滤不可见字符
/// </summary>
/// <param name="sourceString">原始字符</param>
/// <returns>删除后结果</returns>
public string DeleteControlChar(string sourceString)
{
System.Text.StringBuilder sBuilder = new System.Text.StringBuilder();
for (int i = 0; i < sourceString.Length; i++)
{
int Unicode = sourceString[i];
if (Unicode > 31 && Unicode != 127)
{
sBuilder.Append(sourceString[i].ToString());
}
}
return sBuilder.ToString();
}
以上是关于edem-fluent耦合到最后报错无效的数据是怎么回事?的主要内容,如果未能解决你的问题,请参考以下文章
调用webservice接口,报错:(十六进制值0x01)是无效的字符