Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

MOPAC97

3 views
Skip to first unread message

TACHIBANA Hiroshi

unread,
Oct 23, 1998, 3:00:00 AM10/23/98
to
立花@都立大です。

MOPAC97(分子軌道計算ソフト)をIBMのAIX4.2上で実行したいと
思っています。
MOPAC93と同様にETIMEとFDATEを変更しても、
mopac.f中にあるMALLOC関数の戻り値が常にゼロなので実行時に
プログラム中のエラーチェックルーチンにひっかかって止まっ
てしまいます。
(コメントアウトしただけではcore dumpして動きません。)

AIXではMALLOCはサポートされていないのでしょうか。
(最新ではないと思われるマニュアルには記述がありませんでした
が、リンク時にエラーメッセージがでるわけでもありません)

どなたかAIX上でMOPAC97を使っておられるか、MALLOC関数の実装
についてわかる方、助言をお願いいたします。

なお、SGIとSPARC用のmakefileが付いていましたので、これらの
機種ではMALLOC関数は動作すると思われ、また、DEC Visual
FORTRAN(Win95)では、動作を確認しています。
--
立花 宏 東京都立大学大学院工学研究科工業化学教室
tachiban...@c.metro-u.ac.jp

ma...@aug.email.ne.jp

unread,
Oct 31, 1998, 3:00:00 AM10/31/98
to

ささき@{万年Fortran屋}と申します

<tachibana-hiroshi...@bukka7.indchem.metro-u.ac.jp>の記事において
tachiban...@c.metro-u.ac.jpさんは書きました。

>> 立花@都立大です。
>>
>> MOPAC97(分子軌道計算ソフト)をIBMのAIX4.2上で実行したいと
>> 思っています。
>> MOPAC93と同様にETIMEとFDATEを変更しても、
>> mopac.f中にあるMALLOC関数の戻り値が常にゼロなので実行時に
>> プログラム中のエラーチェックルーチンにひっかかって止まっ
>> てしまいます。
>> (コメントアウトしただけではcore dumpして動きません。)
>>
>> AIXではMALLOCはサポートされていないのでしょうか。
>> (最新ではないと思われるマニュアルには記述がありませんでした
>> が、リンク時にエラーメッセージがでるわけでもありません)
>>
>> どなたかAIX上でMOPAC97を使っておられるか、MALLOC関数の実装
>> についてわかる方、助言をお願いいたします。

XL Fortranにはmallocの類の関数はありません。ただしFortran90方式でない旧式のpointer文はサポートしています(普通mallocやるためにあると思うのですがね...)。

そこでC言語でそれに相当するものを作ればよいとおもいます

例:

#include <stdlib.h>

void * lfmalloc ( nbytes )
size_t * nbytes ;
{
return (void *) malloc( *nbytes ) ;
}

これをつかって;

real p(1)
pointer (lp, p)

lp = lfmalloc( size_of_allocated_array_in_bytes )


という具合です。

では。


0 new messages