Problem with calling DiffuseConvectiveBoundary subroutine

Extension of Elmer in computational glaciology

Problem with calling DiffuseConvectiveBoundary subroutine

Postby ygong » 19 Jul 2013, 12:40

Hi there,

The DiffuseConvectiveBoundary subroutine has been used in one of my fortron code for a solver. Last time I compiled it everything was fine. Now I had errors like this

error #6633: The type of the actual argument differs from the type of the dummy argument. [ELEMENT]
LOAD,TransferCoeff,Element,n,ElementNodes )
error #6633: The type of the actual argument differs from the type of the dummy argument. [N]
LOAD,TransferCoeff,Element,n,ElementNodes )
-------------------------------------------------^
error #6633: The type of the actual argument differs from the type of the dummy argument. [ELEMENTNODES]
LOAD,TransferCoeff,Element,n,ElementNodes )
---------------------------------------------------^
error #6631: A non-optional actual argument must be present when invoking a procedure with an explicit interface. [ELEMENT]
CALL DiffuseConvectiveBoundary( STIFF,FORCE, &
----------------------^
error #8284: If the actual argument is scalar, the dummy argument shall be scalar unless the actual argument is of type character or is an element of an array that is not assumed shape, pointer, or polymorphic. [NODALE
XT]
CALL DiffuseConvectiveBoundary( STIFF,FORCE, &
----------------------^


The type in the code are:

TYPE(Element_t), POINTER :: Element
TYPE(Nodes_t) :: ElementNodes
INTEGER :: N


And the subroutine has been called like this:

CALL DiffuseConvectiveBoundary( STIFF,FORCE, LOAD,TransferCoeff,Element,n,ElementNodes )

I am not very familiar with fortron and not sure if this is really relevant to the type. I have checked the description for the subroutine and I think I call it right (?). And I also wonder if it has something to do with the updating of elmer/ice last month.

It is really appreciative if someone could kindly point out my problem.

Cheers,
Yongmei
ygong
 
Posts: 15
Joined: 08 May 2013, 16:51

Re: Problem with calling DiffuseConvectiveBoundary subroutine

Postby raback » 19 Jul 2013, 16:21

Hi Yougmei

Unfortunately I changed the interface in order to implement far field boundary conditions for the heat equation. I didn't realize that there are many solvers out there using the module. I considered reverting back but then people had already updated their solvers (e.g. the tailored heat solver for computational glaciology). Perhaps the new parameters should be made optional.

Unfortunately I'm currently on holiday and not too keen to code. I'll try to have a look at it in August. In the mean You could revert to an older version, or copy the DiffuseConvertiveBoundary from the old library to a different name and place it within the same module as your solver (and also remember to also call it with the name name differently).

-Peter
raback
Site Admin
 
Posts: 3127
Joined: 22 Aug 2009, 11:57
Location: Espoo, Finland

Re: Problem with calling DiffuseConvectiveBoundary subroutine

Postby ygong » 19 Jul 2013, 16:36

Thank you, Peter!
ygong
 
Posts: 15
Joined: 08 May 2013, 16:51

Re: Problem with calling DiffuseConvectiveBoundary subroutine

Postby tzwinger » 20 Jul 2013, 07:53

Hi Yongmei,
what particular routine is it that crashes? If it is one self-made by you, can you can send me the code and I try to fix it. Or you can look up the correction in the TemperateIceSolver.f90.

Thomas
tzwinger
Site Admin
 
Posts: 79
Joined: 24 Aug 2009, 12:20

Re: Problem with calling DiffuseConvectiveBoundary subroutine

Postby ygong » 22 Jul 2013, 14:18

Thanks for Thomas' help. Problem solved. I guess we do not need to anything to the subroutine now.

Cheers.
ygong
 
Posts: 15
Joined: 08 May 2013, 16:51


Return to Elmer/Ice

Who is online

Users browsing this forum: No registered users and 2 guests