সি ++ তে প্যারামিটার স্টাডিজ চালানোর ভাল উপায় কী


29

সমস্যাটি

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

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

কিছু চিন্তা

আমি বর্তমানে বেশিরভাগ হাত দিয়ে জিনিসগুলি করছি এবং আমি নিম্নলিখিত সমস্যার মুখোমুখি হয়েছি:

  • নামকরণ পরীক্ষার মামলা । আমি আন্ডারস্কোর যেমন পৃথকভাবে চালিত পরামিতিগুলির সাথে নামযুক্ত ফোল্ডারে ফলাফলগুলি সংরক্ষণ করার চেষ্টা করেছি Re100_dt02_BDF1...। এগুলি সংক্ষেপে খুব বেশি সংক্ষিপ্ত আকারে পড়লে তা দ্রুত দীর্ঘ / পড়া বা ক্রিপ্টিক হয়ে ওঠার পক্ষে কঠিন হয়ে পড়ে। এছাড়াও, আসল সংখ্যার প্যারামিটারগুলিতে একটি .বিশ্রী / কুশ্রী অন্তর্ভুক্ত।
  • রান ডেটা লগইন হচ্ছে । কখনও কখনও আমি ফলাফলগুলি টার্মিনালে লিখিত দেখতে এবং একটি টেক্সট ফাইলেও সংরক্ষণ করতে চাই। উদাহরণস্বরূপ স্ট্যাকওভারফ্লো থেকে প্রাপ্ত এই উত্তরটি কিছুটা সহায়ক তবে সমাধানগুলি কিছুটা হস্তক্ষেপ বলে মনে হচ্ছে।
  • পরামিতি অনুযায়ী ডেটা প্লট করা । একাধিক লগ ফাইল থেকে প্রাসঙ্গিক ডেটা সংগ্রহ করতে বেশ কয়েকটি সময় লাগে যা আমি তখন প্লট করতে পারি, আরও ভাল সিস্টেমের সাথে সম্ভবত এটি আরও সহজ হয়ে উঠবে।
  • ডেটা সম্পর্কে মন্তব্য রেকর্ডিং । ফলাফলগুলি পরীক্ষা করার পরে আমি একটি পাঠ্য ফাইলে কিছু মন্তব্য লিখি তবে ফলাফল ফোল্ডারগুলির সাথে এটি সিঙ্ক করা কখনও কখনও কঠিন difficult

'' এক্সপ্লোর '' দ্বারা আপনি কী বোঝাতে চান তার উপর অনেক কিছুই নির্ভর করে। আপনার লক্ষ্যগুলি আরও সুনির্দিষ্টভাবে বর্ণনা করুন।
আর্নল্ড নিউমায়ার

উত্তর:


10

আপনার দুটি পয়েন্ট সম্পর্কে কিছু মন্তব্য:

  • লগিং রান ডেটা : আপনার সেরা বেটটি সম্ভবত টি কমান্ডের মাধ্যমে পাইপিং আউটপুট যা বেশিরভাগ শেলগুলিতে পাওয়া উচিত।

  • প্যারামিটার অনুসারে ডেটা প্লট করা : আমি অনুমান করি এটি স্বাদের বিষয়, তবে যখন আমাকে জটিল তথ্য সমষ্টি করতে হয়, আমি ফলাফলগুলি সরল পাঠ্যে সংরক্ষণ করি, ম্যাট্রালেবগুলিতে ম্যাট্রাব হিসাবে পড়ি, এবং সমস্ত গণনা, প্লট করা এবং এমনকি ল্যাটেক্স আউটপুটও করি সেখান থেকে. স্পষ্টতই, আপনি যে প্রোগ্রামিং / স্ক্রিপ্টিং ভাষার সাথে সবচেয়ে বেশি পরিচিত সেগুলি আপনাকে সেরা ফলাফল দেবে।


ধন্যবাদ, teeকমান্ডটি খুব কার্যকর
মাতিজা কেকম্যান

11

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

অন্যদিকে, আপনি যদি কেবলমাত্র পরামিতি অনুমান করেন তবে আমি বিশেষভাবে এটির জন্য উপযুক্ত একটি সফটওয়্যার ব্যবহার করার পরামর্শ দেব। আমার বিশ্ববিদ্যালয়ের বেশ কিছু গবেষক সাথে সৌভাগ্য কামনা করছি ছিল DAKOTA , একটি অনিশ্চয়তা রাশিকরণ সানডিয়া ন্যাশেনাল গবেষণাগার থেকে বের টুলবক্স ( একটি গনু লেসার জেনারেল পাবলিক লাইসেন্সের আওতাভুক্ত )।

সানডিয়া পৃষ্ঠার একটি অংশ এখানে ডাকোটা বর্ণনা করছে:

মডেল ইনপুটগুলির ক্ষেত্রে মডেল আউটপুটগুলির সংবেদনশীলতা নির্ধারণ করার জন্য আমরা ব্যবহারকারীকে কম্পিউটার সিমুলেশনগুলির একটি সংগ্রহ চালানোর অনুমতি দেওয়ার জন্য বিভিন্ন পদ্ধতি সরবরাহ করি। সাধারণ বিভাগগুলির মধ্যে প্যারামিটার অধ্যয়ন, নমুনা পদ্ধতি এবং পরীক্ষার নকশা অন্তর্ভুক্ত। প্যারামিটার স্টাডিতে একটি ইনপুট পরামিতিগুলির একটি রেঞ্জের মধ্য দিয়ে এক ধাপে অন্য ইনপুট পরামিতিগুলি স্থির করে রাখে এবং আউটপুট কীভাবে পরিবর্তিত হয় তা মূল্যায়ন করে। নমুনা পদ্ধতিতে, একটি ইনপুট স্থান বিতরণ থেকে নমুনা উত্পন্ন করে এবং ইনপুট মানগুলিতে আউটপুট প্রতিক্রিয়া গণনা করে। ডাকোটার মধ্যে পাওয়া স্যাম্পলিংয়ের নির্দিষ্ট পদ্ধতিগুলির মধ্যে রয়েছে মন্টি কার্লো, ল্যাটিন হাইপারকিউব এবং (শীঘ্রই আসার) কোয়া মন্টে কার্লো। পরীক্ষার ডিজাইনে আউটপুটটি একটি প্রতিনিধি উপায়ে স্থানের নমুনা বেছে নেওয়া ইনপুট "ডিজাইন" পয়েন্টগুলির একটি সেটে মূল্যায়ন করা হয়। ডাকোটার মধ্যে উপলব্ধ পরীক্ষামূলক পদ্ধতির নির্দিষ্ট নকশার মধ্যে রয়েছে বক্স-বেহনকেন, কেন্দ্রীয় সংমিশ্রণ এবং ফ্যাক্টরিয়াল ডিজাইন। সংবেদনশীলতা মেট্রিক্স ইনপুটগুলির আউটপুটগুলির নির্ভরতা প্রকাশ করার একটি গাণিতিক উপায়। ডাকোটাতে বিভিন্ন ধরণের সংবেদনশীলতা মেট্রিক উপলব্ধ যেমন সহজ এবং আংশিক সহাবস্থান সহগ এবং র‌্যাঙ্ক পারস্পরিক সম্পর্ক। আমাদের বর্তমান গবেষণাটি সংক্ষিপ্ত সংখ্যক রান সহ সংবেদনশীলতা মেট্রিকগুলি তৈরি করার পদ্ধতিগুলিতে এবং বায়সিয়ান বিশ্লেষণ কৌশলগুলি ব্যবহার করে কম্পিউটার মডেলগুলিতে পরামিতিগুলির সর্বোত্তম অনুমানের উপর দৃষ্টি নিবদ্ধ করে।


এর মতো আরও একটি সরঞ্জাম হ'ল জার্মানিতে জিআরএস দ্বারা বিকাশ করা SUSA। তবে এইটি নিখরচায় নয়।
GertVdE

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

1
@fcruz হ্যাঁ, বা bzip2এবং 7zipযে পাঠ্য জন্য আরও ভাল কম্প্রেশন অনুপাত অফার।
আজাসজ্জা

8

আমার ডক্টরাল কাজের জন্য, আপনার মত আমিও একই রকম সমস্যা নিয়ে চলেছি। যেহেতু এটি আমার কোড নয় যা আমি ব্যবহার করছি তবে আপনার মতো আমার মতো নমনীয়তাও নেই। বলেছিল, আমার কাছে কিছু পরামর্শ আছে।

পেড্রো যেমন পরামর্শ দিয়েছে, তেমন টি কমান্ড রয়েছে। তবে, যদি এটি উপলভ্য না হয় বা আপনি নিজের সফ্টওয়্যারটিতেই কিছু তৈরি করতে চান তবে আমি boost::iostreamsলাইব্রেরিতে সন্ধান করার পরামর্শ দেব । এটি ইনপুট উত্স এবং আউটপুট সিঙ্ক সংজ্ঞায়নের জন্য প্রক্রিয়া সরবরাহ করে যা মানক গ্রন্থাগারটি করে না। বিশেষত, এমন একটি রয়েছে tee_deviceযা আপনাকে আপনার স্ট্রিমের সাথে দুটি আউটপুট ডুবিকে সংযুক্ত করতে দেয় এবং অন্যান্য স্ট্রিমগুলি ডুবে কাজ করতে পারে। এটি আপনাকে একযোগে আউটপুট stdoutএবং লগ-ফাইল কনফিগার নির্ভর করতে দেয়।

boost::program_options1iniboost::program_optionsboost::property_tree

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

আপনার ডেটা প্রক্রিয়াকরণ / মন্তব্য করার ক্ষেত্রে, আমি যথেষ্ট পরিমাণে ম্যাথমেটিকাগুলি নোটবুকের বিন্যাসের উপযোগিতার উপর চাপ দিতে পারি না। এটি আমাকে আমার পর্যবেক্ষণ, জল্পনা এবং ভিজ্যুয়ালাইজেশনগুলি সমস্ত জায়গায় একত্রিত করার অনুমতি দেয়। যদিও আমার নোটবুকগুলি নিয়মিত শীর্ষ 100 এমবি হয়, যদিও। ভাল পরিমাপের জন্য, ম্যাথমেটিক্স ম্যাট্রিক্স কার্যগুলিতে মতলবকে পাশাপাশি সঞ্চালিত করে। অতিরিক্তভাবে, এটি রিয়েল টাইমে পূর্ণ গাণিতিক বিন্যাস সহ নোট নিতে ব্যবহার করা যেতে পারে ।

আমি আশা করি নামকরণ সমস্যাটির আরও ভাল সমাধান করতে পারতাম এবং এটি ক্ষতিকারক। এটির কারণে আপনার কিছু ডেটা একটি ডাটাবেসে আউটপুট দেওয়ার কথা বিবেচনা করা উপযুক্ত। তবে, যদি আপনি এটি করতে না চান তবে হয় আপনার সিমুলেশন সম্পর্কে আরও সম্পূর্ণ তথ্য ক্যাপচারের জন্য এক্সএফএসে বর্ধিত বৈশিষ্ট্যগুলি ব্যবহার করে বিবেচনা করুন এবং আপনার কনফিগারেশন ফাইলটি তৈরি করতে ব্যবহৃত ডেটা সহ সংরক্ষণ করুন store

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


1
আমি সম্প্রতি যা করি তা হ'ল আমি গাণিতিক থেকে সিমুলেশনটি চালিত করি। কনফিগারেশন ফাইল, ইনপুট ফাইল ইত্যাদির পরিবর্তে এবং সিমুলেশনটিকে একটি কমান্ড-লাইন প্রোগ্রাম তৈরি করার পরিবর্তে আমি কেবল ম্যাথমেটিকায় একটি লাইব্রেরি লিঙ্ক ইন্টারফেসটি সংজ্ঞায়িত করি। এইভাবে আমি কাঠামোগত উপায়ে প্যারামিটার বা ডেটা পাস করতে পারি এবং আমি সমস্ত ধরণের কমান্ড লাইন অপশন / ইনপুট-আউটপুট ফাইল ফর্ম্যাটগুলি পরিচালনা করার ব্যথা এড়াতে পারি। আমি ভিজ্যুয়ালাইজেশন / প্লট করাতে তাত্ক্ষণিকভাবে অ্যাক্সেস পেয়েছি এবং জটিল পরিস্থিতিতেগুলির জন্য বিভিন্ন পরামিতিগুলির জন্য সিমুলেশনটি চালানো আমি সহজেই স্বয়ংক্রিয় করতে পারি।
কাজ Szabolcs

(আমি এইভাবে অভিযোজক নমুনার জিনিসটির সাথে ক্যামেরা করেছি I আমি যদি কমান্ড লাইন থেকে আমার প্রোগ্রামটি কল করতাম তবে খুব ভাল কাজ করা এবং খুব ভাল সমস্যা হ'ল খুব ভাল কারণ ছাড়া খুব ভাল কাজ করা The ধারণাটি নয় সম্ভবত বিশুদ্ধ পরীক্ষা থেকে বেরিয়ে আসতে একটি উচ্চ পর্যায়ের সিস্টেম ব্যবহার করা ম্যাথামেটিকাল মত পরীক্ষা সহজ যথেষ্ট প্রণীত যে ধারণা স্বাভাবিকভাবেই এসে আমি এক একই ভাবে অন্যান্য উচ্চ পর্যায়ে ব্যবস্থা ব্যবহার করতে পারে)।।।
কাজ Szabolcs

আপনার দরকারী উত্তরের জন্য ধন্যবাদ, আমি একবার তাকান boost::property_tree। এর সাথে আর একটি সমস্যা boost::program_optionsহ'ল এটি কেবলমাত্র শিরোনামের লাইব্রেরি হিসাবে অকার্যকর বলে মনে হচ্ছে যদি আপনি নিজের অ্যাপ্লিকেশনটি এমন কোনও মেশিনে চালিত করতে চান যা কেবলমাত্র শিরোলেখকে সমর্থন করে। ঘটনাচক্রে, কেউ কি জানেন যে এটি কেন? দৃশ্যত এটি যাইহোক বেশ ছোট লাইব্রেরি। (সম্ভবত এটি বুস্ট ব্যবহারকারীদের তালিকায় পোস্ট করা ভাল)
মাতিজা কেকম্যান

@ mk527 boost::program_optionsএটিকে লাইব্রেরিতে তৈরি করতে বাধ্য করার জন্য কী প্রয়োজন তা আমি জানি না । তবে, আপনি কি বুস্টের উপসেটটি বের করার জন্য বিসিপি ইউটিলিটির দিকে নজর রেখেছেন ?
rcollyer

3

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

আমি প্যারামিটার স্থান অন্বেষণের জন্য টেবিল (বা ডাটাবেস) পদ্ধতিটি প্রকৃতপক্ষে যারা ব্যবহার করছেন তাদের কাছ থেকে শুনতে চাই। আমি বিস্তারিত উদাহরণের জন্য প্রশংসা করব।


3

আপনার মতো প্যারামিটার স্পেস অন্বেষণ করা খুব তাড়াতাড়ি অস্বাস্থ্যকর হয়ে উঠতে পারে। এটি করার বিভিন্ন উপায় রয়েছে যে আসল সমাধানের আর কোনও নেই।

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


2

আপনি ভেরিয়েবল মানগুলির একটি সূচী টেবিল রাখতে চান। সূচিটি এমন ফোল্ডারের সাথে মিলে যায় যেখানে আপনি প্রতিটি সিমুলেশন ইনপুট এবং আউটপুট রাখেন। সুতরাং এটি কেবল একটি সূচক এবং নামকরণ কনভেনশন বা ফোল্ডার স্তরক্রম সম্পর্কে আপনাকে উদ্বিগ্ন হওয়ার দরকার নেই কারণ আপনি প্রতিটি ফোল্ডারের সাথে কী কী পরামিতিগুলির মানের সন্ধান করবেন তা সন্ধান করবেন।

সুতরাং এখন আপনি আপনার পোস্ট-প্রসেসিং, প্লট করা (বিশ্লেষণ), লগিং এবং মন্তব্য করার জন্য এই টেবিলটি ব্যবহার করতে পারেন। টেবিলটি কার্যপ্রবাহের কেন্দ্রীয় is

এটি মূল ধারণা, এবং আমি বর্ণনা করছি যা আপনি কেবল ধারণামূলকভাবে করতে চান do আমার প্রাথমিক প্রতিক্রিয়ায়, আমি যে ফ্রেমওয়ার্কটি বিকাশ করেছি তা সন্ধান করার পরামর্শ দিয়েছিলাম। আরও সাম্প্রতিককালে আমি আবিষ্কার করেছি সুমাত্রা । এটি আমার স্বতন্ত্র-বিকাশিত, সংগ্রামী গ্রেডের শিক্ষার্থী এবং অজগর প্রচেষ্টাতে নতুনের চেয়ে অনেক বেশি বিকাশযুক্ত তবে আমি মনে করি এটি খুব বেশি করার চেষ্টা করে। আমার ফ্রেমওয়ার্কটি ওয়ার্কফ্লো দক্ষতায় ফোকাস করার সময় এটি প্রোভেনান্স তথ্যের উপর দৃষ্টি নিবদ্ধ করে। রয়েছে jobman , পবিত্র , এবং lencet

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

/ আমার প্রাথমিক প্রতিক্রিয়া অনুসরণ করে /

আমি বিশ্বাস করি আমি পাইথন ব্যবহার করে এই সমস্যাটি সমাধান করেছি। আমি এই সমস্ত বিষয় চিন্তা করেছি।

আমার রেপো দেখুন http://msdresearch.blogspot.com/2012/01/parameter-study-management-with-python.html

যদিও এখন পর্যন্ত, আমি আমার কাঠামোটি আরও ভাল করে ডকুমেন্ট করার কাজ করছি। (এটি একটি রিডমি পূরণের চেয়ে বেশি জড়িত!)

-মজিদ আলডোসারী


1
হাই মজিদ, অবদানের জন্য ধন্যবাদ এবং সায়কম্পে স্বাগতম। সাধারণভাবে, স্ট্যাক এক্সচেঞ্জ সাইটগুলি বাইরের পৃষ্ঠাগুলির সাথে সংযোগ স্থাপনকে নিরুৎসাহিত করে এবং নিজেই সাইটে বিশদ উত্তর উত্সাহিত করে। একক লিঙ্ক "বিজ্ঞাপন" দৃ "়ভাবে নিরুত্সাহিত করা হয়। আমি এই উত্তরটি সংশোধন বা মোছার পরামর্শ দিচ্ছি, কারণ এটি সম্ভবত বর্তমান আকারে ভালভাবে গ্রহণ করা হবে না।
অ্যারন আহমদিয়া

বোঝা। আমি কেবল বিশ্বাস করি না যে পোস্টটি আকারে সমাধান দেওয়া যেতে পারে। সমস্যাটি বেশ সাধারণ।
মজিদলডোসারি

1
আপনি যে বিষয়গুলি ভেবে দেখেছেন সেগুলি সম্পর্কে আপনার দৃষ্টিভঙ্গির সংক্ষিপ্ত বিবরণ দিতে পারেন?
খ্রিস্টান ক্লাসন

1

আমি নিম্নলিখিত বাস্তবায়নের সাথে একমত হতে চাই, যা আমি আমার তদন্তের কাজ চলাকালীন সময়ে তৈরি করেছি, যেমন এখানে , এখানে এবং এখানে পাওয়া যায় ।

প্রোগ্রামে ভেরিয়েবলগুলি পাস করতে এবং তারপরে পরিবর্তন করতে সক্ষম হতে, আমি ব্যাশ স্ক্রিপ্টটি ব্যবহার করার দৃষ্টান্ত ব্যবহার করি যেখানে আমি সংজ্ঞায়িত করি

export aValue=10
export bValue=2
export idName=test

এবং তারপরে সি / সি ++ এ ব্যবহার করুন

char *env_aValue = getenv("aValue");
char *env_bValue = getenv("bValue");
char *env_idName = getenv("idName");

aValue = atoi(env_aValue)
...

এর বড় সুবিধা হ'ল:

  • এটি বিশ্বব্যাপী সুযোগে অ্যাক্সেস করা যায়,
  • এটি সান গ্রিড ইঞ্জিন (গুচ্ছ) এর কাছে বহনযোগ্য,
  • বাশ স্ক্রিপ্টে সহজেই পরিবর্তন করা যায়,
  • এটি প্ল্যাটফর্মটি স্বাধীন,
  • পরামিতিগুলির সংখ্যা খুব বড় হতে পারে (সম্ভাব্য অসীম)

তদতিরিক্ত, আমি সর্বদা একটি আইডিনেম পাস করি, যার উপরে সেই নির্বাহী দ্বারা রচিত প্রতিটি ফাইলের এটির প্রাথমিক পরিচয় থাকে (আপনি চাইলে অন্যান্য প্যারামিটারগুলি অনুসরণ করতে পারেন), এবং তারা একটি রফতানি ডিরেক্টরিও পাবেন = আইডনেম, যা তৈরি করা হয়েছে বাশ স্ক্রিপ্ট, এবং এক্সিকিউটেবলের সমস্ত ফাইল এতে সংরক্ষণ করা হয়। এইভাবে ফলাফল ডিরেক্টরি (alচ্ছিক) দ্বারা সংগঠিত হয়।


0

আপনি স্পাইপি যা চূড়ান্তভাবে অজুতে কোডড একটি সীমাবদ্ধ উপাদান প্রোগ্রাম চেক করতে পারেন । এটিতে নমুনা নেভিয়ার স্টোকসের সমস্যাও রয়েছে। Sfepy এর অপারেটিং পদ্ধতি খুব সহজ।


1
এই প্রতিক্রিয়াটি প্রশ্নের উত্তর দেয় বলে আমি মনে করি না। পোস্টারের সিমুলেশন রয়েছে; আমি ধারণাটি পেয়েছি যে তিনি বিভিন্ন সফ্টওয়্যারটিতে তাঁর সিমুলেশনটি পুরোপুরি পুনরায় করার চেয়ে তার বিদ্যমান সিমুলেশনটির চারপাশে একটি কাঠামো মোড়াতে চান।
জেফ অক্সবেরি

sfepy খুব ফ্রেমওয়ার্ক হিসাবেও কাজ করে, একটি এটি একটি ব্ল্যাক বক্স PDE সলভার হিসাবে ব্যবহার করতে পারে। তবে আমি মনে করি আপনি ঠিক বলেছিলেন যে পোস্টার ইতিমধ্যে কোডিংয়ে উল্লেখযোগ্য পরিমাণ সময় ব্যয় করেছে।
শ্যাডো ওয়ারিয়র

0

আপনি কি কোনও মাইএসকিউএল ডাটাবেস ব্যবহার করার কথা ভেবেছেন? আমি এটি কখনই করি নি, তবে আমি ভাবতে পারি, আপনি এই সিস্টেমটিকে খুব ভাল জিজ্ঞাসা করতে পারেন! মঙ্গোডিবির মতো সম্ভবত অন্যান্য সিস্টেমগুলি আরও ভাল। সুতরাং, এটি কেবল একটি ধারণা।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.