pyfemtet 0.8.13__py3-none-any.whl → 0.8.15__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pyfemtet might be problematic. Click here for more details.
- pyfemtet/__init__.py +1 -1
- pyfemtet/opt/interface/_excel_interface.py +3 -3
- pyfemtet/opt/meta_script/YAML_Generator.xlsm +0 -0
- pyfemtet/opt/meta_script/sample/sample.bas +860 -0
- pyfemtet/opt/meta_script/sample/sample.femprj +0 -0
- pyfemtet/opt/samples/femprj_sample_jp/cad_ex01_SW_jp.femprj +0 -0
- pyfemtet/opt/visualization/_complex_components/pm_graph_creator.py +10 -2
- pyfemtet-0.8.15.dist-info/LICENSE +7 -0
- pyfemtet-0.8.15.dist-info/LICENSE_THIRD_PARTY.txt +6 -0
- {pyfemtet-0.8.13.dist-info → pyfemtet-0.8.15.dist-info}/METADATA +4 -4
- {pyfemtet-0.8.13.dist-info → pyfemtet-0.8.15.dist-info}/RECORD +13 -10
- pyfemtet-0.8.13.dist-info/LICENSE +0 -12
- {pyfemtet-0.8.13.dist-info → pyfemtet-0.8.15.dist-info}/WHEEL +0 -0
- {pyfemtet-0.8.13.dist-info → pyfemtet-0.8.15.dist-info}/entry_points.txt +0 -0
pyfemtet/__init__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.8.
|
|
1
|
+
__version__ = "0.8.15"
|
|
@@ -260,10 +260,10 @@ class ExcelInterface(FEMInterface):
|
|
|
260
260
|
self.procedure_name = procedure_name
|
|
261
261
|
self.procedure_args = procedure_args or []
|
|
262
262
|
assert connect_method in ['new', 'auto']
|
|
263
|
-
self.
|
|
263
|
+
self.excel_connect_method = connect_method
|
|
264
264
|
self.procedure_timeout = procedure_timeout
|
|
265
265
|
if terminate_excel_when_quit is None:
|
|
266
|
-
self.terminate_excel_when_quit = self.
|
|
266
|
+
self.terminate_excel_when_quit = self.excel_connect_method == 'new'
|
|
267
267
|
else:
|
|
268
268
|
self.terminate_excel_when_quit = terminate_excel_when_quit
|
|
269
269
|
|
|
@@ -398,7 +398,7 @@ class ExcelInterface(FEMInterface):
|
|
|
398
398
|
|
|
399
399
|
# excel に繋ぐ
|
|
400
400
|
with lock_or_no_lock('connect-excel'):
|
|
401
|
-
self.connect_excel(self.
|
|
401
|
+
self.connect_excel(self.excel_connect_method)
|
|
402
402
|
sleep(1)
|
|
403
403
|
|
|
404
404
|
# load_objective は 1 回目に呼ばれたのが main thread なので
|
|
Binary file
|
|
@@ -0,0 +1,860 @@
|
|
|
1
|
+
Attribute VB_Name = "FemtetMacro"
|
|
2
|
+
Option Explicit
|
|
3
|
+
|
|
4
|
+
Dim Femtet As New CFemtet
|
|
5
|
+
Dim Als As CAnalysis
|
|
6
|
+
Dim BodyAttr As CBodyAttribute
|
|
7
|
+
Dim Bnd As CBoundary
|
|
8
|
+
Dim Mtl As CMaterial
|
|
9
|
+
Dim Gaudi As CGaudi
|
|
10
|
+
Dim Gogh As CGogh
|
|
11
|
+
'/////////////////////////null***�̐���/////////////////////////
|
|
12
|
+
'//���L�̎l�̕ϐ���CGaudi�N���XMulti***���g�p����ꍇ�ɗp���܂��B
|
|
13
|
+
'//�Ⴆ��MultiFillet���g�p����ꍇ�Ɉ����ł���Vertex(�_)�͎w�肹��
|
|
14
|
+
'//������Edge(��)������Fillet����ꍇ��nullVertex()��p���܂��B
|
|
15
|
+
'//�uGaudi.MultiFillet nullVertex,Edge�v�Ƃ����
|
|
16
|
+
'//������Edge����Fillet���邱�Ƃ��ł��܂��B
|
|
17
|
+
'/////////////////////////////////////////////////////////////
|
|
18
|
+
Global nullVertex() As CGaudiVertex
|
|
19
|
+
Global nullEdge() As CGaudiEdge
|
|
20
|
+
Global nullFace() As CGaudiFace
|
|
21
|
+
Global nullBody() As CGaudiBody
|
|
22
|
+
|
|
23
|
+
'///////////////////////////////////////////////////
|
|
24
|
+
|
|
25
|
+
'�ϐ��̐錾
|
|
26
|
+
Private pi as Double
|
|
27
|
+
Private c_pi as Double
|
|
28
|
+
Private section_radius as Double
|
|
29
|
+
Private coil_radius as Double
|
|
30
|
+
Private helical_pitch as Double
|
|
31
|
+
Private spiral_pitch as Double
|
|
32
|
+
Private n_turns as Double
|
|
33
|
+
'///////////////////////////////////////////////////
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
'////////////////////////////////////////////////////////////
|
|
37
|
+
' Main��
|
|
38
|
+
'////////////////////////////////////////////////////////////
|
|
39
|
+
Sub FemtetMain()
|
|
40
|
+
'------- Femtet�����N�� (�s�v�ȏꍇ��Excel�Ŏ��s���Ȃ��ꍇ�͉��s���R�����g�A�E�g���Ă�������) -------
|
|
41
|
+
Workbooks("FemtetRef.xla").AutoExecuteFemtet
|
|
42
|
+
|
|
43
|
+
'------- �V�K�v���W�F�N�g -------
|
|
44
|
+
If Femtet.OpenNewProject() = False Then
|
|
45
|
+
Femtet.ShowLastError
|
|
46
|
+
End If
|
|
47
|
+
|
|
48
|
+
'------- �ϐ��̒�` -------
|
|
49
|
+
InitVariables
|
|
50
|
+
|
|
51
|
+
'------- �f�[�^�x�[�X�̐ݒ� -------
|
|
52
|
+
AnalysisSetUp
|
|
53
|
+
BodyAttributeSetUp
|
|
54
|
+
MaterialSetUp
|
|
55
|
+
BoundarySetUp
|
|
56
|
+
|
|
57
|
+
'------- ���f���̍쐬 -------
|
|
58
|
+
Set Gaudi = Femtet.Gaudi
|
|
59
|
+
MakeModel
|
|
60
|
+
|
|
61
|
+
'------- �W�����b�V���T�C�Y�̐ݒ� -------
|
|
62
|
+
'<<<<<<< �����v�Z�ɐݒ肷��ꍇ��-1��ݒ肵�Ă������� >>>>>>>
|
|
63
|
+
Gaudi.MeshSize = 2.0
|
|
64
|
+
|
|
65
|
+
'------- �v���W�F�N�g�̕ۑ� -------
|
|
66
|
+
Dim ProjectFilePath As String
|
|
67
|
+
ProjectFilePath = "E:\pyfemtet\pyfemtet\pyfemtet\opt\meta_script\sample\sample"
|
|
68
|
+
'<<<<<<< �v���W�F�N�g��ۑ�����ꍇ�͈ȉ��̃R�����g���O���Ă������� >>>>>>>
|
|
69
|
+
'If Femtet.SaveProject(ProjectFilePath & ".femprj", True) = False Then
|
|
70
|
+
' Femtet.ShowLastError
|
|
71
|
+
'End If
|
|
72
|
+
|
|
73
|
+
'------- ���b�V���̐��� -------
|
|
74
|
+
'<<<<<<< ���b�V��������ꍇ�͈ȉ��̃R�����g���O���Ă������� >>>>>>>
|
|
75
|
+
'Gaudi.Mesh
|
|
76
|
+
|
|
77
|
+
'------- ��͂̎��s -------
|
|
78
|
+
'<<<<<<< ��͂����s����ꍇ�͈ȉ��̃R�����g���O���Ă������� >>>>>>>
|
|
79
|
+
'Femtet.Solve
|
|
80
|
+
|
|
81
|
+
'------- ��͌��ʂ̒��o -------
|
|
82
|
+
'<<<<<<< �v�Z���ʂ𒊏o����ꍇ�͈ȉ��̃R�����g���O���Ă������� >>>>>>>
|
|
83
|
+
'SamplingResult
|
|
84
|
+
|
|
85
|
+
'------- �v�Z���ʂ̕ۑ� -------
|
|
86
|
+
'<<<<<<< �v�Z����(.pdt)�t�@�C����ۑ�����ꍇ�͈ȉ��̃R�����g���O���Ă������� >>>>>>>
|
|
87
|
+
'If Femtet.SavePDT(Femtet.ResultFilePath & ".pdt", True) = False Then
|
|
88
|
+
' Femtet.ShowLastError
|
|
89
|
+
'End If
|
|
90
|
+
|
|
91
|
+
End Sub
|
|
92
|
+
|
|
93
|
+
'////////////////////////////////////////////////////////////
|
|
94
|
+
' ��͏����̐ݒ�
|
|
95
|
+
'////////////////////////////////////////////////////////////
|
|
96
|
+
Sub AnalysisSetUp()
|
|
97
|
+
|
|
98
|
+
'------- �ϐ��ɃI�u�W�F�N�g�̐ݒ� -------
|
|
99
|
+
Set Als = Femtet.Analysis
|
|
100
|
+
|
|
101
|
+
'------- ��͏�������(Common) -------
|
|
102
|
+
Als.AnalysisType = GAUSS_C
|
|
103
|
+
|
|
104
|
+
'------- ����(Gauss) -------
|
|
105
|
+
Als.Gauss.b2ndEdgeElement = True
|
|
106
|
+
|
|
107
|
+
'------- �d���g(Hertz) -------
|
|
108
|
+
Als.Hertz.b2ndEdgeElement = True
|
|
109
|
+
|
|
110
|
+
'------- ���d(Rayleigh) -------
|
|
111
|
+
Als.Rayleigh.bConstantTemp = True
|
|
112
|
+
|
|
113
|
+
'------- �J�����E(Open) -------
|
|
114
|
+
Als.Open.OpenMethod = ABC_C
|
|
115
|
+
Als.Open.ABCOrder = ABC_2ND_C
|
|
116
|
+
|
|
117
|
+
'------- ���a���(Harmonic) -------
|
|
118
|
+
Als.Harmonic.FreqSweepType = LINEAR_INTERVAL_C
|
|
119
|
+
|
|
120
|
+
'------- ���g�H(WaveGuide) -------
|
|
121
|
+
Als.WaveGuide.Result = FREQUENCY_C
|
|
122
|
+
|
|
123
|
+
'------- ���x�Ȑݒ�(HighLevel) -------
|
|
124
|
+
Als.HighLevel.nNonL = (20)
|
|
125
|
+
Als.HighLevel.bATS = False
|
|
126
|
+
Als.HighLevel.FactorType = RADIO_ANALYTICAL_C
|
|
127
|
+
Als.HighLevel.bUseDeathMaterial = False
|
|
128
|
+
|
|
129
|
+
'------- ���b�V���̐ݒ�(MeshProperty) -------
|
|
130
|
+
Als.MeshProperty.nMGElementIncRate = (50)
|
|
131
|
+
Als.MeshProperty.nMG = (100)
|
|
132
|
+
Als.MeshProperty.nMaxAdaptive = (10)
|
|
133
|
+
Als.MeshProperty.nMaxAdaptivePort = (15)
|
|
134
|
+
Als.MeshProperty.AdaptiveTolPort = (1.0) * 10 ^ (-2)
|
|
135
|
+
Als.MeshProperty.AdaptiveEnergyType = IND_C
|
|
136
|
+
Als.MeshProperty.bAutoAir = True
|
|
137
|
+
Als.MeshProperty.AutoAirMeshSize = (22.77826356331989)
|
|
138
|
+
Als.MeshProperty.bChangePlane = True
|
|
139
|
+
Als.MeshProperty.bMeshG2 = True
|
|
140
|
+
Als.MeshProperty.bPeriodMesh = False
|
|
141
|
+
|
|
142
|
+
'------- �����X�e�b�v�ݒ�(StepAnalysis) -------
|
|
143
|
+
Als.StepAnalysis.bSetTime = True
|
|
144
|
+
Als.StepAnalysis.Set_Table_withTime 0, (1.0), (20), (0.0)
|
|
145
|
+
Als.StepAnalysis.BreakStep = (100)
|
|
146
|
+
|
|
147
|
+
'------- ���ꍂ�����(LuvensSteadyState) -------
|
|
148
|
+
Als.LuvensSteadyState.nEocn = (1000)
|
|
149
|
+
|
|
150
|
+
'------- ����(Bernoulli) -------
|
|
151
|
+
Als.Bernoulli.TurbulentModel = STANDARD_K_EPSILON_C
|
|
152
|
+
End Sub
|
|
153
|
+
|
|
154
|
+
'////////////////////////////////////////////////////////////
|
|
155
|
+
' Body�����S�̂̐ݒ�
|
|
156
|
+
'////////////////////////////////////////////////////////////
|
|
157
|
+
Sub BodyAttributeSetUp()
|
|
158
|
+
|
|
159
|
+
'------- �ϐ��ɃI�u�W�F�N�g�̐ݒ� -------
|
|
160
|
+
Set BodyAttr = Femtet.BodyAttribute
|
|
161
|
+
|
|
162
|
+
'------- Body�����̐ݒ� -------
|
|
163
|
+
BodyAttributeSetUp_Coil
|
|
164
|
+
|
|
165
|
+
'+++++++++++++++++++++++++++++++++++++++++
|
|
166
|
+
'++�g�p����Ă��Ȃ�BodyAttribute�f�[�^�ł�
|
|
167
|
+
'++�g�p����ۂ̓R�����g���O���ĉ�����
|
|
168
|
+
'+++++++++++++++++++++++++++++++++++++++++
|
|
169
|
+
'BodyAttributeSetUp_Fe
|
|
170
|
+
'BodyAttributeSetUp_Air
|
|
171
|
+
'BodyAttributeSetUp_Air_Auto
|
|
172
|
+
End Sub
|
|
173
|
+
|
|
174
|
+
'////////////////////////////////////////////////////////////
|
|
175
|
+
' Body�����̐ݒ� Body�������FCoil
|
|
176
|
+
'////////////////////////////////////////////////////////////
|
|
177
|
+
Sub BodyAttributeSetUp_Coil()
|
|
178
|
+
'------- Body������Index��ۑ�����ϐ� -------
|
|
179
|
+
Dim Index As Integer
|
|
180
|
+
|
|
181
|
+
'------- Body�����̒lj� -------
|
|
182
|
+
BodyAttr.Add "Coil"
|
|
183
|
+
|
|
184
|
+
'------- Body���� Index�̐ݒ� -------
|
|
185
|
+
Index = BodyAttr.Ask ( "Coil" )
|
|
186
|
+
|
|
187
|
+
'------- �V�[�g�{�f�B�̌��� or 2������͂̉��s��(BodyThickness)/���C���[�{�f�B��(WireWidth) -------
|
|
188
|
+
BodyAttr.Length(Index).bUseAnalysisThickness2D = False
|
|
189
|
+
BodyAttr.Length(Index).BodyThickness = (1.0) * 10 ^ (-3)
|
|
190
|
+
|
|
191
|
+
'------- �d��(Current) -------
|
|
192
|
+
BodyAttr.Current(Index).I = (1)
|
|
193
|
+
|
|
194
|
+
'------- �g�`(Waveform) -------
|
|
195
|
+
BodyAttr.Current(Index).CurrentDirType = COIL_NORMAL_INOUTFLOW_INTERNAL_C
|
|
196
|
+
BodyAttr.Current(Index).InFaceBodyKey = 0
|
|
197
|
+
BodyAttr.Current(Index).InFaceTopolID = 26
|
|
198
|
+
BodyAttr.Current(Index).OutFaceBodyKey = 0
|
|
199
|
+
BodyAttr.Current(Index).OutFaceTopolID = 37
|
|
200
|
+
|
|
201
|
+
'------- �������x(InitialVelocity) -------
|
|
202
|
+
BodyAttr.InitialVelocity(Index).bAnalysisUse = False
|
|
203
|
+
|
|
204
|
+
'------- �d��(Electrode) -------
|
|
205
|
+
BodyAttr.Electrode(Index).ElectricCondition = VOLT_C
|
|
206
|
+
|
|
207
|
+
'------- �t��(Emittivity) -------
|
|
208
|
+
BodyAttr.ThermalSurface(Index).Emittivity.Eps = (0.8)
|
|
209
|
+
End Sub
|
|
210
|
+
|
|
211
|
+
'////////////////////////////////////////////////////////////
|
|
212
|
+
' Body�����̐ݒ� Body�������FFe
|
|
213
|
+
'////////////////////////////////////////////////////////////
|
|
214
|
+
Sub BodyAttributeSetUp_Fe()
|
|
215
|
+
'------- Body������Index��ۑ�����ϐ� -------
|
|
216
|
+
Dim Index As Integer
|
|
217
|
+
|
|
218
|
+
'------- Body�����̒lj� -------
|
|
219
|
+
BodyAttr.Add "Fe"
|
|
220
|
+
|
|
221
|
+
'------- Body���� Index�̐ݒ� -------
|
|
222
|
+
Index = BodyAttr.Ask ( "Fe" )
|
|
223
|
+
|
|
224
|
+
'------- �V�[�g�{�f�B�̌��� or 2������͂̉��s��(BodyThickness)/���C���[�{�f�B��(WireWidth) -------
|
|
225
|
+
BodyAttr.Length(Index).bUseAnalysisThickness2D = False
|
|
226
|
+
BodyAttr.Length(Index).BodyThickness = (1.0) * 10 ^ (-3)
|
|
227
|
+
|
|
228
|
+
'------- �������x(InitialVelocity) -------
|
|
229
|
+
BodyAttr.InitialVelocity(Index).bAnalysisUse = False
|
|
230
|
+
|
|
231
|
+
'------- �d��(Electrode) -------
|
|
232
|
+
BodyAttr.Electrode(Index).ElectricCondition = VOLT_C
|
|
233
|
+
|
|
234
|
+
'------- �t��(Emittivity) -------
|
|
235
|
+
BodyAttr.ThermalSurface(Index).Emittivity.Eps = (0.8)
|
|
236
|
+
End Sub
|
|
237
|
+
|
|
238
|
+
'////////////////////////////////////////////////////////////
|
|
239
|
+
' Body�����̐ݒ� Body�������FAir
|
|
240
|
+
'////////////////////////////////////////////////////////////
|
|
241
|
+
Sub BodyAttributeSetUp_Air()
|
|
242
|
+
'------- Body������Index��ۑ�����ϐ� -------
|
|
243
|
+
Dim Index As Integer
|
|
244
|
+
|
|
245
|
+
'------- Body�����̒lj� -------
|
|
246
|
+
BodyAttr.Add "Air"
|
|
247
|
+
|
|
248
|
+
'------- Body���� Index�̐ݒ� -------
|
|
249
|
+
Index = BodyAttr.Ask ( "Air" )
|
|
250
|
+
|
|
251
|
+
'------- �V�[�g�{�f�B�̌��� or 2������͂̉��s��(BodyThickness)/���C���[�{�f�B��(WireWidth) -------
|
|
252
|
+
BodyAttr.Length(Index).bUseAnalysisThickness2D = False
|
|
253
|
+
BodyAttr.Length(Index).BodyThickness = (1.0) * 10 ^ (-3)
|
|
254
|
+
|
|
255
|
+
'------- �������x(InitialVelocity) -------
|
|
256
|
+
BodyAttr.InitialVelocity(Index).bAnalysisUse = False
|
|
257
|
+
|
|
258
|
+
'------- �d��(Electrode) -------
|
|
259
|
+
BodyAttr.Electrode(Index).ElectricCondition = VOLT_C
|
|
260
|
+
|
|
261
|
+
'------- ����(FluidBern) -------
|
|
262
|
+
BodyAttr.FluidAttribute(Index).FlowCondition.bSpline = True
|
|
263
|
+
|
|
264
|
+
'------- �t��(Emittivity) -------
|
|
265
|
+
BodyAttr.ThermalSurface(Index).Emittivity.Eps = (0.8)
|
|
266
|
+
End Sub
|
|
267
|
+
|
|
268
|
+
'////////////////////////////////////////////////////////////
|
|
269
|
+
' Body�����̐ݒ� Body�������FAir_Auto
|
|
270
|
+
'////////////////////////////////////////////////////////////
|
|
271
|
+
Sub BodyAttributeSetUp_Air_Auto()
|
|
272
|
+
'------- Body������Index��ۑ�����ϐ� -------
|
|
273
|
+
Dim Index As Integer
|
|
274
|
+
|
|
275
|
+
'------- Body�����̒lj� -------
|
|
276
|
+
BodyAttr.Add "Air_Auto"
|
|
277
|
+
|
|
278
|
+
'------- Body���� Index�̐ݒ� -------
|
|
279
|
+
Index = BodyAttr.Ask ( "Air_Auto" )
|
|
280
|
+
|
|
281
|
+
'------- �V�[�g�{�f�B�̌��� or 2������͂̉��s��(BodyThickness)/���C���[�{�f�B��(WireWidth) -------
|
|
282
|
+
BodyAttr.Length(Index).bUseAnalysisThickness2D = True
|
|
283
|
+
|
|
284
|
+
'------- ��͗̈�(ActiveSolver) -------
|
|
285
|
+
BodyAttr.ActiveSolver(Index).bWatt = False
|
|
286
|
+
BodyAttr.ActiveSolver(Index).bGalileo = False
|
|
287
|
+
|
|
288
|
+
'------- �������x(InitialVelocity) -------
|
|
289
|
+
BodyAttr.InitialVelocity(Index).bAnalysisUse = True
|
|
290
|
+
|
|
291
|
+
'------- �X�e�[�^/���[�^(StatorRotor) -------
|
|
292
|
+
BodyAttr.StatorRotor(Index).State = AIR_C
|
|
293
|
+
|
|
294
|
+
'------- �t��(Emittivity) -------
|
|
295
|
+
BodyAttr.ThermalSurface(Index).Emittivity.Eps = (0.8)
|
|
296
|
+
End Sub
|
|
297
|
+
|
|
298
|
+
'////////////////////////////////////////////////////////////
|
|
299
|
+
' Material�S�̂̐ݒ�
|
|
300
|
+
'////////////////////////////////////////////////////////////
|
|
301
|
+
Sub MaterialSetUp()
|
|
302
|
+
|
|
303
|
+
'------- �ϐ��ɃI�u�W�F�N�g�̐ݒ� -------
|
|
304
|
+
Set Mtl = Femtet.Material
|
|
305
|
+
|
|
306
|
+
'------- Material�̐ݒ� -------
|
|
307
|
+
MaterialSetUp_008_Copper
|
|
308
|
+
|
|
309
|
+
'+++++++++++++++++++++++++++++++++++++++++
|
|
310
|
+
'++�g�p����Ă��Ȃ�Material�f�[�^�ł�
|
|
311
|
+
'++�g�p����ۂ̓R�����g���O���ĉ�����
|
|
312
|
+
'+++++++++++++++++++++++++++++++++++++++++
|
|
313
|
+
'MaterialSetUp_Air_Auto
|
|
314
|
+
End Sub
|
|
315
|
+
|
|
316
|
+
'////////////////////////////////////////////////////////////
|
|
317
|
+
' Material�̐ݒ� Material���F008_Copper
|
|
318
|
+
'////////////////////////////////////////////////////////////
|
|
319
|
+
Sub MaterialSetUp_008_Copper()
|
|
320
|
+
'------- Material��Index��ۑ�����ϐ� -------
|
|
321
|
+
Dim Index As Integer
|
|
322
|
+
|
|
323
|
+
'------- Material�̒lj� -------
|
|
324
|
+
Mtl.Add "008_Copper"
|
|
325
|
+
|
|
326
|
+
'------- Material Index�̐ݒ� -------
|
|
327
|
+
Index = Mtl.Ask ( "008_Copper" )
|
|
328
|
+
|
|
329
|
+
'------- ������(Permeability) -------
|
|
330
|
+
Mtl.Permeability(Index).BHExtrapolationType = BH_GRADIENT_LASTTWOPOINT_C
|
|
331
|
+
|
|
332
|
+
'------- ��R��(Resistivity) -------
|
|
333
|
+
Mtl.Resistivity(Index).sRho = (1.673) * 10 ^ (-8)
|
|
334
|
+
Mtl.Resistivity(Index).Set_mRho 0, (1.0)
|
|
335
|
+
Mtl.Resistivity(Index).Set_mRho 2, (1.0)
|
|
336
|
+
Mtl.Resistivity(Index).Set_mRho 5, (1.0)
|
|
337
|
+
Mtl.Resistivity(Index).Set_Table 0, (-195), (0.2) * 10 ^ (-8)
|
|
338
|
+
Mtl.Resistivity(Index).Set_Table 1, (0), (1.55) * 10 ^ (-8)
|
|
339
|
+
Mtl.Resistivity(Index).Set_Table 2, (100), (2.23) * 10 ^ (-8)
|
|
340
|
+
Mtl.Resistivity(Index).Set_Table 3, (300), (3.6) * 10 ^ (-8)
|
|
341
|
+
Mtl.Resistivity(Index).Set_Table 4, (700), (6.7) * 10 ^ (-8)
|
|
342
|
+
|
|
343
|
+
'------- ���d��(ElectricConductivity) -------
|
|
344
|
+
Mtl.ElectricConductivity(Index).ConductorType = CONDUCTOR_C
|
|
345
|
+
Mtl.ElectricConductivity(Index).sSigma = (5.977) * 10 ^ (7)
|
|
346
|
+
|
|
347
|
+
'------- ��M(SpecificHeat) -------
|
|
348
|
+
Mtl.SpecificHeat(Index).C = (0.385075378466) * 10 ^ (3)
|
|
349
|
+
Mtl.SpecificHeat(Index).Set_Table 0, (-173), (0.2533597708746) * 10 ^ (3)
|
|
350
|
+
Mtl.SpecificHeat(Index).Set_Table 1, (-73), (0.3575362729361) * 10 ^ (3)
|
|
351
|
+
Mtl.SpecificHeat(Index).Set_Table 2, (20), (0.385075378466) * 10 ^ (3)
|
|
352
|
+
Mtl.SpecificHeat(Index).Set_Table 3, (127), (0.3997104459761) * 10 ^ (3)
|
|
353
|
+
Mtl.SpecificHeat(Index).Set_Table 4, (327), (0.4217417304) * 10 ^ (3)
|
|
354
|
+
|
|
355
|
+
'------- ���x(Density) -------
|
|
356
|
+
Mtl.Density(Index).Dens = (8.96) * 10 ^ (3)
|
|
357
|
+
|
|
358
|
+
'------- �M�`����(ThermalConductivity) -------
|
|
359
|
+
Mtl.ThermalConductivity(Index).sRmd = (401.9999999999999)
|
|
360
|
+
Mtl.ThermalConductivity(Index).Set_Table 0, (-173), (482)
|
|
361
|
+
Mtl.ThermalConductivity(Index).Set_Table 1, (-73), (415.0000000000001)
|
|
362
|
+
Mtl.ThermalConductivity(Index).Set_Table 2, (27), (401.9999999999999)
|
|
363
|
+
Mtl.ThermalConductivity(Index).Set_Table 3, (127), (393)
|
|
364
|
+
Mtl.ThermalConductivity(Index).Set_Table 4, (227), (387)
|
|
365
|
+
|
|
366
|
+
'------- ���c���W��(Expansion) -------
|
|
367
|
+
Mtl.Expansion(Index).sAlf = (1.65) * 10 ^ (-5)
|
|
368
|
+
Mtl.Expansion(Index).Set_vAlf 0, (0.0)
|
|
369
|
+
Mtl.Expansion(Index).Set_vAlf 1, (0.0)
|
|
370
|
+
Mtl.Expansion(Index).Set_vAlf 2, (0.0)
|
|
371
|
+
|
|
372
|
+
'------- �e���萔(Elasticity) -------
|
|
373
|
+
Mtl.Elasticity(Index).sY = (123) * 10 ^ (9)
|
|
374
|
+
Mtl.Elasticity(Index).Nu = (0.35)
|
|
375
|
+
|
|
376
|
+
'------- ���d�萔(PiezoElectricity) -------
|
|
377
|
+
Mtl.PiezoElectricity(Index).bPiezo = False
|
|
378
|
+
|
|
379
|
+
'------- ����(SoundVelocity) -------
|
|
380
|
+
Mtl.SoundVelocity(Index).Vel0 = (331.0)
|
|
381
|
+
|
|
382
|
+
'------- �S�x(Viscosity) -------
|
|
383
|
+
Mtl.Viscosity(Index).Mu = (1.002) * 10 ^ (-3)
|
|
384
|
+
|
|
385
|
+
'------- ����(Magnetize) -------
|
|
386
|
+
Mtl.Magnetize(Index).MagRatioType = MAGRATIO_BR_C
|
|
387
|
+
|
|
388
|
+
'------- ���� -------
|
|
389
|
+
Mtl.Comment(Index).Comment = "�s�o�T�t " & Chr(13) & Chr(10) & "�@���x�F [C2]P.26" & Chr(13) & Chr(10) & "�@�e���萔�F [C2]P.26" & Chr(13) & Chr(10) & "�@���c���W���F [S]P.484" & Chr(13) & Chr(10) & "�@�������F [C2]P.507" & Chr(13) & Chr(10) & "�@��R���F [C2]P.490, [S]P.527" & Chr(13) & Chr(10) & "�@��M�F [S]P.473" & Chr(13) & Chr(10) & "�@�M�`�����F [C2]P.70" & Chr(13) & Chr(10) & "�@�@" & Chr(13) & Chr(10) & "�s�Q�l�����t�@" & Chr(13) & Chr(10) & "�@[C2] ���w�֗� ��b��II ����4�� ���{���w�w��� �ۑP(1993)" & Chr(13) & Chr(10) & "�@[S] ���ȔN�\ ����8�N �����V����� �ۑP(1996)"
|
|
390
|
+
End Sub
|
|
391
|
+
|
|
392
|
+
'////////////////////////////////////////////////////////////
|
|
393
|
+
' Material�̐ݒ� Material���FAir_Auto
|
|
394
|
+
'////////////////////////////////////////////////////////////
|
|
395
|
+
Sub MaterialSetUp_Air_Auto()
|
|
396
|
+
'------- Material��Index��ۑ�����ϐ� -------
|
|
397
|
+
Dim Index As Integer
|
|
398
|
+
|
|
399
|
+
'------- Material�̒lj� -------
|
|
400
|
+
Mtl.Add "Air_Auto"
|
|
401
|
+
|
|
402
|
+
'------- Material Index�̐ݒ� -------
|
|
403
|
+
Index = Mtl.Ask ( "Air_Auto" )
|
|
404
|
+
|
|
405
|
+
'------- �U�d��(Permittivity) -------
|
|
406
|
+
Mtl.Permittivity(Index).sEps = (1.000517)
|
|
407
|
+
|
|
408
|
+
'------- �ő�/����(SolidFluid) -------
|
|
409
|
+
Mtl.SolidFluid(Index).State = FLUID_C
|
|
410
|
+
End Sub
|
|
411
|
+
|
|
412
|
+
'////////////////////////////////////////////////////////////
|
|
413
|
+
' Boundary�S�̂̐ݒ�
|
|
414
|
+
'////////////////////////////////////////////////////////////
|
|
415
|
+
Sub BoundarySetUp()
|
|
416
|
+
|
|
417
|
+
'------- �ϐ��ɃI�u�W�F�N�g�̐ݒ� -------
|
|
418
|
+
Set Bnd = Femtet.Boundary
|
|
419
|
+
|
|
420
|
+
'------- Boundary�̐ݒ� -------
|
|
421
|
+
BoundarySetUp_RESERVED_default
|
|
422
|
+
|
|
423
|
+
'+++++++++++++++++++++++++++++++++++++++++
|
|
424
|
+
'++�g�p����Ă��Ȃ�Boundary�f�[�^�ł�
|
|
425
|
+
'++�g�p����ۂ̓R�����g���O���ĉ�����
|
|
426
|
+
'+++++++++++++++++++++++++++++++++++++++++
|
|
427
|
+
'BoundarySetUp_Port1
|
|
428
|
+
'BoundarySetUp_Port2
|
|
429
|
+
'BoundarySetUp_Coil_AutoPortIn
|
|
430
|
+
'BoundarySetUp_Coil_AutoPortOut
|
|
431
|
+
'BoundarySetUp_Coil_PortInAuto
|
|
432
|
+
'BoundarySetUp_Coil_PortOutAuto
|
|
433
|
+
'BoundarySetUp_Coil_InAuto
|
|
434
|
+
'BoundarySetUp_Coil_OutAuto
|
|
435
|
+
End Sub
|
|
436
|
+
|
|
437
|
+
'////////////////////////////////////////////////////////////
|
|
438
|
+
' Boundary�̐ݒ� Boundary���FRESERVED_default (�O�����E����)
|
|
439
|
+
'////////////////////////////////////////////////////////////
|
|
440
|
+
Sub BoundarySetUp_RESERVED_default()
|
|
441
|
+
'------- Boundary��Index��ۑ�����ϐ� -------
|
|
442
|
+
Dim Index As Integer
|
|
443
|
+
|
|
444
|
+
'------- Boundary�̒lj� -------
|
|
445
|
+
Bnd.Add "RESERVED_default"
|
|
446
|
+
|
|
447
|
+
'------- Boundary Index�̐ݒ� -------
|
|
448
|
+
Index = Bnd.Ask ( "RESERVED_default" )
|
|
449
|
+
|
|
450
|
+
'------- �d�C(Electrical) -------
|
|
451
|
+
Bnd.Electrical(Index).Condition = ELECTRIC_WALL_C
|
|
452
|
+
|
|
453
|
+
'------- �M(Thermal) -------
|
|
454
|
+
Bnd.Thermal(Index).bConAuto = False
|
|
455
|
+
Bnd.Thermal(Index).Con = (2.33)
|
|
456
|
+
Bnd.Thermal(Index).bSetRadioSetting = False
|
|
457
|
+
|
|
458
|
+
'------- ����_�����x(RoomTemp) -------
|
|
459
|
+
Bnd.Thermal(Index).RoomTemp.TempType = TEMP_AMBIENT_C
|
|
460
|
+
Bnd.Thermal(Index).RoomTemp.Temp = (0.0)
|
|
461
|
+
|
|
462
|
+
'------- �t��(Emittivity) -------
|
|
463
|
+
Bnd.Thermal(Index).Emittivity.Eps = (0.999)
|
|
464
|
+
|
|
465
|
+
'------- ����(Fluid) -------
|
|
466
|
+
Bnd.Fluid(Index).VelocityCondition = XYZ_VELOCITY_C
|
|
467
|
+
|
|
468
|
+
'------- ����(FluidBern) -------
|
|
469
|
+
Bnd.FluidBern(Index).P = (0.0)
|
|
470
|
+
|
|
471
|
+
'------- ���z(Distribution) -------
|
|
472
|
+
Bnd.FluidBern(Index).TempType = TEMP_DIRECT_C
|
|
473
|
+
End Sub
|
|
474
|
+
|
|
475
|
+
'////////////////////////////////////////////////////////////
|
|
476
|
+
' Boundary�̐ݒ� Boundary���FPort1
|
|
477
|
+
'////////////////////////////////////////////////////////////
|
|
478
|
+
Sub BoundarySetUp_Port1()
|
|
479
|
+
'------- Boundary��Index��ۑ�����ϐ� -------
|
|
480
|
+
Dim Index As Integer
|
|
481
|
+
|
|
482
|
+
'------- Boundary�̒lj� -------
|
|
483
|
+
Bnd.Add "Port1"
|
|
484
|
+
|
|
485
|
+
'------- Boundary Index�̐ݒ� -------
|
|
486
|
+
Index = Bnd.Ask ( "Port1" )
|
|
487
|
+
|
|
488
|
+
'------- �d�C(Electrical) -------
|
|
489
|
+
Bnd.Electrical(Index).Condition = PORT_C
|
|
490
|
+
|
|
491
|
+
'------- �M(Thermal) -------
|
|
492
|
+
Bnd.Thermal(Index).bConAuto = False
|
|
493
|
+
Bnd.Thermal(Index).Con = (2.33)
|
|
494
|
+
Bnd.Thermal(Index).bSetRadioSetting = False
|
|
495
|
+
|
|
496
|
+
'------- ����_�����x(RoomTemp) -------
|
|
497
|
+
Bnd.Thermal(Index).RoomTemp.TempType = TEMP_AMBIENT_C
|
|
498
|
+
Bnd.Thermal(Index).RoomTemp.Temp = (0.0)
|
|
499
|
+
|
|
500
|
+
'------- �t��(Emittivity) -------
|
|
501
|
+
Bnd.Thermal(Index).Emittivity.Eps = (0.999)
|
|
502
|
+
|
|
503
|
+
'------- ����(Fluid) -------
|
|
504
|
+
Bnd.Fluid(Index).VelocityCondition = XYZ_VELOCITY_C
|
|
505
|
+
|
|
506
|
+
'------- ����(FluidBern) -------
|
|
507
|
+
Bnd.FluidBern(Index).P = (0.0)
|
|
508
|
+
|
|
509
|
+
'------- ���z(Distribution) -------
|
|
510
|
+
Bnd.FluidBern(Index).TempType = TEMP_DIRECT_C
|
|
511
|
+
End Sub
|
|
512
|
+
|
|
513
|
+
'////////////////////////////////////////////////////////////
|
|
514
|
+
' Boundary�̐ݒ� Boundary���FPort2
|
|
515
|
+
'////////////////////////////////////////////////////////////
|
|
516
|
+
Sub BoundarySetUp_Port2()
|
|
517
|
+
'------- Boundary��Index��ۑ�����ϐ� -------
|
|
518
|
+
Dim Index As Integer
|
|
519
|
+
|
|
520
|
+
'------- Boundary�̒lj� -------
|
|
521
|
+
Bnd.Add "Port2"
|
|
522
|
+
|
|
523
|
+
'------- Boundary Index�̐ݒ� -------
|
|
524
|
+
Index = Bnd.Ask ( "Port2" )
|
|
525
|
+
|
|
526
|
+
'------- �d�C(Electrical) -------
|
|
527
|
+
Bnd.Electrical(Index).Condition = PORT_C
|
|
528
|
+
|
|
529
|
+
'------- �M(Thermal) -------
|
|
530
|
+
Bnd.Thermal(Index).bConAuto = False
|
|
531
|
+
Bnd.Thermal(Index).Con = (2.33)
|
|
532
|
+
Bnd.Thermal(Index).bSetRadioSetting = False
|
|
533
|
+
|
|
534
|
+
'------- ����_�����x(RoomTemp) -------
|
|
535
|
+
Bnd.Thermal(Index).RoomTemp.TempType = TEMP_AMBIENT_C
|
|
536
|
+
Bnd.Thermal(Index).RoomTemp.Temp = (0.0)
|
|
537
|
+
|
|
538
|
+
'------- �t��(Emittivity) -------
|
|
539
|
+
Bnd.Thermal(Index).Emittivity.Eps = (0.999)
|
|
540
|
+
|
|
541
|
+
'------- ����(Fluid) -------
|
|
542
|
+
Bnd.Fluid(Index).VelocityCondition = XYZ_VELOCITY_C
|
|
543
|
+
|
|
544
|
+
'------- ����(FluidBern) -------
|
|
545
|
+
Bnd.FluidBern(Index).P = (0.0)
|
|
546
|
+
|
|
547
|
+
'------- ���z(Distribution) -------
|
|
548
|
+
Bnd.FluidBern(Index).TempType = TEMP_DIRECT_C
|
|
549
|
+
End Sub
|
|
550
|
+
|
|
551
|
+
'////////////////////////////////////////////////////////////
|
|
552
|
+
' Boundary�̐ݒ� Boundary���FCoil_AutoPortIn
|
|
553
|
+
'////////////////////////////////////////////////////////////
|
|
554
|
+
Sub BoundarySetUp_Coil_AutoPortIn()
|
|
555
|
+
'------- Boundary��Index��ۑ�����ϐ� -------
|
|
556
|
+
Dim Index As Integer
|
|
557
|
+
|
|
558
|
+
'------- Boundary�̒lj� -------
|
|
559
|
+
Bnd.Add "Coil_AutoPortIn"
|
|
560
|
+
|
|
561
|
+
'------- Boundary Index�̐ݒ� -------
|
|
562
|
+
Index = Bnd.Ask ( "Coil_AutoPortIn" )
|
|
563
|
+
|
|
564
|
+
'------- �d�C(Electrical) -------
|
|
565
|
+
Bnd.Electrical(Index).Condition = PORT_C
|
|
566
|
+
|
|
567
|
+
'------- �M(Thermal) -------
|
|
568
|
+
Bnd.Thermal(Index).bConAuto = False
|
|
569
|
+
Bnd.Thermal(Index).bSetRadioSetting = False
|
|
570
|
+
|
|
571
|
+
'------- ����_�����x(RoomTemp) -------
|
|
572
|
+
Bnd.Thermal(Index).RoomTemp.TempType = TEMP_AMBIENT_C
|
|
573
|
+
|
|
574
|
+
'------- �t��(Emittivity) -------
|
|
575
|
+
Bnd.Thermal(Index).Emittivity.Eps = (0.999)
|
|
576
|
+
|
|
577
|
+
'------- ����(FluidBern) -------
|
|
578
|
+
Bnd.FluidBern(Index).P = (0.0)
|
|
579
|
+
|
|
580
|
+
'------- ���z(Distribution) -------
|
|
581
|
+
Bnd.FluidBern(Index).TempType = TEMP_DIRECT_C
|
|
582
|
+
End Sub
|
|
583
|
+
|
|
584
|
+
'////////////////////////////////////////////////////////////
|
|
585
|
+
' Boundary�̐ݒ� Boundary���FCoil_AutoPortOut
|
|
586
|
+
'////////////////////////////////////////////////////////////
|
|
587
|
+
Sub BoundarySetUp_Coil_AutoPortOut()
|
|
588
|
+
'------- Boundary��Index��ۑ�����ϐ� -------
|
|
589
|
+
Dim Index As Integer
|
|
590
|
+
|
|
591
|
+
'------- Boundary�̒lj� -------
|
|
592
|
+
Bnd.Add "Coil_AutoPortOut"
|
|
593
|
+
|
|
594
|
+
'------- Boundary Index�̐ݒ� -------
|
|
595
|
+
Index = Bnd.Ask ( "Coil_AutoPortOut" )
|
|
596
|
+
|
|
597
|
+
'------- �d�C(Electrical) -------
|
|
598
|
+
Bnd.Electrical(Index).Condition = PORT_C
|
|
599
|
+
|
|
600
|
+
'------- �M(Thermal) -------
|
|
601
|
+
Bnd.Thermal(Index).bConAuto = False
|
|
602
|
+
Bnd.Thermal(Index).bSetRadioSetting = False
|
|
603
|
+
|
|
604
|
+
'------- ����_�����x(RoomTemp) -------
|
|
605
|
+
Bnd.Thermal(Index).RoomTemp.TempType = TEMP_AMBIENT_C
|
|
606
|
+
|
|
607
|
+
'------- �t��(Emittivity) -------
|
|
608
|
+
Bnd.Thermal(Index).Emittivity.Eps = (0.999)
|
|
609
|
+
|
|
610
|
+
'------- ����(FluidBern) -------
|
|
611
|
+
Bnd.FluidBern(Index).P = (0.0)
|
|
612
|
+
|
|
613
|
+
'------- ���z(Distribution) -------
|
|
614
|
+
Bnd.FluidBern(Index).TempType = TEMP_DIRECT_C
|
|
615
|
+
End Sub
|
|
616
|
+
|
|
617
|
+
'////////////////////////////////////////////////////////////
|
|
618
|
+
' Boundary�̐ݒ� Boundary���FCoil_PortInAuto
|
|
619
|
+
'////////////////////////////////////////////////////////////
|
|
620
|
+
Sub BoundarySetUp_Coil_PortInAuto()
|
|
621
|
+
'------- Boundary��Index��ۑ�����ϐ� -------
|
|
622
|
+
Dim Index As Integer
|
|
623
|
+
|
|
624
|
+
'------- Boundary�̒lj� -------
|
|
625
|
+
Bnd.Add "Coil_PortInAuto"
|
|
626
|
+
|
|
627
|
+
'------- Boundary Index�̐ݒ� -------
|
|
628
|
+
Index = Bnd.Ask ( "Coil_PortInAuto" )
|
|
629
|
+
|
|
630
|
+
'------- �d�C(Electrical) -------
|
|
631
|
+
Bnd.Electrical(Index).Condition = PORT_C
|
|
632
|
+
|
|
633
|
+
'------- �M(Thermal) -------
|
|
634
|
+
Bnd.Thermal(Index).bConAuto = False
|
|
635
|
+
Bnd.Thermal(Index).bSetRadioSetting = False
|
|
636
|
+
|
|
637
|
+
'------- ����_�����x(RoomTemp) -------
|
|
638
|
+
Bnd.Thermal(Index).RoomTemp.TempType = TEMP_AMBIENT_C
|
|
639
|
+
|
|
640
|
+
'------- �t��(Emittivity) -------
|
|
641
|
+
Bnd.Thermal(Index).Emittivity.Eps = (0.999)
|
|
642
|
+
|
|
643
|
+
'------- ����(FluidBern) -------
|
|
644
|
+
Bnd.FluidBern(Index).P = (0.0)
|
|
645
|
+
|
|
646
|
+
'------- ���z(Distribution) -------
|
|
647
|
+
Bnd.FluidBern(Index).TempType = TEMP_DIRECT_C
|
|
648
|
+
End Sub
|
|
649
|
+
|
|
650
|
+
'////////////////////////////////////////////////////////////
|
|
651
|
+
' Boundary�̐ݒ� Boundary���FCoil_PortOutAuto
|
|
652
|
+
'////////////////////////////////////////////////////////////
|
|
653
|
+
Sub BoundarySetUp_Coil_PortOutAuto()
|
|
654
|
+
'------- Boundary��Index��ۑ�����ϐ� -------
|
|
655
|
+
Dim Index As Integer
|
|
656
|
+
|
|
657
|
+
'------- Boundary�̒lj� -------
|
|
658
|
+
Bnd.Add "Coil_PortOutAuto"
|
|
659
|
+
|
|
660
|
+
'------- Boundary Index�̐ݒ� -------
|
|
661
|
+
Index = Bnd.Ask ( "Coil_PortOutAuto" )
|
|
662
|
+
|
|
663
|
+
'------- �d�C(Electrical) -------
|
|
664
|
+
Bnd.Electrical(Index).Condition = PORT_C
|
|
665
|
+
|
|
666
|
+
'------- �M(Thermal) -------
|
|
667
|
+
Bnd.Thermal(Index).bConAuto = False
|
|
668
|
+
Bnd.Thermal(Index).bSetRadioSetting = False
|
|
669
|
+
|
|
670
|
+
'------- ����_�����x(RoomTemp) -------
|
|
671
|
+
Bnd.Thermal(Index).RoomTemp.TempType = TEMP_AMBIENT_C
|
|
672
|
+
|
|
673
|
+
'------- �t��(Emittivity) -------
|
|
674
|
+
Bnd.Thermal(Index).Emittivity.Eps = (0.999)
|
|
675
|
+
|
|
676
|
+
'------- ����(FluidBern) -------
|
|
677
|
+
Bnd.FluidBern(Index).P = (0.0)
|
|
678
|
+
|
|
679
|
+
'------- ���z(Distribution) -------
|
|
680
|
+
Bnd.FluidBern(Index).TempType = TEMP_DIRECT_C
|
|
681
|
+
End Sub
|
|
682
|
+
|
|
683
|
+
'////////////////////////////////////////////////////////////
|
|
684
|
+
' Boundary�̐ݒ� Boundary���FCoil_InAuto
|
|
685
|
+
'////////////////////////////////////////////////////////////
|
|
686
|
+
Sub BoundarySetUp_Coil_InAuto()
|
|
687
|
+
'------- Boundary��Index��ۑ�����ϐ� -------
|
|
688
|
+
Dim Index As Integer
|
|
689
|
+
|
|
690
|
+
'------- Boundary�̒lj� -------
|
|
691
|
+
Bnd.Add "Coil_InAuto"
|
|
692
|
+
|
|
693
|
+
'------- Boundary Index�̐ݒ� -------
|
|
694
|
+
Index = Bnd.Ask ( "Coil_InAuto" )
|
|
695
|
+
|
|
696
|
+
'------- �d�C(Electrical) -------
|
|
697
|
+
Bnd.Electrical(Index).Condition = PORT_C
|
|
698
|
+
|
|
699
|
+
'------- �M(Thermal) -------
|
|
700
|
+
Bnd.Thermal(Index).bConAuto = False
|
|
701
|
+
Bnd.Thermal(Index).bSetRadioSetting = False
|
|
702
|
+
|
|
703
|
+
'------- ����_�����x(RoomTemp) -------
|
|
704
|
+
Bnd.Thermal(Index).RoomTemp.TempType = TEMP_AMBIENT_C
|
|
705
|
+
|
|
706
|
+
'------- �t��(Emittivity) -------
|
|
707
|
+
Bnd.Thermal(Index).Emittivity.Eps = (0.999)
|
|
708
|
+
|
|
709
|
+
'------- ����(FluidBern) -------
|
|
710
|
+
Bnd.FluidBern(Index).P = (0.0)
|
|
711
|
+
|
|
712
|
+
'------- ���z(Distribution) -------
|
|
713
|
+
Bnd.FluidBern(Index).TempType = TEMP_DIRECT_C
|
|
714
|
+
End Sub
|
|
715
|
+
|
|
716
|
+
'////////////////////////////////////////////////////////////
|
|
717
|
+
' Boundary�̐ݒ� Boundary���FCoil_OutAuto
|
|
718
|
+
'////////////////////////////////////////////////////////////
|
|
719
|
+
Sub BoundarySetUp_Coil_OutAuto()
|
|
720
|
+
'------- Boundary��Index��ۑ�����ϐ� -------
|
|
721
|
+
Dim Index As Integer
|
|
722
|
+
|
|
723
|
+
'------- Boundary�̒lj� -------
|
|
724
|
+
Bnd.Add "Coil_OutAuto"
|
|
725
|
+
|
|
726
|
+
'------- Boundary Index�̐ݒ� -------
|
|
727
|
+
Index = Bnd.Ask ( "Coil_OutAuto" )
|
|
728
|
+
|
|
729
|
+
'------- �d�C(Electrical) -------
|
|
730
|
+
Bnd.Electrical(Index).Condition = PORT_C
|
|
731
|
+
|
|
732
|
+
'------- �M(Thermal) -------
|
|
733
|
+
Bnd.Thermal(Index).bConAuto = False
|
|
734
|
+
Bnd.Thermal(Index).bSetRadioSetting = False
|
|
735
|
+
|
|
736
|
+
'------- ����_�����x(RoomTemp) -------
|
|
737
|
+
Bnd.Thermal(Index).RoomTemp.TempType = TEMP_AMBIENT_C
|
|
738
|
+
|
|
739
|
+
'------- �t��(Emittivity) -------
|
|
740
|
+
Bnd.Thermal(Index).Emittivity.Eps = (0.999)
|
|
741
|
+
|
|
742
|
+
'------- ����(FluidBern) -------
|
|
743
|
+
Bnd.FluidBern(Index).P = (0.0)
|
|
744
|
+
|
|
745
|
+
'------- ���z(Distribution) -------
|
|
746
|
+
Bnd.FluidBern(Index).TempType = TEMP_DIRECT_C
|
|
747
|
+
End Sub
|
|
748
|
+
|
|
749
|
+
'////////////////////////////////////////////////////////////
|
|
750
|
+
' IF��
|
|
751
|
+
'////////////////////////////////////////////////////////////
|
|
752
|
+
Function F_IF(expression As Double, val_true As Double, val_false As Double) As Double
|
|
753
|
+
If expression Then
|
|
754
|
+
F_IF = val_true
|
|
755
|
+
Else
|
|
756
|
+
F_IF = val_false
|
|
757
|
+
End If
|
|
758
|
+
|
|
759
|
+
End Function
|
|
760
|
+
|
|
761
|
+
'////////////////////////////////////////////////////////////
|
|
762
|
+
' �ϐ���`��
|
|
763
|
+
'////////////////////////////////////////////////////////////
|
|
764
|
+
Sub InitVariables()
|
|
765
|
+
|
|
766
|
+
|
|
767
|
+
'VB��̕ϐ��̒�`
|
|
768
|
+
pi = 3.1415926535897932
|
|
769
|
+
c_pi = 3.1415926535897932
|
|
770
|
+
section_radius = 2
|
|
771
|
+
coil_radius = 10
|
|
772
|
+
helical_pitch = 6
|
|
773
|
+
spiral_pitch = 0
|
|
774
|
+
n_turns = 5
|
|
775
|
+
|
|
776
|
+
'FemtetGUI��̕ϐ��̓o�^�i�������f���̕ϐ����䓙�ł̂ݗ��p�j
|
|
777
|
+
'Femtet.AddNewVariable "c_pi", 3.14159265e+00
|
|
778
|
+
'Femtet.AddNewVariable "section_radius", 2.00000000e+00
|
|
779
|
+
'Femtet.AddNewVariable "coil_radius", 1.00000000e+01
|
|
780
|
+
'Femtet.AddNewVariable "helical_pitch", 6.00000000e+00
|
|
781
|
+
'Femtet.AddNewVariable "spiral_pitch", 0.00000000e+00
|
|
782
|
+
'Femtet.AddNewVariable "n_turns", 5.00000000e+00
|
|
783
|
+
|
|
784
|
+
End Sub
|
|
785
|
+
|
|
786
|
+
'////////////////////////////////////////////////////////////
|
|
787
|
+
' ���f���쐬��
|
|
788
|
+
'////////////////////////////////////////////////////////////
|
|
789
|
+
Sub MakeModel()
|
|
790
|
+
|
|
791
|
+
'------- Body�z��ϐ��̒�` -------
|
|
792
|
+
Dim Body() as CGaudiBody
|
|
793
|
+
|
|
794
|
+
'------- ���f����`�悳���Ȃ��ݒ� -------
|
|
795
|
+
Femtet.RedrawMode = False
|
|
796
|
+
|
|
797
|
+
|
|
798
|
+
'------- CreateHelicalCylinder -------
|
|
799
|
+
ReDim Preserve Body(0)
|
|
800
|
+
Dim Point0 As new CGaudiPoint
|
|
801
|
+
Dim Point1 As new CGaudiPoint
|
|
802
|
+
Point0.SetCoord 0, 0, 0
|
|
803
|
+
Point1.SetCoord coil_radius, 0, 0
|
|
804
|
+
Set Body(0) = Gaudi.CreateHelicalCylinder(Point0, section_radius, Point1, helical_pitch, spiral_pitch, n_turns, True)
|
|
805
|
+
|
|
806
|
+
'------- SetName -------
|
|
807
|
+
Body(0).SetName "Coil", "008_��Cu"
|
|
808
|
+
|
|
809
|
+
'------- SetName -------
|
|
810
|
+
Body(0).SetName "", "008_Copper"
|
|
811
|
+
|
|
812
|
+
|
|
813
|
+
'------- ���f�����ĕ`�悵�܂� -------
|
|
814
|
+
Femtet.Redraw
|
|
815
|
+
|
|
816
|
+
End Sub
|
|
817
|
+
|
|
818
|
+
'////////////////////////////////////////////////////////////
|
|
819
|
+
' �v�Z���ʒ��o��
|
|
820
|
+
'////////////////////////////////////////////////////////////
|
|
821
|
+
Sub SamplingResult()
|
|
822
|
+
|
|
823
|
+
'------- �ϐ��ɃI�u�W�F�N�g�̐ݒ� -------
|
|
824
|
+
Set Gogh = Femtet.Gogh
|
|
825
|
+
|
|
826
|
+
'------- ���݂̌v�Z���ʂ𒆊ԃt�@�C������J�� -------
|
|
827
|
+
If Femtet.OpenCurrentResult(True) = False Then
|
|
828
|
+
Femtet.ShowLastError
|
|
829
|
+
End If
|
|
830
|
+
|
|
831
|
+
'------- �t�B�[���h�̐ݒ� -------
|
|
832
|
+
Gogh.Gauss.Vector = GAUSS_MAGNETIC_FLUX_DENSITY_C
|
|
833
|
+
|
|
834
|
+
'------- �ő�l�̎擾 -------
|
|
835
|
+
Dim PosMax() As Double '�ő�l�̍��W
|
|
836
|
+
Dim ResultMax As Double ' �ő�l
|
|
837
|
+
|
|
838
|
+
If Gogh.Gauss.GetMAXVectorPoint(VEC_C, CMPX_REAL_C, PosMax, ResultMax) = False Then
|
|
839
|
+
Femtet.ShowLastError
|
|
840
|
+
End If
|
|
841
|
+
|
|
842
|
+
'------- �ŏ��l�̎擾 -------
|
|
843
|
+
Dim PosMin() As Double '�ŏ��l�̍��W
|
|
844
|
+
Dim ResultMin As Double '�ŏ��l
|
|
845
|
+
|
|
846
|
+
If Gogh.Gauss.GetMINVectorPoint(VEC_C, CMPX_REAL_C, PosMin, ResultMin) = False Then
|
|
847
|
+
Femtet.ShowLastError
|
|
848
|
+
End If
|
|
849
|
+
|
|
850
|
+
'------- �C�Ӎ��W�̌v�Z���ʂ̎擾 -------
|
|
851
|
+
Dim Value() As New CComplex
|
|
852
|
+
|
|
853
|
+
If Gogh.Gauss.GetVectorAtPoint(0, 0, 0, Value()) = False Then
|
|
854
|
+
Femtet.ShowLastError
|
|
855
|
+
End If
|
|
856
|
+
|
|
857
|
+
' �����̍��W�̌��ʂ��܂Ƃ߂Ď擾����ꍇ�́AMultiGetVectorAtPoint���������p���������B
|
|
858
|
+
|
|
859
|
+
End Sub
|
|
860
|
+
|
|
Binary file
|
|
Binary file
|
|
@@ -108,7 +108,12 @@ class PredictionModelCreator:
|
|
|
108
108
|
mode='markers',
|
|
109
109
|
marker=dict(
|
|
110
110
|
size=3,
|
|
111
|
-
|
|
111
|
+
line=dict(
|
|
112
|
+
width=1, # broken?
|
|
113
|
+
color='white',
|
|
114
|
+
# color=df['trial'], # 見づらい?
|
|
115
|
+
# colorscale='Viridis_r',
|
|
116
|
+
),
|
|
112
117
|
),
|
|
113
118
|
name='trial',
|
|
114
119
|
))
|
|
@@ -117,7 +122,10 @@ class PredictionModelCreator:
|
|
|
117
122
|
x=df[prm_name_1], y=df[obj_name],
|
|
118
123
|
mode='markers',
|
|
119
124
|
marker=dict(
|
|
120
|
-
|
|
125
|
+
line=dict(
|
|
126
|
+
width=1,
|
|
127
|
+
color='white',
|
|
128
|
+
),
|
|
121
129
|
),
|
|
122
130
|
name='trial',
|
|
123
131
|
))
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
Copyright 2025 Kazuma NAITO
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
4
|
+
|
|
5
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
6
|
+
|
|
7
|
+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: pyfemtet
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.15
|
|
4
4
|
Summary: Design parameter optimization using Femtet.
|
|
5
|
-
License:
|
|
5
|
+
License: MIT
|
|
6
6
|
Author: kazuma.naito
|
|
7
|
-
Author-email:
|
|
7
|
+
Author-email: 148934231+pyfemtet@users.noreply.github.com
|
|
8
8
|
Requires-Python: >=3.10,<3.13
|
|
9
|
-
Classifier: License :: OSI Approved ::
|
|
9
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
10
10
|
Classifier: Programming Language :: Python :: 3
|
|
11
11
|
Classifier: Programming Language :: Python :: 3.10
|
|
12
12
|
Classifier: Programming Language :: Python :: 3.11
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
pyfemtet/__init__.py,sha256=
|
|
1
|
+
pyfemtet/__init__.py,sha256=mZSmDIEx8L4v-ypWn3-H4kJYgccrfM7pozfWSrSyoUE,22
|
|
2
2
|
pyfemtet/_femtet_config_util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
3
|
pyfemtet/_femtet_config_util/autosave.py,sha256=dNirA9XGuFehas8_Jkj2BW9GOzMbPyhnt1WHcH_ObSU,2070
|
|
4
4
|
pyfemtet/_femtet_config_util/exit.py,sha256=0BWID-tjOkmZwmgPFkcJMkWW39voccz5ARIBWvZbHaw,1877
|
|
@@ -44,7 +44,7 @@ pyfemtet/opt/advanced_samples/surrogate_model/gal_ex13_optimize_with_surrogate_j
|
|
|
44
44
|
pyfemtet/opt/advanced_samples/surrogate_model/gal_ex13_parametric.femprj,sha256=iIHH1X-wWBqEYj4cFJXco73LCJXSrYBsSKOD0HxYu60,87599
|
|
45
45
|
pyfemtet/opt/interface/__init__.py,sha256=SstCN9WMYqF5lKNbb8xAzq0hBV-Hk8YuCrajvF3sOg0,1350
|
|
46
46
|
pyfemtet/opt/interface/_base.py,sha256=hDv4C8LQpKaeZJR8iEfTSVd4Na2fQblFBv0Yw78xcRY,2856
|
|
47
|
-
pyfemtet/opt/interface/_excel_interface.py,sha256=
|
|
47
|
+
pyfemtet/opt/interface/_excel_interface.py,sha256=QUGQhN8dUS8cvVTc7TUzirlhCWxQd5b4AQXIUzSen3o,40170
|
|
48
48
|
pyfemtet/opt/interface/_femtet.py,sha256=Y1t_GY_W0ivR6obv8eiMx1_-OoJFTjQAvhnoUkIMaaQ,38657
|
|
49
49
|
pyfemtet/opt/interface/_femtet_excel.py,sha256=dWPQguKNOVdJ4jTfwLykCeM9iwA2S1KOLynw8UGzmvk,5968
|
|
50
50
|
pyfemtet/opt/interface/_femtet_parametric.py,sha256=hxNiZfhR1IPtrMXg39TZutXTcOXdoxTKiRTTcYRGgVs,10181
|
|
@@ -57,9 +57,11 @@ pyfemtet/opt/interface/_surrogate/_base.py,sha256=s_Mqo7CUAhaj-ZYYxxGKekiox4EnH_
|
|
|
57
57
|
pyfemtet/opt/interface/_surrogate/_chaospy.py,sha256=Bqej89Mo0zgdJq1OK7YKRqHOcuyN0wL4ZQUQXdJtYJ8,1987
|
|
58
58
|
pyfemtet/opt/interface/_surrogate/_singletaskgp.py,sha256=bHzY5QIjA9zhLxweexz259XQMZLgkHWfrIDW7f3q-2k,2520
|
|
59
59
|
pyfemtet/opt/interface/_surrogate_excel.py,sha256=r0i9xNb6R-1SHL911Pi9x6lD4mQbCl8m3cQG2dQft1E,3509
|
|
60
|
-
pyfemtet/opt/meta_script/YAML_Generator.xlsm,sha256=
|
|
60
|
+
pyfemtet/opt/meta_script/YAML_Generator.xlsm,sha256=UQx-lfrblhzImj2x_yXykNmUXtUYAHSJjROPaEp4OQI,105061
|
|
61
61
|
pyfemtet/opt/meta_script/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
62
62
|
pyfemtet/opt/meta_script/__main__.py,sha256=J7RD6aFr67t62tcwgLcoC4GzQ2DdYFxx7z63imro9A4,8061
|
|
63
|
+
pyfemtet/opt/meta_script/sample/sample.bas,sha256=2iuSYMgPDyAdiSDVGxRu3avjcZYnULz0l8e25YBa7SQ,27966
|
|
64
|
+
pyfemtet/opt/meta_script/sample/sample.femprj,sha256=6_0ywhgXxZjdzZzQFog8mgMUEjKNCFVNlEgAWoptovk,292885
|
|
63
65
|
pyfemtet/opt/optimizer/__init__.py,sha256=Ia6viowECkG0IFXtFef0tJ4jDKsoDzJLqMJ9xLFH2LQ,543
|
|
64
66
|
pyfemtet/opt/optimizer/_base.py,sha256=1TY1iVZdpgJcmF6g3-CcY-6u4REs8_gR_0y9cXUQe2s,12932
|
|
65
67
|
pyfemtet/opt/optimizer/_optuna/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -110,7 +112,7 @@ pyfemtet/opt/samples/femprj_sample_jp/ParametricIF_jp.femprj,sha256=9BtDHmc3cdom
|
|
|
110
112
|
pyfemtet/opt/samples/femprj_sample_jp/ParametricIF_jp.py,sha256=oXzchBZEbH69xacDht5HDnbZzKwapXsn6bp9qihY17Y,707
|
|
111
113
|
pyfemtet/opt/samples/femprj_sample_jp/cad_ex01_NX_jp.femprj,sha256=0RBhOGhtiFAp0QSCTBYEaDY9EZymn9hJYchAOJ6PaBA,143533
|
|
112
114
|
pyfemtet/opt/samples/femprj_sample_jp/cad_ex01_NX_jp.py,sha256=B7wVemkiVzh0NJXDzG3fdigWBOb58ZxrJZUT4NRvW9Q,4899
|
|
113
|
-
pyfemtet/opt/samples/femprj_sample_jp/cad_ex01_SW_jp.femprj,sha256=
|
|
115
|
+
pyfemtet/opt/samples/femprj_sample_jp/cad_ex01_SW_jp.femprj,sha256=XfJPolKFBwIZI2vYWFhb12_zM8T-qmWBzHij1H53F5E,129101
|
|
114
116
|
pyfemtet/opt/samples/femprj_sample_jp/cad_ex01_SW_jp.py,sha256=e-XaHBZ8syWlG9pObcDDkHGLC5t338zAt_NyRXty338,4837
|
|
115
117
|
pyfemtet/opt/samples/femprj_sample_jp/constrained_pipe_jp.py,sha256=QhAwJOFEknf6Yk3mMgr1gdqB_Db8akjJGZNBepsrdgA,3654
|
|
116
118
|
pyfemtet/opt/samples/femprj_sample_jp/gal_ex58_parametric_jp.femprj,sha256=PzqtNVde6VnMHFpedRBsOq9JVhCY0ymQPVs54EKsNLw,75668
|
|
@@ -134,7 +136,7 @@ pyfemtet/opt/visualization/_complex_components/control_femtet.py,sha256=sY0YH56M
|
|
|
134
136
|
pyfemtet/opt/visualization/_complex_components/main_figure_creator.py,sha256=Wt_aL6srMNW-84LeZ86_OtljzmFoF9v0yklVpPAgNDE,9480
|
|
135
137
|
pyfemtet/opt/visualization/_complex_components/main_graph.py,sha256=WbV0oW6nUS734688Zd4H1OpDrBBWJEu6u4u7lqoqnSQ,31975
|
|
136
138
|
pyfemtet/opt/visualization/_complex_components/pm_graph.py,sha256=FnxerXoddflukSj_BdhjK7jBl83qSDFsTUcQzs8Nij8,25153
|
|
137
|
-
pyfemtet/opt/visualization/_complex_components/pm_graph_creator.py,sha256=
|
|
139
|
+
pyfemtet/opt/visualization/_complex_components/pm_graph_creator.py,sha256=4fEZhJGv0h5j4YeN7rgHyNw88PWo59D1baa9OckPS0Q,7611
|
|
138
140
|
pyfemtet/opt/visualization/_create_wrapped_components.py,sha256=9AltJHr1DM6imZfpNp867rC-uAYqQ-emdgTLChKDrl8,2513
|
|
139
141
|
pyfemtet/opt/visualization/_process_monitor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
140
142
|
pyfemtet/opt/visualization/_process_monitor/application.py,sha256=8ShNMPWrD_1IHyPz2a63tlzENQg7by3kg4pdXSuv0_4,8659
|
|
@@ -148,8 +150,9 @@ pyfemtet/opt/visualization/result_viewer/.gitignore,sha256=ryvb4aqbbsHireHWlPQfx
|
|
|
148
150
|
pyfemtet/opt/visualization/result_viewer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
149
151
|
pyfemtet/opt/visualization/result_viewer/application.py,sha256=WcHBx_J5eNLKSaprpk9BGifwhO04oN8FiNGYTWorrXA,1691
|
|
150
152
|
pyfemtet/opt/visualization/result_viewer/pages.py,sha256=MZAjzbuq0toZrR-iJhElM3A12_jHVCTt65gz1kdNPbw,32193
|
|
151
|
-
pyfemtet-0.8.
|
|
152
|
-
pyfemtet-0.8.
|
|
153
|
-
pyfemtet-0.8.
|
|
154
|
-
pyfemtet-0.8.
|
|
155
|
-
pyfemtet-0.8.
|
|
153
|
+
pyfemtet-0.8.15.dist-info/LICENSE,sha256=LWUL5LlMGjSRTvsalS8_fFuwS4VMw18fJSNWFwDK8pc,1060
|
|
154
|
+
pyfemtet-0.8.15.dist-info/LICENSE_THIRD_PARTY.txt,sha256=8_9-cgzTpmeuCqItPZb9-lyAZcH2Qp9sZTU_hYuOZIQ,191
|
|
155
|
+
pyfemtet-0.8.15.dist-info/METADATA,sha256=cl-DB6ui4bKbTkqL4fQb_ECkT2fvzfgKij62e20yxwg,3560
|
|
156
|
+
pyfemtet-0.8.15.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
|
|
157
|
+
pyfemtet-0.8.15.dist-info/entry_points.txt,sha256=ZfYqRaoiPtuWqFi2_msccyrVF0LurMn-IHlYamAegZo,104
|
|
158
|
+
pyfemtet-0.8.15.dist-info/RECORD,,
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
Copyright (c) 2023 Kazuma Naito
|
|
2
|
-
All rights reserved.
|
|
3
|
-
|
|
4
|
-
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
5
|
-
|
|
6
|
-
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
7
|
-
|
|
8
|
-
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
9
|
-
|
|
10
|
-
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
|
11
|
-
|
|
12
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
File without changes
|
|
File without changes
|