Effacer les filtres
Effacer les filtres

Fortran interface advice

2 vues (au cours des 30 derniers jours)
Chris
Chris le 12 Juin 2012
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 commentaire
James Tursa
James Tursa le 13 Juin 2012
How do you want it on the MATLAB side ... as a struct?

Connectez-vous pour commenter.

Réponses (1)

James Tursa
James Tursa le 14 Juin 2012
See this package and use the fpGetPr0, fpGetPr1, and fpGetPr2 functions to copy data into and out of the mxArray:

Catégories

En savoir plus sur Fortran with MATLAB dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by