Skip to content

Commit

Permalink
stress tensor maxwell
Browse files Browse the repository at this point in the history
  • Loading branch information
gmalinve committed Jun 20, 2024
1 parent 8bf2543 commit d15bf0f
Show file tree
Hide file tree
Showing 5 changed files with 125 additions and 3 deletions.
Binary file not shown.
Binary file not shown.
18 changes: 16 additions & 2 deletions _unittest_solvers/test_45_workflows.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
twinbuilder_circuit = "TB_test"
report = "report"
fields_calculator = "fields_calculator_solved"
m2d_electrostatic = "m2d_elec_fields_calc"
m2d_electrostatic = "maxwell_fields_calculator"

test_subfolder = "T45"

Expand Down Expand Up @@ -231,8 +231,9 @@ def test_09_advanced_fields_calculator_general(self, add_app):

aedtapp = add_app(application=pyaedt.Maxwell2d,
project_name=m2d_electrostatic,
design_name="e_tangential",
subfolder=test_subfolder)
name = aedtapp.post.fields_calculator.add_expression("e_line", "Poly1")
name = aedtapp.post.fields_calculator.add_expression("e_line", None)
assert name
assert aedtapp.post.fields_calculator.expression_plot("e_line", "Poly1", [name])

Expand All @@ -243,6 +244,19 @@ def test_09_advanced_fields_calculator_general(self, add_app):

aedtapp.close_project(aedtapp.project_name)

aedtapp = add_app(application=pyaedt.Maxwell2d,
project_name=m2d_electrostatic,
design_name="stress_tensor",
subfolder=test_subfolder)
name = aedtapp.post.fields_calculator.add_expression("radial_stress_tensor", None)
assert name
assert aedtapp.post.fields_calculator.expression_plot("radial_stress_tensor", "Polyline1", [name])
name = aedtapp.post.fields_calculator.add_expression("tangential_stress_tensor", None)
assert name
assert aedtapp.post.fields_calculator.expression_plot("tangential_stress_tensor", "Polyline1", [name])

aedtapp.close_project(aedtapp.project_name)

def test_10_push_excitation_3dl(self, local_scratch, desktop):
from pyaedt.workflows.hfss3dlayout.push_excitation_from_file_3dl import main

Expand Down
102 changes: 101 additions & 1 deletion pyaedt/misc/expression_catalog.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ operations = ["Fundamental_Quantity('E')",
"Operation('Integrate')",
"Operation('CmplxI')",
"Operation('+')"]
dependent_expressions = []
report = ["Data Table", "Rectangular Plot"]

[voltage_line_time]
Expand All @@ -44,6 +45,7 @@ operations = ["Fundamental_Quantity('E_t')",
"Operation('LineValue')",
"Operation('Integrate')"
]
dependent_expressions = []
report = ["Data Table", "Rectangular Plot"]

[voltage_line_maxwell]
Expand Down Expand Up @@ -72,6 +74,7 @@ operations = ["NameOfExpression('<Ex,Ey,Ez>')",
"Operation('Integrate')",
"Operation('CmplxI')",
"Operation('+')"]
dependent_expressions = []
report = ["Data Table", "Rectangular Plot"]

[voltage_drop]
Expand All @@ -87,6 +90,7 @@ constants = {"vrm"= 3.3}
operations = ["Fundamental_Quantity('dcvPhi')",
"Scalar_Function(FuncValue='vrm')",
"Operation('+')"]
dependent_expressions = []
report = ["Field_3D"]

# Current
Expand Down Expand Up @@ -117,6 +121,7 @@ operations = ["NameOfExpression('<Hx,Hy,Hz>')",
"Operation('Integrate')",
"Operation('CmplxI')",
"Operation('+')"]
dependent_expressions = []
report = ["Data Table", "Rectangular Plot"]

[current_line_time]
Expand All @@ -134,6 +139,7 @@ operations = ["Fundamental_Quantity('H_t')",
"EnterLine('assignment')",
"Operation('LineValue')",
"Operation('Integrate')"]
dependent_expressions = []
report = ["Data Table", "Rectangular Plot"]

# Power
Expand All @@ -154,6 +160,7 @@ operations = ["NameOfExpression('Poynting')",
"EnterSurface('assignment')",
"Operation('SurfaceValue')",
"Operation('Integrate')"]
dependent_expressions = []
report = ["Data Table", "Rectangular Plot"]

# Misc
Expand Down Expand Up @@ -181,6 +188,7 @@ operations = ["Fundamental_Quantity('E')",
"Operation('Mag')",
"Operation('/')"
]
dependent_expressions = []
report = ["Data Table", "Rectangular Plot"]

[wave_impedance_y]
Expand All @@ -206,6 +214,7 @@ operations = ["Fundamental_Quantity('E')",
"Operation('Mag')",
"Operation('/')"
]
dependent_expressions = []
report = ["Data Table", "Rectangular Plot"]

[wave_impedance_z]
Expand All @@ -231,6 +240,7 @@ operations = ["Fundamental_Quantity('E')",
"Operation('Mag')",
"Operation('/')"
]
dependent_expressions = []
report = ["Data Table", "Rectangular Plot"]

# Electrostatic
Expand All @@ -250,6 +260,7 @@ operations = ["NameOfExpression('<Dx,Dy,Dz>')",
"EnterSurface('assignment')",
"Operation('SurfaceValue')",
"Operation('Integrate')"]
dependent_expressions = []
report = ["Data Table", "Rectangular Plot"]

[e_line]
Expand All @@ -264,4 +275,93 @@ assignment_type = ["Line"]
operations = ["NameOfExpression('<Ex,Ey,0>')",
"Operation('Tangent')",
"Operation('Dot')"]
report = ["Data Table", "Rectangular Plot"]
dependent_expressions = []
report = ["Data Table", "Rectangular Plot"]

[b_radial]
name = "Radial_Component_Magnetic_Field"
description = "Radial component of magnetic field"
design_type = ["Maxwell 2D"]
fields_type = ["Fields"]
solution_type = ""
primary_sweep = "Distance"
assignment = ""
assignment_type = ["Line"]
operations = ["Fundamental_Quantity('B')",
"Operation('ScalarX')",
"Scalar_Function(FuncValue='PHI')",
"Operation('UMathFunc', 'Cos')",
"Operation('*')",
"Fundamental_Quantity('B')",
"Operation('ScalarY')",
"Scalar_Function(FuncValue='PHI')",
"Operation('UMathFunc', 'Sin')",
"Operation('*')",
"Operation('+')"]
dependent_expressions = []
report = ["Data Table", "Rectangular Plot"]

[b_tangential]
name = "Tangential_Component_Magnetic_Field"
description = "Tangential component of magnetic field"
design_type = ["Maxwell 2D"]
fields_type = ["Fields"]
solution_type = ""
primary_sweep = "Distance"
assignment = ""
assignment_type = ["Line"]
operations = ["Fundamental_Quantity('B')",
"Operation('ScalarX')",
"Scalar_Function(FuncValue='PHI')",
"Operation('UMathFunc', 'Sin')",
"Operation('*')",
"Operation('Neg')",
"Fundamental_Quantity('B')",
"Operation('ScalarY')",
"Scalar_Function(FuncValue='PHI')",
"Operation('UMathFunc', 'Cos')",
"Operation('*')",
"Operation('+')"]
dependent_expressions = []
report = ["Data Table", "Rectangular Plot"]

[radial_stress_tensor]
name = "Radial_Stress_Tensor"
description = "Radial stress tensor"
design_type = ["Maxwell 2D"]
fields_type = ["Fields"]
solution_type = ""
primary_sweep = "Distance"
assignment = ""
assignment_type = ["Line"]
dependent_expressions = ["b_radial", "b_tangential"]
operations = ["NameOfExpression('b_radial')",
"NameOfExpression('b_radial')",
"Operation('*')",
"NameOfExpression('b_tangential')",
"NameOfExpression('b_tangential')",
"Operation('*')",
"Operation('Neg')",
"Operation('+')",
"Scalar_Constant(1.25664e-06)",
"Operation('/')",
"Scalar_Constant(2)",
"Operation('/')"]
report = ["Data Table", "Rectangular Plot"]

[tangential_stress_tensor]
name = "Tangential_Stress_Tensor"
description = "Tangential stress tensor"
design_type = ["Maxwell 2D"]
fields_type = ["Fields"]
solution_type = ""
primary_sweep = "Distance"
assignment = ""
assignment_type = ["Line"]
dependent_expressions = ["b_radial", "b_tangential"]
operations = ["NameOfExpression('b_radial')",
"NameOfExpression('b_tangential')",
"Operation('*')",
"Scalar_Constant(1.25664e-06)",
"Operation('/')"]
report = ["Data Table", "Rectangular Plot"]
8 changes: 8 additions & 0 deletions pyaedt/modules/fields_calculator.py
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,14 @@ def add_expression(self, calculation, assignment, name=None):
for k, v in constants.items():
self.__app.variable_manager.set_variable(k, v, postprocessing=True)

# Check for dependent expressions
if expression_info["dependent_expressions"]:
for expression in expression_info["dependent_expressions"]:
expression_name = self.add_expression(calculation=expression, assignment=None)
expression_info["operations"] = [
operation.replace(expression, expression_name) for operation in expression_info["operations"]
]

if assignment is not None:
expression_info["assignment"] = assignment

Expand Down

0 comments on commit d15bf0f

Please sign in to comment.