यह एक बहुत व्यापक प्रश्न है। यह अनुकरण और परीक्षण के परिणामों की दृष्टि से तुलना करने के रूप में "सरल" हो सकता है, और अनुभव के आधार पर निर्णय ले सकता है कि यदि किसी विशेष स्थिति में (पर्याप्त "सटीक" का अर्थ है) यदि यह सटीक नहीं है तो सिमुलेशन को कैसे ट्विक करें। परीक्षण डेटा से सहमत होने के बाद मॉडल को बदल दिया गया है, तो आप इसका उपयोग अन्य स्थितियों को अनुकरण करने के लिए कर सकते हैं जो परीक्षण नहीं किए गए थे, इस विश्वास के साथ कि परिणाम सार्थक होंगे।
अन्य चरम पर, इसे गणितीय अनुकूलन समस्या के रूप में माना जा सकता है। आप कुछ मापदंडों (ज्यामिति, भौतिक गुणों, आदि) के साथ एक मॉडल सेट करते हैं, जो विविध हो सकते हैं, सॉफ्टवेयर को बताएं कि "उत्तर" क्या होना चाहिए (जैसा कि परीक्षणों में मापा गया है) और सॉफ्टवेयर फिर मापदंडों को बदलते हुए मॉडल को बार-बार चलाता है। "सर्वश्रेष्ठ" समझौता पाने के लिए।
पूरी तरह से स्वचालित दृष्टिकोण के साथ समस्या यह है कि प्रारंभिक मॉडल पूरी तरह से अवास्तविक हो सकता है (उदाहरण के लिए क्योंकि कुछ महत्वपूर्ण विशेषता को पूरी तरह से छोड़ दिया गया था, या तो गलती से, या क्योंकि किसी ने सोचा कि यह महत्वपूर्ण नहीं था, जिसमें शामिल होने लायक है!) लेकिन सॉफ्टवेयर प्रबंधित मापदंडों के लिए अवास्तविक मूल्यों का उपयोग करके परीक्षण डेटा के साथ उत्तर रेखा बनाने के लिए, और ऐसी स्थिति में पहुंचना जहां कई "बड़ी त्रुटियां" रद्द हो गईं लेकिन अंतिम परिणाम "सही के बारे में देखा"।
अधिक स्वचालित तरीके से "स्वचालित मॉडल पीढ़ी" का उपयोग करना काफी नियमित है। उदाहरण के लिए परिमित तत्व विश्लेषण में, आप घटक की ज्यामिति को परिभाषित कर सकते हैं, और सॉफ़्टवेयर स्वचालित रूप से परिमित तत्व जाल को उत्पन्न करता है, और फिर इसे उन क्षेत्रों में कुछ तत्वों को उप-विभाजित करके परिष्कृत करता है जहां संख्यात्मक समाधान नहीं मिला है, कुछ के अनुसार "अभिसरित" का पूर्वनिर्धारित माप। यह आमतौर पर हाथ से पूरा जाल पैदा करने की तुलना में बहुत तेज (और अधिक सटीक) होता है।
वैलिडेटिंग मॉडल में शामिल काम की मात्रा एक बड़ी रेंज को कवर कर सकती है, जिसमें एक इंजीनियर एक बड़े, जटिल और गंभीर रूप से महत्वपूर्ण मॉडल के लिए एक व्यक्ति के काम के कई वर्षों तक काम करता है।