cclow 面试心得

Survive by day and develop by night.
talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survive.
happy for hardess to solve denpendies.

目录

在这里插入图片描述

概述

需求:

设计思路

实现思路分析

1.心得

在自己用户登录后台,登录成功后,把当前的用户信息,保存到ccflow中的 Emp em = new Emp();em.No = username;

具体代码的书写,还是以当前情况来写,总之保存当前用户信息到em中。(这里只是个人的解决方法)。

在开发时,有些业务流程数据可能会很复杂,有可能不想用ccflow提供的表单设计器进行表单设计。

具体代码的书写,还是以当前情况来写,总之保存当前用户信息到em中。

在开发时,有些业务流程数据可能会很复杂,有可能不想用ccflow提供的表单设计器进行表单设计。

在开发流程时,就可以使用sdk表单开发。在节点属性那里设置相对应的url,即自己系统中工程根目录开始,到当前节点的SDK表单路径,例如我的:

对表单操作时,一些流程推送的事件,在后台按照接口文档提供的方法,调用就行了。在这里,就我个人开发过程中,遇到的几个小点敲几个字。

1
流程图为什么出不来
因为SL里面,接受的webservice,URL不对应,所以产生了查看流程图失败的原因。
可以在CCFlowDesigner项目中修改Glo.cs文件中的var endPoint = new EndpointAddress(Glo.BPMHost + “/WF/Admin/XAP/WebService.asmx”);改为自己项目中的,生成成功后,把相关的CCFlowDesigner.xap覆盖掉自己系统中当前的对应文件。

当然,也可以在查看流程图,工作轨迹时,路径指向你部署到iis下ccflow相关的路径。绕过查看流程图失败这个文图(这是下策)。

2 在设计流程时,流程节点的分支问题
在做流程设计时,为了结合实际需求,需要做分支流程,在分支流程的条件判断上,我们需要做的是条件判断,通过流程当前的业务数据进行自动流转判断。
可以有表单,岗位,SQL的条件判断,相关的在说明书上都有。
写SQL条件判断时,我们想获取当前的WorkID在SQL语句中是以@OID来获取的。

3

在流程设计时,有分合流的流程设计
我们在流程节点属性设置时,需要注意运行模式为分流或合流,有分必有合。在使用分合流时,会产生子线程,同时会生成WorkID,如果想获取父流程ID,只能获取FID。在子线程中,节点表单类型应为异表单类型,否则会报错,启用了多个同表单

4
在开发过程中,对于WF文件夹下的一些文件,可能不兼容自己项目中的文件类型,需要自己重新构建,那么就需要会取舍,用到的文件代码,把它融合到自己的项目中去。

二, 流程运行时.
分合流流程注册表: WF_GenerFH

流程注册表: WF_GenerWorkFlow

工作人员表: WF_GenerWorkerlist

启动一个流程后,ccflow自动产生一个WorkID, 一个流程一个WorkID, 并且处开始节点表(ND101)中插入一条数据, WFState=0 流程状态=0 表示运行中.

启动一个流程后,就产生一条数据,放在WF_GenerWorkFlow ,

发送一个步骤后,就把接受的工作人员放入WF_GenerWorkerlist .

流程运行完成后,就把两个表中的这个 WorkID 的数据清除.

5, 在流程数据表里(ND1Rpt)中, 每个节点有新采集的数据就会copy到此表中.

所以结合流程数据表,与当前的这两个表,你可以查询出来想要的数据满足二次开发.

参考资料和推荐阅读

  1. https://blog.51cto.com/u_15343873/3686152
  2. 如有侵权,私信联系,删除之
  3. https://blog.youkuaiyun.com/weixin_55421197/article/details/115586715

欢迎阅读,各位老铁,如果对你有帮助,点个赞加个关注呗!~

sfinclude_win64i8.bat文件内容 @call "C:\Program Files (x86)\Intel\Composer XE 2013 SP1\bin\ipsxe-comp-vars.bat" %intel64 vs2010 @ECHO off REM REM REM REM General definitions for the Marc 2011 version REM REM Intel EM64T Only REM (LP64/ILP64 - combined i4/i8 version) REM REM Microsoft(c) Windows 7 REM REM Intel(R) Fortran Compiler Version 12.0.4 REM REM Microsoft(c) C Compiler .NET 2010 REM REM Requires: REM Microsoft(c) Visual Studio 2010 REM REM Parallel MPI library: REM 1) Intel(R) MPI (iMPI) Version 3.1 REM 2) MS MPI Version 1.0.640 from Microsoft Corporation REM requires MS CCS SP1 (676 build) to run. REM REM REM BUILDDATE REM REM REMARKS: This file contains the definitions of variables used during REM compilation, loading and use of the Marc program. The REM current machine type is identified by means of the variable REM MACHINE, defined below. REM REM REM: set directories REM SET BINDIR=%MARC_BIN% SET LIBDIR=%MARC_LIB% SET METISDIR=%METIS_SOURCE% SET MESHERDIR=%ROOT%\..\sfTools\sfMeshing\bin rem: for Win64 I8 set MARC_INTEGER_SIZE=i8 rem define DOMAIN variable used by nt-mpich and mpipro SET DOMAIN=local if exist "%MARC_TOOLS%\setdomain.bat" call "%MARC_TOOLS%\setdomain.bat" SET COMPILER=intel SET C_COMPILER=intel SET PRODUCT=sfmarc SET REVISION=BUILDVERSION, BUILDNO FOR /F "DELIMS== " %%I IN ( 'HOSTNAME' ) DO SET HOSTNAME=%%I rem set _OEM_NASTRAN to 1 for MD Nastran build rem override _OEM_NASTRAN setting with MARC_MD_NASTRAN environment variable set _OEM_NASTRAN=0 if not "%MARC_MD_NASTRAN%"=="" set _OEM_NASTRAN=%MARC_MD_NASTRAN% rem rem settings for MPI rem set MPITYPE=intel-mpi rem rem override with user variable if not "%MARC_MPITYPE%"=="" set MPITYPE=%MARC_MPITYPE% rem explicitly choose MPITYPE by uncommenting one of the following lines rem set MPITYPE=none rem set MPITYPE=mpipro rem set MPITYPE=nt-mpich rem set MPITYPE=mpichx64 rem set MPITYPE=intel-mpi rem set MPITYPE=ms-mpi set MPI_DEFAULT=intel-mpi set MPI_OTHER=ms-mpi SET MPI_ROOT= if %MPITYPE%==mpipro SET MPI_ROOT=C:\Program Files\MPIPro rem the following line allows MPI_ROOT to be set to something else if %MPITYPE%==mpipro call "%MARC_TOOLS%\mpipro.bat" if %MPITYPE%==mpipro set MPI_COMM=TCP if %MPITYPE%==mpipro set MPI_HOME=%MPI_ROOT% if %MPITYPE%==nt-mpich set MPI_ROOT=C:\Program Files\mp-mpich if %MPITYPE%==nt-mpich call "%MARC_TOOLS%\nt-mpich.bat" if %MPITYPE%==mpichx64 call "%MARC_TOOLS%\mpichx64.bat" if %MPITYPE%==intel-mpi set MPI_ROOT=%MARC_INTELMPI% if %MPITYPE%==ms-mpi set MPI_ROOT=%MARC_MSMPI% if %MPITYPE%==none set MPI_ROOT=%MARC_DUMMYMPI% if %MPITYPE%==intel-mpi set I_MPI_PIN_DOMAIN=node SET MPI_ARCH=win64 SET MPI_EPATH=%BINDIR% rem for MS MPI, set the following variables rem all I/O will be done in the CCS_WORKDIR SET CCS_HEADNODE=Roxar01 SET CCS_WORKDIR=\\Roxar01\marc_data SET RUN_JOB1= if %MPITYPE%==mpipro SET RUN_JOB1="%MPI_ROOT%\bin\mpirun.exe" -d %DOMAIN% if %MPITYPE%==nt-mpich SET RUN_JOB1="%MPI_ROOT%\bin\mpiexec.exe" -account %DOMAIN%/%USERNAME% -noscan if %MPITYPE%==mpichx64 SET RUN_JOB1="%MPI_ROOT%\bin\mpiexec.exe" -localonly if %MPITYPE%==intel-mpi SET PATH=%MPI_ROOT%\bin;%MPI_ROOT%\lib;%PATH% if %MPITYPE%==intel-mpi SET RUN_JOB1="%MPI_ROOT%\bin\mpiexec.exe" if %MPITYPE%==ms-mpi SET RUN_JOB1="C:\Program Files\Microsoft Compute Cluster Pack\bin\mpiexec.exe" SET RUN_JOB0= SET MPI_CLEAN= set MPI_INCLUDE=/I"%MPI_ROOT%\include" rem if %MPITYPE%==none set MPI_INCLUDE= SET MACHINE=%OS% REM REM METIS Settings REM set METIS_INCLUDE=/I"%METISDIR%" REM Edit following 2 lines to build with VKI Solver REM SET VKISOLVER=VKI SET VKISOLVER=NONE REM Edit following 2 lines to build with CASI Solver SET CASISOLVER=CASI REM SET CASISOLVER=NONE REM Edit following lines to build with Intel(c) Multithreaded solver (PARDISO) REM SET INTELSOLVER=NONE SET INTELSOLVER=PARDISO REM Edit following lines to build with MF2 serial or parallel Solver SET MF2SOLVER=NONE REM SET MF2SOLVER=MF2SERIAL REM SET MF2SOLVER=MF2PARALLEL REM Edit following lines to build with MUMPS Solver if "%MARC_INTEGER_SIZE%" == "i8" goto i8_1 REM SET MUMPSSOLVER=NONE SET MUMPSSOLVER=MUMPS goto i4_1 :i8_1 REM SET MUMPSSOLVER=NONE SET MUMPSSOLVER=MUMPS :i4_1 REM Edit following lines to build with GPGPU version of BCS Solver for REM NVIDIA platforms SET BCSGPUSOLVER=NONE rem SET BCSGPUSOLVER=BCSGPU SET MARC_DLL=MARC_DLL rem SET MARC_DLL=NONE REM always set VKISOLVER, CASISOLVER, BCSGPUSOLVER, MF2SOLVER and MARC_DLL to NONE for MD Nastran if not %_OEM_NASTRAN%==0 set VKISOLVER=NONE if not %_OEM_NASTRAN%==0 set CASISOLVER=NONE if not %_OEM_NASTRAN%==0 set INTELSOLVER=NONE if not %_OEM_NASTRAN%==0 set MARC_DLL=NONE if not %_OEM_NASTRAN%==0 set MF2SOLVER=NONE if not %_OEM_NASTRAN%==0 set MUMPSSOLVER=NONE if not %_OEM_NASTRAN%==0 set BCSGPUSOLVER=NONE if not %_OEM_NASTRAN%==0 set ADAMS=NONE REM REM define Fortran and C compile syntax REM set SOLVERFLAGS= if %VKISOLVER%==VKI set SOLVERFLAGS="%SOLVERFLAGS% -DVKI" if "%CASISOLVER%"=="CASI" set SOLVERFLAGS=%SOLVERFLAGS% -DCASI if "%INTELSOLVER%"=="PARDISO" set SOLVERFLAGS=%SOLVERFLAGS% -DPARDISO if "%MF2SOLVER%"=="MF2SERIAL" set SOLVERFLAGS=%SOLVERFLAGS% -DMF2SERIAL if "%MF2SOLVER%"=="MF2PARALLEL" set SOLVERFLAGS=%SOLVERFLAGS% -DMF2PARALLEL if "%MUMPSSOLVER%"=="MUMPS" set SOLVERFLAGS=%SOLVERFLAGS% -DMUMPS if "%BCSGPUSOLVER%"=="BCSGPU" set SOLVERFLAGS=%SOLVERFLAGS% -DBCSGPU -DCUDA REM set BCS solver directory set BCS_DIR=bcssolver if "%BCSGPUSOLVER%"=="BCSGPU" set BCS_DIR=bcsgpusolver if "%BCSGPUSOLVER%"=="BCSGPU" SET PATH=%MARC_CUDA%\bin;%MARC_CUDA%\lib;%PATH% if "%BCSGPUSOLVER%"=="BCSGPU" SET PATH=%MARC_CUDA%\nvvm;%PATH% REM setting for Nastran toolkit REM set TOOLKIT=ON to include Nastran toolkit SET TOOLKIT=OFF SET TKLIBS= if "%TOOLKIT%"=="ON" SET SOLVERFLAGS=%SOLVERFLAGS% -DTOOLKIT if "%TOOLKIT%"=="ON" SET TKLIBS="%LIBDIR%\libclient_irc.lib" "%LIBDIR%\libla_irc.lib" "%LIBDIR%\libtkrel_irc.lib" REM Uncomment the following lines to build MARC in Debuggable mode set MARCDEBUG=OFF rem set MARCDEBUG=ON if "%MARCDEBUG%"=="ON" goto setdebug SET LINK_OPT= SET DEBUG_OPT= SET C_DEBUG_OPT= SET NVCC_DEBUG_OPT=-O3 goto enddebug :setdebug SET LINK_OPT=/debug SET DEBUG_OPT=/debug:full /Zi /Od /traceback SET C_DEBUG_OPT=/Zi /Od /traceback SET NVCC_DEBUG_OPT=-O0 --debug --device-debug 0 -D"_DEBUG" -Xcompiler "/Zi /Od " :enddebug REM Uncomment following lines to build MARC with more run-time checks set MARCCHECK=OFF REM set MARCCHECK=ON if "%MARCCHECK%"=="OFF" goto endcheck SET DEBUG_OPT=%DEBUG_OPT% /fpe:0 /Qfp-stack-check /check:all SET C_DEBUG_OPT=%C_DEBUG_OPT% /RTCs /RTCu /RTCc /Qfp-stack-check SET NVCC_DEBUG_OPT=%NVCC_DEBUG_OPT% :endcheck if "%C_COMPILER%" == "intel" goto c_intel set CCPROG=cl goto set_ccprogs :c_intel SET CCPROG=icl :set_ccprogs if "%MARC_INTEGER_SIZE%" == "i8" goto i8_2 set I8FFLAGS= set I8DEFINES= set I8CDEFINES= set I8CASIDEFS= goto i4_2 :i8_2 set I8FFLAGS=/integer_size:64 set I8DEFINES=-DI64 set I8CDEFINES= set I8CASIDEFS=-DCASI_64BIT_INT=1 :i4_2 rem rem per: should -DI64 be used for fortran? rem SET CDEFINES= %I8DEFINES% SET FDEFINES= -D_IMPLICITNONE /nologo %I8FFLAGS% %I8DEFINES% if %_OEM_NASTRAN%==0 set FDEFINES=%FDEFINES% -DOPENMP -DMKL rem set _MSCMARC set FDEFINES=%FDEFINES% -D_MSCMARC -DWIN64 set CDEFINES=%CDEFINES% -D_MSCMARC if not %_OEM_NASTRAN%==0 set CDEFINES=%CDEFINES% -D_OEM_NASTRAN if not %_OEM_NASTRAN%==0 set FDEFINES=%FDEFINES% -D_OEM_NASTRAN SET CINCL=/I"%MARC_SOURCE%\mdsrc" /I"%MARC_SOURCE%\csource" if not %_OEM_NASTRAN%==0 set CINCL=%CINCL% /I..\..\include if not %_OEM_NASTRAN%==0 set M_FLAG=/MD if %_OEM_NASTRAN%==0 set M_FLAG=/MD SET CC=%CCPROG% -c /W3 -DWIN32 /Gy /EHsc -D__IFL %METIS_INCLUDE% %CDEFINES% %CINCL% %M_FLAG% %MPI_INCLUDE% %SOLVERFLAGS% SET CCLOW=%CCPROG% -c /W3 -DWIN32 /Gy /EHsc -D__IFL %METIS_INCLUDE% %CDEFINES% %CINCL% %M_FLAG% %MPI_INCLUDE% %SOLVERFLAGS% SET CCHIGH=%CCPROG% -c /W3 -DWIN32 /Gy /EHsc -D__IFL %METIS_INCLUDE% %CDEFINES% %CINCL% %M_FLAG% %MPI_INCLUDE% %SOLVERFLAGS% if "%MARCDEBUG%"=="ON" SET CC=%CCPROG% -c /W3 -DWIN32 /Gy /EHsc -D__IFL %METIS_INCLUDE% %CDEFINES% %CINCL% %M_FLAG% %MPI_INCLUDE% %C_DEBUG_OPT% %SOLVERFLAGS% if "%MARCDEBUG%"=="ON" SET CCLOW=%CCPROG% -c /W3 -DWIN32 /Gy /EHsc -D__IFL %METIS_INCLUDE% %CDEFINES% %CINCL% %M_FLAG% %MPI_INCLUDE% %C_DEBUG_OPT% %SOLVERFLAGS% if "%MARCDEBUG%"=="ON" SET CCHIGH=%CCPROG% -c /W3 -DWIN32 /Gy /EHsc -D__IFL %METIS_INCLUDE% %CDEFINES% %CINCL% %M_FLAG% %MPI_INCLUDE% %C_DEBUG_OPT% %SOLVERFLAGS% SET LOAD_CC=%CCPROG% set CCMNF=%CCPROG% /c /nologo /W3 /Gy /EHsc /D__STDC__=1 /Dport2pcnt -D__IFL /I%MARC_SOURCE%\marctoadams\mnf\include %M_FLAG% set CXXMNF=%CCPROG% /c /nologo /W3 /Gy /EHsc /GR /Dport2pcnt -D__IFL /I%MARC_SOURCE%\marctoadams\mnf\include %M_FLAG% SET CCT=%CC% SET CCTLOW=%CCLOW% SET CCTHIGH=%CCHIGH% set CC_CASI=%CC% /O2 -DCASI_i386 -D_MSC_VER -D__STDC__ -Qc99 -Qrestrict %I8CASIDEFS% set CCT_CASI=%CCT% /O2 -DCASI_i386 -D_MSC_VER -D__STDC__ -Qc99 -Qrestrict %I8CASIDEFS% set CCLOW_CASI=%CCLOW% -DCASI_i386 -D_MSC_VER -D__STDC__ -Qc99 -Qrestrict %I8CASIDEFS% set CCTLOW_CASI=%CCTLOW% -DCASI_i386 -D_MSC_VER -D__STDC__ -Qc99 -Qrestrict %I8CASIDEFS% set CCHIGH_CASI=%CC% /O2 -DCASI_i386 -D_MSC_VER -D__STDC__ -Qc99 -Qrestrict %I8CASIDEFS% set CCTHIGH_CASI=%CCT% /O2 -DCASI_i386 -D_MSC_VER -D__STDC__ -Qc99 -Qrestrict %I8CASIDEFS% if "%MARCDEBUG%"=="ON" set CC_CASI=%CC% -DCASI_i386 -D_MSC_VER -D__STDC__ -Qc99 -Qrestrict %I8CASIDEFS% if "%MARCDEBUG%"=="ON" set CCT_CASI=%CCT% -DCASI_i386 -D_MSC_VER -D__STDC__ -Qc99 -Qrestrict %I8CASIDEFS% if "%MARCDEBUG%"=="ON" set CCLOW_CASI=%CCLOW% -DCASI_i386 -D_MSC_VER -D__STDC__ -Qc99 -Qrestrict %I8CASIDEFS% if "%MARCDEBUG%"=="ON" set CCTLOW_CASI=%CCTLOW% -DCASI_i386 -D_MSC_VER -D__STDC__ -Qc99 -Qrestrict %I8CASIDEFS% if "%MARCDEBUG%"=="ON" set CCHIGH_CASI=%CC% -DCASI_i386 -D_MSC_VER -D__STDC__ -Qc99 -Qrestrict %I8CASIDEFS% if "%MARCDEBUG%"=="ON" set CCTHIGH_CASI=%CCT% -DCASI_i386 -D_MSC_VER -D__STDC__ -Qc99 -Qrestrict %I8CASIDEFS% set CCMUMPS=%CC% /O2 -Dmetis -DAdd_ /I"%MARC_SOURCE%\mumpssolver\include" %MPI_INCLUDE% -Qc99 -Qrestrict SET BCSCC=%CCPROG% /c /O3 /W3 -DWIN32 /Gy /EHsc -D__IFL -DUPPERCASE /I"%MARC_SOURCE%\%BCS_DIR%\bcslib_csrc" %CDEFINES% %CINCL% SET NVCC=nvcc -c -arch sm_20 -DUPPERCASE -Xcompiler "/EHsc /W3 /nologo /Gy" -I"%MARC_SOURCE%\%BCS_DIR%\bcslib_csrc" -I"%MARC_SOURCE%\%BCS_DIR%\bcslib_cuda\include" -I"%MARC_CUDA%\include" -I"%MARC_SOURCE%\mdsrc" %NVCC_DEBUG_OPT% %CDEFINES% SET CUDALIB=lib SET CUDALINK=link SET FORT_OPTS=/Qip /Qsave /Qzero /Qvec- /switch:fe_old_modvar /W0 %DEBUG_OPT% SET FORTPROG=ifort SET FORTRAN=%FORTPROG% /fpp /c /DWIN32_intel %FDEFINES% /I"%MARC_SOURCE%\common" /I"%MARC_SOURCE%\%BCS_DIR%\common" /I"%MARC_SOURCE%\mumpssolver\include" %MPI_INCLUDE% /O2 %FORT_OPTS% %SOLVERFLAGS% %M_FLAG% SET FORTFPP=%FORTPROG% /fpp /c /DWIN32_intel %FDEFINES% /I"%MARC_SOURCE%\common" /I"%MARC_SOURCE%\%BCS_DIR%\common" /I"%MARC_SOURCE%\mumpssolver\include" %MPI_INCLUDE% /O2 %FORT_OPTS% %SOLVERFLAGS% %M_FLAG% SET FORTFPPH=%FORTPROG% /fpp /c /DWIN32_intel %FDEFINES% /I"%MARC_SOURCE%\common" /I"%MARC_SOURCE%\%BCS_DIR%\common" /I"%MARC_SOURCE%\mumpssolver\include" %MPI_INCLUDE% /O2 %FORT_OPTS% %SOLVERFLAGS% %M_FLAG% SET FORTLOW=%FORTPROG% /fpp /c /DWIN32_intel %FDEFINES% /I"%MARC_SOURCE%\common" /I"%MARC_SOURCE%\%BCS_DIR%\common" /I"%MARC_SOURCE%\mumpssolver\include" %MPI_INCLUDE% /Od %FORT_OPTS% %SOLVERFLAGS% %M_FLAG% SET FORTHIGH=%FORTPROG% /fpp /c /DWIN32_intel %FDEFINES% /I"%MARC_SOURCE%\common" /I"%MARC_SOURCE%\%BCS_DIR%\common" /I"%MARC_SOURCE%\mumpssolver\include" %MPI_INCLUDE% /O3 %FORT_OPTS% %SOLVERFLAGS% %M_FLAG% if "%MARCDEBUG%"=="ON" SET FORTRAN=%FORTPROG% /fpp /c /DWIN32_intel %FDEFINES% /I"%MARC_SOURCE%\common" /I"%MARC_SOURCE%\%BCS_DIR%\common" /I"%MARC_SOURCE%\mumpssolver\include" %MPI_INCLUDE% %FORT_OPTS% %SOLVERFLAGS% %M_FLAG% if "%MARCDEBUG%"=="ON" SET FORTFPP=%FORTPROG% /fpp /c /DWIN32_intel %FDEFINES% /I"%MARC_SOURCE%\common" /I"%MARC_SOURCE%\%BCS_DIR%\common" /I"%MARC_SOURCE%\mumpssolver\include" %MPI_INCLUDE% %FORT_OPTS% %SOLVERFLAGS% %M_FLAG% if "%MARCDEBUG%"=="ON" SET FORTFPPH=%FORTPROG% /fpp /c /DWIN32_intel %FDEFINES% /I"%MARC_SOURCE%\common" /I"%MARC_SOURCE%\%BCS_DIR%\common" /I"%MARC_SOURCE%\mumpssolver\include" %MPI_INCLUDE% %FORT_OPTS% %SOLVERFLAGS% %M_FLAG% if "%MARCDEBUG%"=="ON" SET FORTLOW=%FORTPROG% /fpp /c /DWIN32_intel %FDEFINES% /I"%MARC_SOURCE%\common" /I"%MARC_SOURCE%\%BCS_DIR%\common" /I"%MARC_SOURCE%\mumpssolver\include" %MPI_INCLUDE% %FORT_OPTS% %SOLVERFLAGS% %M_FLAG% if "%MARCDEBUG%"=="ON" SET FORTHIGH=%FORTPROG% /fpp /c /DWIN32_intel %FDEFINES% /I"%MARC_SOURCE%\common" /I"%MARC_SOURCE%\%BCS_DIR%\common" /I"%MARC_SOURCE%\mumpssolver\include" %MPI_INCLUDE% %FORT_OPTS% %SOLVERFLAGS% %M_FLAG% if not "%MPITYPE%"=="none" set FORTFPP=%FORTFPP% -DDDM if not "%MPITYPE%"=="none" set FORTRAN=%FORTRAN% -DDDM SET FORTRANT=%FORTRAN% /fpe:0 SET FORTFPPT=%FORTFPP% /fpe:0 SET FORTLOWT=%FORTLOW% /fpe:0 SET FORTHIGHT=%FORTHIGH% /fpe:0 SET FORTRANMNF=%FORTPROG% /c /fpp /O2 %FORT_OPTS% /Gm SET FORTRANMUMPS=%FORTPROG% /c /fpp %FDEFINES% /O2 %DEBUG_OPT% -Dintel_ -DALLOW_NON_INIT -Dmetis /I"%MARC_SOURCE%\mumpssolver\include" %MPI_INCLUDE% %M_FLAG% SET BCSFORTLOW=%FORTLOW% /I"%MARC_SOURCE%\%BCS_DIR%\common" SET BCSFORTRAN=%FORTRAN% /I"%MARC_SOURCE%\%BCS_DIR%\common" SET BCSFORTHIGH=%FORTHIGH% /I"%MARC_SOURCE%\%BCS_DIR%\common" SET BCSFORT90HIGH=%BCSFORTHIGH% if "%MARCDEBUG%"=="ON" SET BCSFORTRAN=%BCSFORTLOW% if "%MARCDEBUG%"=="ON" SET BCSFORTHIGH=%BCSFORTLOW% if "%MARCDEBUG%"=="ON" SET BCSFORT90HIGH=%BCSFORTLOW% SET LOAD=LINK /nologo %LINK_OPT% if %MPITYPE%==ms-mpi set LOAD=LINK /DELAYLOAD:msmpi.dll /nologo %LINK_OPT% SET ARC=lib /out: rem set FORTRAN=%FORTLOW% rem set FORTHIGH=%FORTLOW% REM REM choose which libraries you want to use REM SET SOLVERLIBS="%LIBDIR%\bcslib.lib" "%LIBDIR%\blas_src.lib" if "%MARC_INTEGER_SIZE%" == "i4" set SOLVERLIBS="%SOLVERLIBS %LIBDIR%\blas_nt.lib" if %VKISOLVER%==VKI set VKISOLVERLIBS="%LIBDIR%\vkisolver.lib" if %CASISOLVER%==CASI set CASISOLVERLIBS="%LIBDIR%\casilib.lib" SET INTELSOLVERLIBS= if "%MARC_INTEGER_SIZE%" == "i8" goto i8_3 if %INTELSOLVER%==PARDISO set INTELSOLVERLIBS="%MARC_MKL%\mkl_solver_lp64.lib" goto i4_3 :i8_3 if %INTELSOLVER%==PARDISO set INTELSOLVERLIBS="%MARC_MKL%\mkl_solver_ilp64.lib" :i4_3 SET MF2SOLVERLIBS= if %MF2SOLVER%==MF2SERIAL set MF2SOLVERLIBS=%MARC_LIB%\mf2serial\libseq.lib %MARC_LIB%\mf2serial\libsym.lib %MARC_LIB%\mf2serial\libmet.lib %MARC_LIB%\mf2serial\libgauss.lib %MARC_LIB%\mf2serial\libmf2.lib %MARC_LIB%\mf2serial\libgauss.lib %MARC_LIB%\mf2serial\libmf2.lib %MARC_LIB%\mf2serial\libnum.lib %MARC_LIB%\mf2serial\libutl.lib %MARC_LIB%\mf2serial\libr8.lib %MARC_LIB%\mf2serial\libz.lib if %MF2SOLVER%==MF2PARALLEL set MF2SOLVERLIBS=%MARC_LIB%\mf2parallel\libseq.lib %MARC_LIB%\mf2parallel\libsym.lib %MARC_LIB%\mf2parallel\libmet.lib %MARC_LIB%\mf2parallel\libgauss.lib %MARC_LIB%\mf2parallel\libmf2.lib %MARC_LIB%\mf2parallel\libnum.lib %MARC_LIB%\mf2parallel\libutl.lib %MARC_LIB%\mf2parallel\libr8.lib %MARC_LIB%\mf2parallel\libz.lib set MKL_SCALAPACK= if "%MARC_INTEGER_SIZE%" == "i8" goto i8_4 if not "%MPITYPE%"=="none" set MKL_SCALAPACK="%MARC_MKL%\mkl_scalapack_lp64.lib" set MKL_MPICH="%MARC_MKL%\mkl_blacs_mpich2_lp64.lib" set MKL_INTELMPI="%MARC_MKL%\mkl_blacs_intelmpi_lp64.lib" set MKL_MSMPI="%MARC_MKL%\mkl_blacs_msmpi_lp64.lib" set MKL_INTEL="%MARC_MKL%\mkl_intel_lp64.lib" set MKL_MUMPS=%MKL_SCALAPACK% "%MARC_MKL%\mkl_lapack95_lp64.lib" goto i4_4 :i8_4 if not "%MPITYPE%"=="none" set MKL_SCALAPACK="%MARC_MKL%\mkl_scalapack_ilp64.lib" set MKL_MPICH="%MARC_MKL%\mkl_blacs_mpich2_ilp64.lib" set MKL_INTELMPI="%MARC_MKL%\mkl_blacs_intelmpi_ilp64.lib" set MKL_MSMPI="%MARC_MKL%\mkl_blacs_msmpi_ilp64.lib" set MKL_INTEL="%MARC_MKL%\mkl_intel_ilp64.lib" set MKL_MUMPS=%MKL_SCALAPACK% "%MARC_MKL%\mkl_lapack95_ilp64.lib" :i4_4 SET MUMPSSOLVERLIBS1= SET MUMPSSOLVERLIBS2= if %MUMPSSOLVER%==NONE goto mumps_lib_end set MUMPSSOLVERLIBS1="%LIBDIR%\mumps.lib" set MUMPSSOLVERLIBS2=%MKL_MUMPS% rem if %MPITYPE%==mpipro rem if %MPITYPE%==nt-mpich rem if %MPITYPE%==mpichx64 set MUMPSSOLVERLIBS2=%MUMPSSOLVERLIBS2% %MKL_MPICH% if %MPITYPE%==intel-mpi set MUMPSSOLVERLIBS2=%MUMPSSOLVERLIBS2% "%MKL_INTELMPI%" if %MPITYPE%==ms-mpi set MUMPSSOLVERLIBS2=%MUMPSSOLVERLIBS2% "%MKL_MSMPI%" :mumps_lib_end set BCSSOLVERLIBS="%LIBDIR%\bcslib.lib" if "%BCSGPUSOLVER%"=="BCSGPU" set BCSSOLVERLIBS="%LIBDIR%\bcsgpulib.lib" "%LIBDIR%\marccuda.lib" if "%BCSGPUSOLVER%"=="BCSGPU" set CUDALIBS=/LIBPATH:"%MARC_CUDA%\lib" cudart.lib cublas.lib cuda.lib set SOLVERLIBS=%BCSSOLVERLIBS% %MKL_INTEL% "%MARC_MKL%\mkl_intel_thread.lib" "%MARC_MKL%\mkl_core.lib" "%MARC_MKL%\libiomp5mt.lib" set SOLVERLIBS=%SOLVERLIBS% "%LIBDIR%\blas_src.lib" %VKISOLVERLIBS% %CASISOLVERLIBS% %INTELSOLVERLIBS% %MF2SOLVERLIBS% SET MRCLIBS="%LIBDIR%\clib.lib" SET STUBS="%LIBDIR%\stubs.lib" if %_OEM_NASTRAN%==0 ( rem necessary libraries for sfimufact.forming SET SFLIB="%LIBDIR%\sfclib.lib" "%LIBDIR%\MBA_Grain.lib" "%LIBDIR%\strucSimSimufact.lib" "%LIBDIR%\sfsrclib.lib" SET LIBXDR="%LIBDIR%\xdr_irc.lib" SET LIBMNF="%LIBDIR%\mnflib.lib" SET LIBMDUSER="%LIBDIR%\md_user.lib" ) else ( SET LIBXDR= SET LIBMNF="%LIBDIR%\stubs.lib" SET LIBMDUSER="%LIBDIR%\md_user_sca.lib" ) if %_OEM_NASTRAN%==0 ( SET SYSLIBS=/release /subsystem:console /incremental:no /nodefaultlib:libc.lib /nodefaultlib:libcmt.lib /nodefaultlib:libifcoremt.lib libmmd.lib libifcoremd.lib ) else ( SET SYSLIBS=/release /subsystem:console /incremental:no /nodefaultlib:libc.lib libmmd.lib libifcoremd.lib ) SET METISLIBS="%LIBDIR%\metislib.lib" if %MPITYPE%==mpipro set SYSLIBS=%SYSLIBS% "%MPI_ROOT%\lib\MPIPro_dvf.lib" "%MPI_ROOT%\lib\MPIPro.lib" if %MPITYPE%==nt-mpich set SYSLIBS=%SYSLIBS% /LIBPATH:"%MPI_ROOT%\lib" mpichf_int.lib mpichstatic.lib iphlpapi.lib if %MPITYPE%==mpichx64 set SYSLIBS=%SYSLIBS% /LIBPATH:"%MPI_ROOT%\lib" mpi.lib fmpich2.lib if %MPITYPE%==intel-mpi set SYSLIBS=%SYSLIBS% /LIBPATH:"%MPI_ROOT%\lib" impi.lib if %MPITYPE%==ms-mpi set SYSLIBS=%SYSLIBS% /LIBPATH:"%MPI_ROOT%\lib" msmpi.lib SET SYSLIBS=%SYSLIBS% ws2_32.lib rem activate the following line before adding security SET XTRALIBS=kernel32.lib user32.lib netapi32.lib advapi32.lib comdlg32.lib comctl32.lib if %MPITYPE%==ms-mpi set XTRALIBS=%XTRALIBS% delayimp.lib SET BLAS_SRC=dzero.f icopy.f izero.f rem list files which need low optimization level if "%MARCDEBUG%"=="OFF" SET LOW_OPT_CODES=bet049.f boudry.f contro.f eldata.f omarc*.f omars.f radivf.f bdrezn.f areb4.f weldpath.f i4toi.f cn_dfolow.f cn_dfolo3.f viewfactor.f search_topol_3d.f distload.f lantrs.f rem Comments on low optimization level: rem areb4.f: e2x48, e2x49 and e2x50 fail with exit 1005 DF 6.0 SET LOW_OPT_CODES_CASI= rem list files which should use high optimization level if "%MARCDEBUG%"=="OFF" SET HIGH_OPT_CODES=cg11.f cg12.f cg21.f cg22.f cg31.f cg32.f cg41.f cg42.f cg51.f cg52.f cg61.f cg62.f crxrsi.f fwbrsi.f dom*.f dpsmsa*.f if "%MARCDEBUG%"=="OFF" SET HIGH_OPT_CODES_CASI=arithkernels.c blockedroutines.c blockedroutines_fd.c elemmatgenkernels.c longvecroutines.c sfmultutils.c solvewithbd.c SET MAXNUM=1000000 rem rem MEMLIMIT is a reference value for the available memory in Mbyte rem on the machine. rem It is used for determining if there is enough memory for rem the matrix solver. rem By default it is set to the physical amount of memory rem but this can be overridden with a value given here. SET MEMLIMIT= 我该怎么修改
12-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迅捷的软件产品制作专家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值