Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. OpenFOAM
  3. openfoam串行和并行结果不一致,不知道是什么原因?

openfoam串行和并行结果不一致,不知道是什么原因?

已定时 已固定 已锁定 已移动 OpenFOAM
4 帖子 2 发布者 951 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • G 离线
    G 离线
    gzs20
    写于 最后由 编辑
    #1

    10c97b9d-99d3-45cf-a6c5-f945a9ed24af-image.png
    这是并行计算0.02后的空气电势分布结果;

    c04a7640-9860-4d2b-9253-a0a92067cda1-image.png
    这是串行计算0.02后电势分布结果;

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #2

    自己写的求解器么

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复
  • G 离线
    G 离线
    gzs20
    写于 最后由 李东岳 编辑
    #3

    是的,李老师
    这是并行计算文件,您方便了帮忙看一下问题出在哪里;

    #!/bin/bash
    cd ${0%/*} || exit 1 # Run from this directory
    
    # Source PATO run functions
    . $PATO_DIR/src/applications/utilities/runFunctions/RunFunctions
    
    # Initialize the script
    pato_init
    
    # source OpenFOAM and PATO if darwin
    if [ "$(uname)" = "Darwin" ]; then
        source $FOAM_ETC/bashrc
        source $PATO_DIR/bashrc
    fi
    
    # Check number of processors
    if [ -z $1 ];
    then
        echo "error: correct usage = ./Allrun_parallel <number_processors>"
        exit 1
    fi
    re='^[0-9]+$'
    if ! [[ $1 =~ $re ]] ; then
       echo "error: First argument is not a number" >&2
       exit 1
    fi
    
    NPROCESSOR=$1
    
    # sed command
    if [ "$(uname)" = "Darwin" ]; then
        sed_cmd=gsed
    else
        sed_cmd=sed
    fi
    
    # change the decomposeParDict files
    $sed_cmd -i 's/numberOfSubdomains \+[0-9]*;/numberOfSubdomains '"$NPROCESSOR"';/g' system/air/decomposeParDict
    $sed_cmd -i 's/numberOfSubdomains \+[0-9]*;/numberOfSubdomains '"$NPROCESSOR"';/g' system/core/decomposeParDict
    $sed_cmd -i 's/numberOfSubdomains \+[0-9]*;/numberOfSubdomains '"$NPROCESSOR"';/g' system/upCore/decomposeParDict
    $sed_cmd -i 's/numberOfSubdomains \+[0-9]*;/numberOfSubdomains '"$NPROCESSOR"';/g' system/carbon/decomposeParDict
    # create volume fields (first time step : 50 s)
    #scp -r origin.0 50
    #scp -r constant/porousMat/copy.polyMesh constant/porousMat/polyMesh
    #scp -r constant/subMat1/copy.polyMesh constant/subMat1/polyMesh
    rm log.PATOx
    count=ls -1 processor* 2>/dev/null | wc -l
    if [ $count != 0 ];
    then
        rm -rf processor*
    fi
    
    # decompose the mesh                                                                                                                                                    
    #setFields -region air
    decomposePar -allRegions
    #run case
    #/usr/bin/mpirun -np $NPROCESSOR PATOx -parallel
    /usr/bin/mpirun -np $NPROCESSOR  PATOx -parallel
    #runParallel $(getApplication)
    # 3D post-processing
    reconstructPar -allRegions
    # paraFoam -builtin
    
    # probe scalar fields (temperature, pressure, density, etc) at desired locations - chosen in system/sampleDict
    #postProcess -func sampleDict -region porousMat
    
    # grab probed fields and copy them into files
    # postProcessTime <dictName> <regionName> <inputFileName> <outputFileName>
    #postProcessTime sampleDict porousMat surfacePatch_Ta.xy output/plot_surfacePatch_Ta
    
    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #4

    自己写的求解器别人很难debug
    有可能是边界条件没处理好

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]