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耦合到最后报错无效的数据是怎么回事?的主要内容,如果未能解决你的问题,请参考以下文章

一个诡异的TFS网页错误问题

调用webservice接口,报错:(十六进制值0x01)是无效的字符

servlet中的doGet()与doPost()是怎

C# Image image = Image.FromStream()报错参数无效

Oracle报错ORA-01722: 无效数字排查解决方案

ORA-01465: 无效的十六进制数字-------》plsql插入文字到blob字段报错