ফরট্রানে একটি অক্ট্রি কোড


10

আমি বৈজ্ঞানিক কম্পিউটিংয়ে নতুন। আমি একটি ফোর্টরান (সর্বাধিক f90) একটি অক্ট্রি প্রয়োগের সন্ধান করছি।

আমার সমস্যার জন্য একটি অ্যাক্ট্রি দরকার যা আমার ডোমেনকে ভাগ করে না দেয় যতক্ষণ না কোনও এন কণার (বা সূত্রগুলি যেখানে আমি ঘনত্বের মান জানি যা কোনও বাক্সে ল্যাপলেস সমীকরণের মতো সমীকরণ সমাধান করার জন্য একটি অখণ্ডিত সমীকরণ পদ্ধতিতে প্লাগ করা যায়) know

আমি কেবল এই সি ++ বাস্তবায়ন খুঁজে পেতে পারি । আমি জানতে চাই যে ইতিমধ্যে বিদ্যমান ফোর্টরান লাইব্রেরি রয়েছে যা আমি ব্যবহার করতে পারি।

এছাড়াও, ফর্ট্রানে অক্টোবরের বাস্তবায়নের জন্য ভাল কাগজের সুপারিশগুলি ব্যবহার করা যেতে পারে যাতে কম্পিউটারের বাক্সে দ্রুত ইন্টিগ্রাল সমীকরণ পদ্ধতি প্রয়োগ করা সহজ হয়ে যায়, প্রশংসা হবে!


বক্সলিব চেষ্টা করুন। ম্যানুয়াল অনুসারে খাঁটি ফোর্টরান 90 সংস্করণ রয়েছে। Ccse.lbl.gov/BoxLib/BoxLibUserGuide.pdf
stali

উত্তর:


9

আমি অ্যাক্ট্রি নিয়ে অভিজ্ঞতা নেই, তবে যখনই ফোর্টর্টনে আমি কোনও দুর্দান্ত সি ++ গ্রন্থাগার ব্যবহার করতে চাই তখন আমি কেবল একটি সাধারণ সি ড্রাইভার লিখি --- সাধারণত কয়েকটি সি ফাংশন যা আমার প্রয়োজন ঠিক ঠিক তাই করে। তারপরে আমি তাদের ফোরাটান থেকে আইসো_সি_বাইন্ডিং মডিউল ব্যবহার করে কল করি। এর চারপাশের একটি সম্প্রদায়ের সাথে আপনি একটি ভাল পরীক্ষিত লাইব্রেরিটি পুনরায় ব্যবহার করতে পারেন এর দুর্দান্ত সুবিধা রয়েছে।

আইসো_সি_বাইন্ডিং কীভাবে ব্যবহার করবেন সেই তথ্যের জন্য আমি এখানে কিছু তথ্য লিখেছি:

http://fortran90.org/src/best-practices.html#interfacing-with-c

এই বিশেষ তথ্যটি সি থেকে ফোর্টরান কল করার জন্য আমি দেখতে পাচ্ছি যে এটি আপডেট করা উচিত। এখানে আমার কোডটি যেখানে আমি ফোর্টরান থেকে সি ++ লাইব্রেরি কল করি, প্রথম লিঙ্কটি হ'ল সি সি ড্রাইভার, দ্বিতীয় লিঙ্কটি ফোর্টরান ইন্টারফেস এবং তারপরে আমি কেবল অন্য ফোর্টরান সাব্রোটিনের মতো কল করি:

https://github.com/certik/hfsolver/blob/master/src/qc_libint.cpp

https://github.com/certik/hfsolver/blob/master/src/qc.f90


6

আপনি ফোর্তরান ব্যবহারে বেশ সেট আপ বলে মনে করছেন। অক্ট্রিগুলি দক্ষতার সাথে প্রয়োগ করা হলে জটিল তথ্য স্ট্রাকচার এবং যেমন সি / সি ++ এর মতো আরও বেশি সমর্থনকারী প্রোগ্রামিং ভাষার পক্ষে আরও উপযুক্ত better সি / সি ++ তে বেশ কয়েকটি উচ্চ মানের বাস্তবায়ন রয়েছে যা আপনি ব্যবহার করতে পারেন।


আপনার উত্তরের জন্য ধন্যবাদ! তবে, আমি যে দ্রুত অবিচ্ছেদ্য পদ্ধতিগুলি ব্যবহার করছি তা ফোর্টরানে লেখা আছে। ফোর্টরানেও অক্ট্রি কোডটি লেখাই স্বাভাবিক হবে।
রিভেন্ডেল

কোন দ্রুত অবিচ্ছেদ্য পদ্ধতি? এগুলি বেশিরভাগই উচ্চ স্তরের ভাষাগুলিতে আবৃত থাকে, যা উল্লেখযোগ্যভাবে পাশাপাশি অষ্টাগুলিকেও আবৃত করে। । ।
meawoppl

সি এর তুলনায় দক্ষ (আধুনিক) ফোর্টরানে দক্ষ অষ্ট্রি বাস্তবায়নের জন্য কোন সমর্থন অনুপস্থিত? আমার জানা একমাত্র আসল ক্ষতি হ'ল স্বাক্ষরবিহীন পূর্ণসংখ্যাগুলি অনুপস্থিত, যাতে আপনাকে কিছুটা বিটওয়াইজ অপারেশন স্পষ্ট করে লিখতে হবে।
জ্যানিস টিউনিসেন

@ জান্নিসটিউনিসেন - এটি যে ফোরট্রান 200x এর কাছে জটিল ডেটা কাঠামো তৈরির উপায় নেই, এটি কতটা সহজ (বা না) এটি আরও বেশি। সি ++, উদাহরণস্বরূপ, হয়েছে std::map, std::multimap, std::vector, std::sort, এবং তাই এবং তাই ঘোষণা অন্তর্নিহিত ডাটা টাইপ সব জেনেরিক উপলব্ধ স্বাধীন সঞ্চিত করা হচ্ছে। আপনি আজ ফোর্টরানেও এই সমস্ত কিছু করতে পারেন এমন কোনও যুক্তি নেই, তবে এর জন্য কয়েক সপ্তাহ এবং সপ্তাহের প্রয়োজন যা আপনি উত্পাদনশীলভাবে অন্তর্নিহিত ডেটা স্ট্রাকচারের পরিবর্তে আপনার অ্যাপ্লিকেশনটিতে কাজ করতে পারেন।
ওল্ফগ্যাং ব্যাঙ্গার্থ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.