Fortran interface advice
    2 次查看(过去 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 个)
  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!

