Fortran interface advice
1 回表示 (過去 30 日間)
古いコメントを表示
Hi,
I want to know what would be the best way to interface the following situation: The matlab code has the following data to be passed to a fortran code for calculations:
TYPE, PUBLIC :: AeroConfig
TYPE(Marker), ALLOCATABLE :: Blade(:)
REAL(ReKi) :: BladeLength
TYPE(Marker) :: Hub
TYPE(Marker) :: RotorFurl
TYPE(Marker) :: Nacelle
TYPE(Marker) :: TailFin
TYPE(Marker) :: Tower
TYPE(Marker) :: Substructure
TYPE(Marker) :: Foundation
END TYPE AeroConfig
where type marker is:
TYPE, PUBLIC :: Marker
REAL(ReKi) :: Position(3)
REAL(ReKi) :: Orientation(3,3)
REAL(ReKi) :: TranslationVel(3)
REAL(ReKi) :: RotationVel(3)
END TYPE Marker
The matlab code will pass the above information to the fortran code to be calculated(i.e. the blade component has 4 parts of the 3d vectors position, rotationvel, translationvel, and 3x3 matrix of oreintation) and then pass back the the following loads:
TYPE, PUBLIC :: AllAeroLoads
TYPE(Load), ALLOCATABLE :: Blade(:,:)
TYPE(Load), ALLOCATABLE :: Hub(:)
TYPE(Load), ALLOCATABLE :: RotorFurl(:)
TYPE(Load), ALLOCATABLE :: Nacelle(:)
TYPE(Load), ALLOCATABLE :: Tower(:)
TYPE(Load), ALLOCATABLE :: Tail(:)
END TYPE AllAeroLoads
where ,
TYPE, PUBLIC :: Load
REAL(ReKi) :: Force(3)
REAL(ReKi) :: Moment(3)
END TYPE Load
The above will be passed back to the matlab code. Any help or ideas is appreciated. Matlab doesn't have the TYPE construct and it seems a little tricky.
1 件のコメント
回答 (1 件)
James Tursa
2012 年 6 月 14 日
See this package and use the fpGetPr0, fpGetPr1, and fpGetPr2 functions to copy data into and out of the mxArray:
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Fortran with MATLAB についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!