芪æãªãéçºè ã
OpenLoop Simulinkã¢ãã«ãå®è¡ãããã®ã§ãããæ®å¿µãªããS-Functionã®äœæã«åºå·ããŠããŸãã OpenFASTã¯ã¿ãŒããã«ã§ã·ãŒã ã¬ã¹ã«åäœããŠããŸãã ããã€ãã®rãã¹ããå®è¡ãããæ°ããã·ãã¥ã¬ãŒã·ã§ã³çµæãæåŸ
ãæºãããŠããŸãã ãããããcreate_FAST_SFunc.mããå®è¡ãããšããšã©ãŒã¡ãã»ãŒãžã衚瀺ãããŸãïŒä»¥äžãåç
§ïŒã MATLABr2017bãšMATLABr2019bã¯ç°ãªãgccããŒãžã§ã³ã§èŠåããŸããïŒç§ã®å Žåã¯äž¡æ¹ãšãæ¬ èœããŠããŸãïŒããåãæªå®çŸ©ã®åç
§ãçºçããŸãã
gccããŒãžã§ã³ããªãããšãåå ã§åé¡ãçºçããå¯èœæ§ããããŸããïŒ Canonicalã§ãµããŒããããŠããªãgccããŒãžã§ã³ãã€ã³ã¹ããŒã«ããåã«ãä»ã®æ¹æ³ãè©ŠããŠã¿ãããšæããŸãã
FASTããµããŒãããããã®çŽ æŽãããä»äºãšç²ã匷ãåªåã«æè¬ããŸãïŒ
ãã©ãº
MATLABãšã©ãŒïŒ
èŠå: gcc ããŒãžã§ã³ '5.4.0' ã䜿çšããŠããŸãã gcc ã®ããŒãžã§ã³ã¯ãµããŒããããŠããŸããã >çŸåšMEXã§ãµããŒããããŠããããŒãžã§ã³ã¯ã6.3.xãã§ãã ã®ãªã¹ãã«ã€ããŠã¯
çŸåšãµããŒããããŠããã³ã³ãã€ã©ã«ã€ããŠã¯ã https : ãã ããã
mexã®äœ¿çšäžã«ãšã©ãŒãçºçããŸãã
/home/balazs/OpenFAST/install/lib/libopenfastlib.a(FAST_Library.f90.oïŒïŒé¢æ°FAST_OpFM_Step': FAST_Library.f90:(.text+0xb6): undefined reference to
__fast_subs_MOD_fast_solution_t '
FAST_Library.f90:(.text+0x108):_gfortran_string_len_trim' FAST_Library.f90:(.text+0x147): undefined reference to
_gfortran_concat_string' ãžã®æªå®çŸ©ã®åç §
FAST_Library.f90 ïŒïŒãtext + 0x18cïŒïŒ_gfortran_concat_string' FAST_Library.f90:(.text+0x2f1): undefined reference to
_gfortran_concat_string 'ãžã®æªå®çŸ©ã®åç §
FAST_Library.f90 ïŒïŒãtext + 0x38cïŒïŒ__supercontroller_MOD_sc_setoutputs' FAST_Library.f90:(.text+0x3fa): undefined reference to
__supercontroller_MOD_sc_setinputs 'ãžã®æªå®çŸ©ã®åç §
/home/balazs/OpenFAST/install/lib/libopenfastlib.a(FAST_Library.f90.oïŒïŒé¢æ°FAST_OpFM_Restart': FAST_Library.f90:(.text+0x85b): undefined reference to
__nwtc_library_MOD_nwtc_init '
FAST_Library.f90 ïŒïŒãtext + 0x896ïŒïŒ `_gfortran_string_index 'ãžã®æªå®çŸ©ã®åç §
.
.
.
..FAST_Library.f90:(.text+0xaba13):
_gfortran_runtime_error_at' FAST_Library.f90:(.text+0xaba1f): undefined reference to
_gfortran_os_error' ãžã®æªå®çŸ©ã®åç §
collect2ïŒãšã©ãŒïŒldã1ã€ã®çµäºã¹ããŒã¿ã¹ãè¿ããŸããcreate_FAST_SFunc ã®ãšã©ãŒ (71 è¡ç®)
mexïŒ '-largeArrayDims'ã..ã
MATLABç°å¢
pwd
'/home/bala/OpenFAST/glue-codes/simulink/src'
mex ã³ãã³ãã®æçµåœ¢åŒ:
mexïŒ '-largeArrayDims'ã..ã
'-L / home / bala / OpenFAST / install / lib'ã..ã
ã-lopenfastlibãã...
'-I/home/bala/OpenFAST/install/include', ...
'-I/home/bala/OpenFAST/modules/supercontroller/src', ...
'-I/home/bala/OpenFAST/modules/openfoam/src', ...
ã-outdirããã.ãã...
'COMPFLAGS = $ COMPFLAGS -MT -D'ã..ã
'S_FUNCTION_NAME = FAST_SFunc'ã..ã
ã-åºåãããFAST_SFuncãã...
'FAST_SFunc.c'ïŒ;
OpenFASTç
OpenFAST
CopyrightïŒCïŒåœç«åçå¯èœãšãã«ã®ãŒç 究æ
Copyright (C) Envision Energy USA LTD
ãã®ããã°ã©ã ã¯ãApache LicenseããŒãžã§ã³2.0ã§ã©ã€ã»ã³ã¹ãããŠãããä¿èšŒã¯äžåãããŸããã
詳ããã¯ãæ¬ãœãããŠã§ã¢ã«å梱ãããŠãããLICENSEããã¡ã€ã«ãã芧ãã ããã
OpenFAST-v2.2.0
ã³ã³ãã€ã«æ
å ±ïŒ
ã·ã¹ãã ã€ã³ãã©ã¡ãŒã·ã§ã³ïŒ
ç°¡åãªçãã¯ãã¯ããäºææ§ã®ãªãgccããŒãžã§ã³ã衚瀺ããããšã©ãŒãåŒãèµ·ãããŠããå¯èœæ§ãé«ããšããããšã§ãã
Matlab ã®åããŒãžã§ã³ã«ã¯ãåäœããããã«èšå®ãããã³ã³ãã€ã©ããããŸãã <MATLAB_ROOT>/bin/<os>/mexopts
ãã£ã¬ã¯ããªå
ã®é¢é£ãã¡ã€ã«ãå€æŽãã䜿çšããŠããããŒãžã§ã³ã®ãã¹ãšã©ã€ãã©ãªãèšå®ãããŠããããšã確èªããããšã§ããããåé¿ã§ããå ŽåããããŸãã ãããã®ãã¡ã€ã«ãå€æŽããå Žåã¯ãéçã©ã€ãã©ãªãšã®ãªã³ã¯ãè©Šè¡ããªãããã«ã create_FAST_SFunc.m
ã®mex
ã³ãã³ããã-MT
ãªãã·ã§ã³ãåé€ããå¿
èŠããããŸããå¥ã®ã³ã³ãã€ã©ã§äœæãããŸããã ãŸãã -MT
ãåé€ããå Žåã¯ãã©ã€ãã©ãªãã¹ãMATLABãã¹ã«è¿œå ããŠãmexé¢æ°ã®å®è¡æã«ãã€ãããã¯ã©ã€ãã©ãªãèŠã€ããããããã«ããå¿
èŠãããå ŽåããããŸãã
ãŸãã mexopts
ãã£ã¬ã¯ããªå
ã®ãã¡ã€ã«ãå€æŽããåŸã mex -setup
å床å®è¡ããŸãããããã¯å¿
èŠãªãå ŽåããããŸãã
MATLAB (2017a)ãgcc 4.9ãUbuntu 16.04 ã®é©å㪠(ãµããŒããããŠãã) çµã¿åãããå ¥æããŸããã
çŸåšã®ããŒãžã§ã³ã® gcc 㧠openFAST ãã³ã³ãã€ã«ãããã£ãã®ã§ãããæ®å¿µãªãã cmake ã§ãšã©ãŒ ã¡ãã»ãŒãžã衚瀺ãããŸãã: SIMULINK with GNU ã¯ãµããŒããããŠããŸããã
openFASTãSimulinkã«æ¥ç¶ã§ããããã«ããã«ã¯ãWindowsãšVisual Studioãã€ã³ã¹ããŒã«ããå¿
èŠããããŸããïŒ
Ubuntuã§Simulinkãæäœããã®ã«é©ããopenFASTã®ä»¥åã®ããŒãžã§ã³ã¯ãããŸããïŒ
ããããšãããããŸããïŒ
ãã©ãº
ãã®çµã¿åããã® Sys*.f90 ãã¡ã€ã«ã¯ãOpenFAST ã§æŽæ°ãããŠããªãããã§ãã åºæ¬çã«ãSysGnuLinux.f90ãã¡ã€ã«ã®writeã¹ããŒãã¡ã³ããMatlabmexå°å·ã©ã€ãã©ãªã®åŒã³åºãã«çœ®ãæããå¿ èŠããããŸãã ãã®ãã©ã³ãã§ãããç°¡åã«è©ŠããŠã¿ãŸãã: https://github.com/bjonkman/openfast/tree/f/SimulinkGNUlinuxãããããŸããããã©ããæããŠãã ããã
芪æãªããããŒã
䟿å©ãªãµããŒãããããšãããããŸãïŒ ææ¡ããããã©ã³ãã䜿çšãããšãcmakeãšmakeã³ãã³ãã§ãšã©ãŒã¯çºçããŸããã§ããã ãã ãããã€ã³ã¹ããŒã«ããã©ã«ãããããŸããã§ããã ç§ã¯æåã§ãã©ã«ããäœæããäžè¶³ããŠãããã¹ãŠã®ãã¡ã€ã«ãèŠã€ããŠãã®ãã©ã«ãã«ã³ããŒããããšããŸããã ãã®åŸãMatlab 2017a ã§èŠåããšã©ãŒ ã¡ãã»ãŒãžãªã㧠create_FAST_SFunc.m ãå®è¡ã§ããFAST_SFunc.mexa64 ãååŸããŸããã AWT_YFix_WSt.fstã䜿çšããŠopenLoop.mdlãå®è¡ããããšããŸããããæ®å¿µãªãã次ã®ãšã©ãŒã¡ãã»ãŒãžã衚瀺ãããŠå€±æããŸããã
'OpenLoop/FAST éç·åœ¢é¢šåã¿ãŒãã³/S-Function' 㧠MEX S-Function 'FAST_SFunc' ãããµã€ãºãååŸäžã«ãšã©ãŒãçºçããŸããã
ã®ããã§ïŒ
ç¡å¹ãªMEXãã¡ã€ã« '/home/bala/openfast-SimulinkGNUlinux/simulink/FAST_SFunc.mexa64'ïŒlibopenfastlib.soïŒå ±æãªããžã§ã¯ããã¡ã€ã«ãéãããšãã§ããŸããïŒãã®ãããªãã¡ã€ã«ãŸãã¯ãã£ã¬ã¯ããªã¯ãããŸããã
ã³ã³ããŒãã³ã:Simulink | ã«ããŽãªïŒãããã¯ãšã©ãŒ
openFastã®ã³ãã³ãã©ã€ã³ããŒãžã§ã³ã¯ãåãAWT_YFix_WSt.fstãæ£åžžã«ã·ãã¥ã¬ãŒãããŸãã
æ®å¿µãªããããšã©ãŒã¡ãã»ãŒãžã¯ç§ã«ãšã£ãŠããŸãæçã§ã¯ãããŸããã ãã®ãšã©ãŒã®åå ãç¹å®ããããã®ãã³ãããéãããã ããã°å¹žãã§ãã
Matlab ã¯libopenfastlib.so
ãã¡ã€ã«ãèŠã€ããããšãã§ããªããšæããŸãã ãã®ãã¡ã€ã«ã®å Žæã確èªããMatlab ãã¹ãå€æŽããŠèŠã€ãããããã¡ã€ã«ã Matlab æ€çŽ¢ãã¹ã®ã©ããã«ç§»åããŸãã
èšãå¿ããŸãããããããåé¡ã解決ããããã®æåã§å¯äžã®ã¢ã€ãã¢ã§ãã...
64ãããã³ã³ãã€ã©ã§libopenfastlib.so
ãšãããã¡ã€ã«ãäœæããŸãããïŒ
ã¯ãããªã³ã©ã€ã³ ããã¥ã¡ã³ãã®æ瀺ã«åŸãããšããŸãã (2.2. ãœãŒã¹ããã³ã³ãã€ã«)
cmake .. -BUILD_OPENFAST_SIMULINK_API=ON -DBUILD_SHARED_LIBS=ON
äœã
Matlabã³ãã³ããŠã£ã³ããŠã§which libopenfastlib.so
ãšå
¥åãããšããã¡ã€ã«ã¯èŠã€ãããŸããïŒ ãããããªããã©ã®äŸåé¢ä¿ããã®libopenfastlib.so
ã©ã€ãã©ãªã«ãããããã§ãã¯ãããããã®ãã¡ã€ã«ããã¹ãŠMATLABãã¹ã«ãããããšã確èªã§ããŸããïŒ ããšãã°ã libopenfastlib.so
ãäžéšã®GNU Fortranã©ã€ãã©ãªã«äŸåããŠããå ŽåãããããMatlabãã¹äžã«ããå¿
èŠããããŸãã
@rafmudafã¯ãOpenFASTcmakeãã«ãããã»ã¹ã§ãã€ãããã¯ã©ã€ãã©ãªã®äŸåé¢ä¿ãçæããããã®ã¢ã€ãã¢ãæã£ãŠããå ŽåããããŸãã
which libopenfastlib.so
ã¯ããã¡ã€ã«ãžã®é©åãªãã¹ã«ãªããŸã
åããã©ã«ããŒã«25åã®* .soãã¡ã€ã«ããããŸãïŒlibaerodyn14lib.soãlibaerodynlib.soãªã©ïŒ
åè¿°ããããã«ãã€ã³ã¹ããŒã«ãã©ã«ããŒã¯ã³ã³ãã€ã«äžã«äœæãããŸããã§ããã create_FAST_SFunc.m ã®å®è¡ã«å¿
èŠãªãã¹ãŠã®ãã¡ã€ã«ãèŠã€ããããšããŸããã ãããããŸã 1ã€æ¬ ããŠããŸããïŒ
ããããã -DBUILD_SHARED_LIBS=OFF
ãã«ãããããšãã§ããŸãã
OKãçµæãå ±åããŸãã è¯ãäžæ¥ããéãããã ããããããŠãµããŒãã«æè¬ããŸã!
ãµããŒãããŠãããŠããããšãïŒ å
ã®åé¡ã¯è§£æ±ºãããããã§ãã LD_LIBRARY_PATH
ç°å¢å€æ°ã«ã¯install / libãã©ã«ããŒãå«ããå¿
èŠããããŸãã
çµè«ïŒ
cmake .. -BUILD_OPENFAST_SIMULINK_API=ON -DBUILD_SHARED_LIBS=ON
make
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/openfast/install/lib
export LD_PRELOAD=$LD_PRELOAD:/path/to/liblapack.so
ïŒMatlabãšãšãã«ã€ã³ã¹ããŒã«ãããMKL Lapackã©ã€ãã©ãªã®äœ¿çšãåé¿ïŒcreate_FAST_SFunc.m
ã matlab ãŠã£ã³ããŠã§å®è¡ããã«ããã FAST_SFunc.mexa64
/openfast/glue-codes/simulink/src
ãã©ã«ããŒã«FAST_SFunc.mexa64
ãã¡ã€ã«ãäœæãããŸããã Run_OpenLoop.m
ã¯ãã¡ã€ã«ã倱ãããšãªãå®è¡ãéå§ããopenFAST ã·ãã¥ã¬ãŒã·ã§ã³ã®éåžžã®ã¡ãã»ãŒãžã matlab ã³ãã³ã ãŠã£ã³ããŠã«è¡šç€ºãããŸãã
ãæ¯æŽããã ãããããšãããããŸãïŒ
芪æãªãçããã
Windows07ã§OpenFASTv2.2.0ã䜿çšããŠããŸãã OpenFASTïŒ.exeã䜿çšïŒã§WP1.5MWã¿ãŒãã³ã®ã·ãã¥ã¬ãŒã·ã§ã³ãæ£åžžã«å®è¡ã§ããŸããããSimulinkãä»ããŠåããã®ãå®è¡ããéã«åé¡ãçºçããŸããã
Simulinkã䜿çšããŠã·ãã¥ã¬ãŒã·ã§ã³ãå®è¡ããããšãããšã次ã®ãšã©ãŒãçºçããŸãã
_OpenLoop / FASTéç·åœ¢é¢šåã¿ãŒãã³/ S-Function 'ã®S-function'FAST_SFunc'ã«ãã£ãŠå ±åããããšã©ãŒïŒ
FAST_Init ializeAllïŒAD_Init ïŒReadI nputFilesïŒReadPrimaryFile ïŒãã¡ã€ã«ã®ç¡å¹ãªæ°å€å
¥å
AirDensãèªã¿åãããšãããšãã«ãEïŒ\ OpenFAST \ WP1500kW \ AeroDyn15_Dynin.datããçºçããŸããã_
ç§ã®ç解ã§ã¯ããšã©ãŒã¯ AeroDynV15 ã«è¿œå ãããè¿œå ã®ãCavitCheckãã«ãããã®ã§ãã
FASTv8èªäœã§äœ¿çšå¯èœãªãã¡ã€ã«ãFAST_SFunc.mexw64ãããã³ãFAST_Library_x64.libãã䜿çšããŠããããšã«æ³šæããŠãã ããã ãããåé¡ã®åå ã§ããå¯èœæ§ããããŸããïŒ ã¯ãã®å ŽåãOpenFASTããã±ãŒãžã§å©çšå¯èœãªã³ã³ãã€ã«æžã¿ã®ãmexããã¡ã€ã«ãšãlibããã¡ã€ã«ã¯ãããŸããããããšãåå¥ã«ã³ã³ãã€ã«ããå¿
èŠããããŸããã ïŒãŸããWindowsã§ãããè¡ãæ¹æ³ã«é¢ããããã¥ã¡ã³ãïŒã ããããšãã
ããããã
ããŸã
芪æãªãã¯ãã©ã
OpenFAST v.2.2.0å®è¡å¯èœãã¡ã€ã«ã䜿çšããŠããããã§ãããFAST v8 S-FunctionïŒ FAST_SFunc.mexw64
ïŒãšã©ã€ãã©ãªïŒ FAST_Library_x64.lib
ïŒã䜿çšããŠããŸãã å®è¡å¯èœãã¡ã€ã«ã®å®è¡ã¯ãã©ã€ãã©ãªã䜿çšããS-Functionã®å®è¡ãšã¯ç¡é¢ä¿ã§ãã
FASTS-Functionããã³FASTLibraryã¯ãOpenFASTã䜿çšããŠåã³ã³ãã€ã«ããå¿ èŠããããŸãã ãããã¯çŸåšãã³ã³ãã€ã«æžã¿ã® OpenFAST ãã€ããªã§ã¯æäŸãããŠããŸããã ïŒãããã@rafmudafãããããæäŸããããšãã§ããŸãããïŒ
Windows ã§ã¯ãVisual Studio ãš Intel Fortran ã䜿çšããŠã³ã³ãã€ã«ããããšããå§ãããŸãã OpenFASTã©ã€ãã©ãªããã«ãããã«ã¯ã Visual Studio
ãœãªã¥ãŒã·ã§ã³ãéãã x64
ãã©ãããã©ãŒã ã®Release_MATLAB
æ§æãéžæããŠãã«ãããŸãã ïŒMATLAB 2018aãã€ã³ã¹ããŒã«ãããŠããªãå Žåã¯ã OpenFAST-Simulink
ãããžã§ã¯ãã®Configuration Properties -> Linker -> Input
ãŠã£ã³ããŠã®Additional Dependencies
ãã£ãŒã«ãã§MATLABãžã®ãã¹ãå€æŽããå¿
èŠããããŸããïŒ FAST S-Functionã glue-codes\simulink\src
ãã£ã¬ã¯ããªã«ããMATLAB create_FAST_SFunc.m
ã¹ã¯ãªãããå®è¡ããŸãã
å®ãããé¡ãããŸãã
芪æãªãJJonkmanã
ãè¿ä¿¡ããããšãããããŸãã ãæ瀺ããã ããæé ã§åé¡ã解決ã§ããŸããã åçä»ãã®æé ã®ã¯ã€ã㯠ãªãã¡ã¬ã³ã¹ãšããŠããã¥ã¡ã³ããäœæããããã«æ·»ä»ããŸãã ïŒèª°ãã«åœ¹ç«ã€ãããããŸããïŒã
OpenFAST_Simulink.pdf
ãããæºåããåŸãç§ã¯ããã«å¥ã®æçšãªãªã³ã¯ã®è°è«ãããããšã«æ°ã¥ããŸããïŒ
https://github.com/OpenFAST/openfast/issues/268
å ±æããŠãããŠããããšãïŒ
ããã«ã¡ã¯ããŒã ã
openfast ã Matlab ã«äœ¿çšãããã®ã§ãããMATLAB (Simulink) ãä»ã㊠OpenFAST (ææ°ãªãªãŒã¹) ãå®è¡ããå¿
èŠããã MEX ãã¡ã€ã«ãçæããããšããŠããŸãã
ç§ã¯ãã®ã¹ã¬ããã®ææ¡ã«åŸããŸããããããŠä»ç§ã¯ãã®èŽåœçãªãšã©ãŒãåŸãŠããŸã
ãã³ãã©ã«ãã¯ãããªæã
ç§ã¯äœ¿ã£ãŠãã;
VS2017ããŒãžã§ã³15.9.23
Intell ãã©ã¬ã« ã¹ã¿ãžãª XE 2020
Matlab 2020a
mex-ã»ããã¢ãã
MEXã¯ãCèšèªã®ã³ã³ãã€ã«ã«ãIntelParallel Studio XE 2020 with Microsoft Visual Studio 2017ïŒCïŒãã䜿çšããããã«æ§æãããŠããŸãã
å¥ã® C ã³ã³ãã€ã©ãéžæããã«ã¯ã次ã®ãããããéžæããŸãã
Intel Parallel Studio XE 2020 with Microsoft Visual Studio 2017 (C) mex - setup:C :\Users* * \AppData\Roaming\MathWorks\MATLAB\R2020amex_C_win64.xml C
Microsoft Visual C ++ 2017ïŒCïŒmex -setupïŒ 'CïŒ\ Program Files \ MATLAB \ R2020a \ bin \ win64mexopts \ msvc2017.xml' C
æŽæ°
ãšã©ãŒãç¶ããã©ããã確èªããããã«æé ãããäžåºŠç¹°ãè¿ããèŽåœçãªãšã©ãŒãåãé€ããŸããããèŠåã¯ãŸã ãããŸã
create_FAST_SFunc.mãå®è¡ãããšããã®ãšã©ãŒãçºçããŸã
create_FAST_SFunc
../../../build/binFAST_SFunc.mexw64 ã®äœæ
mexã®äœ¿çšäžã«ãšã©ãŒãçºçããŸãã
MEXã¯ã-lãªãã·ã§ã³ã§æå®ãããã©ã€ãã©ãª 'OpenFAST-Simulink_x64'ãèŠã€ããããšãã§ããŸããã
MEX ã¯ã次ã®ããããã®ååã®ãã¡ã€ã«ãæ€çŽ¢ããŸããã
libOpenFAST-Simulink_x64.lib
OpenFAST-Simulink_x64.lib
ã©ã€ãã©ãªåãæ£ããããšã確èªããŠãã ããã ã©ã€ãã©ãªããªãå Žå
æ¢åã®ãã¹ã§ã¯ã-L ãªãã·ã§ã³ã§ãã¹ãæå®ããŸãã
create_FAST_SFunc ã®ãšã©ãŒ (60 è¡ç®)
mexïŒ '-largeArrayDims'ã..ã
ãããã®èŠåã¯æ£åžžã§ãã
Visual Studio ã®ãã«ã ããã»ã¹ã¯å®éã«OpenFAST-Simulink_x64.dll
ãã¡ã€ã«ã<openfast>\build\src
ãã©ã«ããŒã«çæããŸããã? ãããããªããããã«OpenFAST-Simulink_x64.lib
ãã¡ã€ã«ããããŸããïŒ ãã®.libãã¡ã€ã«ã¯ãmexããªã³ã¯ããã»ã¹ã§äœ¿çšãããã®ã§ãã
ãã®ãã¡ã€ã«ã眮ãããŠãããã©ã«ããŒããcreate_FAST_SFunc.m
ããŠããŸããïŒ ãã£ã¬ã¯ããªã¯<openfast>\glue-codes\simulink\src
ã«é¢é£ããŠæå®ããããããåé¡ãçºçããå¯èœæ§ããããŸãã
ãè¿ä¿¡ããããšãããããŸã@bjonkman
Visual Studioãã«ãããã»ã¹ïŒRelease_MATLABãx64ïŒã¯ããããã®ãã¡ã€ã«ïŒOpenFAST-Simulink_x64.dllãOpenFAST-Simulink_x64.libïŒãçæããŸããã§ããã
ãã©ã«ãããcreate_FAST_SFunc.mãå®è¡ããŠãããå¿ èŠãªãã£ã¬ã¯ããªãããã«å¿ããŠMatlabã«èšå®ãããŠããŸãã äžèšã®ãã¡ã€ã«ãæ£åžžã«çæãããŠããªãããããã®ãšã©ãŒãçºçããŠãããšæããŸãã
ããããã
2çªç®ã®ã¹ã¯ãªãŒã³ã·ã§ãããããå°ã詳ããèŠãŠã¿ãŸããã ãã®å ŽåãOpenFAST-Simulink ã©ã€ãã©ãªã®ä»£ããã« OpenFAST å®è¡å¯èœãã¡ã€ã«ããã«ãããŠããããã§ãã ãã«ãããåã«ãæ§æãããŒãžã£ãŒããRelease_Matlabãããã³ãx64ããšè¡šç€ºãããŠããããšã確èªããŠãã ããã ãŸããMATLAB mexã©ã€ãã©ãªã®å Žæãæ£ããæå®ããããšã確èªããŸãïŒOpenFAST-Simulinkãããžã§ã¯ããå³ã¯ãªãã¯ãã Properties
éžæããŸããæ§æã«Release_Matlab
ãšè¡šç€ºããããã©ãããã©ãŒã ã«è¡šç€ºãããŠããããšã確èªããŸãã x64
ã次ã«Configuration Properties->Linker->Input->Additional Dependencies
éžæããŸãããã¹ã«ã¯ã¹ããŒã¹ãããããããã®ãã¹ãåŒçšç¬Šã§å²ãå¿
èŠããããŸãã
ãã®åé¡ã®è§£æ±ºã«ãååããã ãããããšãããããŸãã ãã¹ãå²ãåŒçšç¬Šãé€ããŠãããªããè¿°ã¹ãããã«ãã¹ãŠãå®è¡ããŠããŸããã ããã§ãå¿ èŠãªSimulinkãã¡ã€ã«ãçæã§ããŸãã
å®ãããé¡ãããŸãã
芪æãªã @bjonkman
ããªãã®èª¬æã«ãããç§ã¯ãªããšããFAST_SFunc.mexw64ããæ§ç¯ããããšãã§ããŸããã 次ã®ã¹ãããã§ã¯ãäŸãå®è¡ããŸãããã®ãã¡ã€ã«ã䜿çšããŠãMatlabSimulinkã§ãInput.fstããªã©ã®å
¥åãã¡ã€ã«ãå®è¡ããæ¹æ³ãæããŠãã ããã
芪æãªã@saeidfn ã
MATLAB / Simulinkã«æ¥ç¶ãããFASTv8ãå®è¡ããããã®ããã¥ã¡ã³ãã¯ãFAST v8 ReadMeãã¡ã€ã«ã«å«ãŸããŠããŸããhttps ïŒ//drive.google.com/file/d/17LDwMnCVmLfbRWSaVFxxqphVrtawMwlj/viewïŒusp = sharingãåç §ããŠ
å®ãããé¡ãããŸãã
ç§ã¯ãSimulinkçµ±åçšã«ã³ã³ãã€ã«ãããOpenFASTã©ã€ãã©ãªãããªãªãŒã¹ããšã«å®æçã«å
±æããä»ã®å®è¡å¯èœãã¡ã€ã«ãšãšãã«é
åžããããã®ãã¹ã®ç¢ºç«ã«åãçµãã§ããŸãã ååã®ãªãªãŒã¹ã«å«ãŸããŠããopenfastlib_simulink.dll
ãšãããã¡ã€ã«ãè¿œå ããŸããã 誰ããæ·»ä»ã©ã€ãã©ãªããã¹ãã§ããŸããïŒ ããã¯ãmex-functionã§ãªã³ã¯ããå¿
èŠãããOpenFASTã©ã€ãã©ãªã§ãã
æãåèã«ãªãã³ã¡ã³ã
芪æãªãJJonkmanã
ãè¿ä¿¡ããããšãããããŸãã ãæ瀺ããã ããæé ã§åé¡ã解決ã§ããŸããã åçä»ãã®æé ã®ã¯ã€ã㯠ãªãã¡ã¬ã³ã¹ãšããŠããã¥ã¡ã³ããäœæããããã«æ·»ä»ããŸãã ïŒèª°ãã«åœ¹ç«ã€ãããããŸããïŒã
OpenFAST_Simulink.pdf
ãããæºåããåŸãç§ã¯ããã«å¥ã®æçšãªãªã³ã¯ã®è°è«ãããããšã«æ°ã¥ããŸããïŒ
https://github.com/OpenFAST/openfast/issues/268