我之前在VS2012上成功运行了代码,可视化的Intel Fortran成功运行,但是当我想在Linux中使用gfortan编译器运行此代码时,出现此错误:
+--------+-----------+-----------------------------------------------------+-------------------------+---------------------------------------------------------------------------+--------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+-----------+-----------------------------------------------------+-------------------------
| | GET|HEAD | api/v1/system-items/item-details | item-details.index | App\Http\Controllers\Api\v1\ItemDetailController@index | api |
| | POST | api/v1/system-items/item-details | item-details.store | App\Http\Controllers\Api\v1\ItemDetailController@store | api |
| | GET|HEAD | api/v1/system-items/item-details/create | item-details.create | App\Http\Controllers\Api\v1\ItemDetailController@create | api |
| | GET|HEAD | api/v1/system-items/item-details/{item_detail} | item-details.show | App\Http\Controllers\Api\v1\ItemDetailController@show | api |
| | PUT|PATCH | api/v1/system-items/item-details/{item_detail} | item-details.update | App\Http\Controllers\Api\v1\ItemDetailController@update | api |
| | DELETE | api/v1/system-items/item-details/{item_detail} | item-details.destroy | App\Http\Controllers\Api\v1\ItemDetailController@destroy | api |
| | GET|HEAD | api/v1/system-items/item-details/{item_detail}/edit | item-details.edit | App\Http\Controllers\Api\v1\ItemDetailController@edit
我的代码是:
no reference to ResidualModule_MOD_inviscidResidualConstructor
!此模块的某些功能在此不再赘述。
在module ResidualModule
use TransportModule
use CellsValuesCalculationModule
use MeanFlowModule
use FluxesModule
use precisionModule
type , abstract :: AResidual
type(Convection) , pointer :: convectionObj
type(MeanFlow) , pointer :: meanFlowObj
type(MeshFacade) , pointer :: meshFacad
type(Fluxes) , pointer , dimension(:) :: cellsResiduals
real(dp) , pointer , dimension(: , :) :: facesValues , cellsValues
contains
procedure :: getCellsResiduals
procedure(IcalculateCellsResiduals) , deferred :: calculateCellsResiduals
end type
abstract interface
subroutine IcalculateCellsResiduals(this)
import :: AResidual
class(AResidual) :: this
end subroutine
end interface
type , extends(AResidual) :: InviscidResidual
contains
procedure :: calculateCellsResiduals => calInviscidCellsResiduals
end type
interface InviscidResidual
procedure inviscidResidualConstructor
end interface
contains
subroutine getCellsResiduals(this , cellsResiduals)
class(AResidual) :: this
type(Fluxes) , pointer , dimension(:) , intent(inout) :: cellsResiduals
cellsResiduals => this%cellsResiduals
end subroutine
function inviscidResidualConstructor(convectionObj , meanFlowObj ,
meshFacad)
type(InviscidResidual) :: inviscidResidualConstructor
type(Convection) , target :: convectionObj
type(MeanFlow) , target :: meanFlowObj
type(MeshFacade) , target :: meshFacad
integer :: NC , NF
inviscidResidualConstructor%convectionObj => convectionObj
inviscidResidualConstructor%meanFlowObj => meanFlowObj
inviscidResidualConstructor%meshFacad => meshFacad
NC = meshFacad%getFvMeshNC()
NF = meshFacad%getFvMeshNF()
allocate(inviscidResidualConstructor%cellsResiduals(NC))
allocate(inviscidResidualConstructor%cellsValues(5 , NC))
allocate(inviscidResidualConstructor%facesValues(5 , NF))
end function
end module
的主程序构造函数中称为:
InviscidResidual
为便于总结,我避免在此处编写所有代码。