![]() |
OpenFAST
Wind turbine multiphysics simulator
|
WAMIT_Interp module. More...
Functions/Subroutines | |
subroutine, public | wamit_interp2d_cplx (InCoord, DataSet2D, WvFreq1, WvDir1, LastIndex, OutForce, ErrStat, ErrMsg) |
This subroutine takes the complex valued QTF dataset and interpolates for the desired coordinate in (Omega,WaveDir) space. More... | |
subroutine, public | wamit_interp3d_cplx (InCoord, DataSet3D, WvFreq1, WvDir1, WvDir2, LastIndex, OutForce, ErrStat, ErrMsg) |
This subroutine takes the complex valued QTF dataset and interpolates for the desired coordinate in (Omega,WaveDir,WaveDir) space. More... | |
subroutine, public | wamit_interp4d_cplx (InCoord, DataSet4D, WvFreq1, WvFreq2, WvDir1, WvDir2, LastIndex, OutForce, ErrStat, ErrMsg) |
This subroutine takes the complex valued QTF dataset and interpolates for the desired coordinate in (Omega,Omega,WaveDir, WaveDir) space. More... | |
subroutine | interp2d_withindx_cplx (InCoord, InData2D, Indx_Lo, Indx_Hi, posLo, posHi, InterpVal) |
This subroutine takes a complex valued 2D dataset (InData2D) with the positions and indices of the bounding box and performs 3-D linear interpolation to estimate the value of the dataset at InCoord. More... | |
subroutine | interp3d_withindx_cplx (InCoord, InData3D, Indx_Lo, Indx_Hi, posLo, posHi, InterpVal) |
This subroutine takes a complex valued 3D dataset (InData3D) with the positions and indices of the bounding box and performs 3-D linear interpolation to estimate the value of the dataset at InCoord. More... | |
subroutine | interp4d_withindx_cplx (InCoord, InData4D, Indx_Lo, Indx_Hi, posLo, posHi, InterpVal) |
This subroutine takes a complex valued 4D dataset (InData4D) with the positions and indices of the bounding box and performs 4-D linear interpolation to estimate the value of the dataset at InCoord. More... | |
subroutine | calcisoparcoords (InCoord, posLo, posHi, isopc) |
This subroutine calculates the iosparametric coordinates, isopc, which is a value between -1 and 1 (for each dimension of a dataset) indicating where InCoord falls between posLo and posHi. More... | |
WAMIT_Interp module.
This module is used for interpolating the QTFs used in the WAMIT and WAMIT2 modules of HydroDyn.
|
private |
This subroutine calculates the iosparametric coordinates, isopc, which is a value between -1 and 1 (for each dimension of a dataset) indicating where InCoord falls between posLo and posHi.
[in] | incoord | Arranged as (x, y) |
[in] | poslo | coordinate values associated with Indx_Lo |
[in] | poshi | coordinate values associated with Indx_Hi |
|
private |
This subroutine takes a complex valued 2D dataset (InData2D) with the positions and indices of the bounding box and performs 3-D linear interpolation to estimate the value of the dataset at InCoord.
It does not check that indices are valid or that the bounding box is non-degenerate (i.e., that posHi /= posLo)
This method is described here: http://www.colorado.edu/engineering/CAS/courses.d/AFEM.d/AFEM.Ch11.d/AFEM.Ch11.pdf
[in] | incoord | Arranged as (x, y) |
[in] | indata2d | Arranged as Index 1= x, Index 2= y. |
[out] | interpval | The interpolated value of DataSet2D at InCoord |
[in] | poslo | coordinate values associated with Indx_Lo |
[in] | poshi | coordinate values associated with Indx_Hi |
[in] | indx_lo | index associated with lower bound of dimension 1 where x(xIndx_lo) <= InCoord(1) <= x(xIndx_hi) |
[in] | indx_hi | index associated with upper bound of dimension 1 where x(xIndx_lo) <= InCoord(1) <= x(xIndx_hi) |
|
private |
This subroutine takes a complex valued 3D dataset (InData3D) with the positions and indices of the bounding box and performs 3-D linear interpolation to estimate the value of the dataset at InCoord.
It does not check that indices are valid or that the bounding box is non-degenerate (i.e., that posHi /= posLo)
This method is described here: http://www.colorado.edu/engineering/CAS/courses.d/AFEM.d/AFEM.Ch11.d/AFEM.Ch11.pdf
[in] | incoord | Arranged as (x, y, z) |
[in] | indata3d | Arranged as Index 1= x, Index 2= y, Index 3= z. |
[out] | interpval | The interpolated value of DataSet3D at InCoord |
[in] | poslo | xyz (coordinate) values associated with Indx_Lo |
[in] | poshi | xyz (coordinate) values associated with Indx_Hi |
[in] | indx_lo | index associated with lower bound of dimension 1 where x(xIndx_lo) <= InCoord(1) <= x(xIndx_hi) |
[in] | indx_hi | index associated with upper bound of dimension 1 where x(xIndx_lo) <= InCoord(1) <= x(xIndx_hi) |
|
private |
This subroutine takes a complex valued 4D dataset (InData4D) with the positions and indices of the bounding box and performs 4-D linear interpolation to estimate the value of the dataset at InCoord.
It does not check that indices are valid or that the bounding box is non-degenerate (i.e., that posHi /= posLo)
This method is described here: http://rjwagner49.com/Mathematics/Interpolation.pdf
[in] | incoord | Arranged as (x1, x2, x3, x4 ) |
[in] | indata4d | Arranged as Index 1= x1, Index 2= x2, Index 3= x3, Index 4= x4. |
[out] | interpval | The interpolated value of InData4D at InCoord |
[in] | poslo | coordinate values associated with Indx_Lo |
[in] | poshi | coordinate values associated with Indx_Hi |
[in] | indx_lo | index associated wtih lower bound of dimension 1 where x(xIndx_lo) <= InCoord(1) <= x(xIndx_hi) |
[in] | indx_hi | index associated wtih upper bound of dimension 1 where x(xIndx_lo) <= InCoord(1) <= x(xIndx_hi) |
subroutine, public wamit_interp::wamit_interp2d_cplx | ( | real(siki), dimension(2), intent(in) | InCoord, |
complex(siki), dimension(:,:), intent(in) | DataSet2D, | ||
real(siki), dimension(:), intent(in) | WvFreq1, | ||
real(siki), dimension(:), intent(in) | WvDir1, | ||
integer(intki), dimension(2), intent(inout) | LastIndex, | ||
complex(siki), intent(out) | OutForce, | ||
integer(intki), intent(out) | ErrStat, | ||
character(*), intent(out) | ErrMsg | ||
) |
This subroutine takes the complex valued QTF dataset and interpolates for the desired coordinate in (Omega,WaveDir) space.
A few important notes concerning this subroutine:
[in] | incoord | Arranged as (Omega1, WaveDir1) |
[in] | dataset2d | Arranged as Index 1= Omega1, Index 2= WaveDir1. |
[in] | wvfreq1 | Frequencies associated with Index 1 of DataSet2D |
[in] | wvdir1 | Directions associated with Index 2 of DataSet2D |
[in,out] | lastindex | Index for the last (Omega1, WaveDir1) used |
[out] | outforce | The interpolated resulting force from DataSet2D |
[out] | errstat | Error status |
[out] | errmsg | Error message if ErrStat /= ErrID_None |
subroutine, public wamit_interp::wamit_interp3d_cplx | ( | real(siki), dimension(3), intent(in) | InCoord, |
complex(siki), dimension(:,:,:), intent(in) | DataSet3D, | ||
real(siki), dimension(:), intent(in) | WvFreq1, | ||
real(siki), dimension(:), intent(in) | WvDir1, | ||
real(siki), dimension(:), intent(in) | WvDir2, | ||
integer(intki), dimension(3), intent(inout) | LastIndex, | ||
complex(siki), intent(out) | OutForce, | ||
integer(intki), intent(out) | ErrStat, | ||
character(*), intent(out) | ErrMsg | ||
) |
This subroutine takes the complex valued QTF dataset and interpolates for the desired coordinate in (Omega,WaveDir,WaveDir) space.
A few important notes concerning this subroutine:
[in] | incoord | Arranged as (Omega1, WaveDir1, WaveDir2) |
[in] | dataset3d | Arranged as Index 1= Omega1, Index 2= WaveDir1, Index 3= WaveDir2. |
[in] | wvfreq1 | Frequencies associated with Index 1 of DataSet3D |
[in] | wvdir1 | Directions associated with Index 2 of DataSet3D |
[in] | wvdir2 | Directions associated with Index 3 of DataSet3D |
[in,out] | lastindex | Index for the last (Omega1, WaveDir1, WaveDir2) used |
[out] | outforce | The interpolated resulting force from DataSet3D |
[out] | errstat | Error status |
[out] | errmsg | Error message if ErrStat /= ErrID_None |
subroutine, public wamit_interp::wamit_interp4d_cplx | ( | real(siki), dimension(4), intent(in) | InCoord, |
complex(siki), dimension(:,:,:,:), intent(in) | DataSet4D, | ||
real(siki), dimension(:), intent(in) | WvFreq1, | ||
real(siki), dimension(:), intent(in) | WvFreq2, | ||
real(siki), dimension(:), intent(in) | WvDir1, | ||
real(siki), dimension(:), intent(in) | WvDir2, | ||
integer(intki), dimension(4), intent(inout) | LastIndex, | ||
complex(siki), intent(out) | OutForce, | ||
integer(intki), intent(out) | ErrStat, | ||
character(*), intent(out) | ErrMsg | ||
) |
This subroutine takes the complex valued QTF dataset and interpolates for the desired coordinate in (Omega,Omega,WaveDir, WaveDir) space.
A few important notes concerning this subroutine:
[in] | incoord | Arranged as (Omega1, Omega2, WaveDir1) |
[in] | dataset4d | Arranged as Index 1= Omega1, Index 2= Omega2, Index 3= WaveDir1, Index 4= Wavedir2. |
[in] | wvfreq1 | Frequencies associated with Index 1 of DataSet4D |
[in] | wvfreq2 | Frequencies associated with Index 2 of DataSet4D |
[in] | wvdir1 | Frequencies associated with Index 3 of DataSet4D |
[in] | wvdir2 | Frequencies associated with Index 3 of DataSet4D |
[in,out] | lastindex | Index for the last (Omega1, Omega2, WaveDir1) used |
[out] | outforce | The interpolated resulting force from DataSet4D |
[out] | errstat | Error status |
[out] | errmsg | Error message if ErrStat /= ErrID_None |