Repository navigation
Expand file tree
/
Copy pathcheck_params.py
More file actions
54 lines (48 loc) · 1.53 KB
/
Copy pathcheck_params.py
File metadata and controls
54 lines (48 loc) · 1.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import mph
client = mph.start(cores=6)
path = r'C:\Users\nguye\comsol_multiphysics_mcp\comsol_models\2D_Coils\2D_Coils_ACDC_N300_freq.mph'
model = client.load(path)
jmodel = model.java
# Check global parameters
params = jmodel.param()
print('=== Global Parameters ===')
try:
param_tags = list(params.tags())
print(f'Number of parameters: {len(param_tags)}')
for p in param_tags[:20]:
try:
expr = params.getString(p)
desc = params.getDescription(p)
print(f' {p}: {expr} ({desc})')
except:
print(f' {p}: (error reading)')
except Exception as e:
print(f'Error: {str(e)[:200]}')
# Check if there are unresolved parameters
print('\n=== Checking for unresolved references ===')
# Look at the coil features
comp1 = jmodel.component('comp1')
mf = comp1.physics('mf')
for tag in ['coil1', 'coil2']:
c = mf.feature(tag)
print(f'\n{tag} settings:')
for prop in ['ICoil', 'N', 'Lfunction', 'T']:
try:
v = c.getStringArray(prop)
print(f' {prop}: {v}')
except:
pass
# Check coil wire properties
for prop in ['sigmaCoil', 'AreaFrom', 'coilWindDiameter', 'FillingFactor', 'coilWindArea']:
try:
v = c.getStringArray(prop)
print(f' {prop}: {v}')
except:
pass
# Check if the model needs geometry wire properties
print('\n=== Solving ===')
try:
jmodel.study('std3').run()
print('Solve succeeded!')
except Exception as e:
print(f'Solve failed: {str(e)[:500]}')