[FORTRAN] Attempt to allocate negative amount

Fermé
Simonc - 11 mars 2009 à 23:05
dubcek Messages postés 18784 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 avril 2025 - 12 mars 2009 à 09:16
Bonjour,

J'écris sous Fortran 90 un code de simulation numérique en aérodynamique.

Pour les férus: il s'agit d'un code de calcul aux différences finies résolvant les équations de Navier-Stokes incompressibles complètes en 2D.

Le code de calcul génère des données en quantité importantes (vitesse, pression, température) que j'enregistre dans un fichier .dat de manière non-formatée.

Un programme de post-traitement utilise ce fichier .dat pour fabriquer des images qui donneront ensuite un film modélisant l'écoulement aérodynamique.

Ce programme de post-traitement semble fonctionner correctement sur un test simple. Cependant, il me renvoie l'erreur suivante lors du traitement des données issues du calcul.

Fortran runtime error: Attempt to allocate negative amount of memory. Possible integer overflow


Auriez-vous une idée, une piste sur l'origine de cette erreur?



Je précise que pour débuter, le tableau sur lesquels sont fait les calculs est tout petit: 5*5. Il sera amené par la suite à atteindre 1024*1024, voire plus. Les données à traiter sont donc actuellement assez limitées.

Le programme a été compilé et testé sur différentes machines Windows avec gfortran, et à chaque fois on obtient la même erreur.

Etant plus spécialiste de l'aérodynamique que de la programmation, je me tourne vers vous.

Simon C.
A voir également:

1 réponse

dubcek Messages postés 18784 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 avril 2025 5 630
12 mars 2009 à 09:16
hello
integer overflow, c'est le dépassement de la valeur maximum que peut prendre un entier.
Ca peut être une division par 0 ou bien le calcul demande un entier long.
ou bien une demande d'allocation mémoire est faite avec une valeur négative ou excessive ?
0