NeurApp 1.1
NeurApp - software for exploring approximation by artificial neural networks on functions of one or two variables.

IG::Num::SimJMatProFileManagerBase Class Reference

File manager for interfacing the JMatPro software. More...

Inheritance diagram for IG::Num::SimJMatProFileManagerBase:
Collaboration diagram for IG::Num::SimJMatProFileManagerBase:

List of all members.

Classes

class  JMatResultInfo
 Class for checking and obtaining information about JMatPro results. More...
class  MaterialDirectoryInfoBase
 Contains information about the state of specific calculation related to material directory. More...
class  SimulationInfoBase
 Contains information about the particular bundle of simulations to be performed. More...

Public Types

enum  CalculationStatus {
  None = 0, Successful = 1 << 0, Incomplete = 1 << 1, Corrupted = 1 << 2,
  Timedout = 1 << 3, Failed = 1 << 4, Unsuccessful = Corrupted | Timedout | Failed | Incomplete
}

Public Member Functions

 SimJMatProFileManagerBase (string workingDirectoryPath)
 Construct JMatPro interface's file manager, with specified working directory. If settings file exists at the default location in this directory (i.e. SimJMatProConst.SettingsFileName) then settings are loaded from this file.
 SimJMatProFileManagerBase (string workingDirectoryPath, string settingsFilePath)
 Construct JMatPro interface's file manager, with specified working directory and path to the file where settings are stored.
 SimJMatProFileManagerBase (string workingDirectoryPath, SimJmatProSettingsDto settings)
 Construct JMatPro interface's file manager, with specified working directory and settings object.
bool LockFileMutexCheckAbandoned ()
 Check whether the file system locking mutex (property LockFileMutex) has been abandoned, and returns true if it has been (otherwise, false is returned). After the call, mutex is no longer in abandoned state (WaitOne() will not throw an exception) if it has been before the call.Call does not block.
void Error (string errorMsg)
 Temporary utility for reporting errors in the development stage.
void ErrorNotImplemented (string errorMsg)
 Temporary utility for reporting errors in the development stage.
virtual void GetRandomMaterialParameters (ref IVector result)
 Generates a random vector of material parameters whose elements (components) lie within the lower and upper bounds on parameters, and stores it to the specified vector. Random generator of the current JMatPro interface objects is used.
virtual void GetRandomMaterialParameters (IRandomGenerator rand, ref IVector result)
 Generates a random vector of material parameters whose elements (components) lie within the lower and upper bounds on parameters, and stores it to the specified vector.
virtual void CreateJointParameters (IVector materialParameters, IVector processParameters, ref IVector jointParameters)
 Combines the specified vectors of materaial and process parameters into a joint vector of process parameters and stored it into the specified variable. Vectors of material and process parameters must be of correct dimensons, otherwise exception is thrown.
virtual void ExtractMaterialParameters (IVector jointParameters, ref IVector materialParameters)
 Extracts the vector of material parameters from the specified joint vector of problem parameters, and stores it to the specified variable.
virtual void ExtractProcessParameters (IVector jointParameters, ref IVector processParameters)
 Extracts the vector of process parameters from the specified joint vector of problem parameters, and stores it to the specified variable.
virtual void ExtractMaterialAndProcessParameters (IVector jointParameters, ref IVector materialParameters, ref IVector processParameters)
 Extracts the vectors of material and process parameters from the specified joint vector of problem parameters, and stores them to the specified variable.
virtual string GetMaterialDirectoryName (IVector parameters)
 Returns name of the material directory for the specified material parameters.
virtual bool CreateMaterialDataDirectory ()
 Creates the data directory for the current material (specified by material parameters).
bool MoveMaterialDirectory (string materialDirectoryPath, string storageDirectoryPath)
 Moves the specified material directory to the specified storage directory. Directory is not moved if a busy flag is set. In this case, a report is written to the log file.Paths must be valid paths, not just short approximate paths. You can use Operation is performed in a colision safe way by using a mutex.
int MoveMaterialDirectoryToStorageMaterialCalculated ()
 Moves to the appropeiate storage directory those material directories for which material properties have been successfully calculated.
int MoveMaterialDirectoryToStorageBusyFlagSet ()
 Moves to the appropeiate storage directory those material directories for which busy flag remained set.
int MoveMaterialDirectoryToStorageTimedout ()
 Moves to the appropeiate storage directory those material directories for which material properties calculation has timed out.
int MoveMaterialDirectoryToStorageCalculationFailed ()
 Moves to the appropeiate storage directory those material directories for which material properties calculation failed (regardless of reason).
int MoveMaterialDirectoryToStorageDataCorrupted ()
 Moves to the appropeiate storage directory those material directories for which material data is corrupted (e.g. material parameters are not written properly).
int MoveMaterialDirectoriesToStorageAll (bool moveBusy, bool moveMaterialCalculated)
 Moves all material directries to the appropriate storage directories, dependent on the state of calculation in any particular directory.
bool IsMaterialCalculationBusy ()
 Flag indicating whether material calculation for the current material parameters is in progress.
virtual void ClearMaterialCalculationBusy ()
 Clears the flag indicating that material calculation is in progress.
virtual bool SetMaterialCalculationBusy ()
 Sets the flag indicating that material calculation directory is used, and returns true if the flag was successfully set. If the flag is currently set then this method blocks until it is released.
bool IsMaterialCalculationFinished ()
 Flag indicating whether material calculation for the current material parameters is finished.
virtual void ClearMaterialCalculationFinished ()
 Clears the flag indicating that material calculation is finished.
virtual void SetMaterialCalculationFinished ()
 Sets the flag indicating that material calculation is finished.
bool IsMaterialCalculationTimedout ()
 Flag indicating whether material calculation for the current material parameters has timed out.
virtual void ClearMaterialCalculationTimedout ()
 Clears the flag indicating that material calculation has timed out.
virtual void SetMaterialCalculationTimedout (double timeOutSeconds)
 Sets the flag indicating that material calculation has timed out.
virtual void JMatLaunch ()
 Safely launches the JMatpPro software. Tries to ensure that software has actually been launched.
virtual void JMatOpen ()
 Just starts the JMatPro software.
virtual void JMatRepair ()
 Repairs JMatPro, e.g. if it has been stopped abruptly or if another version is already running somewhere such that we could not start it. After calling this method, JMatPro should be able to start normally.
virtual void JMatClose ()
 Closes JMatPro normally, by simulated user interaction.
virtual void JMatStartCalculation ()
 Starts JMatPro calculation.
virtual void JMatSaveResults ()
 Saves results of JMatPro calculation.
virtual bool JMatWaitCalculation ()
 Waits until calculation finishes.
void PrepareDataDefinitionsFromSuperset ()
 Prepares data definitions from the superset data definition file. Definitions for material parameters and for joint process and material parameters are prepared and saved to the corresponding files.
void PrapareDefaultMaterialParameters ()
 Calculates default material parameters as the middle point of allowed intervals, and saves the parameters. Data is saved in two ways: simply as vector (path defined by WorkingMaterialParametersPath, default file name SimJMatProConst.MaterialParametersFilename) and as default values in data definition object (path defined by WorkingMaterialParametersDefPath, default file name SimJMatProConst.MaterialParametersDefFilename)
void PrepareSettingsTemplate ()
 Saves the current settings to a file used as template for settings file for JMatPro interface' file manager. Settings are stored to file in the working directory named SimJMatProConst.SettingsTemplateFilename
string GetMaterialDirectoryPath (string materialDirectoryPath)
 Returns a valid (existent) material data directory path that is obtaines form the specified path, or throws exception if such a directory could not be obtained. The specified material directory path can be specified as absolute path or relative to material data root (i.e. just directory name) or relative to working directory.
virtual string GetMaterialDirectoryPath (string specifiedMaterialDirectoryPath, bool throwExceptions)
 Returns a valid (existent) material data directory path that is obtaines form the specified path, or null if such a directory could not be obtained (or, if throwExceptions is true, exception is thrown in this case). The specified material directory path can be specified as absolute path or relative to material data root (i.e. just directory name) or relative to working directory.
bool ClearBusyFlag (string materialDirectoryPath)
 Clears the busy flag from the specified material directory, and returns a flag indicating whether clearing of a flag has actually occurred.
bool GetMaterialParameters (string materialDirectoryPath, ref IVector parameters)
 Gets (reads) material parameters from the specified material data directory.
bool IsMaterialDirectoryCorrupted (string materialDirectoryPath)
 Returns a flag indicated whether the specified material data directory is corrupted in the sense that some material data in it is corrupted (i.e. the vector of material parameters is not properly written).
void GetMaterialDirectories (ref List< DirectoryInfo > directories)
 Obtains a list of paths of all material directories, and stores them on the specified list.
void GetMaterialDirectoriesWhereCalculationFailed (ref List< DirectoryInfo > directories)
 Obtains a list of paths of all material directories where material properties calculation has failed. These are characterized as material directories where the busy flag is not set but material data is also not available (which means that material results file does not exist or is too small or the message file for the material calculation finished message does not exist).
void GetMaterialDirectoriesWhereBusySet (ref List< DirectoryInfo > directories)
 Obtains a list of paths of all material directories where the busy flag is set (which may be a consequence of some failure).
void GetMaterialDirectoriesWhereTimedout (ref List< DirectoryInfo > directories)
 Obtains a list of all material directories where material calculation has timed out.
void GetMaterialDirectoriesWhereMaterialCalculated (ref List< DirectoryInfo > directories)
 Obtains a list of paths of all material directories where material properties were successfully calculated. These are characterized as material directories where the busy flag is not set but material data is also available (which means that material results file exists and is large enough and the message file for the material calculation finished message exists).
void GetMaterialDirectoriesWhereMaterialDataCorrupted (ref List< DirectoryInfo > directories)
 Obtains a list of paths of all material directories where material data is corrupted. The method IsMaterialDirectoryCorrupted is used to test material directories for corruption.
int WriteMaterialCalculationStatistics (bool printIndividualDirectories, bool includeCorrupted)
 Prints statistics of material properties calculation.
int WriteMaterialDirectoriesWhereMaterialCalculated ()
 Prints (to console and log file) information about material directories where material properties were successfully calculated.
bool ReleaseAbandonedMutex ()
 Releases the mutex in the case it has been abandoned, and returns a flag indicating whether the mutex has actually been abandoned. Has no effect if mutex is not abandoned.
void ClearBusyFlags ()
 Clears the busy flag in all directories where it is still set (possibly because some procedure has hanged).
void RetryCalculateMaterialProperties (string materialDirectoryPath)
 Retries calculation of.
void RetryCalculateMaterialProperties (string materialDirectoryPath, int whichCalculation, int numCalculations)
 Retries calculation of.
int RetryCalculateMaterialProperties ()
 Retries calculation of material properties in the directories where calculation obviously failed.
void KillJMatPro ()
 Kills the JMatPro process.
bool IsJMatProRunning ()
 Returns a flag indicating whether the JMatPro application is currently running.
bool IsMaterialDataDirectoryPrepared ()
 Whether material data is prepared.
void CalculateMaterialPropertiesRandomSet (int numParameterSets)
 Calculates material properties by JMatPro for a set of random parameters.
void CalculateMaterialProperties (string parametersPath)
 Calculates material properties at parameters that are read from a file.
void CalculateMaterialPropertiesDef (string parametersPath)
 Calculates material properties at parameters that are read from a data definition file as default values.
void CalculateMaterialProperties (IVector parameters)
 Calculates the material properties at the specified vector of material parameters, and stores results to the appropriate directory. Vector of current parameters is permanently set to parameters .
void CalculateMaterialProperties ()
 Calculates the material properties at the current vector of material parameters, and stores results to the appropriate directory.
virtual void GetMaterialParametersDefault (ref IG.Num.IVector parameters)
 Returns vector containing default values for material parameters.
virtual List< JMatProElemetDataCalculateJMatInput (IVector materialParameters)
 Calculates and returns input data for JMatPro from the vector of material parameters.
virtual void PrepareJMatInput (IVector materialParameters, string filePath)
 Prepares input file for JMatPro (composition of steel) according to the specified material parameters.
override string ToString ()
virtual void CopyToSettingsPlain< FmType > (SimJMatProSettingsDto< FmType > settings)
 Copies settings from the current JMatPro file manager to the specified settings object.
virtual void CopyFromSettingsPlain< FmType > (SimJMatProSettingsDto< FmType > settings)
 Copies settings fom the specified settings object to the current JMatPro file manager.
void SaveSettings (string filePath)
 Saves (serializes) the settings of the current JMatPro interface' file manager to the specified JSON file. If the file already exists, contents overwrite the file.
void SaveSettings (string filePath, bool append)
 Saves (serializes) the settings of the current JMatPro interface' file manager to the specified JSON file. If the file already exists, contents either overwrite the file or are appended at the end, dependent on the value of the append flag.
void LoadSettings (string filePath)
 Restores (deserializes) the current JMatPro interface' file manager settings from the specified file in JSON format.
JMatProElemetData GetElementData (string elementSymbol)
 Returns data about the specified chemical element.
double GetElementAtomicMass (string elementSymbol)
 Returns atomic mass of the chemical elemen with the specified symbol.
string GetElementName (string elementSymbol)
 Returns name of the chemical elemen with the specified symbol. If element name is not defined for the specified element then its symbol is returned.
int GetNumCompositionElements ()
 Returns number of elements that are included in JMatPro input files for steel.
string GetCompositionElementSymbol (int which)
 Returns the chemical symbol of the specified element.
 SimJMatProFileManagerBase (string workingDirectoryPath)
 Construct JMatPro interface's file manager, with specified working directory. If settings file exists at the default location in this directory (i.e. SimJMatProConst.SettingsFileName) then settings are loaded from this file.
 SimJMatProFileManagerBase (string workingDirectoryPath, string settingsFilePath)
 Construct JMatPro interface's file manager, with specified working directory and path to the file where settings are stored.
 SimJMatProFileManagerBase (string workingDirectoryPath, SimJmatProSettingsDto settings)
 Construct JMatPro interface's file manager, with specified working directory and settings object.
bool LockFileMutexCheckAbandoned ()
 Check whether the file system locking mutex (property LockFileMutex) has been abandoned, and returns true if it has been (otherwise, false is returned). After the call, mutex is no longer in abandoned state (WaitOne() will not throw an exception) if it has been before the call.Call does not block.
void Error (string errorMsg)
 Temporary utility for reporting errors in the development stage.
void ErrorNotImplemented (string errorMsg)
 Temporary utility for reporting errors in the development stage.
virtual void GetRandomMaterialParameters (ref IVector result)
 Generates a random vector of material parameters whose elements (components) lie within the lower and upper bounds on parameters, and stores it to the specified vector. Random generator of the current JMatPro interface objects is used.
virtual void GetRandomMaterialParameters (IRandomGenerator rand, ref IVector result)
 Generates a random vector of material parameters whose elements (components) lie within the lower and upper bounds on parameters, and stores it to the specified vector.
virtual void CreateJointParameters (IVector materialParameters, IVector processParameters, ref IVector jointParameters)
 Combines the specified vectors of materaial and process parameters into a joint vector of process parameters and stored it into the specified variable. Vectors of material and process parameters must be of correct dimensons, otherwise exception is thrown.
virtual void ExtractMaterialParameters (IVector jointParameters, ref IVector materialParameters)
 Extracts the vector of material parameters from the specified joint vector of problem parameters, and stores it to the specified variable.
virtual void ExtractProcessParameters (IVector jointParameters, ref IVector processParameters)
 Extracts the vector of process parameters from the specified joint vector of problem parameters, and stores it to the specified variable.
virtual void ExtractMaterialAndProcessParameters (IVector jointParameters, ref IVector materialParameters, ref IVector processParameters)
 Extracts the vectors of material and process parameters from the specified joint vector of problem parameters, and stores them to the specified variable.
virtual string GetMaterialDirectoryName (IVector parameters)
 Returns name of the material directory for the specified material parameters.
virtual bool CreateMaterialDataDirectory ()
 Creates the data directory for the current material (specified by material parameters).
bool MoveMaterialDirectory (string materialDirectoryPath, string storageDirectoryPath)
 Moves the specified material directory to the specified storage directory. Directory is not moved if a busy flag is set. In this case, a report is written to the log file.Paths must be valid paths, not just short approximate paths. You can use Operation is performed in a colision safe way by using a mutex.
int MoveMaterialDirectoryToStorageMaterialCalculated ()
 Moves to the appropeiate storage directory those material directories for which material properties have been successfully calculated.
int MoveMaterialDirectoryToStorageBusyFlagSet ()
 Moves to the appropeiate storage directory those material directories for which busy flag remained set.
int MoveMaterialDirectoryToStorageTimedout ()
 Moves to the appropeiate storage directory those material directories for which material properties calculation has timed out.
int MoveMaterialDirectoryToStorageCalculationFailed ()
 Moves to the appropeiate storage directory those material directories for which material properties calculation failed (regardless of reason).
int MoveMaterialDirectoryToStorageDataCorrupted ()
 Moves to the appropeiate storage directory those material directories for which material data is corrupted (e.g. material parameters are not written properly).
int MoveMaterialDirectoriesToStorageAll (bool moveBusy, bool moveMaterialCalculated)
 Moves all material directries to the appropriate storage directories, dependent on the state of calculation in any particular directory.
bool IsMaterialCalculationBusy ()
 Flag indicating whether material calculation for the current material parameters is in progress.
virtual void ClearMaterialCalculationBusy ()
 Clears the flag indicating that material calculation is in progress.
virtual bool SetMaterialCalculationBusy ()
 Sets the flag indicating that material calculation directory is used, and returns true if the flag was successfully set. If the flag is currently set then this method blocks until it is released.
bool IsMaterialCalculationFinished ()
 Flag indicating whether material calculation for the current material parameters is finished.
virtual void ClearMaterialCalculationFinished ()
 Clears the flag indicating that material calculation is finished.
virtual void SetMaterialCalculationFinished ()
 Sets the flag indicating that material calculation is finished.
bool IsMaterialCalculationTimedout ()
 Flag indicating whether material calculation for the current material parameters has timed out.
virtual void ClearMaterialCalculationTimedout ()
 Clears the flag indicating that material calculation has timed out.
virtual void SetMaterialCalculationTimedout (double timeOutSeconds)
 Sets the flag indicating that material calculation has timed out.
bool IsMaterialResultsWrong ()
 Flag indicating whether material results are incorrect.
virtual void ClearMaterialResultsWrong ()
 Clears the flag indicating that material result file is incorrect.
virtual void SetMaterialResultsWrong (string errorsString)
 Sets the flag indicating that material result file is incorrect.
virtual void JMatLaunch ()
 Safely launches the JMatpPro software. Tries to ensure that software has actually been launched.
virtual void JMatOpen ()
 Just starts the JMatPro software.
virtual void JMatRepair ()
 Repairs JMatPro, e.g. if it has been stopped abruptly or if another version is already running somewhere such that we could not start it. After calling this method, JMatPro should be able to start normally.
virtual void JMatClose ()
 Closes JMatPro normally, by simulated user interaction.
virtual void JMatStartCalculation ()
 Starts JMatPro calculation.
virtual void JMatSaveResults ()
 Saves results of JMatPro calculation.
virtual void JMatChangeTemperatureUnit ()
 Changes (toggles once) temperature unit in an open window of JMatPro (software must be running and its main window on the top of window stack) by running the appropriate script.
virtual void JMatChangeFractionUnit ()
 Changes (toggles once) fraction unit in an open window of JMatPro (software must be running and its main window on the top of window stack) by running the appropriate script.
virtual bool JMatWaitCalculation ()
 Waits until JMatPro calculation finishes. Returns true if it could be detected properly that calculation finished, false otherwise.
virtual bool JMatWaitResultsSaved ()
 Waits until JMatPro results are saved. Returns true if it could be detected properly that results were saved, false otherwise (i.e. timeout occurred).
void PrepareDataDefinitionsFromSuperset ()
 Prepares data definitions from the superset data definition file. Definitions for material parameters and for joint process and material parameters are prepared and saved to the corresponding files.
void PrapareDefaultMaterialParameters ()
 Calculates default material parameters as the middle point of allowed intervals, and saves the parameters. Data is saved in two ways: simply as vector (path defined by WorkingMaterialParametersPath, default file name SimJMatProConst.MaterialParametersFilename) and as default values in data definition object (path defined by WorkingMaterialParametersDefPath, default file name SimJMatProConst.MaterialParametersDefFilename)
void PrepareSettingsTemplate ()
 Saves the current settings to a file used as template for settings file for JMatPro interface' file manager. Settings are stored to file in the working directory named SimJMatProConst.SettingsTemplateFilename
string GetMaterialDirectoryPath (string specifiedMaterialDirectoryPath)
 Returns a valid (existent) material data directory path that is obtaines form the specified path, or throws exception if such a directory could not be obtained. The specified material directory path can be specified as absolute path or relative to material data root (i.e. just directory name) or relative to working directory.
virtual string GetMaterialDirectoryPath (string specifiedMaterialDirectoryPath, bool throwExceptions)
 Returns a valid (existent) material data directory path that is obtaines form the specified path, or null if such a directory could not be obtained (or, if throwExceptions is true, exception is thrown in this case). The specified material directory path can be specified as absolute path or relative to material data root (i.e. just directory name) or relative to working directory.
virtual void ClearMaterialResultsWrongFlag (string materialDirectoryPath)
 Clears the flag indicating that material result file is incorrect.
virtual void SetMaterialResultsWrongFlag (string materialDirectoryPath, string dataErrorDescriptions)
 Sets the flag indicating that material result file is incorrect.
bool ClearBusyFlag (string materialDirectoryPath)
 Clears the busy flag from the specified material directory, and returns a flag indicating whether clearing of a flag has actually occurred.
virtual void ClearMaterialCalculationFinishedFlag (string materialDirectoryPath)
 Clears the flag indicating that material calculation is successfully finished, from the specified directory.
bool GetMaterialParameters (string materialDirectoryPath, ref IVector parameters)
 Gets (reads) material parameters from the specified material data directory.
bool IsMaterialDirectoryCorrupted (string materialDirectoryPath)
 Returns a flag indicated whether the specified material data directory is corrupted in the sense that some material data in it is corrupted (i.e. the vector of material parameters is not properly written).
void GetMaterialDirectories (ref List< DirectoryInfo > directories)
 Obtains a list of paths of all material directories, and stores them on the specified list.
void GetMaterialDirectoriesWhereCalculationFailed (ref List< DirectoryInfo > directories)
 Obtains a list of paths of all material directories where material properties calculation has failed. These are characterized as material directories where the busy flag is not set but material data is also not available (which means that material results file does not exist or is too small or the message file for the material calculation finished message does not exist).
void GetMaterialDirectoriesWhereBusySet (ref List< DirectoryInfo > directories)
 Obtains a list of paths of all material directories where the busy flag is set (which may be a consequence of some failure).
void GetMaterialDirectoriesWhereTimedout (ref List< DirectoryInfo > directories)
 Obtains a list of all material directories where material calculation has timed out.
void GetMaterialDirectoriesWhereMaterialCalculated (ref List< DirectoryInfo > directories)
 Obtains a list of paths of all material directories where material properties were successfully calculated. These are characterized as material directories where the busy flag is not set but material data is also available (which means that material results file exists and is large enough and the message file for the material calculation finished message exists).
void GetMaterialDirectoriesWhereMaterialDataCorrupted (ref List< DirectoryInfo > directories)
 Obtains a list of paths of all material directories where material data is corrupted. The method IsMaterialDirectoryCorrupted is used to test material directories for corruption.
int WriteMaterialCalculationStatistics (bool printIndividualDirectories, bool includeCorrupted)
 Prints statistics of material properties calculation.
int WriteMaterialDirectoriesWhereMaterialCalculated ()
 Prints (to console and log file) information about material directories where material properties were successfully calculated.
bool ReleaseAbandonedMutex ()
 Releases the mutex in the case it has been abandoned, and returns a flag indicating whether the mutex has actually been abandoned. Has no effect if mutex is not abandoned.
void ClearBusyFlags ()
 Clears the busy flag in all directories where it is still set (possibly because some procedure has hanged).
void RetryCalculateMaterialProperties (string materialDirectoryPath)
 Retries calculation of.
void RetryCalculateMaterialProperties (string materialDirectoryPath, int whichCalculation, int numCalculations)
 Retries calculation of.
int RetryCalculateMaterialProperties ()
 Retries calculation of material properties in the directories where calculation obviously failed.
void KillJMatPro ()
 Kills the JMatPro process.
bool IsJMatProRunning ()
 Returns a flag indicating whether the JMatPro application is currently running.
bool IsMaterialDataDirectoryPrepared ()
 Whether material data is prepared.
void CalculateMaterialPropertiesRandomSet (int numParameterSets)
 Calculates material properties by JMatPro for a set of random parameters.
void CalculateMaterialProperties (string parametersPath)
 Calculates material properties at parameters that are read from a file.
void CalculateMaterialPropertiesDef (string parametersPath)
 Calculates material properties at parameters that are read from a data definition file as default values.
void CalculateMaterialProperties (IVector parameters)
 Calculates the material properties at the specified vector of material parameters, and stores results to the appropriate directory. Vector of current parameters is permanently set to parameters .
void CalculateMaterialProperties ()
 Calculates the material properties at the current vector of material parameters, and stores results to the appropriate directory.
void MaterialCalculationsStatisticsPrint (string introductionString)
 Prints calculation statistics after another material calculation is finished.
void MaterialCalculationStatisticsReset (int numIntendedCalculations)
 Resets material calculation statistics counters.
void MaterialCalculationStatisticsStart ()
 Updates material calculaiton statistics counters at the beginning of a new material calculation.
void MaterialCalculationStatisticsStop (CalculationStatus status)
 Updates material calculation statistics counters after completion of a single calculation.
virtual void GetMaterialParametersDefault (ref IG.Num.IVector parameters)
 Returns vector containing default values for material parameters.
virtual List< JMatProElemetDataCalculateJMatInput (IVector materialParameters)
 Calculates and returns input data for JMatPro from the vector of material parameters.
virtual void PrepareJMatInput (IVector materialParameters, string filePath)
 Prepares input file for JMatPro (composition of steel) according to the specified material parameters.
override string ToString ()
virtual void CopyToSettingsPlain< FmType > (SimJMatProSettingsDto< FmType > settings)
 Copies settings from the current JMatPro file manager to the specified settings object.
virtual void CopyFromSettingsPlain< FmType > (SimJMatProSettingsDto< FmType > settings)
 Copies settings fom the specified settings object to the current JMatPro file manager.
void SaveSettings (string filePath)
 Saves (serializes) the settings of the current JMatPro interface' file manager to the specified JSON file. If the file already exists, contents overwrite the file.
void SaveSettings (string filePath, bool append)
 Saves (serializes) the settings of the current JMatPro interface' file manager to the specified JSON file. If the file already exists, contents either overwrite the file or are appended at the end, dependent on the value of the append flag.
void LoadSettings (string filePath)
 Restores (deserializes) the current JMatPro interface' file manager settings from the specified file in JSON format.
JMatProElemetData GetElementData (string elementSymbol)
 Returns data about the specified chemical element.
double GetElementAtomicMass (string elementSymbol)
 Returns atomic mass of the chemical elemen with the specified symbol.
string GetElementName (string elementSymbol)
 Returns name of the chemical elemen with the specified symbol. If element name is not defined for the specified element then its symbol is returned.
int GetNumCompositionElements ()
 Returns number of elements that are included in JMatPro input files for steel.
string GetCompositionElementSymbol (int which)
 Returns the chemical symbol of the specified element.
string GetSimulatorBaseDirectoryName (int whichSimulator)
 Calculates and returns name of the base simulator directory with the specified index (zero-based).
string GetSimulatorBaseDirectoryPath (int whichSimulator)
 Calculates and returns path of the root simulator directory with the specified index (zero-based).
virtual string GetSimulatorCastingRobertDirectoryPath (int whichsimulator)
 Calculates and returns path of the Robert Vertnik's casting simulator's main directory with the specified index (zero-based).
virtual void InitSimCastingRobert (string rootDirectory, string projectName, string simulationName)
 Initializes the data for casting simulation interface.
void PrepareSimulatorData (SimCastingRobertFileManager simulator, string materialDirectoryPath)
 Prepares input data for simulator, in particular the material properties, which are obtained from the material data directory whose path is specified.
virtual void CalculateSimulatedResponse (SimCastingRobertFileManager simulator, string materialDirectory, IVector inputProcessParameters, ref IVector inputJointParameters, ref IVector outputValues)
 Calculates simulator's response at the specified process parameters, for the specified material directory (that specifies material parameters and properties), and stores joint input parameters and output values.
virtual int CalculateSimulatedResponse (SimCastingRobertFileManager simulator, string materialDirectory, string datasetName, params IVector[] inputProcessParameters)
 Calculates response by the specified simulator, for the specified process parameter vectors and the specified material (specified by the material directory approximate path), and stores calculated data in the appropriate file in the material data directory (defined by the datasetName). Results of previous calculations may already be stored in the appropriate file within the material data directory (whose name is defined by parameter datasetName ). In this case, newly calculated results are added to the existend file. Otherwise, a new file within the material data directory is created to which results are stored.
virtual int CalculateSimulatedResponseDefault (SimCastingRobertFileManager simulator, string materialDirectory, string datasetName)
 Calculates response by the specified simulator, for the specified process parameter vectors and the specified material (specified by the material directory approximate path), and stores calculated data in the appropriate file in the material data directory (defined by the datasetName). Results of previous calculations may already be stored in the appropriate file within the material data directory (whose name is defined by parameter datasetName ). In this case, newly calculated results are added to the existend file. Otherwise, a new file within the material data directory is created to which results are stored.
string GetSimulatorBaseDirectoryName (int whichSimulator)
 Calculates and returns name of the base simulator directory with the specified index (zero-based).
string GetSimulatorBaseDirectoryPath (int whichSimulator)
 Calculates and returns path of the root simulator directory with the specified index (zero-based).
virtual string GetSimulatorCastingRobertDirectoryPath (int whichsimulator)
 Calculates and returns path of the Robert Vertnik's casting simulator's main directory with the specified index (zero-based).
virtual void InitSimCastingRobert (string rootDirectory, string projectName, string simulationName)
 Initializes the data for casting simulation interface.
void PrepareSimulatorData (SimCastingRobertFileManager simulator, string materialDirectoryPath)
 Prepares input data for simulator, in particular the material properties, which are obtained from the material data directory whose path is specified.
virtual void CalculateSimulatedResponse (SimCastingRobertFileManager simulator, string materialDirectory, IVector inputProcessParameters, ref IVector inputJointParameters, ref IVector outputValues)
 Calculates simulator's response at the specified process parameters, for the specified material directory (that specifies material parameters and properties), and stores joint input parameters and output values.
virtual int CalculateSimulatedResponse (SimCastingRobertFileManager simulator, string materialDirectory, string datasetName, params IVector[] inputProcessParameters)
 Calculates response by the specified simulator, for the specified process parameter vectors and the specified material (specified by the material directory approximate path), and stores calculated data in the appropriate file in the material data directory (defined by the datasetName). Results of previous calculations may already be stored in the appropriate file within the material data directory (whose name is defined by parameter datasetName ). In this case, newly calculated results are added to the existend file. Otherwise, a new file within the material data directory is created to which results are stored.
virtual int CalculateSimulatedResponseDefault (SimCastingRobertFileManager simulator, string materialDirectory, string datasetName)
 Calculates response by the specified simulator, for the specified process parameter vectors and the specified material (specified by the material directory approximate path), and stores calculated data in the appropriate file in the material data directory (defined by the datasetName). Results of previous calculations may already be stored in the appropriate file within the material data directory (whose name is defined by parameter datasetName ). In this case, newly calculated results are added to the existend file. Otherwise, a new file within the material data directory is created to which results are stored.

Static Public Member Functions

static void SaveSettings (SimJmatProSettingsDto settings, string filePath)
 Saves (serializes) the specified settings of the JMatPro interface' file manager to the specified JSON file. If the file already exists, contents overwrite the file.
static void SaveSettings (SimJmatProSettingsDto settings, string filePath, bool append)
 Saves (serializes) the specified settings for JMatPro interface' file manager to the specified JSON file. If the file already exists, contents either overwrite the file or are appended at the end, dependent on the value of the append flag.
static void LoadSettings (string filePath, ref SimJmatProSettingsDto settings)
 Restores (deserializes) JMatPro interface' settings from the specified file in JSON format.
static JMatProElemetData FindElementData (List< JMatProElemetData > elements, string elementSymbol)
 Finds data for the specified element on the specified list of element data, and returns the data (or null if the data is not be found).
static void SaveSettings (SimJmatProSettingsDto settings, string filePath)
 Saves (serializes) the specified settings of the JMatPro interface' file manager to the specified JSON file. If the file already exists, contents overwrite the file.
static void SaveSettings (SimJmatProSettingsDto settings, string filePath, bool append)
 Saves (serializes) the specified settings for JMatPro interface' file manager to the specified JSON file. If the file already exists, contents either overwrite the file or are appended at the end, dependent on the value of the append flag.
static void LoadSettings (string filePath, ref SimJmatProSettingsDto settings)
 Restores (deserializes) JMatPro interface' settings from the specified file in JSON format.
static JMatProElemetData FindElementData (List< JMatProElemetData > elements, string elementSymbol)
 Finds data for the specified element on the specified list of element data, and returns the data (or null if the data is not be found).

Public Attributes

string _userInteractionCommand = SimJMatProConst.UserInteractionCommand
string _userInteractionRecordDir = SimJMatProConst.DefaultUserInteractionRecordDir
string _userInteractionRecordExtension = SimJMatProConst.UserInteractionRecordExtension
string _userInteractionRecordNameStartJMat = SimJMatProConst.UserInteractionRecordNameStartJMat
string _userInteractionRecordPathStartJMat
string _userInteractionRecordNameCloseJMat = SimJMatProConst.UserInteractionRecordNameCloseJMat
string _userInteractionRecordPathCloseJMat
string _userInteractionRecordNameRepairJMat = SimJMatProConst.UserInteractionRecordNameRepairJMat
string _userInteractionRecordPathRepairJMat
string _userInteractionRecordNameStartCalculation = SimJMatProConst.UserInteractionRecordNameStartCalculation
string _userInteractionRecordPathStartCalculation
string _userInteractionRecordNameSaveResults = SimJMatProConst.UserInteractionRecordNameSaveResults
string _userInteractionRecordPathSaveResults
double _jMatTimeoutWaitCalculationSeconds = SimJMatProConst.JMatTimeoutWaitCalculationSeconds
double _jMatTimeoutWaitResultsSavedSeconds = SimJMatProConst.JMatTimeoutWaitResultsSavedSeconds

Protected Member Functions

bool IsMaterialDirectory (DirectoryInfo dir)
 Returns a flag indicating whether teh specified directory is considered a material directory or not. This method is usually used to extract all material directoried from the root data directory (which may for some reason contain other directories, too).
bool IsMaterialCalculated (string materialDirectoryPath)
 For the specified material data directory, returns a flag that indicates whether material properties have been calculated for the corresponding material or not. This is obtained by checking the corresponding message file as well as existence and size of the material results file. Performed in colision safe way by using a mutex.
bool IsTimedoutFlagSet (string materialDirectoryPath)
 For the specified material data directory, returns a flag that indicates whether material calculation has not finished because of timeout. This is obtained by checking the corresponding message file. Performed in colision safe way by using a mutex.
bool IsBusyFlagSet (string materialDirectoryPath)
 For the specified material data directory, returns a flag that indicates whether the busy flag is set. Performed in colision safe way by using a mutex.
string ReplacePathSeparator (string path)
 Returns a string obtained by replacing the '\' path separator by the more standard '/' in the specified path string, or null if the string is null.
void AddElements< ElType > (List< ElType > l, params ElType[] elements)
 Adds the specified elements to the specified list.
void InitElements ()
 Creates a list of chemical element data.
bool IsMaterialDirectory (DirectoryInfo dir)
 Returns a flag indicating whether teh specified directory is considered a material directory or not. This method is usually used to extract all material directoried from the root data directory (which may for some reason contain other directories, too).
bool IsMaterialCalculated (string materialDirectoryPath)
 For the specified material data directory, returns a flag that indicates whether material properties have been calculated for the corresponding material or not. This is obtained by checking the corresponding message file as well as existence and size of the material results file. Performed in colision safe way by using a mutex.
bool IsTimedoutFlagSet (string materialDirectoryPath)
 For the specified material data directory, returns a flag that indicates whether material calculation has not finished because of timeout. This is obtained by checking the corresponding message file. Performed in colision safe way by using a mutex.
bool IsMaterialResultsWrongFlagSet (string materialDirectoryPath)
 For the specified material data directory, returns a flag that indicates whether material result file contents are incorrect. This is obtained by checking the corresponding message file. Performed in colision safe way by using a mutex.
bool IsBusyFlagSet (string materialDirectoryPath)
 For the specified material data directory, returns a flag that indicates whether the busy flag is set. Performed in colision safe way by using a mutex.
string ReplacePathSeparator (string path)
 Returns a string obtained by replacing the '\' path separator by the more standard '/' in the specified path string, or null if the string is null.
void AddElements< ElType > (List< ElType > l, params ElType[] elements)
 Adds the specified elements to the specified list.
void InitElements ()
 Creates a list of chemical element data.
virtual SimCastingRobertFileManager GetSimCastingRobert (int whichSimulator)
 Returns a newly created Robert Vertnik's casting simulator with the specified index (zero-based)
virtual int CalculateSimulatedResponse (SimCastingRobertFileManager simulator, string materialDirectory, ref SampledDataSet sampledData, params IVector[] inputProcessParameters)
 Calculates response by the specified simulator, for the specified process parameter vectors and the specified material (specified by the material directory approximate path), and stores calculated data in the specified sampled data set (object of type SampledDataSet). If the specified data set is null then it is created anew, but if its input and output dimension don't match then exception is thrown.
virtual SimCastingRobertFileManager GetSimCastingRobert (int whichSimulator)
 Returns a newly created Robert Vertnik's casting simulator with the specified index (zero-based)
virtual int CalculateSimulatedResponse (SimCastingRobertFileManager simulator, string materialDirectory, ref SampledDataSet sampledData, params IVector[] inputProcessParameters)
 Calculates response by the specified simulator, for the specified process parameter vectors and the specified material (specified by the material directory approximate path), and stores calculated data in the specified sampled data set (object of type SampledDataSet). If the specified data set is null then it is created anew, but if its input and output dimension don't match then exception is thrown.

Protected Attributes

string _lockFileMutexName = SimJMatProConst.LockFileMutexName
Mutex _lockFileMutex
string _nameJMatProBase
string _jmatInstallationPath
string _executableFileName
string _executableFilePath
string _jmatDataPath
string _jmatCompositionFilename = SimJMatProConst.JmatCompositionRelativepath
string _jmatCompositionFilePath
string _jmatResultsFilename = SimJMatProConst.JMatResultsRelativePath
string _jmatResultsFilePath
string _jmatCompletionDetectionFilename = SimJMatProConst.JMatCompletionDetectionRelativePath
string _jmatCompletionDetectionFilePath
double _jmatCompletionDetectionSleepTimeSeconds = SimJMatProConst.JMatCompletionDetectionSleepTimeSeconds
int _jmatCompletionDetectionSize = SimJMatProConst.JmatCompletionDetectionSize
double _jmatBeforeSaveSleepTimeSeconds = SimJMatProConst.JMatBeforeSaveSleepTimeSeconds
bool _checkWorkingDirectoryExistence = true
string _workingDirectory = null
string _dataDefinitionSupersetFilename = SimJMatProConst.DataDefinitionSupersetFilename
string _dataDefinitionSupersetFilePath
string _dataDefinitionJMatFilename = SimJMatProConst.DataDefinitionJMatFilename
string _dataDefinitionJMatFilePath
string _dataDefinitionProcessFilename = SimJMatProConst.DataDefinitionProcessFilename
string _dataDefinitionProcessFilePath
string _dataDefinitionJointFilename = SimJMatProConst.DataDefinitionJointFilename
string _dataDefinitionJointFilePath
InputOutputDataDefiniton _dataDefinitionSuperset
InputOutputDataDefiniton _dataDefinitionJMat
IBoundingBox _materialParameterBounds
InputOutputDataDefiniton _dataDefinitionProcess
InputOutputDataDefiniton _dataDefinitionJoint
string _workingmaterialParametersPath
string _materialParametersDefFilename = SimJMatProConst.MaterialParametersDefFilename
string _workingmaterialParametersDefPath
string _rootDataDirectoryname = SimJMatProConst.RootDataDirectoryName
string _rootDataDirectoryPath
string _logFileName = SimJMatProConst.LogfileName
string _logFilePath
TextWriter _logFileWriter
string _materialDirectoryName
string _materialDataDirectoryPath
string _materialParametersFilename = SimJMatProConst.MaterialParametersFilename
string _materialParametersPath
string _materialCompositionFilename = SimJMatProConst.JMatCompositionFilename
string _materialCompositionPath
string _materialResultsFilename = SimJMatProConst.JMatResultsFilename
string _materialResultsPath
int _jMatResultsMinimalSize = SimJMatProConst.JMatResultsMinimalSize
int _jMatResultsGoodSize = SimJMatProConst.JMatResultsGoodSize
string _msgMaterialCalculationBusyFilename = SimJMatProConst.MsgMaterialCalculationBusyFilename
string _msgMaterialCalculationBusyPath
string _msgMaterialCalculationFinishedFilename = SimJMatProConst.MsgMaterialCalculationFinishedFilename
string _msgMaterialCalculationFinishedPath
string _msgMaterialCalculationTimedoutFilename = SimJMatProConst.MsgMaterialCalculationTimedoutFilename
string _msgMaterialCalculationTimedoutPath
string _storageMaterialCalculatedDirectoryname = SimJMatProConst.StorageMaterialCalculatedDirectoryname
string _storageMaterialCalculatedDirectoryPath
string _storageBusyFlagSetDirectoryname = SimJMatProConst.StorageBusyFlagSetDirectoryname
string _storageBusyFlagSetDirectoryPath
string _storageTimedoutDirectoryname = SimJMatProConst.StorageTimedoutDirectoryname
string _storageTimedoutDirectoryPath
string _storageMaterialCalculationFailedDirectoryname = SimJMatProConst.StorageMaterialCalculationFailedDirectoryname
string _storageMaterialCalculationFailedDirectoryPath
string _storageMaterialMaterialDataCorruptedDirectoryname = SimJMatProConst.StorageMaterialDataCorruptedDirectoryname
string _storageMaterialMaterialDataCorruptedDirectoryPath
double _waitSleepTimeSeconds = SimJMatProConst.WaitSleepTime
string _processNameSubstringJava = SimJMatProConst.ProcessNameSubstringJava
string _processNameSubstringJMatMain = SimJMatProConst.ProcessNameSubstringJMatMain
string _processNameSubstringJMatSolver = SimJMatProConst.ProcessNameSubstringJMatSolver
double _longestTime
IVector _materialParameters
List< JMatProElemetData_compositionData
 Storage of composition data.
volatile List< JMatProElemetData_elementData
string[] _compositionElementSymbols
string _dataDefinitionJMatFilenameNoNitrogen = SimJMatProConst.DataDefinitionJMatFilenameNoNitrogen
string _dataDefinitionJMatFilePathNoNitrogen
string _dataDefinitionJointFilenameNoNitrogen = SimJMatProConst.DataDefinitionJointFilenameNoNitrogen
string _dataDefinitionJointFilePathNoNitrogen
string _msgMaterialResultsWrongFilename = SimJMatProConst.MsgMaterialResultsWrongFilename
string _msgMaterialResultsWrongPath
string _userInteractionRecordNameChangeTemperatureUnit = SimJMatProConst.UserInteractionRecordNameChangeTemperatureUnit
string _userInteractionRecordPathChangeTemperatureUnit
string _userInteractionRecordNameChangeFractionUnit = SimJMatProConst.UserInteractionRecordNameChangeFractionUnit
string _userInteractionRecordPathChangeFractionUnit
int _jMatResultsSavedDetectionSize = SimJMatProConst.JMatResultsSavedDetectionSize
double _jMatBeforeResultsSavedSleepTimeSeconds = SimJMatProConst.JMatBeforeResultsSavedSleepTimeSeconds
CalculationStatus _materialCalculationStatus = CalculationStatus.None
StopWatch _materialCalculationTimer
double _longestMaterialCalculationTime
double _materialCalculationTime
int _numMaterialCalculationsIndended
int _numMaterialCalculationsPerformed
int _numMaterialCalculationsSuccessful
int _numMaterialCalculationsTimedout
int _numMaterialCalculationsUnsuccessful
int _numConsecutiveMaterialcalculationUnsuccessful
int _numConsecutiveMaterialcalculationTimedout
int _numConsecutiveMaterialcalculationSuccessful
string _projectName
string _simulationName
string _rootSimulationDirectoryname = SimJMatProConst.RootSimulationDirectoryName
string _rootSimulationDirectoryPath
string _simulatorBaseTemplateDirectoryname
string _simulatorBaseTemplateDirectoryPath
string _simulatorCastingRobertDirectoryname = SimJMatProConst.SimulatorCastingRobertDirectoryname
int _whichSimulation = 0
string _simulatorBaseDirectoryPath
string _simCastingRobertRootDirectoryPath
SimCastingRobertFileManager _simCastingRobertFM

Static Protected Attributes

static bool _elementsInitialized = false

Properties

object Lock [get]
 This object's central lock object to be used by other object. Do not use this object for locking in class' methods, for this you should use InternalLock.
object InternalLock [get]
 Used internally for locking access to internal fields.
string LockFileMutexName [get, set]
 Name of the mutex for system-wide locking of files.
Mutex LockFileMutex [get]
 Mutex for system-wide exclusive locks for file system operations related to the current class.
int OutputLevel [get, set]
 Level of information that is output to the console by some methods.
abstract string NameJMatProBase [get, set]
 Name of the JMatPro directory (without root directories) and executable.
virtual string JMatInstallationPath [get, set]
 Path of the directory where JMAtPro executable is located. Setter takes only pure directory name, without path information. If set to null then directory path is set to null and will be recalculated when getter is called.
virtual string JMatExecutableFileName [get, set]
 JMatPro executable relative path to installation directory.
virtual string JMatExecutableFilePath [get, set]
 Path to the JMatPro executable.
virtual string JMatDataPath [get, set]
 Path to the JMatPro data directory (containing material data, input and output data, etc.)
virtual string JMatCompositionFilename [get, set]
 Relative path, with respect to JMatPro data directory, of the file containing material composition (input for JMatPro calculation).
virtual string JMatCompositionFilePath [get, set]
 Path of the file containing material composition (input for JMatPro calculation).
virtual string JMatResultsFilename [get, set]
 Relative path, with respect to JMatPro data directory, of the file containing material results of JMatPro calculation.
virtual string JMatResultsFilePath [get, set]
 Path of the file containing results of JMatPro calculation.
virtual string JMatCompletionDetectionFilename [get, set]
 Relative path, with respect to JMatPro data directory, of the file used to detect whether calculation is still going on.
virtual string JMatCompletionDetectionFilePath [get, set]
 Path of the file used to detect whether calculation is still going on.
virtual double JMatCompletionDetectionSleepTimeSeconds [get, set]
 Sleeping time used in detectiong whether JMatPro calculation is still going on.
virtual int JMatCompletionDetectionSize [get, set]
 Minimal size of calculation detection file above which calculation is considered finished.
virtual double JMatBeforeSaveSleepTimeSeconds [get, set]
 Waiting time (in seconds) after last increase in file size used before thinking that calculation is finished, to eventually prevent too early detection that calculation was finished.
bool CheckWorkingDirectoryExistence [get, set]
 Whether existence of working directory is checked when directory is created. Default is true.
string WorkingDirectory [get, set]
 Working directory where configuration files and other files are located.
virtual string DataDefinitionSupersetFilename [get, set]
 Name of the file containing definition data for the superset of all input parameters and output values.
virtual string DataDefinitionSupersetFilePath [get, set]
 Path to the file containing definition data for the superset of all input parameters and output values.
virtual string DataDefinitionJMatFilename [get, set]
 Name of the file containing data definition for all JMatPro input parameters (i.e. material composition expressed as mass fractions for individual parameters).
virtual string DataDefinitionJMatFilePath [get, set]
 Path to the file containing data definition for all JMatPro input parameters (i.e. material composition expressed as mass fractions for individual parameters).
virtual string DataDefinitionProcessFilename [get, set]
 Name of the file containing data definition for all process input and output parameters.
virtual string DataDefinitionProcessFilePath [get, set]
 Path to the file containing data definition for all process input and output parameters.
virtual string DataDefinitionJointFilename [get, set]
 Name of the file containing definition data for the superset of all input parameters and output values. This incluses definition of material parameters (i.e. composition expressed by mass fractions) followed by process parameters.
virtual string DataDefinitionJointFilePath [get, set]
 Path to the file containing definition data for the Joint of all input parameters and output values. This incluses definition of material parameters (i.e. composition expressed by mass fractions) followed by process parameters.
InputOutputDataDefiniton DataDefinitionSuperset [get, set]
 Data definitions for the superset of all input parameters and output values.
InputOutputDataDefiniton DataDefinitionJMat [get, set]
 Data definitions for all JMatPro input parameters (i.e. material composition expressed as mass fractions for individual parameters).
virtual IBoundingBox MaterialParameterBounds [get, set]
 Bounds on neural input parameters.
InputOutputDataDefiniton DataDefinitionProcess [get, set]
 Data definitions for the Process parameters and output values.
InputOutputDataDefiniton DataDefinitionJoint [get, set]
 Data definitions for all input parameters and output values, including material and process parameters.
int NumMaterialParameters [get]
 Gets the number of material parameters.
int NumProcessParameters [get]
 Gets the number of process parameters.
int NumParameters [get]
 Gets the total number of all parameters.
int NumOutputValues [get]
 Gets the number of output values for the process.
virtual string WorkingMaterialParametersPath [get, set]
 File path of the file in working directory where material parameters for calculation are stored. If set to null then path is set to null and will be recalculated when getter is called.
virtual string MaterialParametersDefFilename [get, set]
 Name of the file in material data directory where material parameters are stored.
virtual string WorkingMaterialParametersDefPath [get, set]
 File path of the file in working directory where material parameters for calculation are stored as default values in a data definition file. If set to null then path is set to null and will be recalculated when getter is called.
string RootDataDirectoryName [get, set]
 Name of the root data directory.
virtual string RootDataDirectoryPath [get, set]
 Path to the root directory that contains directories with calculated material data for different parameters defining chemical compositions.
virtual string LogFileName [get, set]
 Name of the log file where operations are logged.
virtual string LogFilePath [get, set]
 Path to the log file where basic operations are logged.
TextWriter LogFileWriter [get, set]
 Textwriter for log file.
string MaterialDirectoryName [get, set]
 Name of the material directory. Getter forms name form material parameters if it is not specified. And vice versa, setting parameters will set the name (and consequently the material directory path) to null.
virtual string MaterialDataDirectoryPath [get, set]
 Data directory for the current material parameters.
virtual string MaterialParametersFilename [get, set]
 Name of the file in material data directory where material parameters are stored.
virtual string MaterialParametersPath [get, set]
 File path of the file where material parameters are stored. If set to null then path is set to null and will be recalculated when getter is called.
virtual string MaterialCompositionFilename [get, set]
 Name of the file in material data directory where material composition is stored.
virtual string MaterialCompositionPath [get, set]
 File path of the file (normally in the material data directory) where material composition is stored. If set to null then path is set to null and will be recalculated when getter is called.
virtual string MaterialResultsFilename [get, set]
 Name of the file in material data directory where material results are stored.
virtual string MaterialResultsPath [get, set]
 File path of the file (normally in the material data directory) where material reslts are stored. If set to null then path is set to null and will be recalculated when getter is called.
virtual int JMatResultsMinimalSize [get, set]
 Minimal size of JMatPro results file in order to consider results valid. Used to check the validity of the results.
virtual int JMatResultsGoodSize [get, set]
 Size of the materials result file that is considered a good size - the file is expected to be at least of this size if calculation was performed without errors.
virtual string MsgMaterialCalculationBusyPath [get, set]
 File path of the material calculation in progress flag file. Setter takes only pure file name, without path information. If set to null then path is set to null and will be recalculated when getter is called.
virtual string MsgMaterialCalculationFinishedPath [get, set]
 File path of the "material calculation finished" flag file. Setter takes only pure file name, without path information. If set to null then path is set to null and will be recalculated when getter is called.
virtual string MsgMaterialCalculationTimedoutPath [get, set]
 File path of the "material calculation timeout occurred" flag file. Setter takes only pure file name, without path information. If set to null then path is set to null and will be recalculated when getter is called.
virtual string StorageMaterialCalculatedDirectoryname [get, set]
 Name of the storage directory for material directories for which material properties have been successfully calculated.
virtual string StorageMaterialCalculatedDirectoryPath [get, set]
 Path to the storage directory for material directories for which material properties have been successfully calculated.
virtual string StorageBusyFlagSetDirectoryname [get, set]
 Name of the storage directory for material directories for which busy flag remained set.
virtual string StorageBusyFlagSetDirectoryPath [get, set]
 Path to the storage directory for material directories for which busy flag remained set.
virtual string StorageTimedoutDirectoryname [get, set]
 Name of the storage directory for material directories for which material properties calculation has timed out.
virtual string StorageTimedoutDirectoryPath [get, set]
 Path to the storage directory for material directories for which material properties calculation has timed out.
virtual string StorageMaterialCalculationFailedDirectoryname [get, set]
 Path to the storage directory for material directories for which calculation of material properties has failed.
virtual string StorageMaterialCalculationFailedDirectoryPath [get, set]
 Path to the storage directory for material directories for which calculation of material properties has failed.
virtual string StorageMaterialMaterialDataCorruptedDirectoryname [get, set]
 Path to the storage directory for material directories for which calculation of material properties has failed.
virtual string StorageMaterialMaterialDataCorruptedDirectoryPath [get, set]
 Path to the storage directory for material directories for which calculation of material properties has failed.
virtual string UserInteractionCommand [get, set]
 Command for playback of recorded user interaction (i.e. emulation of keyboard and mouse events) for various actions.
virtual string UserInteractionRecordDir [get, set]
 Dierctory containing recorded user interactions for different actions.
virtual string UserInteractionRecordExtension [get, set]
 Extension of files with recorded user interaction.
virtual string UserInteractionRecordNameStartJMat [get, set]
 Name of the user interaction record for starting JMatPro software via system GUI.
virtual string UserInteractionRecordPathStartJMat [get, set]
 Name of the user interaction record for closing JMatPro software via system GUI.
virtual string UserInteractionRecordNameCloseJMat [get, set]
 Name of the user interaction record for closing JMatPro software normally via GUI.
virtual string UserInteractionRecordPathCloseJMat [get, set]
 Name of the user interaction record for closing JMatPro software normally via GUI.
virtual string UserInteractionRecordNameRepairJMat [get, set]
 Name of the file containing records of user interaction necessary repair JMatPro in case it is damaged or another unwanted copy is running.
virtual string UserInteractionRecordPathRepairJMat [get, set]
 Path of the file containing records of user interaction necessary repair JMatPro in case it is damaged or another unwanted copy is running.
virtual string UserInteractionRecordNameStartCalculation [get, set]
 Name of the file containing recors of user interaction necessary to start JMatPro.
virtual string UserInteractionRecordPathStartCalculation [get, set]
 Name of the file containing recors of user interaction necessary to start JMatPro.
virtual string UserInteractionRecordNameSaveResults [get, set]
 Name of the file containing records of user interaction necessary to save results of JMatPro calculation.
virtual string UserInteractionRecordPathSaveResults [get, set]
 Path to the file containing recors of user interaction necessary to save results of JMatPro calculation.
double JMatTimeoutWaitCalculationSeconds [get, set]
 Timeout for waiting completion of calculation, in seconds. If greater than 0 and results of calculation are waiter for more time than the timeout specifies, waiting is broken and it is considered that calculation could not be completed.
string ProcessNameSubstringJava [get, set]
 Substring of java virtual machine process name, used to kill the process or check whether it is running.
string ProcessNameSubstringJMatMain [get, set]
 Substring of JMatPro main process name, used to kill the process or check whether it is running.
string ProcessNameSubstringJMatSolver [get, set]
 Substring of JMatPro solver process name, used to kill the process or check whether it is running.
IVector MaterialParameters [get, set]
 Parameters that define chemical composition of steel for which material properties are calculated.
virtual IRandomGenerator Random [get, set]
 Random generator used by the current object. Lazy evaluation, created when needed for the first time.The generator is thread safe and initialized with a time dependent seed.
List< JMatProElemetDataElements [get, set]
 List of element data to be used in JMatPro.
string[] CompositionElementSymbols [get, set]
 Array of element symbols sorted as required gor the JMatPro input file.
virtual string SymbolIron [get]
virtual string DataDefinitionJMatFilenameNoNitrogen [get, set]
 Name of the file containing data definition for all JMatPro input parameters (i.e. material composition expressed as mass fractions for individual parameters).
virtual string DataDefinitionJMatFilePathNoNitrogen [get, set]
 Path to the file containing data definition for all JMatPro input parameters (i.e. material composition expressed as mass fractions for individual parameters).
virtual string DataDefinitionJointFilenameNoNitrogen [get, set]
 Name of the file containing definition data for the superset of all input parameters and output values. This incluses definition of material parameters (i.e. composition expressed by mass fractions) followed by process parameters.
virtual string DataDefinitionJointFilePathNoNitrogen [get, set]
 Path to the file containing definition data for the Joint of all input parameters and output values. This incluses definition of material parameters (i.e. composition expressed by mass fractions) followed by process parameters.
virtual string MsgMaterialResultsWrongPath [get, set]
 File path of the "material results wrong" flag file. Setter takes only pure file name, without path information. If set to null then path is set to null and will be recalculated when getter is called.
virtual string UserInteractionRecordNameChangeTemperatureUnit [get, set]
 Name of the file containing records of user interaction necessary to change temperature uits in JMatPro that is already launched.
virtual string UserInteractionRecordPathChangeTemperatureUnit [get, set]
 Path to the file containing recors of user interaction necessary to change temperature uits in JMatPro that is already launched.
virtual string UserInteractionRecordNameChangeFractionUnit [get, set]
 Name of the file containing records of user interaction necessary to change fraction uits in JMatPro that is already launched.
virtual string UserInteractionRecordPathChangeFractionUnit [get, set]
 Path to the file containing recors of user interaction necessary to change fraction uits in JMatPro that is already launched.
virtual double JMatTimeoutWaitResultsSavedSeconds [get, set]
 Timeout for waiting until results are completely saved, in seconds. If greater than 0 and saving results is waited for more time than the timeout specifies, waiting is broken and it is considered that saving could not be completed.
virtual int JMatResultsSavedDetectionSize [get, set]
 Minimal size of result file file, above which saving results can be considered finished.
virtual double JMatBeforeResultsSavedSleepTimeSeconds [get, set]
 Waiting time (in seconds) after last increase in file size used before assuming that saving result is finished, to eventually prevent too early detection that calculation was finished.
CalculationStatus MaterialCalculationStatus [get, set]
 Status of the last material calculation. At the beginning of each material calculation, status is set to CalculationStatus.None.
StopWatch MaterialCalculationTimer [get]
 Timer for measuring total calculation time in methods that perform multiple material calculations.
double LongestMaterialCalculationTime [get, set]
 Longest material calculation time by now, reset at the beginning of every top level calculation function.
double MaterialCalculationTime [get, set]
int NumMaterialCalculationsIntended [get, set]
 Total number of intended material calculations attempted by now.k Reset at the beginning of every top level calculations.
int NumMaterialCalculationsPerformed [get, set]
 Number of (completed) material calculations attempted by now. Reset at the beginning of every top level calculations.
int NumMaterialCalculationsSuccessful [get, set]
 Number of material calculations by now that have successfully completed. Reset at the beginning of every top level calculations.
int NumMaterialCalculationsTimedout [get, set]
 Number of material calculations by now where timeout occurred. Reset at the beginning of every top level calculations.
int NumMaterialCalculationsUnsuccessful [get, set]
 Number of material calculations by now where calculation has failed. Reset at the beginning of every top level calculations.
int NumconsecutiveMaterialCalculationsUnsuccessful [get, set]
 Number fo consecutive events where material calculation was not successfule.
int NumconsecutiveMaterialCalculationTimedout [get, set]
 Number fo consecutive events where timeout occurred during material calculation.
int NumconsecutiveMaterialCalculationsSuccessful [get, set]
 Number fo consecutive events where material calculation was not successful.
virtual string ProjectName [get, set]
 Name of the current project, used in some simulation and other interfaces.
virtual string SimulationName [get, set]
 Name of the current simulation, used in some simulation and other interfaces.
string RootSimulationDirectoryName [get, set]
 Name of the root simulation directory.
virtual string RootSimulationDirectoryPath [get, set]
 Path to the root simulator directory that contains directories with simulators' data (there may be more than one such directory in the case of parallel simulators.
string SimulatorBaseTemplateDirectoryname [get, set]
 Name of the simulator template directory. This is the root simulator directory that contains all simuator related data and must be copied in order to produce a new active simulator.
virtual string SimulatorBaseTemplateDirectoryPath [get, set]
 Path to the simulator template directory. This is the root simulator directory that contains all simuator related data and must be copied in order to produce a new active simulator.
string SimulatorCastingRobertDirectoryname [get, set]
 Name of the main directory of the Robert Vertnik's casting simulator.
virtual string SimCastingRobertProjectName [get, set]
 Project name for interfacing Robert Vertnik's casting simulator.
virtual string SimCastingRobertSimulationName [get, set]
 Simulation name for interfacing Robert Vertnik's casting simulator.
int WhichSimulator [get, set]
 Specifies which simulator is in use by the current file manager (this is 0 if simulators are not run in parallel and there is a single simulator).
virtual string SimulatorBaseDirectoryPath [get, set]
 Path to the base directory of the current simulator in use. This directory is directly contained in the.
virtual string SimCastingRobertRootDirectoryPath [get, set]
 Path of the main directory of the Robert Vertnik's casting simulator that is currently in use.
virtual SimCastingRobertFileManager SimCastingRobertFM [get, set]
 File manager for interfacing Robert Vertnik's casting simulator. Lazy evaluation: The object is created when first accessed, if possible. For this, ProjectName, SimulationName and SimCastingRobertRootDirectoryPath must be defined.

Private Attributes

object _mainLock = new object()
object _internalLock = new object()
int _outputLevel = Util.OutputLevel
IRandomGenerator _randGen

Detailed Description

File manager for interfacing the JMatPro software.

JMatPro is a software for calculation of material parameters.

Since JMatPro is interactive software, user interaction must be emulated in order to transform it to noninteractive mode. External software is used for this.

Parts of this interface have been created for quick implementatio of needed functionality, sometimes on account of modularity and etensibility. Interface depends on many settings (different directory and file paths), therefore usual way of initialization is by providing a settings file of type SimJmatProSettingsDto that contains these settings.

$A Igor Sep12 Nov12;

Simulation part of the class definition:

This part of the JMatPro file manager class contains definitions of utilites related to simulators.

Simulation part of the class definition - SUBCLASSES:

This part of the JMatPro file manager class contains definitions of classes for managing simulators.


Member Enumeration Documentation

Enumerator:
None 
Successful 
Incomplete 
Corrupted 
Timedout 
Failed 
Unsuccessful 

Constructor & Destructor Documentation

IG::Num::SimJMatProFileManagerBase::SimJMatProFileManagerBase ( string  workingDirectoryPath) [inline]

Construct JMatPro interface's file manager, with specified working directory. If settings file exists at the default location in this directory (i.e. SimJMatProConst.SettingsFileName) then settings are loaded from this file.

Parameters:
workingDirectoryPathPath of the working directory.
IG::Num::SimJMatProFileManagerBase::SimJMatProFileManagerBase ( string  workingDirectoryPath,
string  settingsFilePath 
) [inline]

Construct JMatPro interface's file manager, with specified working directory and path to the file where settings are stored.

Parameters:
workingDirectoryPathPath of the working directory.
settingsFilePathPath to the file containing settings.

It can be specified as absolute path or relative to the current directory or relative to the working directory. If null or empty string then default path is taken.

IG::Num::SimJMatProFileManagerBase::SimJMatProFileManagerBase ( string  workingDirectoryPath,
SimJmatProSettingsDto  settings 
) [inline]

Construct JMatPro interface's file manager, with specified working directory and settings object.

Parameters:
workingDirectoryPathPath of the working directory.
settingsObject containing settings for hte JMatpro file manager.
IG::Num::SimJMatProFileManagerBase::SimJMatProFileManagerBase ( string  workingDirectoryPath) [inline]

Construct JMatPro interface's file manager, with specified working directory. If settings file exists at the default location in this directory (i.e. SimJMatProConst.SettingsFileName) then settings are loaded from this file.

Parameters:
workingDirectoryPathPath of the working directory.
IG::Num::SimJMatProFileManagerBase::SimJMatProFileManagerBase ( string  workingDirectoryPath,
string  settingsFilePath 
) [inline]

Construct JMatPro interface's file manager, with specified working directory and path to the file where settings are stored.

Parameters:
workingDirectoryPathPath of the working directory.
settingsFilePathPath to the file containing settings.

It can be specified as absolute path or relative to the current directory or relative to the working directory. If null or empty string then default path is taken.

IG::Num::SimJMatProFileManagerBase::SimJMatProFileManagerBase ( string  workingDirectoryPath,
SimJmatProSettingsDto  settings 
) [inline]

Construct JMatPro interface's file manager, with specified working directory and settings object.

Parameters:
workingDirectoryPathPath of the working directory.
settingsObject containing settings for hte JMatpro file manager.

Member Function Documentation

bool IG::Num::SimJMatProFileManagerBase::LockFileMutexCheckAbandoned ( ) [inline]

Check whether the file system locking mutex (property LockFileMutex) has been abandoned, and returns true if it has been (otherwise, false is returned). After the call, mutex is no longer in abandoned state (WaitOne() will not throw an exception) if it has been before the call.Call does not block.

Returns:
true if mutex has been abandoned, false otherwise.
void IG::Num::SimJMatProFileManagerBase::Error ( string  errorMsg) [inline]

Temporary utility for reporting errors in the development stage.

Parameters:
errorMsgError message.
void IG::Num::SimJMatProFileManagerBase::ErrorNotImplemented ( string  errorMsg) [inline]

Temporary utility for reporting errors in the development stage.

Parameters:
errorMsgError message.
virtual void IG::Num::SimJMatProFileManagerBase::GetRandomMaterialParameters ( ref IVector  result) [inline, virtual]

Generates a random vector of material parameters whose elements (components) lie within the lower and upper bounds on parameters, and stores it to the specified vector. Random generator of the current JMatPro interface objects is used.

Parameters:
resultVector object where the generated random vector is stored; allocated if necessary.
virtual void IG::Num::SimJMatProFileManagerBase::GetRandomMaterialParameters ( IRandomGenerator  rand,
ref IVector  result 
) [inline, virtual]

Generates a random vector of material parameters whose elements (components) lie within the lower and upper bounds on parameters, and stores it to the specified vector.

Parameters:
randRandom number generator used to generate the elements.
resultVector object where the generated random vector is stored; allocated if necessary.
virtual void IG::Num::SimJMatProFileManagerBase::CreateJointParameters ( IVector  materialParameters,
IVector  processParameters,
ref IVector  jointParameters 
) [inline, virtual]

Combines the specified vectors of materaial and process parameters into a joint vector of process parameters and stored it into the specified variable. Vectors of material and process parameters must be of correct dimensons, otherwise exception is thrown.

Parameters:
materialParametersVector of material parameters.
processParametersVector of process parameters.
jointParametersVector variable where combined vector of problem parameters is stored.
virtual void IG::Num::SimJMatProFileManagerBase::ExtractMaterialParameters ( IVector  jointParameters,
ref IVector  materialParameters 
) [inline, virtual]

Extracts the vector of material parameters from the specified joint vector of problem parameters, and stores it to the specified variable.

Parameters:
jointParametersComplete vector of problem parameters.
materialParametersVector variable where the extracted material parameters are stored.
virtual void IG::Num::SimJMatProFileManagerBase::ExtractProcessParameters ( IVector  jointParameters,
ref IVector  processParameters 
) [inline, virtual]

Extracts the vector of process parameters from the specified joint vector of problem parameters, and stores it to the specified variable.

Parameters:
jointParametersComplete vector of problem parameters.
processParametersVector variable where the extracted process parameters are stored.
virtual void IG::Num::SimJMatProFileManagerBase::ExtractMaterialAndProcessParameters ( IVector  jointParameters,
ref IVector  materialParameters,
ref IVector  processParameters 
) [inline, virtual]

Extracts the vectors of material and process parameters from the specified joint vector of problem parameters, and stores them to the specified variable.

Parameters:
jointParametersComplete vector of problem parameters.
materialParametersVector variable where the extracted material parameters are stored.
processParametersVector variable where the extracted process parameters are stored.
virtual string IG::Num::SimJMatProFileManagerBase::GetMaterialDirectoryName ( IVector  parameters) [inline, virtual]

Returns name of the material directory for the specified material parameters.

Parameters:
parametersMaterial parameters to which the returned directory name corresponds.
virtual bool IG::Num::SimJMatProFileManagerBase::CreateMaterialDataDirectory ( ) [inline, virtual]

Creates the data directory for the current material (specified by material parameters).

Returns:
True if directory has been created, false if not (this usually means that directory had existed before).
bool IG::Num::SimJMatProFileManagerBase::MoveMaterialDirectory ( string  materialDirectoryPath,
string  storageDirectoryPath 
) [inline]

Moves the specified material directory to the specified storage directory. Directory is not moved if a busy flag is set. In this case, a report is written to the log file.Paths must be valid paths, not just short approximate paths. You can use Operation is performed in a colision safe way by using a mutex.

Parameters:
materialDirectoryPathPath to the material directory that is moved. It must be a valid path to the directory, not only approximate path. Directory existence is checked prior to operation.
storageDirectoryPathPath to the storage directory into which directory is moved. If the dtorage directory does not yet exist then it is created.
Exceptions:
Returns:
True if directory was successfully moved, false otherwise.
int IG::Num::SimJMatProFileManagerBase::MoveMaterialDirectoryToStorageMaterialCalculated ( ) [inline]

Moves to the appropeiate storage directory those material directories for which material properties have been successfully calculated.

Returns:
The number of directories that were actually moved.
int IG::Num::SimJMatProFileManagerBase::MoveMaterialDirectoryToStorageBusyFlagSet ( ) [inline]

Moves to the appropeiate storage directory those material directories for which busy flag remained set.

Returns:
The number of directories that were actually moved.
int IG::Num::SimJMatProFileManagerBase::MoveMaterialDirectoryToStorageTimedout ( ) [inline]

Moves to the appropeiate storage directory those material directories for which material properties calculation has timed out.

Returns:
The number of directories that were actually moved.
int IG::Num::SimJMatProFileManagerBase::MoveMaterialDirectoryToStorageCalculationFailed ( ) [inline]

Moves to the appropeiate storage directory those material directories for which material properties calculation failed (regardless of reason).

Returns:
The number of directories that were actually moved.
int IG::Num::SimJMatProFileManagerBase::MoveMaterialDirectoryToStorageDataCorrupted ( ) [inline]

Moves to the appropeiate storage directory those material directories for which material data is corrupted (e.g. material parameters are not written properly).

Returns:
The number of directories that were actually moved.
int IG::Num::SimJMatProFileManagerBase::MoveMaterialDirectoriesToStorageAll ( bool  moveBusy,
bool  moveMaterialCalculated 
) [inline]

Moves all material directries to the appropriate storage directories, dependent on the state of calculation in any particular directory.

Parameters:
moveBusyWhether directories where busy flag is set are also moved.
moveMaterialCalculatedWhether directories where material properties were successfully calculated are also moved.
Returns:
bool IG::Num::SimJMatProFileManagerBase::IsMaterialCalculationBusy ( ) [inline]

Flag indicating whether material calculation for the current material parameters is in progress.

virtual void IG::Num::SimJMatProFileManagerBase::ClearMaterialCalculationBusy ( ) [inline, virtual]

Clears the flag indicating that material calculation is in progress.

virtual bool IG::Num::SimJMatProFileManagerBase::SetMaterialCalculationBusy ( ) [inline, virtual]

Sets the flag indicating that material calculation directory is used, and returns true if the flag was successfully set. If the flag is currently set then this method blocks until it is released.

bool IG::Num::SimJMatProFileManagerBase::IsMaterialCalculationFinished ( ) [inline]

Flag indicating whether material calculation for the current material parameters is finished.

virtual void IG::Num::SimJMatProFileManagerBase::ClearMaterialCalculationFinished ( ) [inline, virtual]

Clears the flag indicating that material calculation is finished.

virtual void IG::Num::SimJMatProFileManagerBase::SetMaterialCalculationFinished ( ) [inline, virtual]

Sets the flag indicating that material calculation is finished.

bool IG::Num::SimJMatProFileManagerBase::IsMaterialCalculationTimedout ( ) [inline]

Flag indicating whether material calculation for the current material parameters has timed out.

virtual void IG::Num::SimJMatProFileManagerBase::ClearMaterialCalculationTimedout ( ) [inline, virtual]

Clears the flag indicating that material calculation has timed out.

virtual void IG::Num::SimJMatProFileManagerBase::SetMaterialCalculationTimedout ( double  timeOutSeconds) [inline, virtual]

Sets the flag indicating that material calculation has timed out.

virtual void IG::Num::SimJMatProFileManagerBase::JMatLaunch ( ) [inline, virtual]

Safely launches the JMatpPro software. Tries to ensure that software has actually been launched.

virtual void IG::Num::SimJMatProFileManagerBase::JMatOpen ( ) [inline, virtual]

Just starts the JMatPro software.

virtual void IG::Num::SimJMatProFileManagerBase::JMatRepair ( ) [inline, virtual]

Repairs JMatPro, e.g. if it has been stopped abruptly or if another version is already running somewhere such that we could not start it. After calling this method, JMatPro should be able to start normally.

virtual void IG::Num::SimJMatProFileManagerBase::JMatClose ( ) [inline, virtual]

Closes JMatPro normally, by simulated user interaction.

virtual void IG::Num::SimJMatProFileManagerBase::JMatStartCalculation ( ) [inline, virtual]

Starts JMatPro calculation.

virtual void IG::Num::SimJMatProFileManagerBase::JMatSaveResults ( ) [inline, virtual]

Saves results of JMatPro calculation.

virtual bool IG::Num::SimJMatProFileManagerBase::JMatWaitCalculation ( ) [inline, virtual]

Waits until calculation finishes.

void IG::Num::SimJMatProFileManagerBase::PrepareDataDefinitionsFromSuperset ( ) [inline]

Prepares data definitions from the superset data definition file. Definitions for material parameters and for joint process and material parameters are prepared and saved to the corresponding files.

void IG::Num::SimJMatProFileManagerBase::PrapareDefaultMaterialParameters ( ) [inline]

Calculates default material parameters as the middle point of allowed intervals, and saves the parameters. Data is saved in two ways: simply as vector (path defined by WorkingMaterialParametersPath, default file name SimJMatProConst.MaterialParametersFilename) and as default values in data definition object (path defined by WorkingMaterialParametersDefPath, default file name SimJMatProConst.MaterialParametersDefFilename)

void IG::Num::SimJMatProFileManagerBase::PrepareSettingsTemplate ( ) [inline]

Saves the current settings to a file used as template for settings file for JMatPro interface' file manager. Settings are stored to file in the working directory named SimJMatProConst.SettingsTemplateFilename

string IG::Num::SimJMatProFileManagerBase::GetMaterialDirectoryPath ( string  materialDirectoryPath) [inline]

Returns a valid (existent) material data directory path that is obtaines form the specified path, or throws exception if such a directory could not be obtained. The specified material directory path can be specified as absolute path or relative to material data root (i.e. just directory name) or relative to working directory.

Parameters:
specifiedMaterialDirectoryPathThe specified path of the material data directory. It can be specified as absolute path or relative to material data root (i.e. just directory name) or relative to working directory.
Exceptions:
ArgumentExceptionThrown when the specified approximate path is a null or empty string or when it dese not represent an existing material data directory (not even relative to the working directory or material data root).
Returns:
Valid path to the material data directory that is inferred from the specified approximate path. If such a path could not be obtained then exception is thrown.
virtual string IG::Num::SimJMatProFileManagerBase::GetMaterialDirectoryPath ( string  specifiedMaterialDirectoryPath,
bool  throwExceptions 
) [inline, virtual]

Returns a valid (existent) material data directory path that is obtaines form the specified path, or null if such a directory could not be obtained (or, if throwExceptions is true, exception is thrown in this case). The specified material directory path can be specified as absolute path or relative to material data root (i.e. just directory name) or relative to working directory.

Parameters:
specifiedMaterialDirectoryPathThe specified path of the material data directory. It can be specified as absolute path or relative to material data root (i.e. just directory name) or relative to working directory.
throwExceptionsFlag indicating whether exception is thrown if a valid directory coud not be obtained from the specified directory path or name. If false then null is returned when the valid (i.e. existent) directory path can not be extracted from the specified path.
Exceptions:
ArgumentExceptionThrown when the specified approximate path is a null or empty string or when it dese not represent an existing material data directory (not even relative to the working directory or material data root), but only when the throwExceptions parameter is true.
Returns:
Valid path to the material data directory that is inferred from the specified approximate path, of null if such a path could not be obtained.
bool IG::Num::SimJMatProFileManagerBase::IsMaterialDirectory ( DirectoryInfo  dir) [inline, protected]

Returns a flag indicating whether teh specified directory is considered a material directory or not. This method is usually used to extract all material directoried from the root data directory (which may for some reason contain other directories, too).

Parameters:
dirDirectory info for the directory that is checked. If null then false is returned (no exception thrown).
Returns:
True if the specified directory is considered a material data directory, false if not.
bool IG::Num::SimJMatProFileManagerBase::IsMaterialCalculated ( string  materialDirectoryPath) [inline, protected]

For the specified material data directory, returns a flag that indicates whether material properties have been calculated for the corresponding material or not. This is obtained by checking the corresponding message file as well as existence and size of the material results file. Performed in colision safe way by using a mutex.

Parameters:
materialDirectoryPathPath to the material data directory that is checked. It must be a valid path to existent directory.
bool IG::Num::SimJMatProFileManagerBase::IsTimedoutFlagSet ( string  materialDirectoryPath) [inline, protected]

For the specified material data directory, returns a flag that indicates whether material calculation has not finished because of timeout. This is obtained by checking the corresponding message file. Performed in colision safe way by using a mutex.

Parameters:
materialDirectoryPathPath to the material data directory that is checked. It must be a valid path to existent directory.
bool IG::Num::SimJMatProFileManagerBase::IsBusyFlagSet ( string  materialDirectoryPath) [inline, protected]

For the specified material data directory, returns a flag that indicates whether the busy flag is set. Performed in colision safe way by using a mutex.

Parameters:
materialDirectoryPathPath to the material data directory that is checked. It must be a valid path to existent directory.
bool IG::Num::SimJMatProFileManagerBase::ClearBusyFlag ( string  materialDirectoryPath) [inline]

Clears the busy flag from the specified material directory, and returns a flag indicating whether clearing of a flag has actually occurred.

Parameters:
materialDirectoryPathPath to the directory in which busy flag is cleared.

It can be specified as absolute path or relative to mat. data root (i.e. just dir. name) or relative to working directory.

Returns:
True if parameters flag was actually cleared, false otherwise (e.g. flag was not set at all, or it could not be cleared for some reason).
bool IG::Num::SimJMatProFileManagerBase::GetMaterialParameters ( string  materialDirectoryPath,
ref IVector  parameters 
) [inline]

Gets (reads) material parameters from the specified material data directory.

Parameters:
materialDirectoryPathPath to the material data directory where parameters are read from. It must be a valid path of an existent material data directory.
parametersVector where the obtained material parameters are stored.
Returns:
True if parameters were successfully obtained, false otherwise.
bool IG::Num::SimJMatProFileManagerBase::IsMaterialDirectoryCorrupted ( string  materialDirectoryPath) [inline]

Returns a flag indicated whether the specified material data directory is corrupted in the sense that some material data in it is corrupted (i.e. the vector of material parameters is not properly written).

Parameters:
materialDirectoryPathPath to the material data directory whose integrity is checked. It must be a valid path of an existent material data directory.
Returns:
True if the directory is corrupted, false otherwise.
void IG::Num::SimJMatProFileManagerBase::GetMaterialDirectories ( ref List< DirectoryInfo >  directories) [inline]

Obtains a list of paths of all material directories, and stores them on the specified list.

Parameters:
directoriesList where directory infos are stored. Reallocated and cleared if necessary.
void IG::Num::SimJMatProFileManagerBase::GetMaterialDirectoriesWhereCalculationFailed ( ref List< DirectoryInfo >  directories) [inline]

Obtains a list of paths of all material directories where material properties calculation has failed. These are characterized as material directories where the busy flag is not set but material data is also not available (which means that material results file does not exist or is too small or the message file for the material calculation finished message does not exist).

Parameters:
directoriesList where directory infos are stored. Reallocated and cleared if necessary.
void IG::Num::SimJMatProFileManagerBase::GetMaterialDirectoriesWhereBusySet ( ref List< DirectoryInfo >  directories) [inline]

Obtains a list of paths of all material directories where the busy flag is set (which may be a consequence of some failure).

Parameters:
directoriesList where directory infos are stored. Reallocated and cleared if necessary.
void IG::Num::SimJMatProFileManagerBase::GetMaterialDirectoriesWhereTimedout ( ref List< DirectoryInfo >  directories) [inline]

Obtains a list of all material directories where material calculation has timed out.

Parameters:
directoriesList where directory infos are stored. Reallocated and cleared if necessary.
void IG::Num::SimJMatProFileManagerBase::GetMaterialDirectoriesWhereMaterialCalculated ( ref List< DirectoryInfo >  directories) [inline]

Obtains a list of paths of all material directories where material properties were successfully calculated. These are characterized as material directories where the busy flag is not set but material data is also available (which means that material results file exists and is large enough and the message file for the material calculation finished message exists).

Parameters:
directoriesList where directory infos are stored. Reallocated and cleared if necessary.
void IG::Num::SimJMatProFileManagerBase::GetMaterialDirectoriesWhereMaterialDataCorrupted ( ref List< DirectoryInfo >  directories) [inline]

Obtains a list of paths of all material directories where material data is corrupted. The method IsMaterialDirectoryCorrupted is used to test material directories for corruption.

Parameters:
directoriesList where directory infos are stored. Reallocated and cleared if necessary.
int IG::Num::SimJMatProFileManagerBase::WriteMaterialCalculationStatistics ( bool  printIndividualDirectories,
bool  includeCorrupted 
) [inline]

Prints statistics of material properties calculation.

Parameters:
printIndividualDirectoriesWhether individual directories are printed (if false then only number of directories in each group is printed).
includeCorruptedIf true then a list of corrupted directories is also printed. Detection of corrupted directories takes considerably longer than detection of other groups.
Returns:
Number of successfully calculated materials.
int IG::Num::SimJMatProFileManagerBase::WriteMaterialDirectoriesWhereMaterialCalculated ( ) [inline]

Prints (to console and log file) information about material directories where material properties were successfully calculated.

Returns:
Number of directories where material properties were successfully calculated.
bool IG::Num::SimJMatProFileManagerBase::ReleaseAbandonedMutex ( ) [inline]

Releases the mutex in the case it has been abandoned, and returns a flag indicating whether the mutex has actually been abandoned. Has no effect if mutex is not abandoned.

void IG::Num::SimJMatProFileManagerBase::ClearBusyFlags ( ) [inline]

Clears the busy flag in all directories where it is still set (possibly because some procedure has hanged).

void IG::Num::SimJMatProFileManagerBase::RetryCalculateMaterialProperties ( string  materialDirectoryPath) [inline]

Retries calculation of.

Parameters:
materialDirectoryPathPath to the directory in which busy flag is cleared.

Can be specified as absolute path or relative to mat. data root (i.e. just dir. name) or relative to working directory.

void IG::Num::SimJMatProFileManagerBase::RetryCalculateMaterialProperties ( string  materialDirectoryPath,
int  whichCalculation,
int  numCalculations 
) [inline]

Retries calculation of.

Parameters:
materialDirectoryPathPath to the directory in which busy flag is cleared.

Can be specified as absolute path or relative to mat. data root (i.e. just dir. name) or relative to working directory.

Parameters:
whichCalculationSpecifies which calculation in row is this (used just for output).
numCalculationsSpecifies how many are all calculations that are performed in a row (used just for output).
int IG::Num::SimJMatProFileManagerBase::RetryCalculateMaterialProperties ( ) [inline]

Retries calculation of material properties in the directories where calculation obviously failed.

Returns:
Number of directories where calculation was retried.
void IG::Num::SimJMatProFileManagerBase::KillJMatPro ( ) [inline]

Kills the JMatPro process.

bool IG::Num::SimJMatProFileManagerBase::IsJMatProRunning ( ) [inline]

Returns a flag indicating whether the JMatPro application is currently running.

bool IG::Num::SimJMatProFileManagerBase::IsMaterialDataDirectoryPrepared ( ) [inline]

Whether material data is prepared.

void IG::Num::SimJMatProFileManagerBase::CalculateMaterialPropertiesRandomSet ( int  numParameterSets) [inline]

Calculates material properties by JMatPro for a set of random parameters.

Parameters:
numParameterSetsNumber of parameters in the set.
void IG::Num::SimJMatProFileManagerBase::CalculateMaterialProperties ( string  parametersPath) [inline]

Calculates material properties at parameters that are read from a file.

Parameters:
parametersPathPath to the file containing material parameters.

Parameters must be written in a file as vector in JSON format.

Path can be relative to the current directory or working directory, or it can be absolute path. If null or empty string then default path is taken.

void IG::Num::SimJMatProFileManagerBase::CalculateMaterialPropertiesDef ( string  parametersPath) [inline]

Calculates material properties at parameters that are read from a data definition file as default values.

Parameters:
parametersPathPath to the file containing material parameters in form of data definition (default values are taken).

Parameters must be written in a file as definition data in JSON format.

Path can be relative to the current directory or working directory, or it can be absolute path. If null or empty string then default path is taken.

void IG::Num::SimJMatProFileManagerBase::CalculateMaterialProperties ( IVector  parameters) [inline]

Calculates the material properties at the specified vector of material parameters, and stores results to the appropriate directory. Vector of current parameters is permanently set to parameters .

Parameters:
parametersVector containing material parameters (related to chemical composition) for which material properties must be calculated.
void IG::Num::SimJMatProFileManagerBase::CalculateMaterialProperties ( ) [inline]

Calculates the material properties at the current vector of material parameters, and stores results to the appropriate directory.

virtual void IG::Num::SimJMatProFileManagerBase::GetMaterialParametersDefault ( ref IG.Num.IVector  parameters) [inline, virtual]

Returns vector containing default values for material parameters.

Parameters:
parametersVector of material parameters.

Material parameters are mass fractions of individual elements involved in composition (excluding iron, whose fraction is not a parameter but is calculated form other fractions).

virtual List<JMatProElemetData> IG::Num::SimJMatProFileManagerBase::CalculateJMatInput ( IVector  materialParameters) [inline, virtual]

Calculates and returns input data for JMatPro from the vector of material parameters.

Parameters:
materialParametersVector of material parameters.
Returns:
List of element data that contains elements in the same order as must be specified in JMatPro, and each element contains its
virtual void IG::Num::SimJMatProFileManagerBase::PrepareJMatInput ( IVector  materialParameters,
string  filePath 
) [inline, virtual]

Prepares input file for JMatPro (composition of steel) according to the specified material parameters.

Parameters:
materialParametersVector of material parameter values.
filePathPath of the file where composition is written.
override string IG::Num::SimJMatProFileManagerBase::ToString ( ) [inline]
string IG::Num::SimJMatProFileManagerBase::ReplacePathSeparator ( string  path) [inline, protected]

Returns a string obtained by replacing the '\' path separator by the more standard '/' in the specified path string, or null if the string is null.

Parameters:
pathString in which path separators are to be replaces, can be null.
virtual void IG::Num::SimJMatProFileManagerBase::CopyToSettingsPlain< FmType > ( SimJMatProSettingsDto< FmType >  settings) [inline, virtual]

Copies settings from the current JMatPro file manager to the specified settings object.

Template Parameters:
FmTypeType of file manager that the method operates on.
Parameters:
settingsSettings object on which current settings are stored.
Type Constraints
FmType :SimJMatProFileManagerBase 
virtual void IG::Num::SimJMatProFileManagerBase::CopyFromSettingsPlain< FmType > ( SimJMatProSettingsDto< FmType >  settings) [inline, virtual]

Copies settings fom the specified settings object to the current JMatPro file manager.

Template Parameters:
FmTypeType of file manager on which method operates.
Parameters:
settingsSettings object for which settigs for the current JMatPro file manager are copied.
Type Constraints
FmType :SimJMatProFileManagerBase 
void IG::Num::SimJMatProFileManagerBase::SaveSettings ( string  filePath) [inline]

Saves (serializes) the settings of the current JMatPro interface' file manager to the specified JSON file. If the file already exists, contents overwrite the file.

Parameters:
filePathPath to the file in which settings are saved.
void IG::Num::SimJMatProFileManagerBase::SaveSettings ( string  filePath,
bool  append 
) [inline]

Saves (serializes) the settings of the current JMatPro interface' file manager to the specified JSON file. If the file already exists, contents either overwrite the file or are appended at the end, dependent on the value of the append flag.

Parameters:
filePathPath to the file in which settings are saved.
appendSpecifies whether serialized data is appended at the end of the file in the case that the file already exists.
void IG::Num::SimJMatProFileManagerBase::LoadSettings ( string  filePath) [inline]

Restores (deserializes) the current JMatPro interface' file manager settings from the specified file in JSON format.

Parameters:
filePathFile from which object is restored.
static void IG::Num::SimJMatProFileManagerBase::SaveSettings ( SimJmatProSettingsDto  settings,
string  filePath 
) [inline, static]

Saves (serializes) the specified settings of the JMatPro interface' file manager to the specified JSON file. If the file already exists, contents overwrite the file.

Parameters:
settingsJMatPro interface' settings that are saved to a file.
filePathPath to the file into which settings are saved.
static void IG::Num::SimJMatProFileManagerBase::SaveSettings ( SimJmatProSettingsDto  settings,
string  filePath,
bool  append 
) [inline, static]

Saves (serializes) the specified settings for JMatPro interface' file manager to the specified JSON file. If the file already exists, contents either overwrite the file or are appended at the end, dependent on the value of the append flag.

Parameters:
settingsJMatPro interface' settings that are saved to a file.
filePathPath to the file in which settings are saved.
appendSpecifies whether serialized data is appended at the end of the file in the case that the file already exists.
static void IG::Num::SimJMatProFileManagerBase::LoadSettings ( string  filePath,
ref SimJmatProSettingsDto  settings 
) [inline, static]

Restores (deserializes) JMatPro interface' settings from the specified file in JSON format.

Parameters:
filePathFile from which object is restored.
settingsJMatPro interface' settings that are restored by deserialization.
static JMatProElemetData IG::Num::SimJMatProFileManagerBase::FindElementData ( List< JMatProElemetData elements,
string  elementSymbol 
) [inline, static]

Finds data for the specified element on the specified list of element data, and returns the data (or null if the data is not be found).

Parameters:
elementsList of elements where data for the specific element is searched for.
elementSymbolSymbol of chemical element whose data is searched for.
JMatProElemetData IG::Num::SimJMatProFileManagerBase::GetElementData ( string  elementSymbol) [inline]

Returns data about the specified chemical element.

Parameters:
elementSymbolSymbol of the chemical element.
Exceptions:
ArgumentExceptionWhen element symbol is not specified or there is no data about chemical element with such symbol.
double IG::Num::SimJMatProFileManagerBase::GetElementAtomicMass ( string  elementSymbol) [inline]

Returns atomic mass of the chemical elemen with the specified symbol.

Parameters:
elementSymbolSymbol of the chemical element.
string IG::Num::SimJMatProFileManagerBase::GetElementName ( string  elementSymbol) [inline]

Returns name of the chemical elemen with the specified symbol. If element name is not defined for the specified element then its symbol is returned.

Parameters:
elementSymbolSymbol of the chemical element.
void IG::Num::SimJMatProFileManagerBase::AddElements< ElType > ( List< ElType >  l,
params ElType[]  elements 
) [inline, protected]

Adds the specified elements to the specified list.

Template Parameters:
ElTypeType of elements of the list.
Parameters:
lList on which elements will be added.
elementsElements to be added to the list (variable length).
int IG::Num::SimJMatProFileManagerBase::GetNumCompositionElements ( ) [inline]

Returns number of elements that are included in JMatPro input files for steel.

string IG::Num::SimJMatProFileManagerBase::GetCompositionElementSymbol ( int  which) [inline]

Returns the chemical symbol of the specified element.

Parameters:
whichIndex of the element included in composition in JMatPro.
void IG::Num::SimJMatProFileManagerBase::InitElements ( ) [inline, protected]

Creates a list of chemical element data.

bool IG::Num::SimJMatProFileManagerBase::LockFileMutexCheckAbandoned ( ) [inline]

Check whether the file system locking mutex (property LockFileMutex) has been abandoned, and returns true if it has been (otherwise, false is returned). After the call, mutex is no longer in abandoned state (WaitOne() will not throw an exception) if it has been before the call.Call does not block.

Returns:
true if mutex has been abandoned, false otherwise.
void IG::Num::SimJMatProFileManagerBase::Error ( string  errorMsg) [inline]

Temporary utility for reporting errors in the development stage.

Parameters:
errorMsgError message.
void IG::Num::SimJMatProFileManagerBase::ErrorNotImplemented ( string  errorMsg) [inline]

Temporary utility for reporting errors in the development stage.

Parameters:
errorMsgError message.
virtual void IG::Num::SimJMatProFileManagerBase::GetRandomMaterialParameters ( ref IVector  result) [inline, virtual]

Generates a random vector of material parameters whose elements (components) lie within the lower and upper bounds on parameters, and stores it to the specified vector. Random generator of the current JMatPro interface objects is used.

Parameters:
resultVector object where the generated random vector is stored; allocated if necessary.
virtual void IG::Num::SimJMatProFileManagerBase::GetRandomMaterialParameters ( IRandomGenerator  rand,
ref IVector  result 
) [inline, virtual]

Generates a random vector of material parameters whose elements (components) lie within the lower and upper bounds on parameters, and stores it to the specified vector.

Parameters:
randRandom number generator used to generate the elements.
resultVector object where the generated random vector is stored; allocated if necessary.
virtual void IG::Num::SimJMatProFileManagerBase::CreateJointParameters ( IVector  materialParameters,
IVector  processParameters,
ref IVector  jointParameters 
) [inline, virtual]

Combines the specified vectors of materaial and process parameters into a joint vector of process parameters and stored it into the specified variable. Vectors of material and process parameters must be of correct dimensons, otherwise exception is thrown.

Parameters:
materialParametersVector of material parameters.
processParametersVector of process parameters.
jointParametersVector variable where combined vector of problem parameters is stored.
virtual void IG::Num::SimJMatProFileManagerBase::ExtractMaterialParameters ( IVector  jointParameters,
ref IVector  materialParameters 
) [inline, virtual]

Extracts the vector of material parameters from the specified joint vector of problem parameters, and stores it to the specified variable.

Parameters:
jointParametersComplete vector of problem parameters.
materialParametersVector variable where the extracted material parameters are stored.
virtual void IG::Num::SimJMatProFileManagerBase::ExtractProcessParameters ( IVector  jointParameters,
ref IVector  processParameters 
) [inline, virtual]

Extracts the vector of process parameters from the specified joint vector of problem parameters, and stores it to the specified variable.

Parameters:
jointParametersComplete vector of problem parameters.
processParametersVector variable where the extracted process parameters are stored.
virtual void IG::Num::SimJMatProFileManagerBase::ExtractMaterialAndProcessParameters ( IVector  jointParameters,
ref IVector  materialParameters,
ref IVector  processParameters 
) [inline, virtual]

Extracts the vectors of material and process parameters from the specified joint vector of problem parameters, and stores them to the specified variable.

Parameters:
jointParametersComplete vector of problem parameters.
materialParametersVector variable where the extracted material parameters are stored.
processParametersVector variable where the extracted process parameters are stored.
virtual string IG::Num::SimJMatProFileManagerBase::GetMaterialDirectoryName ( IVector  parameters) [inline, virtual]

Returns name of the material directory for the specified material parameters.

Parameters:
parametersMaterial parameters to which the returned directory name corresponds.
virtual bool IG::Num::SimJMatProFileManagerBase::CreateMaterialDataDirectory ( ) [inline, virtual]

Creates the data directory for the current material (specified by material parameters).

Returns:
True if directory has been created, false if not (this usually means that directory had existed before).
bool IG::Num::SimJMatProFileManagerBase::MoveMaterialDirectory ( string  materialDirectoryPath,
string  storageDirectoryPath 
) [inline]

Moves the specified material directory to the specified storage directory. Directory is not moved if a busy flag is set. In this case, a report is written to the log file.Paths must be valid paths, not just short approximate paths. You can use Operation is performed in a colision safe way by using a mutex.

Parameters:
materialDirectoryPathPath to the material directory that is moved. It must be a valid path to the directory, not only approximate path. Directory existence is checked prior to operation.
storageDirectoryPathPath to the storage directory into which directory is moved. If the dtorage directory does not yet exist then it is created.
Exceptions:
Returns:
True if directory was successfully moved, false otherwise.
int IG::Num::SimJMatProFileManagerBase::MoveMaterialDirectoryToStorageMaterialCalculated ( ) [inline]

Moves to the appropeiate storage directory those material directories for which material properties have been successfully calculated.

Returns:
The number of directories that were actually moved.
int IG::Num::SimJMatProFileManagerBase::MoveMaterialDirectoryToStorageBusyFlagSet ( ) [inline]

Moves to the appropeiate storage directory those material directories for which busy flag remained set.

Returns:
The number of directories that were actually moved.
int IG::Num::SimJMatProFileManagerBase::MoveMaterialDirectoryToStorageTimedout ( ) [inline]

Moves to the appropeiate storage directory those material directories for which material properties calculation has timed out.

Returns:
The number of directories that were actually moved.
int IG::Num::SimJMatProFileManagerBase::MoveMaterialDirectoryToStorageCalculationFailed ( ) [inline]

Moves to the appropeiate storage directory those material directories for which material properties calculation failed (regardless of reason).

Returns:
The number of directories that were actually moved.
int IG::Num::SimJMatProFileManagerBase::MoveMaterialDirectoryToStorageDataCorrupted ( ) [inline]

Moves to the appropeiate storage directory those material directories for which material data is corrupted (e.g. material parameters are not written properly).

Returns:
The number of directories that were actually moved.
int IG::Num::SimJMatProFileManagerBase::MoveMaterialDirectoriesToStorageAll ( bool  moveBusy,
bool  moveMaterialCalculated 
) [inline]

Moves all material directries to the appropriate storage directories, dependent on the state of calculation in any particular directory.

Parameters:
moveBusyWhether directories where busy flag is set are also moved.
moveMaterialCalculatedWhether directories where material properties were successfully calculated are also moved.
Returns:
bool IG::Num::SimJMatProFileManagerBase::IsMaterialCalculationBusy ( ) [inline]

Flag indicating whether material calculation for the current material parameters is in progress.

virtual void IG::Num::SimJMatProFileManagerBase::ClearMaterialCalculationBusy ( ) [inline, virtual]

Clears the flag indicating that material calculation is in progress.

virtual bool IG::Num::SimJMatProFileManagerBase::SetMaterialCalculationBusy ( ) [inline, virtual]

Sets the flag indicating that material calculation directory is used, and returns true if the flag was successfully set. If the flag is currently set then this method blocks until it is released.

bool IG::Num::SimJMatProFileManagerBase::IsMaterialCalculationFinished ( ) [inline]

Flag indicating whether material calculation for the current material parameters is finished.

virtual void IG::Num::SimJMatProFileManagerBase::ClearMaterialCalculationFinished ( ) [inline, virtual]

Clears the flag indicating that material calculation is finished.

virtual void IG::Num::SimJMatProFileManagerBase::SetMaterialCalculationFinished ( ) [inline, virtual]

Sets the flag indicating that material calculation is finished.

bool IG::Num::SimJMatProFileManagerBase::IsMaterialCalculationTimedout ( ) [inline]

Flag indicating whether material calculation for the current material parameters has timed out.

virtual void IG::Num::SimJMatProFileManagerBase::ClearMaterialCalculationTimedout ( ) [inline, virtual]

Clears the flag indicating that material calculation has timed out.

virtual void IG::Num::SimJMatProFileManagerBase::SetMaterialCalculationTimedout ( double  timeOutSeconds) [inline, virtual]

Sets the flag indicating that material calculation has timed out.

bool IG::Num::SimJMatProFileManagerBase::IsMaterialResultsWrong ( ) [inline]

Flag indicating whether material results are incorrect.

virtual void IG::Num::SimJMatProFileManagerBase::ClearMaterialResultsWrong ( ) [inline, virtual]

Clears the flag indicating that material result file is incorrect.

virtual void IG::Num::SimJMatProFileManagerBase::SetMaterialResultsWrong ( string  errorsString) [inline, virtual]

Sets the flag indicating that material result file is incorrect.

Parameters:
errorsStringString containing detected errors in the result file.
virtual void IG::Num::SimJMatProFileManagerBase::JMatLaunch ( ) [inline, virtual]

Safely launches the JMatpPro software. Tries to ensure that software has actually been launched.

virtual void IG::Num::SimJMatProFileManagerBase::JMatOpen ( ) [inline, virtual]

Just starts the JMatPro software.

virtual void IG::Num::SimJMatProFileManagerBase::JMatRepair ( ) [inline, virtual]

Repairs JMatPro, e.g. if it has been stopped abruptly or if another version is already running somewhere such that we could not start it. After calling this method, JMatPro should be able to start normally.

virtual void IG::Num::SimJMatProFileManagerBase::JMatClose ( ) [inline, virtual]

Closes JMatPro normally, by simulated user interaction.

virtual void IG::Num::SimJMatProFileManagerBase::JMatStartCalculation ( ) [inline, virtual]

Starts JMatPro calculation.

virtual void IG::Num::SimJMatProFileManagerBase::JMatSaveResults ( ) [inline, virtual]

Saves results of JMatPro calculation.

virtual void IG::Num::SimJMatProFileManagerBase::JMatChangeTemperatureUnit ( ) [inline, virtual]

Changes (toggles once) temperature unit in an open window of JMatPro (software must be running and its main window on the top of window stack) by running the appropriate script.

virtual void IG::Num::SimJMatProFileManagerBase::JMatChangeFractionUnit ( ) [inline, virtual]

Changes (toggles once) fraction unit in an open window of JMatPro (software must be running and its main window on the top of window stack) by running the appropriate script.

virtual bool IG::Num::SimJMatProFileManagerBase::JMatWaitCalculation ( ) [inline, virtual]

Waits until JMatPro calculation finishes. Returns true if it could be detected properly that calculation finished, false otherwise.

Timeout is defined by the JMatTimeoutWaitCalculationSeconds property.

virtual bool IG::Num::SimJMatProFileManagerBase::JMatWaitResultsSaved ( ) [inline, virtual]

Waits until JMatPro results are saved. Returns true if it could be detected properly that results were saved, false otherwise (i.e. timeout occurred).

Timeout is defined by the JMatTimeoutWaitResultsSavedSeconds property.

void IG::Num::SimJMatProFileManagerBase::PrepareDataDefinitionsFromSuperset ( ) [inline]

Prepares data definitions from the superset data definition file. Definitions for material parameters and for joint process and material parameters are prepared and saved to the corresponding files.

void IG::Num::SimJMatProFileManagerBase::PrapareDefaultMaterialParameters ( ) [inline]

Calculates default material parameters as the middle point of allowed intervals, and saves the parameters. Data is saved in two ways: simply as vector (path defined by WorkingMaterialParametersPath, default file name SimJMatProConst.MaterialParametersFilename) and as default values in data definition object (path defined by WorkingMaterialParametersDefPath, default file name SimJMatProConst.MaterialParametersDefFilename)

void IG::Num::SimJMatProFileManagerBase::PrepareSettingsTemplate ( ) [inline]

Saves the current settings to a file used as template for settings file for JMatPro interface' file manager. Settings are stored to file in the working directory named SimJMatProConst.SettingsTemplateFilename

string IG::Num::SimJMatProFileManagerBase::GetMaterialDirectoryPath ( string  specifiedMaterialDirectoryPath) [inline]

Returns a valid (existent) material data directory path that is obtaines form the specified path, or throws exception if such a directory could not be obtained. The specified material directory path can be specified as absolute path or relative to material data root (i.e. just directory name) or relative to working directory.

Parameters:
specifiedMaterialDirectoryPathThe specified APPROXIMATE path of the material data directory. It can be specified as absolute path or relative to material data root (i.e. just directory name) or relative to working directory.
Exceptions:
ArgumentExceptionThrown when the specified approximate path is a null or empty string or when it dese not represent an existing material data directory (not even relative to the working directory or material data root).
Returns:
Valid path to the material data directory that is inferred from the specified approximate path. If such a path could not be obtained then exception is thrown.
virtual string IG::Num::SimJMatProFileManagerBase::GetMaterialDirectoryPath ( string  specifiedMaterialDirectoryPath,
bool  throwExceptions 
) [inline, virtual]

Returns a valid (existent) material data directory path that is obtaines form the specified path, or null if such a directory could not be obtained (or, if throwExceptions is true, exception is thrown in this case). The specified material directory path can be specified as absolute path or relative to material data root (i.e. just directory name) or relative to working directory.

Parameters:
specifiedMaterialDirectoryPathThe specified APPROXIMATE path of the material data directory. It can be specified as absolute path or relative to material data root (i.e. just directory name) or relative to working directory.
throwExceptionsFlag indicating whether exception is thrown if a valid directory coud not be obtained from the specified directory path or name. If false then null is returned when the valid (i.e. existent) directory path can not be extracted from the specified path.
Exceptions:
ArgumentExceptionThrown when the specified approximate path is a null or empty string or when it dese not represent an existing material data directory (not even relative to the working directory or material data root), but only when the throwExceptions parameter is true.
Returns:
Valid path to the material data directory that is inferred from the specified approximate path, of null if such a path could not be obtained.
bool IG::Num::SimJMatProFileManagerBase::IsMaterialDirectory ( DirectoryInfo  dir) [inline, protected]

Returns a flag indicating whether teh specified directory is considered a material directory or not. This method is usually used to extract all material directoried from the root data directory (which may for some reason contain other directories, too).

Parameters:
dirDirectory info for the directory that is checked. If null then false is returned (no exception thrown).
Returns:
True if the specified directory is considered a material data directory, false if not.
bool IG::Num::SimJMatProFileManagerBase::IsMaterialCalculated ( string  materialDirectoryPath) [inline, protected]

For the specified material data directory, returns a flag that indicates whether material properties have been calculated for the corresponding material or not. This is obtained by checking the corresponding message file as well as existence and size of the material results file. Performed in colision safe way by using a mutex.

Parameters:
materialDirectoryPathPath to the material data directory that is checked. It must be a valid path to existent directory.
bool IG::Num::SimJMatProFileManagerBase::IsTimedoutFlagSet ( string  materialDirectoryPath) [inline, protected]

For the specified material data directory, returns a flag that indicates whether material calculation has not finished because of timeout. This is obtained by checking the corresponding message file. Performed in colision safe way by using a mutex.

Parameters:
materialDirectoryPathPath to the material data directory that is checked. It must be a valid path to existent directory.
bool IG::Num::SimJMatProFileManagerBase::IsMaterialResultsWrongFlagSet ( string  materialDirectoryPath) [inline, protected]

For the specified material data directory, returns a flag that indicates whether material result file contents are incorrect. This is obtained by checking the corresponding message file. Performed in colision safe way by using a mutex.

Parameters:
materialDirectoryPathPath to the material data directory that is checked. It must be a valid path to existent directory.
virtual void IG::Num::SimJMatProFileManagerBase::ClearMaterialResultsWrongFlag ( string  materialDirectoryPath) [inline, virtual]

Clears the flag indicating that material result file is incorrect.

Parameters:
materialDirectoryPathPath to the material data directory that is checked. It must be a valid path to existent directory.
virtual void IG::Num::SimJMatProFileManagerBase::SetMaterialResultsWrongFlag ( string  materialDirectoryPath,
string  dataErrorDescriptions 
) [inline, virtual]

Sets the flag indicating that material result file is incorrect.

Parameters:
dataErrorDescriptionsString containing detected errors in the result file.
materialDirectoryPathPath to the material data directory that is checked. It must be a valid path to existent directory.
bool IG::Num::SimJMatProFileManagerBase::IsBusyFlagSet ( string  materialDirectoryPath) [inline, protected]

For the specified material data directory, returns a flag that indicates whether the busy flag is set. Performed in colision safe way by using a mutex.

Parameters:
materialDirectoryPathPath to the material data directory that is checked. It must be a valid path to existent directory.
bool IG::Num::SimJMatProFileManagerBase::ClearBusyFlag ( string  materialDirectoryPath) [inline]

Clears the busy flag from the specified material directory, and returns a flag indicating whether clearing of a flag has actually occurred.

Parameters:
materialDirectoryPathPath to the directory in which busy flag is cleared.

It can be specified as absolute path or relative to mat. data root (i.e. just dir. name) or relative to working directory.

Returns:
True if parameters flag was actually cleared, false otherwise (e.g. flag was not set at all, or it could not be cleared for some reason).
virtual void IG::Num::SimJMatProFileManagerBase::ClearMaterialCalculationFinishedFlag ( string  materialDirectoryPath) [inline, virtual]

Clears the flag indicating that material calculation is successfully finished, from the specified directory.

Parameters:
materialDirectoryPathPath to the material data directory where flag is cleared. It must be a valid path to existent directory.
bool IG::Num::SimJMatProFileManagerBase::GetMaterialParameters ( string  materialDirectoryPath,
ref IVector  parameters 
) [inline]

Gets (reads) material parameters from the specified material data directory.

Parameters:
materialDirectoryPathPath to the material data directory where parameters are read from. It must be a valid path of an existent material data directory.
parametersVector where the obtained material parameters are stored.
Returns:
True if parameters were successfully obtained, false otherwise.
bool IG::Num::SimJMatProFileManagerBase::IsMaterialDirectoryCorrupted ( string  materialDirectoryPath) [inline]

Returns a flag indicated whether the specified material data directory is corrupted in the sense that some material data in it is corrupted (i.e. the vector of material parameters is not properly written).

Parameters:
materialDirectoryPathPath to the material data directory whose integrity is checked. It must be a valid path of an existent material data directory.
Returns:
True if the directory is corrupted, false otherwise.
void IG::Num::SimJMatProFileManagerBase::GetMaterialDirectories ( ref List< DirectoryInfo >  directories) [inline]

Obtains a list of paths of all material directories, and stores them on the specified list.

Parameters:
directoriesList where directory infos are stored. Reallocated and cleared if necessary.
void IG::Num::SimJMatProFileManagerBase::GetMaterialDirectoriesWhereCalculationFailed ( ref List< DirectoryInfo >  directories) [inline]

Obtains a list of paths of all material directories where material properties calculation has failed. These are characterized as material directories where the busy flag is not set but material data is also not available (which means that material results file does not exist or is too small or the message file for the material calculation finished message does not exist).

Parameters:
directoriesList where directory infos are stored. Reallocated and cleared if necessary.
void IG::Num::SimJMatProFileManagerBase::GetMaterialDirectoriesWhereBusySet ( ref List< DirectoryInfo >  directories) [inline]

Obtains a list of paths of all material directories where the busy flag is set (which may be a consequence of some failure).

Parameters:
directoriesList where directory infos are stored. Reallocated and cleared if necessary.
void IG::Num::SimJMatProFileManagerBase::GetMaterialDirectoriesWhereTimedout ( ref List< DirectoryInfo >  directories) [inline]

Obtains a list of all material directories where material calculation has timed out.

Parameters:
directoriesList where directory infos are stored. Reallocated and cleared if necessary.
void IG::Num::SimJMatProFileManagerBase::GetMaterialDirectoriesWhereMaterialCalculated ( ref List< DirectoryInfo >  directories) [inline]

Obtains a list of paths of all material directories where material properties were successfully calculated. These are characterized as material directories where the busy flag is not set but material data is also available (which means that material results file exists and is large enough and the message file for the material calculation finished message exists).

Parameters:
directoriesList where directory infos are stored. Reallocated and cleared if necessary.
void IG::Num::SimJMatProFileManagerBase::GetMaterialDirectoriesWhereMaterialDataCorrupted ( ref List< DirectoryInfo >  directories) [inline]

Obtains a list of paths of all material directories where material data is corrupted. The method IsMaterialDirectoryCorrupted is used to test material directories for corruption.

Parameters:
directoriesList where directory infos are stored. Reallocated and cleared if necessary.
int IG::Num::SimJMatProFileManagerBase::WriteMaterialCalculationStatistics ( bool  printIndividualDirectories,
bool  includeCorrupted 
) [inline]

Prints statistics of material properties calculation.

Parameters:
printIndividualDirectoriesWhether individual directories are printed (if false then only number of directories in each group is printed).
includeCorruptedIf true then a list of corrupted directories is also printed. Detection of corrupted directories takes considerably longer than detection of other groups.
Returns:
Number of successfully calculated materials.
int IG::Num::SimJMatProFileManagerBase::WriteMaterialDirectoriesWhereMaterialCalculated ( ) [inline]

Prints (to console and log file) information about material directories where material properties were successfully calculated.

Returns:
Number of directories where material properties were successfully calculated.
bool IG::Num::SimJMatProFileManagerBase::ReleaseAbandonedMutex ( ) [inline]

Releases the mutex in the case it has been abandoned, and returns a flag indicating whether the mutex has actually been abandoned. Has no effect if mutex is not abandoned.

void IG::Num::SimJMatProFileManagerBase::ClearBusyFlags ( ) [inline]

Clears the busy flag in all directories where it is still set (possibly because some procedure has hanged).

void IG::Num::SimJMatProFileManagerBase::RetryCalculateMaterialProperties ( string  materialDirectoryPath) [inline]

Retries calculation of.

Parameters:
materialDirectoryPathPath to the directory in which busy flag is cleared.

Can be specified as absolute path or relative to mat. data root (i.e. just dir. name) or relative to working directory.

void IG::Num::SimJMatProFileManagerBase::RetryCalculateMaterialProperties ( string  materialDirectoryPath,
int  whichCalculation,
int  numCalculations 
) [inline]

Retries calculation of.

Parameters:
materialDirectoryPathPath to the directory in which busy flag is cleared.

Can be specified as absolute path or relative to mat. data root (i.e. just dir. name) or relative to working directory.

Parameters:
whichCalculationSpecifies which calculation in row is this (used just for output).
numCalculationsSpecifies how many are all calculations that are performed in a row (used just for output).
int IG::Num::SimJMatProFileManagerBase::RetryCalculateMaterialProperties ( ) [inline]

Retries calculation of material properties in the directories where calculation obviously failed.

Returns:
Number of directories where calculation was retried.
void IG::Num::SimJMatProFileManagerBase::KillJMatPro ( ) [inline]

Kills the JMatPro process.

bool IG::Num::SimJMatProFileManagerBase::IsJMatProRunning ( ) [inline]

Returns a flag indicating whether the JMatPro application is currently running.

bool IG::Num::SimJMatProFileManagerBase::IsMaterialDataDirectoryPrepared ( ) [inline]

Whether material data is prepared.

void IG::Num::SimJMatProFileManagerBase::CalculateMaterialPropertiesRandomSet ( int  numParameterSets) [inline]

Calculates material properties by JMatPro for a set of random parameters.

Parameters:
numParameterSetsNumber of parameters in the set.
void IG::Num::SimJMatProFileManagerBase::CalculateMaterialProperties ( string  parametersPath) [inline]

Calculates material properties at parameters that are read from a file.

Parameters:
parametersPathPath to the file containing material parameters.

Parameters must be written in a file as vector in JSON format.

Path can be relative to the current directory or working directory, or it can be absolute path. If null or empty string then default path is taken.

void IG::Num::SimJMatProFileManagerBase::CalculateMaterialPropertiesDef ( string  parametersPath) [inline]

Calculates material properties at parameters that are read from a data definition file as default values.

Parameters:
parametersPathPath to the file containing material parameters in form of data definition (default values are taken).

Parameters must be written in a file as definition data in JSON format.

Path can be relative to the current directory or working directory, or it can be absolute path. If null or empty string then default path is taken.

void IG::Num::SimJMatProFileManagerBase::CalculateMaterialProperties ( IVector  parameters) [inline]

Calculates the material properties at the specified vector of material parameters, and stores results to the appropriate directory. Vector of current parameters is permanently set to parameters .

Parameters:
parametersVector containing material parameters (related to chemical composition) for which material properties must be calculated.
void IG::Num::SimJMatProFileManagerBase::CalculateMaterialProperties ( ) [inline]

Calculates the material properties at the current vector of material parameters, and stores results to the appropriate directory.

void IG::Num::SimJMatProFileManagerBase::MaterialCalculationsStatisticsPrint ( string  introductionString) [inline]

Prints calculation statistics after another material calculation is finished.

Parameters:
introductionStringString that introduces the calculation for which statistics is printed, without any spaces or punctation marks at the end (these are added by the method).
void IG::Num::SimJMatProFileManagerBase::MaterialCalculationStatisticsReset ( int  numIntendedCalculations) [inline]

Resets material calculation statistics counters.

void IG::Num::SimJMatProFileManagerBase::MaterialCalculationStatisticsStart ( ) [inline]

Updates material calculaiton statistics counters at the beginning of a new material calculation.

void IG::Num::SimJMatProFileManagerBase::MaterialCalculationStatisticsStop ( CalculationStatus  status) [inline]

Updates material calculation statistics counters after completion of a single calculation.

Parameters:
statusStatus with which calculation has completed.
virtual void IG::Num::SimJMatProFileManagerBase::GetMaterialParametersDefault ( ref IG.Num.IVector  parameters) [inline, virtual]

Returns vector containing default values for material parameters.

Parameters:
parametersVector of material parameters.

Material parameters are mass fractions of individual elements involved in composition (excluding iron, whose fraction is not a parameter but is calculated form other fractions).

virtual List<JMatProElemetData> IG::Num::SimJMatProFileManagerBase::CalculateJMatInput ( IVector  materialParameters) [inline, virtual]

Calculates and returns input data for JMatPro from the vector of material parameters.

Parameters:
materialParametersVector of material parameters.
Returns:
List of element data that contains elements in the same order as must be specified in JMatPro, and each element contains its
virtual void IG::Num::SimJMatProFileManagerBase::PrepareJMatInput ( IVector  materialParameters,
string  filePath 
) [inline, virtual]

Prepares input file for JMatPro (composition of steel) according to the specified material parameters.

Parameters:
materialParametersVector of material parameter values.
filePathPath of the file where composition is written.
override string IG::Num::SimJMatProFileManagerBase::ToString ( ) [inline]
string IG::Num::SimJMatProFileManagerBase::ReplacePathSeparator ( string  path) [inline, protected]

Returns a string obtained by replacing the '\' path separator by the more standard '/' in the specified path string, or null if the string is null.

Parameters:
pathString in which path separators are to be replaces, can be null.
virtual void IG::Num::SimJMatProFileManagerBase::CopyToSettingsPlain< FmType > ( SimJMatProSettingsDto< FmType >  settings) [inline, virtual]

Copies settings from the current JMatPro file manager to the specified settings object.

Template Parameters:
FmTypeType of file manager that the method operates on.
Parameters:
settingsSettings object on which current settings are stored.
Type Constraints
FmType :SimJMatProFileManagerBase 
virtual void IG::Num::SimJMatProFileManagerBase::CopyFromSettingsPlain< FmType > ( SimJMatProSettingsDto< FmType >  settings) [inline, virtual]

Copies settings fom the specified settings object to the current JMatPro file manager.

Template Parameters:
FmTypeType of file manager on which method operates.
Parameters:
settingsSettings object for which settigs for the current JMatPro file manager are copied.
Type Constraints
FmType :SimJMatProFileManagerBase 
void IG::Num::SimJMatProFileManagerBase::SaveSettings ( string  filePath) [inline]

Saves (serializes) the settings of the current JMatPro interface' file manager to the specified JSON file. If the file already exists, contents overwrite the file.

Parameters:
filePathPath to the file in which settings are saved.
void IG::Num::SimJMatProFileManagerBase::SaveSettings ( string  filePath,
bool  append 
) [inline]

Saves (serializes) the settings of the current JMatPro interface' file manager to the specified JSON file. If the file already exists, contents either overwrite the file or are appended at the end, dependent on the value of the append flag.

Parameters:
filePathPath to the file in which settings are saved.
appendSpecifies whether serialized data is appended at the end of the file in the case that the file already exists.
void IG::Num::SimJMatProFileManagerBase::LoadSettings ( string  filePath) [inline]

Restores (deserializes) the current JMatPro interface' file manager settings from the specified file in JSON format.

Parameters:
filePathFile from which object is restored.
static void IG::Num::SimJMatProFileManagerBase::SaveSettings ( SimJmatProSettingsDto  settings,
string  filePath 
) [inline, static]

Saves (serializes) the specified settings of the JMatPro interface' file manager to the specified JSON file. If the file already exists, contents overwrite the file.

Parameters:
settingsJMatPro interface' settings that are saved to a file.
filePathPath to the file into which settings are saved.
static void IG::Num::SimJMatProFileManagerBase::SaveSettings ( SimJmatProSettingsDto  settings,
string  filePath,
bool  append 
) [inline, static]

Saves (serializes) the specified settings for JMatPro interface' file manager to the specified JSON file. If the file already exists, contents either overwrite the file or are appended at the end, dependent on the value of the append flag.

Parameters:
settingsJMatPro interface' settings that are saved to a file.
filePathPath to the file in which settings are saved.
appendSpecifies whether serialized data is appended at the end of the file in the case that the file already exists.
static void IG::Num::SimJMatProFileManagerBase::LoadSettings ( string  filePath,
ref SimJmatProSettingsDto  settings 
) [inline, static]

Restores (deserializes) JMatPro interface' settings from the specified file in JSON format.

Parameters:
filePathFile from which object is restored.
settingsJMatPro interface' settings that are restored by deserialization.
static JMatProElemetData IG::Num::SimJMatProFileManagerBase::FindElementData ( List< JMatProElemetData elements,
string  elementSymbol 
) [inline, static]

Finds data for the specified element on the specified list of element data, and returns the data (or null if the data is not be found).

Parameters:
elementsList of elements where data for the specific element is searched for.
elementSymbolSymbol of chemical element whose data is searched for.
JMatProElemetData IG::Num::SimJMatProFileManagerBase::GetElementData ( string  elementSymbol) [inline]

Returns data about the specified chemical element.

Parameters:
elementSymbolSymbol of the chemical element.
Exceptions:
ArgumentExceptionWhen element symbol is not specified or there is no data about chemical element with such symbol.
double IG::Num::SimJMatProFileManagerBase::GetElementAtomicMass ( string  elementSymbol) [inline]

Returns atomic mass of the chemical elemen with the specified symbol.

Parameters:
elementSymbolSymbol of the chemical element.
string IG::Num::SimJMatProFileManagerBase::GetElementName ( string  elementSymbol) [inline]

Returns name of the chemical elemen with the specified symbol. If element name is not defined for the specified element then its symbol is returned.

Parameters:
elementSymbolSymbol of the chemical element.
void IG::Num::SimJMatProFileManagerBase::AddElements< ElType > ( List< ElType >  l,
params ElType[]  elements 
) [inline, protected]

Adds the specified elements to the specified list.

Template Parameters:
ElTypeType of elements of the list.
Parameters:
lList on which elements will be added.
elementsElements to be added to the list (variable length).
int IG::Num::SimJMatProFileManagerBase::GetNumCompositionElements ( ) [inline]

Returns number of elements that are included in JMatPro input files for steel.

string IG::Num::SimJMatProFileManagerBase::GetCompositionElementSymbol ( int  which) [inline]

Returns the chemical symbol of the specified element.

Parameters:
whichIndex of the element included in composition in JMatPro.
void IG::Num::SimJMatProFileManagerBase::InitElements ( ) [inline, protected]

Creates a list of chemical element data.

string IG::Num::SimJMatProFileManagerBase::GetSimulatorBaseDirectoryName ( int  whichSimulator) [inline]

Calculates and returns name of the base simulator directory with the specified index (zero-based).

Parameters:
whichSimulatorIndex of the simulator.
string IG::Num::SimJMatProFileManagerBase::GetSimulatorBaseDirectoryPath ( int  whichSimulator) [inline]

Calculates and returns path of the root simulator directory with the specified index (zero-based).

Parameters:
whichSimulatorIndex of the simulator.
virtual string IG::Num::SimJMatProFileManagerBase::GetSimulatorCastingRobertDirectoryPath ( int  whichsimulator) [inline, virtual]

Calculates and returns path of the Robert Vertnik's casting simulator's main directory with the specified index (zero-based).

Parameters:
whichSimulatorIndex of the simulator.
virtual void IG::Num::SimJMatProFileManagerBase::InitSimCastingRobert ( string  rootDirectory,
string  projectName,
string  simulationName 
) [inline, virtual]

Initializes the data for casting simulation interface.

Parameters:
rootDirectoryRoot directory of the simulator.
projectNameSimulator's project name.
simulationNameSimulation name.
virtual SimCastingRobertFileManager IG::Num::SimJMatProFileManagerBase::GetSimCastingRobert ( int  whichSimulator) [inline, protected, virtual]

Returns a newly created Robert Vertnik's casting simulator with the specified index (zero-based)

Parameters:
whichSimulatorIndex of the simulator.
void IG::Num::SimJMatProFileManagerBase::PrepareSimulatorData ( SimCastingRobertFileManager  simulator,
string  materialDirectoryPath 
) [inline]

Prepares input data for simulator, in particular the material properties, which are obtained from the material data directory whose path is specified.

Parameters:
simulatorSimulator for which data is prepared.
materialDirectoryPathPath to the material data directory.
virtual void IG::Num::SimJMatProFileManagerBase::CalculateSimulatedResponse ( SimCastingRobertFileManager  simulator,
string  materialDirectory,
IVector  inputProcessParameters,
ref IVector  inputJointParameters,
ref IVector  outputValues 
) [inline, virtual]

Calculates simulator's response at the specified process parameters, for the specified material directory (that specifies material parameters and properties), and stores joint input parameters and output values.

Parameters:
simulatorSimulator of type SimCastingRobertFileManager used to perform the numerical simulation at specified material and process parameters.
materialDirectoryApproximate path to the material data directory from which material parameters and calculated material properties (input for simulation) are taken.

It can be specified as absolute path or relative to mat. data root (i.e. just dir. name) or relative to working directory.

Parameters:
inputProcessParametersInput parameters for which response is calculated. These parameters are combined with material parameters that are obtained from the material directory (parameter materialDirectory ) in order to produce a complete vector of parameters (that are stored to parameter inputJointParameters ).
inputJointParametersVector where joint parameters are stored (obtained be combination of material and process parameters).
outputValuesVector object where the calculated output values are stored after calculation.
virtual int IG::Num::SimJMatProFileManagerBase::CalculateSimulatedResponse ( SimCastingRobertFileManager  simulator,
string  materialDirectory,
ref SampledDataSet  sampledData,
params IVector[]  inputProcessParameters 
) [inline, protected, virtual]

Calculates response by the specified simulator, for the specified process parameter vectors and the specified material (specified by the material directory approximate path), and stores calculated data in the specified sampled data set (object of type SampledDataSet). If the specified data set is null then it is created anew, but if its input and output dimension don't match then exception is thrown.

Parameters:
simulatorSimulator of type SimCastingRobertFileManager used to perform the numerical simulation at specified material and process parameters.
materialDirectoryApproximate path to the material data directory from which material parameters and calculated material properties (input for simulation) are taken.

It can be specified as absolute path or relative to mat. data root (i.e. just dir. name) or relative to working directory.

Parameters:
sampledDataObject of type SampledDataSet where calculated response is stored. If it is null then it is created anew, fut if input and output dimensions don't match dimensions of the current object then exception is thrown.
inputProcessParametersInput parameters for which response is calculated. These parameters are combined with material parameters that are obtained from the material directory (parameter materialDirectory ) in order to produce a complete vector of parameters (that are stored to parameter inputJointParameters ).
Returns:
Number of actually calculated responses (i.e. the number of iput/output elements loaded to the dataset).
Exceptions:
ArgumentExceptionWhen data set for storing calculated responses (param. sampledData ) is specified but has incorrect input and output dimensions.
virtual int IG::Num::SimJMatProFileManagerBase::CalculateSimulatedResponse ( SimCastingRobertFileManager  simulator,
string  materialDirectory,
string  datasetName,
params IVector[]  inputProcessParameters 
) [inline, virtual]

Calculates response by the specified simulator, for the specified process parameter vectors and the specified material (specified by the material directory approximate path), and stores calculated data in the appropriate file in the material data directory (defined by the datasetName). Results of previous calculations may already be stored in the appropriate file within the material data directory (whose name is defined by parameter datasetName ). In this case, newly calculated results are added to the existend file. Otherwise, a new file within the material data directory is created to which results are stored.

Parameters:
simulatorSimulator of type SimCastingRobertFileManager used to perform the numerical simulation at specified material and process parameters.
materialDirectoryApproximate path to the material data directory from which material parameters and calculated material properties (input for simulation) are taken.

It can be specified as absolute path or relative to mat. data root (i.e. just dir. name) or relative to working directory.

Parameters:
datasetNameName of the data set that calculation refers to. This name defines the definition data for the specified calculation (which is not used here because process input paremeters are explicitly specified) and also the name of the file within the material directory where results of previous calculations for the same data set are stored and to which this mathod adds results of new calculations.
inputProcessParametersInput parameters for which response is calculated. These parameters are combined with material parameters that are obtained from the material directory (parameter materialDirectory ) in order to produce a complete vector of parameters (that are stored to parameter inputJointParameters ).
Returns:
Number of actually calculated responses (i.e. the number of iput/output elements loaded to the dataset).
Exceptions:
ArgumentExceptionWhen data set for storing calculated responses (param. sampledData ) is specified but has incorrect input and output dimensions.
virtual int IG::Num::SimJMatProFileManagerBase::CalculateSimulatedResponseDefault ( SimCastingRobertFileManager  simulator,
string  materialDirectory,
string  datasetName 
) [inline, virtual]

Calculates response by the specified simulator, for the specified process parameter vectors and the specified material (specified by the material directory approximate path), and stores calculated data in the appropriate file in the material data directory (defined by the datasetName). Results of previous calculations may already be stored in the appropriate file within the material data directory (whose name is defined by parameter datasetName ). In this case, newly calculated results are added to the existend file. Otherwise, a new file within the material data directory is created to which results are stored.

Parameters:
simulatorSimulator of type SimCastingRobertFileManager used to perform the numerical simulation at specified material and process parameters.
materialDirectoryApproximate path to the material data directory from which material parameters and calculated material properties (input for simulation) are taken.

It can be specified as absolute path or relative to mat. data root (i.e. just dir. name) or relative to working directory.

Parameters:
datasetNameName of the data set that calculation refers to. This name defines the definition data for the specified calculation (which is not used here because process input paremeters are explicitly specified) and also the name of the file within the material directory where results of previous calculations for the same data set are stored and to which this mathod adds results of new calculations.
Returns:
Number of actually calculated responses (i.e. the number of iput/output elements loaded to the dataset).
Exceptions:
ArgumentExceptionWhen data set for storing calculated responses (param. sampledData ) is specified but has incorrect input and output dimensions.
string IG::Num::SimJMatProFileManagerBase::GetSimulatorBaseDirectoryName ( int  whichSimulator) [inline]

Calculates and returns name of the base simulator directory with the specified index (zero-based).

Parameters:
whichSimulatorIndex of the simulator.
string IG::Num::SimJMatProFileManagerBase::GetSimulatorBaseDirectoryPath ( int  whichSimulator) [inline]

Calculates and returns path of the root simulator directory with the specified index (zero-based).

Parameters:
whichSimulatorIndex of the simulator.
virtual string IG::Num::SimJMatProFileManagerBase::GetSimulatorCastingRobertDirectoryPath ( int  whichsimulator) [inline, virtual]

Calculates and returns path of the Robert Vertnik's casting simulator's main directory with the specified index (zero-based).

Parameters:
whichSimulatorIndex of the simulator.
virtual void IG::Num::SimJMatProFileManagerBase::InitSimCastingRobert ( string  rootDirectory,
string  projectName,
string  simulationName 
) [inline, virtual]

Initializes the data for casting simulation interface.

Parameters:
rootDirectoryRoot directory of the simulator.
projectNameSimulator's project name.
simulationNameSimulation name.
virtual SimCastingRobertFileManager IG::Num::SimJMatProFileManagerBase::GetSimCastingRobert ( int  whichSimulator) [inline, protected, virtual]

Returns a newly created Robert Vertnik's casting simulator with the specified index (zero-based)

Parameters:
whichSimulatorIndex of the simulator.
void IG::Num::SimJMatProFileManagerBase::PrepareSimulatorData ( SimCastingRobertFileManager  simulator,
string  materialDirectoryPath 
) [inline]

Prepares input data for simulator, in particular the material properties, which are obtained from the material data directory whose path is specified.

Parameters:
simulatorSimulator for which data is prepared.
materialDirectoryPathPath to the material data directory.
virtual void IG::Num::SimJMatProFileManagerBase::CalculateSimulatedResponse ( SimCastingRobertFileManager  simulator,
string  materialDirectory,
IVector  inputProcessParameters,
ref IVector  inputJointParameters,
ref IVector  outputValues 
) [inline, virtual]

Calculates simulator's response at the specified process parameters, for the specified material directory (that specifies material parameters and properties), and stores joint input parameters and output values.

Parameters:
simulatorSimulator of type SimCastingRobertFileManager used to perform the numerical simulation at specified material and process parameters.
materialDirectoryApproximate path to the material data directory from which material parameters and calculated material properties (input for simulation) are taken.

It can be specified as absolute path or relative to mat. data root (i.e. just dir. name) or relative to working directory.

Parameters:
inputProcessParametersInput parameters for which response is calculated. These parameters are combined with material parameters that are obtained from the material directory (parameter materialDirectory ) in order to produce a complete vector of parameters (that are stored to parameter inputJointParameters ).
inputJointParametersVector where joint parameters are stored (obtained be combination of material and process parameters).
outputValuesVector object where the calculated output values are stored after calculation.
virtual int IG::Num::SimJMatProFileManagerBase::CalculateSimulatedResponse ( SimCastingRobertFileManager  simulator,
string  materialDirectory,
ref SampledDataSet  sampledData,
params IVector[]  inputProcessParameters 
) [inline, protected, virtual]

Calculates response by the specified simulator, for the specified process parameter vectors and the specified material (specified by the material directory approximate path), and stores calculated data in the specified sampled data set (object of type SampledDataSet). If the specified data set is null then it is created anew, but if its input and output dimension don't match then exception is thrown.

Parameters:
simulatorSimulator of type SimCastingRobertFileManager used to perform the numerical simulation at specified material and process parameters.
materialDirectoryApproximate path to the material data directory from which material parameters and calculated material properties (input for simulation) are taken.

It can be specified as absolute path or relative to mat. data root (i.e. just dir. name) or relative to working directory.

Parameters:
sampledDataObject of type SampledDataSet where calculated response is stored. If it is null then it is created anew, fut if input and output dimensions don't match dimensions of the current object then exception is thrown.
inputProcessParametersInput parameters for which response is calculated. These parameters are combined with material parameters that are obtained from the material directory (parameter materialDirectory ) in order to produce a complete vector of parameters (that are stored to parameter inputJointParameters ).
Returns:
Number of actually calculated responses (i.e. the number of iput/output elements loaded to the dataset).
Exceptions:
ArgumentExceptionWhen data set for storing calculated responses (param. sampledData ) is specified but has incorrect input and output dimensions.
virtual int IG::Num::SimJMatProFileManagerBase::CalculateSimulatedResponse ( SimCastingRobertFileManager  simulator,
string  materialDirectory,
string  datasetName,
params IVector[]  inputProcessParameters 
) [inline, virtual]

Calculates response by the specified simulator, for the specified process parameter vectors and the specified material (specified by the material directory approximate path), and stores calculated data in the appropriate file in the material data directory (defined by the datasetName). Results of previous calculations may already be stored in the appropriate file within the material data directory (whose name is defined by parameter datasetName ). In this case, newly calculated results are added to the existend file. Otherwise, a new file within the material data directory is created to which results are stored.

Parameters:
simulatorSimulator of type SimCastingRobertFileManager used to perform the numerical simulation at specified material and process parameters.
materialDirectoryApproximate path to the material data directory from which material parameters and calculated material properties (input for simulation) are taken.

It can be specified as absolute path or relative to mat. data root (i.e. just dir. name) or relative to working directory.

Parameters:
datasetNameName of the data set that calculation refers to. This name defines the definition data for the specified calculation (which is not used here because process input paremeters are explicitly specified) and also the name of the file within the material directory where results of previous calculations for the same data set are stored and to which this mathod adds results of new calculations.
inputProcessParametersInput parameters for which response is calculated. These parameters are combined with material parameters that are obtained from the material directory (parameter materialDirectory ) in order to produce a complete vector of parameters (that are stored to parameter inputJointParameters ).
Returns:
Number of actually calculated responses (i.e. the number of iput/output elements loaded to the dataset).
Exceptions:
ArgumentExceptionWhen data set for storing calculated responses (param. sampledData ) is specified but has incorrect input and output dimensions.
virtual int IG::Num::SimJMatProFileManagerBase::CalculateSimulatedResponseDefault ( SimCastingRobertFileManager  simulator,
string  materialDirectory,
string  datasetName 
) [inline, virtual]

Calculates response by the specified simulator, for the specified process parameter vectors and the specified material (specified by the material directory approximate path), and stores calculated data in the appropriate file in the material data directory (defined by the datasetName). Results of previous calculations may already be stored in the appropriate file within the material data directory (whose name is defined by parameter datasetName ). In this case, newly calculated results are added to the existend file. Otherwise, a new file within the material data directory is created to which results are stored.

Parameters:
simulatorSimulator of type SimCastingRobertFileManager used to perform the numerical simulation at specified material and process parameters.
materialDirectoryApproximate path to the material data directory from which material parameters and calculated material properties (input for simulation) are taken.

It can be specified as absolute path or relative to mat. data root (i.e. just dir. name) or relative to working directory.

Parameters:
datasetNameName of the data set that calculation refers to. This name defines the definition data for the specified calculation (which is not used here because process input paremeters are explicitly specified) and also the name of the file within the material directory where results of previous calculations for the same data set are stored and to which this mathod adds results of new calculations.
Returns:
Number of actually calculated responses (i.e. the number of iput/output elements loaded to the dataset).
Exceptions:
ArgumentExceptionWhen data set for storing calculated responses (param. sampledData ) is specified but has incorrect input and output dimensions.

Member Data Documentation

object IG::Num::SimJMatProFileManagerBase::_mainLock = new object() [private]
object IG::Num::SimJMatProFileManagerBase::_internalLock = new object() [private]
string IG::Num::SimJMatProFileManagerBase::_lockFileMutexName = SimJMatProConst.LockFileMutexName [protected]
int IG::Num::SimJMatProFileManagerBase::_outputLevel = Util.OutputLevel [private]
string IG::Num::SimJMatProFileManagerBase::_jmatCompositionFilename = SimJMatProConst.JmatCompositionRelativepath [protected]
string IG::Num::SimJMatProFileManagerBase::_jmatResultsFilename = SimJMatProConst.JMatResultsRelativePath [protected]
string IG::Num::SimJMatProFileManagerBase::_jmatCompletionDetectionFilename = SimJMatProConst.JMatCompletionDetectionRelativePath [protected]
double IG::Num::SimJMatProFileManagerBase::_jmatCompletionDetectionSleepTimeSeconds = SimJMatProConst.JMatCompletionDetectionSleepTimeSeconds [protected]
int IG::Num::SimJMatProFileManagerBase::_jmatCompletionDetectionSize = SimJMatProConst.JmatCompletionDetectionSize [protected]
double IG::Num::SimJMatProFileManagerBase::_jmatBeforeSaveSleepTimeSeconds = SimJMatProConst.JMatBeforeSaveSleepTimeSeconds [protected]
string IG::Num::SimJMatProFileManagerBase::_dataDefinitionSupersetFilename = SimJMatProConst.DataDefinitionSupersetFilename [protected]
string IG::Num::SimJMatProFileManagerBase::_dataDefinitionJMatFilename = SimJMatProConst.DataDefinitionJMatFilename [protected]
string IG::Num::SimJMatProFileManagerBase::_dataDefinitionProcessFilename = SimJMatProConst.DataDefinitionProcessFilename [protected]
string IG::Num::SimJMatProFileManagerBase::_dataDefinitionJointFilename = SimJMatProConst.DataDefinitionJointFilename [protected]
InputOutputDataDefiniton IG::Num::SimJMatProFileManagerBase::_dataDefinitionJMat [protected]
InputOutputDataDefiniton IG::Num::SimJMatProFileManagerBase::_dataDefinitionProcess [protected]
InputOutputDataDefiniton IG::Num::SimJMatProFileManagerBase::_dataDefinitionJoint [protected]
string IG::Num::SimJMatProFileManagerBase::_materialParametersDefFilename = SimJMatProConst.MaterialParametersDefFilename [protected]
string IG::Num::SimJMatProFileManagerBase::_rootDataDirectoryname = SimJMatProConst.RootDataDirectoryName [protected]
string IG::Num::SimJMatProFileManagerBase::_logFileName = SimJMatProConst.LogfileName [protected]
string IG::Num::SimJMatProFileManagerBase::_materialParametersFilename = SimJMatProConst.MaterialParametersFilename [protected]
string IG::Num::SimJMatProFileManagerBase::_materialCompositionFilename = SimJMatProConst.JMatCompositionFilename [protected]
string IG::Num::SimJMatProFileManagerBase::_materialResultsFilename = SimJMatProConst.JMatResultsFilename [protected]
int IG::Num::SimJMatProFileManagerBase::_jMatResultsMinimalSize = SimJMatProConst.JMatResultsMinimalSize [protected]
int IG::Num::SimJMatProFileManagerBase::_jMatResultsGoodSize = SimJMatProConst.JMatResultsGoodSize [protected]
string IG::Num::SimJMatProFileManagerBase::_msgMaterialCalculationBusyFilename = SimJMatProConst.MsgMaterialCalculationBusyFilename [protected]
string IG::Num::SimJMatProFileManagerBase::_msgMaterialCalculationFinishedFilename = SimJMatProConst.MsgMaterialCalculationFinishedFilename [protected]
string IG::Num::SimJMatProFileManagerBase::_msgMaterialCalculationTimedoutFilename = SimJMatProConst.MsgMaterialCalculationTimedoutFilename [protected]
string IG::Num::SimJMatProFileManagerBase::_storageMaterialCalculatedDirectoryname = SimJMatProConst.StorageMaterialCalculatedDirectoryname [protected]
string IG::Num::SimJMatProFileManagerBase::_storageBusyFlagSetDirectoryname = SimJMatProConst.StorageBusyFlagSetDirectoryname [protected]
string IG::Num::SimJMatProFileManagerBase::_storageTimedoutDirectoryname = SimJMatProConst.StorageTimedoutDirectoryname [protected]
string IG::Num::SimJMatProFileManagerBase::_storageMaterialCalculationFailedDirectoryname = SimJMatProConst.StorageMaterialCalculationFailedDirectoryname [protected]
string IG::Num::SimJMatProFileManagerBase::_storageMaterialMaterialDataCorruptedDirectoryname = SimJMatProConst.StorageMaterialDataCorruptedDirectoryname [protected]
double IG::Num::SimJMatProFileManagerBase::_waitSleepTimeSeconds = SimJMatProConst.WaitSleepTime [protected]
string IG::Num::SimJMatProFileManagerBase::_userInteractionCommand = SimJMatProConst.UserInteractionCommand
string IG::Num::SimJMatProFileManagerBase::_userInteractionRecordDir = SimJMatProConst.DefaultUserInteractionRecordDir
string IG::Num::SimJMatProFileManagerBase::_userInteractionRecordExtension = SimJMatProConst.UserInteractionRecordExtension
string IG::Num::SimJMatProFileManagerBase::_userInteractionRecordNameStartJMat = SimJMatProConst.UserInteractionRecordNameStartJMat
string IG::Num::SimJMatProFileManagerBase::_userInteractionRecordNameCloseJMat = SimJMatProConst.UserInteractionRecordNameCloseJMat
string IG::Num::SimJMatProFileManagerBase::_userInteractionRecordNameRepairJMat = SimJMatProConst.UserInteractionRecordNameRepairJMat
string IG::Num::SimJMatProFileManagerBase::_userInteractionRecordNameStartCalculation = SimJMatProConst.UserInteractionRecordNameStartCalculation
string IG::Num::SimJMatProFileManagerBase::_userInteractionRecordNameSaveResults = SimJMatProConst.UserInteractionRecordNameSaveResults
double IG::Num::SimJMatProFileManagerBase::_jMatTimeoutWaitCalculationSeconds = SimJMatProConst.JMatTimeoutWaitCalculationSeconds
string IG::Num::SimJMatProFileManagerBase::_processNameSubstringJava = SimJMatProConst.ProcessNameSubstringJava [protected]
string IG::Num::SimJMatProFileManagerBase::_processNameSubstringJMatMain = SimJMatProConst.ProcessNameSubstringJMatMain [protected]
string IG::Num::SimJMatProFileManagerBase::_processNameSubstringJMatSolver = SimJMatProConst.ProcessNameSubstringJMatSolver [protected]

Storage of composition data.

static bool IG::Num::SimJMatProFileManagerBase::_elementsInitialized = false [static, protected]
string IG::Num::SimJMatProFileManagerBase::_dataDefinitionJMatFilenameNoNitrogen = SimJMatProConst.DataDefinitionJMatFilenameNoNitrogen [protected]
string IG::Num::SimJMatProFileManagerBase::_dataDefinitionJointFilenameNoNitrogen = SimJMatProConst.DataDefinitionJointFilenameNoNitrogen [protected]
string IG::Num::SimJMatProFileManagerBase::_msgMaterialResultsWrongFilename = SimJMatProConst.MsgMaterialResultsWrongFilename [protected]
string IG::Num::SimJMatProFileManagerBase::_userInteractionRecordNameChangeTemperatureUnit = SimJMatProConst.UserInteractionRecordNameChangeTemperatureUnit [protected]
string IG::Num::SimJMatProFileManagerBase::_userInteractionRecordNameChangeFractionUnit = SimJMatProConst.UserInteractionRecordNameChangeFractionUnit [protected]
double IG::Num::SimJMatProFileManagerBase::_jMatTimeoutWaitResultsSavedSeconds = SimJMatProConst.JMatTimeoutWaitResultsSavedSeconds
int IG::Num::SimJMatProFileManagerBase::_jMatResultsSavedDetectionSize = SimJMatProConst.JMatResultsSavedDetectionSize [protected]
double IG::Num::SimJMatProFileManagerBase::_jMatBeforeResultsSavedSleepTimeSeconds = SimJMatProConst.JMatBeforeResultsSavedSleepTimeSeconds [protected]
string IG::Num::SimJMatProFileManagerBase::_rootSimulationDirectoryname = SimJMatProConst.RootSimulationDirectoryName [protected]
string IG::Num::SimJMatProFileManagerBase::_simulatorCastingRobertDirectoryname = SimJMatProConst.SimulatorCastingRobertDirectoryname [protected]

Property Documentation

object IG::Num::SimJMatProFileManagerBase::Lock [get]

This object's central lock object to be used by other object. Do not use this object for locking in class' methods, for this you should use InternalLock.

object IG::Num::SimJMatProFileManagerBase::InternalLock [get, protected]

Used internally for locking access to internal fields.

string IG::Num::SimJMatProFileManagerBase::LockFileMutexName [get, set]

Name of the mutex for system-wide locking of files.

Mutex IG::Num::SimJMatProFileManagerBase::LockFileMutex [get, protected]

Mutex for system-wide exclusive locks for file system operations related to the current class.

int IG::Num::SimJMatProFileManagerBase::OutputLevel [get, set]

Level of information that is output to the console by some methods.

abstract string IG::Num::SimJMatProFileManagerBase::NameJMatProBase [get, set]

Name of the JMatPro directory (without root directories) and executable.

Reimplemented in IG::Num::SimJMatProFileManager4_0.

string IG::Num::SimJMatProFileManagerBase::JMatInstallationPath [get, set]

Path of the directory where JMAtPro executable is located. Setter takes only pure directory name, without path information. If set to null then directory path is set to null and will be recalculated when getter is called.

string IG::Num::SimJMatProFileManagerBase::JMatExecutableFileName [get, set]

JMatPro executable relative path to installation directory.

string IG::Num::SimJMatProFileManagerBase::JMatExecutableFilePath [get, set]

Path to the JMatPro executable.

string IG::Num::SimJMatProFileManagerBase::JMatDataPath [get, set]

Path to the JMatPro data directory (containing material data, input and output data, etc.)

By default, this path is just set to installation path (in version 4.0, all data is stored in installation directory).

string IG::Num::SimJMatProFileManagerBase::JMatCompositionFilename [get, set]

Relative path, with respect to JMatPro data directory, of the file containing material composition (input for JMatPro calculation).

string IG::Num::SimJMatProFileManagerBase::JMatCompositionFilePath [get, set]

Path of the file containing material composition (input for JMatPro calculation).

string IG::Num::SimJMatProFileManagerBase::JMatResultsFilename [get, set]

Relative path, with respect to JMatPro data directory, of the file containing material results of JMatPro calculation.

string IG::Num::SimJMatProFileManagerBase::JMatResultsFilePath [get, set]

Path of the file containing results of JMatPro calculation.

string IG::Num::SimJMatProFileManagerBase::JMatCompletionDetectionFilename [get, set]

Relative path, with respect to JMatPro data directory, of the file used to detect whether calculation is still going on.

string IG::Num::SimJMatProFileManagerBase::JMatCompletionDetectionFilePath [get, set]

Path of the file used to detect whether calculation is still going on.

double IG::Num::SimJMatProFileManagerBase::JMatCompletionDetectionSleepTimeSeconds [get, set]

Sleeping time used in detectiong whether JMatPro calculation is still going on.

int IG::Num::SimJMatProFileManagerBase::JMatCompletionDetectionSize [get, set]

Minimal size of calculation detection file above which calculation is considered finished.

double IG::Num::SimJMatProFileManagerBase::JMatBeforeSaveSleepTimeSeconds [get, set]

Waiting time (in seconds) after last increase in file size used before thinking that calculation is finished, to eventually prevent too early detection that calculation was finished.

Waiting time (in seconds) after last increase in file size used before assuming that calculation is finished, to eventually prevent too early detection that calculation was finished.

bool IG::Num::SimJMatProFileManagerBase::CheckWorkingDirectoryExistence [get, set]

Whether existence of working directory is checked when directory is created. Default is true.

string IG::Num::SimJMatProFileManagerBase::WorkingDirectory [get, set]

Working directory where configuration files and other files are located.

string IG::Num::SimJMatProFileManagerBase::DataDefinitionSupersetFilename [get, set]

Name of the file containing definition data for the superset of all input parameters and output values.

This file may contain descriptions for more parameters and output values than those used, but it must contain all these parameters.

string IG::Num::SimJMatProFileManagerBase::DataDefinitionSupersetFilePath [get, set]

Path to the file containing definition data for the superset of all input parameters and output values.

This file may contain descriptions for more parameters and output values than those used, but it must contain all these parameters.

string IG::Num::SimJMatProFileManagerBase::DataDefinitionJMatFilename [get, set]

Name of the file containing data definition for all JMatPro input parameters (i.e. material composition expressed as mass fractions for individual parameters).

string IG::Num::SimJMatProFileManagerBase::DataDefinitionJMatFilePath [get, set]

Path to the file containing data definition for all JMatPro input parameters (i.e. material composition expressed as mass fractions for individual parameters).

string IG::Num::SimJMatProFileManagerBase::DataDefinitionProcessFilename [get, set]

Name of the file containing data definition for all process input and output parameters.

string IG::Num::SimJMatProFileManagerBase::DataDefinitionProcessFilePath [get, set]

Path to the file containing data definition for all process input and output parameters.

string IG::Num::SimJMatProFileManagerBase::DataDefinitionJointFilename [get, set]

Name of the file containing definition data for the superset of all input parameters and output values. This incluses definition of material parameters (i.e. composition expressed by mass fractions) followed by process parameters.

string IG::Num::SimJMatProFileManagerBase::DataDefinitionJointFilePath [get, set]

Path to the file containing definition data for the Joint of all input parameters and output values. This incluses definition of material parameters (i.e. composition expressed by mass fractions) followed by process parameters.

InputOutputDataDefiniton IG::Num::SimJMatProFileManagerBase::DataDefinitionSuperset [get, set]

Data definitions for the superset of all input parameters and output values.

This may contain descriptions for more parameters and output values than those used, but it must contain all these parameters.

InputOutputDataDefiniton IG::Num::SimJMatProFileManagerBase::DataDefinitionJMat [get, set]

Data definitions for all JMatPro input parameters (i.e. material composition expressed as mass fractions for individual parameters).

IBoundingBox IG::Num::SimJMatProFileManagerBase::MaterialParameterBounds [get, set]

Bounds on neural input parameters.

InputOutputDataDefiniton IG::Num::SimJMatProFileManagerBase::DataDefinitionProcess [get, set]

Data definitions for the Process parameters and output values.

InputOutputDataDefiniton IG::Num::SimJMatProFileManagerBase::DataDefinitionJoint [get, set]

Data definitions for all input parameters and output values, including material and process parameters.

int IG::Num::SimJMatProFileManagerBase::NumMaterialParameters [get]

Gets the number of material parameters.

int IG::Num::SimJMatProFileManagerBase::NumProcessParameters [get]

Gets the number of process parameters.

int IG::Num::SimJMatProFileManagerBase::NumParameters [get]

Gets the total number of all parameters.

int IG::Num::SimJMatProFileManagerBase::NumOutputValues [get]

Gets the number of output values for the process.

string IG::Num::SimJMatProFileManagerBase::WorkingMaterialParametersPath [get, set]

File path of the file in working directory where material parameters for calculation are stored. If set to null then path is set to null and will be recalculated when getter is called.

string IG::Num::SimJMatProFileManagerBase::MaterialParametersDefFilename [get, set]

Name of the file in material data directory where material parameters are stored.

string IG::Num::SimJMatProFileManagerBase::WorkingMaterialParametersDefPath [get, set]

File path of the file in working directory where material parameters for calculation are stored as default values in a data definition file. If set to null then path is set to null and will be recalculated when getter is called.

string IG::Num::SimJMatProFileManagerBase::RootDataDirectoryName [get, set]

Name of the root data directory.

string IG::Num::SimJMatProFileManagerBase::RootDataDirectoryPath [get, set]

Path to the root directory that contains directories with calculated material data for different parameters defining chemical compositions.

string IG::Num::SimJMatProFileManagerBase::LogFileName [get, set]

Name of the log file where operations are logged.

string IG::Num::SimJMatProFileManagerBase::LogFilePath [get, set]

Path to the log file where basic operations are logged.

TextWriter IG::Num::SimJMatProFileManagerBase::LogFileWriter [get, set]

Textwriter for log file.

string IG::Num::SimJMatProFileManagerBase::MaterialDirectoryName [get, set]

Name of the material directory. Getter forms name form material parameters if it is not specified. And vice versa, setting parameters will set the name (and consequently the material directory path) to null.

string IG::Num::SimJMatProFileManagerBase::MaterialDataDirectoryPath [get, set]

Data directory for the current material parameters.

string IG::Num::SimJMatProFileManagerBase::MaterialParametersFilename [get, set]

Name of the file in material data directory where material parameters are stored.

string IG::Num::SimJMatProFileManagerBase::MaterialParametersPath [get, set]

File path of the file where material parameters are stored. If set to null then path is set to null and will be recalculated when getter is called.

string IG::Num::SimJMatProFileManagerBase::MaterialCompositionFilename [get, set]

Name of the file in material data directory where material composition is stored.

string IG::Num::SimJMatProFileManagerBase::MaterialCompositionPath [get, set]

File path of the file (normally in the material data directory) where material composition is stored. If set to null then path is set to null and will be recalculated when getter is called.

string IG::Num::SimJMatProFileManagerBase::MaterialResultsFilename [get, set]

Name of the file in material data directory where material results are stored.

string IG::Num::SimJMatProFileManagerBase::MaterialResultsPath [get, set]

File path of the file (normally in the material data directory) where material reslts are stored. If set to null then path is set to null and will be recalculated when getter is called.

int IG::Num::SimJMatProFileManagerBase::JMatResultsMinimalSize [get, set]

Minimal size of JMatPro results file in order to consider results valid. Used to check the validity of the results.

int IG::Num::SimJMatProFileManagerBase::JMatResultsGoodSize [get, set]

Size of the materials result file that is considered a good size - the file is expected to be at least of this size if calculation was performed without errors.

string IG::Num::SimJMatProFileManagerBase::MsgMaterialCalculationBusyPath [get, set]

File path of the material calculation in progress flag file. Setter takes only pure file name, without path information. If set to null then path is set to null and will be recalculated when getter is called.

string IG::Num::SimJMatProFileManagerBase::MsgMaterialCalculationFinishedPath [get, set]

File path of the "material calculation finished" flag file. Setter takes only pure file name, without path information. If set to null then path is set to null and will be recalculated when getter is called.

string IG::Num::SimJMatProFileManagerBase::MsgMaterialCalculationTimedoutPath [get, set]

File path of the "material calculation timeout occurred" flag file. Setter takes only pure file name, without path information. If set to null then path is set to null and will be recalculated when getter is called.

string IG::Num::SimJMatProFileManagerBase::StorageMaterialCalculatedDirectoryname [get, set]

Name of the storage directory for material directories for which material properties have been successfully calculated.

string IG::Num::SimJMatProFileManagerBase::StorageMaterialCalculatedDirectoryPath [get, set]

Path to the storage directory for material directories for which material properties have been successfully calculated.

string IG::Num::SimJMatProFileManagerBase::StorageBusyFlagSetDirectoryname [get, set]

Name of the storage directory for material directories for which busy flag remained set.

string IG::Num::SimJMatProFileManagerBase::StorageBusyFlagSetDirectoryPath [get, set]

Path to the storage directory for material directories for which busy flag remained set.

string IG::Num::SimJMatProFileManagerBase::StorageTimedoutDirectoryname [get, set]

Name of the storage directory for material directories for which material properties calculation has timed out.

string IG::Num::SimJMatProFileManagerBase::StorageTimedoutDirectoryPath [get, set]

Path to the storage directory for material directories for which material properties calculation has timed out.

string IG::Num::SimJMatProFileManagerBase::StorageMaterialCalculationFailedDirectoryname [get, set]

Path to the storage directory for material directories for which calculation of material properties has failed.

string IG::Num::SimJMatProFileManagerBase::StorageMaterialCalculationFailedDirectoryPath [get, set]

Path to the storage directory for material directories for which calculation of material properties has failed.

string IG::Num::SimJMatProFileManagerBase::StorageMaterialMaterialDataCorruptedDirectoryname [get, set]

Path to the storage directory for material directories for which calculation of material properties has failed.

string IG::Num::SimJMatProFileManagerBase::StorageMaterialMaterialDataCorruptedDirectoryPath [get, set]

Path to the storage directory for material directories for which calculation of material properties has failed.

string IG::Num::SimJMatProFileManagerBase::UserInteractionCommand [get, set]

Command for playback of recorded user interaction (i.e. emulation of keyboard and mouse events) for various actions.

string IG::Num::SimJMatProFileManagerBase::UserInteractionRecordDir [get, set]

Dierctory containing recorded user interactions for different actions.

string IG::Num::SimJMatProFileManagerBase::UserInteractionRecordExtension [get, set]

Extension of files with recorded user interaction.

string IG::Num::SimJMatProFileManagerBase::UserInteractionRecordNameStartJMat [get, set]

Name of the user interaction record for starting JMatPro software via system GUI.

string IG::Num::SimJMatProFileManagerBase::UserInteractionRecordPathStartJMat [get, set]

Name of the user interaction record for closing JMatPro software via system GUI.

string IG::Num::SimJMatProFileManagerBase::UserInteractionRecordNameCloseJMat [get, set]

Name of the user interaction record for closing JMatPro software normally via GUI.

string IG::Num::SimJMatProFileManagerBase::UserInteractionRecordPathCloseJMat [get, set]

Name of the user interaction record for closing JMatPro software normally via GUI.

string IG::Num::SimJMatProFileManagerBase::UserInteractionRecordNameRepairJMat [get, set]

Name of the file containing records of user interaction necessary repair JMatPro in case it is damaged or another unwanted copy is running.

string IG::Num::SimJMatProFileManagerBase::UserInteractionRecordPathRepairJMat [get, set]

Path of the file containing records of user interaction necessary repair JMatPro in case it is damaged or another unwanted copy is running.

string IG::Num::SimJMatProFileManagerBase::UserInteractionRecordNameStartCalculation [get, set]

Name of the file containing recors of user interaction necessary to start JMatPro.

string IG::Num::SimJMatProFileManagerBase::UserInteractionRecordPathStartCalculation [get, set]

Name of the file containing recors of user interaction necessary to start JMatPro.

string IG::Num::SimJMatProFileManagerBase::UserInteractionRecordNameSaveResults [get, set]

Name of the file containing records of user interaction necessary to save results of JMatPro calculation.

string IG::Num::SimJMatProFileManagerBase::UserInteractionRecordPathSaveResults [get, set]

Path to the file containing recors of user interaction necessary to save results of JMatPro calculation.

double IG::Num::SimJMatProFileManagerBase::JMatTimeoutWaitCalculationSeconds [get, set]

Timeout for waiting completion of calculation, in seconds. If greater than 0 and results of calculation are waiter for more time than the timeout specifies, waiting is broken and it is considered that calculation could not be completed.

string IG::Num::SimJMatProFileManagerBase::ProcessNameSubstringJava [get, set]

Substring of java virtual machine process name, used to kill the process or check whether it is running.

string IG::Num::SimJMatProFileManagerBase::ProcessNameSubstringJMatMain [get, set]

Substring of JMatPro main process name, used to kill the process or check whether it is running.

string IG::Num::SimJMatProFileManagerBase::ProcessNameSubstringJMatSolver [get, set]

Substring of JMatPro solver process name, used to kill the process or check whether it is running.

IVector IG::Num::SimJMatProFileManagerBase::MaterialParameters [get, set]

Parameters that define chemical composition of steel for which material properties are calculated.

IRandomGenerator IG::Num::SimJMatProFileManagerBase::Random [get, set]

Random generator used by the current object. Lazy evaluation, created when needed for the first time.The generator is thread safe and initialized with a time dependent seed.

List< JMatProElemetData > IG::Num::SimJMatProFileManagerBase::Elements [get, set, protected]

List of element data to be used in JMatPro.

string [] IG::Num::SimJMatProFileManagerBase::CompositionElementSymbols [get, set, protected]

Array of element symbols sorted as required gor the JMatPro input file.

string IG::Num::SimJMatProFileManagerBase::SymbolIron [get]
virtual string IG::Num::SimJMatProFileManagerBase::DataDefinitionJMatFilenameNoNitrogen [get, set]

Name of the file containing data definition for all JMatPro input parameters (i.e. material composition expressed as mass fractions for individual parameters).

virtual string IG::Num::SimJMatProFileManagerBase::DataDefinitionJMatFilePathNoNitrogen [get, set]

Path to the file containing data definition for all JMatPro input parameters (i.e. material composition expressed as mass fractions for individual parameters).

virtual string IG::Num::SimJMatProFileManagerBase::DataDefinitionJointFilenameNoNitrogen [get, set]

Name of the file containing definition data for the superset of all input parameters and output values. This incluses definition of material parameters (i.e. composition expressed by mass fractions) followed by process parameters.

virtual string IG::Num::SimJMatProFileManagerBase::DataDefinitionJointFilePathNoNitrogen [get, set]

Path to the file containing definition data for the Joint of all input parameters and output values. This incluses definition of material parameters (i.e. composition expressed by mass fractions) followed by process parameters.

virtual string IG::Num::SimJMatProFileManagerBase::MsgMaterialResultsWrongPath [get, set]

File path of the "material results wrong" flag file. Setter takes only pure file name, without path information. If set to null then path is set to null and will be recalculated when getter is called.

virtual string IG::Num::SimJMatProFileManagerBase::UserInteractionRecordNameChangeTemperatureUnit [get, set]

Name of the file containing records of user interaction necessary to change temperature uits in JMatPro that is already launched.

virtual string IG::Num::SimJMatProFileManagerBase::UserInteractionRecordPathChangeTemperatureUnit [get, set]

Path to the file containing recors of user interaction necessary to change temperature uits in JMatPro that is already launched.

virtual string IG::Num::SimJMatProFileManagerBase::UserInteractionRecordNameChangeFractionUnit [get, set]

Name of the file containing records of user interaction necessary to change fraction uits in JMatPro that is already launched.

virtual string IG::Num::SimJMatProFileManagerBase::UserInteractionRecordPathChangeFractionUnit [get, set]

Path to the file containing recors of user interaction necessary to change fraction uits in JMatPro that is already launched.

virtual double IG::Num::SimJMatProFileManagerBase::JMatTimeoutWaitResultsSavedSeconds [get, set]

Timeout for waiting until results are completely saved, in seconds. If greater than 0 and saving results is waited for more time than the timeout specifies, waiting is broken and it is considered that saving could not be completed.

virtual int IG::Num::SimJMatProFileManagerBase::JMatResultsSavedDetectionSize [get, set]

Minimal size of result file file, above which saving results can be considered finished.

virtual double IG::Num::SimJMatProFileManagerBase::JMatBeforeResultsSavedSleepTimeSeconds [get, set]

Waiting time (in seconds) after last increase in file size used before assuming that saving result is finished, to eventually prevent too early detection that calculation was finished.

CalculationStatus IG::Num::SimJMatProFileManagerBase::MaterialCalculationStatus [get, set]

Status of the last material calculation. At the beginning of each material calculation, status is set to CalculationStatus.None.

StopWatch IG::Num::SimJMatProFileManagerBase::MaterialCalculationTimer [get]

Timer for measuring total calculation time in methods that perform multiple material calculations.

double IG::Num::SimJMatProFileManagerBase::LongestMaterialCalculationTime [get, set]

Longest material calculation time by now, reset at the beginning of every top level calculation function.

double IG::Num::SimJMatProFileManagerBase::MaterialCalculationTime [get, set]
int IG::Num::SimJMatProFileManagerBase::NumMaterialCalculationsIntended [get, set]

Total number of intended material calculations attempted by now.k Reset at the beginning of every top level calculations.

int IG::Num::SimJMatProFileManagerBase::NumMaterialCalculationsPerformed [get, set]

Number of (completed) material calculations attempted by now. Reset at the beginning of every top level calculations.

int IG::Num::SimJMatProFileManagerBase::NumMaterialCalculationsSuccessful [get, set]

Number of material calculations by now that have successfully completed. Reset at the beginning of every top level calculations.

int IG::Num::SimJMatProFileManagerBase::NumMaterialCalculationsTimedout [get, set]

Number of material calculations by now where timeout occurred. Reset at the beginning of every top level calculations.

int IG::Num::SimJMatProFileManagerBase::NumMaterialCalculationsUnsuccessful [get, set]

Number of material calculations by now where calculation has failed. Reset at the beginning of every top level calculations.

int IG::Num::SimJMatProFileManagerBase::NumconsecutiveMaterialCalculationsUnsuccessful [get, set]

Number fo consecutive events where material calculation was not successfule.

int IG::Num::SimJMatProFileManagerBase::NumconsecutiveMaterialCalculationTimedout [get, set]

Number fo consecutive events where timeout occurred during material calculation.

int IG::Num::SimJMatProFileManagerBase::NumconsecutiveMaterialCalculationsSuccessful [get, set]

Number fo consecutive events where material calculation was not successful.

string IG::Num::SimJMatProFileManagerBase::ProjectName [get, set]

Name of the current project, used in some simulation and other interfaces.

string IG::Num::SimJMatProFileManagerBase::SimulationName [get, set]

Name of the current simulation, used in some simulation and other interfaces.

string IG::Num::SimJMatProFileManagerBase::RootSimulationDirectoryName [get, set]

Name of the root simulation directory.

string IG::Num::SimJMatProFileManagerBase::RootSimulationDirectoryPath [get, set]

Path to the root simulator directory that contains directories with simulators' data (there may be more than one such directory in the case of parallel simulators.

string IG::Num::SimJMatProFileManagerBase::SimulatorBaseTemplateDirectoryname [get, set]

Name of the simulator template directory. This is the root simulator directory that contains all simuator related data and must be copied in order to produce a new active simulator.

string IG::Num::SimJMatProFileManagerBase::SimulatorBaseTemplateDirectoryPath [get, set]

Path to the simulator template directory. This is the root simulator directory that contains all simuator related data and must be copied in order to produce a new active simulator.

string IG::Num::SimJMatProFileManagerBase::SimulatorCastingRobertDirectoryname [get, set]

Name of the main directory of the Robert Vertnik's casting simulator.

string IG::Num::SimJMatProFileManagerBase::SimCastingRobertProjectName [get, set, protected]

Project name for interfacing Robert Vertnik's casting simulator.

string IG::Num::SimJMatProFileManagerBase::SimCastingRobertSimulationName [get, set, protected]

Simulation name for interfacing Robert Vertnik's casting simulator.

int IG::Num::SimJMatProFileManagerBase::WhichSimulator [get, set]

Specifies which simulator is in use by the current file manager (this is 0 if simulators are not run in parallel and there is a single simulator).

string IG::Num::SimJMatProFileManagerBase::SimulatorBaseDirectoryPath [get, set]

Path to the base directory of the current simulator in use. This directory is directly contained in the.

string IG::Num::SimJMatProFileManagerBase::SimCastingRobertRootDirectoryPath [get, set]

Path of the main directory of the Robert Vertnik's casting simulator that is currently in use.

SimCastingRobertFileManager IG::Num::SimJMatProFileManagerBase::SimCastingRobertFM [get, set]

File manager for interfacing Robert Vertnik's casting simulator. Lazy evaluation: The object is created when first accessed, if possible. For this, ProjectName, SimulationName and SimCastingRobertRootDirectoryPath must be defined.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Enumerations Properties