首次提交
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,58 @@
|
||||
% Configure the installed Ansys Electronics Desktop MATLAB coupling interface.
|
||||
|
||||
lemModelDir = fileparts(mfilename('fullpath'));
|
||||
lemProjectFile = fullfile(fileparts(lemModelDir), 'LinearSimulink.aedt');
|
||||
assert(isfile(lemProjectFile), ...
|
||||
'LEM:MissingAedtProject', ...
|
||||
'The coupled AEDT project does not exist: %s', lemProjectFile);
|
||||
|
||||
lemAnsysRoot = getenv('ANSYSEM_ROOT252');
|
||||
assert(~isempty(lemAnsysRoot) && isfolder(lemAnsysRoot), ...
|
||||
'LEM:MissingAnsysInstallation', ...
|
||||
'ANSYSEM_ROOT252 is not configured or does not point to an Ansys installation.');
|
||||
|
||||
lemInterfaceRoot = fullfile(lemAnsysRoot, 'cpl', 'matlab');
|
||||
lemInterfaceFolders = dir(fullfile(lemInterfaceRoot, 'r20*'));
|
||||
lemInterfaceFolders = lemInterfaceFolders([lemInterfaceFolders.isdir]);
|
||||
assert(~isempty(lemInterfaceFolders), ...
|
||||
'LEM:MissingAnsysMatlabInterface', ...
|
||||
'No Ansys MATLAB coupling interface was found below: %s', lemInterfaceRoot);
|
||||
|
||||
lemCurrentRelease = regexp(lower(version('-release')), ...
|
||||
'^(\d{4})([ab])$', 'tokens', 'once');
|
||||
assert(~isempty(lemCurrentRelease), ...
|
||||
'LEM:UnsupportedMatlabRelease', ...
|
||||
'Unable to parse the current MATLAB release: %s', version('-release'));
|
||||
lemCurrentScore = str2double(lemCurrentRelease{1}) * 2 + ...
|
||||
double(lemCurrentRelease{2} == 'b');
|
||||
|
||||
lemCandidateScores = -inf(1, numel(lemInterfaceFolders));
|
||||
for lemIndex = 1:numel(lemInterfaceFolders)
|
||||
lemTokens = regexp(lower(lemInterfaceFolders(lemIndex).name), ...
|
||||
'^r(\d{4})([ab])$', 'tokens', 'once');
|
||||
if ~isempty(lemTokens)
|
||||
lemScore = str2double(lemTokens{1}) * 2 + double(lemTokens{2} == 'b');
|
||||
if lemScore <= lemCurrentScore
|
||||
lemCandidateScores(lemIndex) = lemScore;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
[lemSelectedScore, lemSelectedIndex] = max(lemCandidateScores);
|
||||
assert(isfinite(lemSelectedScore), ...
|
||||
'LEM:NoCompatibleAnsysMatlabInterface', ...
|
||||
'No Ansys MATLAB interface compatible with MATLAB %s was found.', ...
|
||||
version('-release'));
|
||||
|
||||
lemAnsysMatlabDir = fullfile(lemInterfaceFolders(lemSelectedIndex).folder, ...
|
||||
lemInterfaceFolders(lemSelectedIndex).name);
|
||||
addpath(lemAnsysMatlabDir, '-begin');
|
||||
rehash;
|
||||
assert(exist('AnsoftSFunction', 'file') == 3, ...
|
||||
'LEM:MissingAnsoftSFunction', ...
|
||||
'AnsoftSFunction could not be loaded from: %s', lemAnsysMatlabDir);
|
||||
|
||||
clear lemModelDir lemProjectFile lemAnsysRoot lemInterfaceRoot ...
|
||||
lemInterfaceFolders lemCurrentRelease lemCurrentScore lemCandidateScores ...
|
||||
lemIndex lemTokens lemScore lemSelectedScore lemSelectedIndex ...
|
||||
lemAnsysMatlabDir
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+162099
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user