Hello,
Yes, it is full terminal message:
Setting default quadrature values for basis order 3
main beg
License Validated.
input file name : monopole.h5
runStage : 0
fileNameSimulation : monopole.h5
fileNameReport :
simulation configure beg
simulation data configure beg
read simulation dB configuration beg
read simulation configuration beg
read simulation quadrature beg
read simulation quadrature end
read simulation configuration end
SimulationConfiguration
model name : monopole
precision : H
M : 3
frequencies (GHz)
0 : 9.2220000000000000e+08
read simulation mesh beg
read simulation mesh end
MeshConfiguration
scale : 1.0000000000000000e-03
cubFileName : test.cub5
abaqusFileName :
read cluster configuration beg
read cluster configuration end
ClusterConfiguration
distance method : CENTROID
minimum size : 2000
free space lambda scale : 1.000000
minimum binary tree level : 1
maximum binary tree level : 15
read simulation solver beg
read compression configuration beg
read compression configuration end
read simulation solver end
SolverConfiguration
system : COMPRESS
use GPUs : 0
CompressionConfiguration
dense fill all off diagonal blocks : 0
compress fill all off diagonal blocks : 0
dense fill all junction blocks : 0
minimal block size : 10
free space lambda scale : 1.000000
fill tolerance : 0.0001
solve tolerance : 0.0001
number of random restarts : 5
read simulation materials beg
read simulation materials end
read simulation PW excitations beg
read simulation PW excitations end
read simulation VS excitations beg
reading VS : port_1
read simulation VS excitations end
ExcitationConfiguration
voltage sources (1)
port_1 : block_2 block_3
incident angles th (deg) (0)
incident angles ph (deg) (0)
read simulation material settings beg
read simulation material settings end
MaterialManagerConfiguration
materials
-1 : PEC (implicit)
0 : freespace
0 : (+1.0000000000000000e+00 , +0.0000000000000000e+00) : (+1.0000000000000000e+00 , +0.0000000000000000e+00)
material volumes
0 : 0 :: 0 freespace
1 : 9 :: -1 PEC
material blocks
0 : block_1 :: 0 0 :: PEC
1 : block_2 :: 0 0 :: PEC
2 : block_3 :: 0 0 :: PEC
3 : block_5 :: 0 9 :: PEC
read simulation dB configuration end
configure incident angles beg
configure incident angles end
configure observed angles beg
configure observed angles end
configure GQ beg
GQ_CACHE::GQ_TS : 0
GQ_CACHE::GQ_TN : 1
GQ_CACHE::GQ_TF : 2
GQ_CACHE::GQ_SS : 3
GQ_CACHE::GQ_SN : 4
GQ_CACHE::GQ_SF : 5
GQ load Ts beg (12)
GQ load Ts end
GQ load Tn beg (12)
GQ load Tn end
GQ load Tf beg (3)
GQ load Tf end
GQ load Ss beg (12)
GQ load Ss end
GQ load Sn beg (16)
GQ load Sn end
GQ load Sf beg (3)
GQ load Sf end
configure GQ end
configure order beg
configure order end
configure mesh file name base beg
fileNameMeshBase : test.cub5
configure mesh file name base end
Mesh_GQ_MLP load beg
extension : cub5
read mesh beg
NSEM returned an error. Please check the error log for more information.Returned 3221226356
Command '['C:\\Program Files\\Nullspace EM 2023 R3\\bin\\nsem.EXE', 'monopole.h5']' returned non-zero exit status 3221226356.
Traceback (most recent call last):
File "C:\Users\diogo\Desktop\test\simulation.py", line 24, in <module>
model.run()
File "C:\Program Files\Nullspace EM 2023 R3\Nullspace-Python\lib\site-packages\nsem\config.py", line 744, in run
raise subprocess.CalledProcessError(process.returncode, process.args)
subprocess.CalledProcessError: Command '['C:\\Program Files\\Nullspace EM 2023 R3\\bin\\nsem.EXE', 'monopole.h5']' returned non-zero exit status 3221226356.
I used simple file py.
# -*- coding: utf-8 -*-
import numpy as np
from nsem.config import *
from nsem.report import *
model = Configuration('monopole')
model.set_cub5_filename('test.cub5')
model.set_model_scale(0.001)
model.set_order(3)
model.set_solve_type('compress')
# Set the specific frequency instead of a frequency range
frequency = 0.9222 # Example: 900 MHz
model.set_frequencies(np.array([frequency])) # Use a single frequency in the array
model.save()
report = Report('monopole_report', model)
thObs = np.linspace(0, 360, 361)
phObs = np.linspace(0, 360, 361)
report.request_far_fields_grid(thObs, phObs)
report.request_y_parameters()
report.save()
model.run()
report.run()
prep file:
reset # Clear Prep
reset aprepro # Clear old variables
#substrate dimensions
# {sub_h = 60} # Units in mm
# {sub_w = 60} # Units in mm
# {sub_offset = 10}
#cylinders dimensions
# {cy_h = 19} # Units in mm
# {cy_r = 2.5} # Units in mm
# move dimensions
# {align_offset = 0}
# Create the ground plane(model for antenna)
create surface rectangle width 100 height 250 zplane
create vertex -39.52 12.16 0 on surface 1
create vertex 39.52 12.16 0 on surface 1
create vertex 30.4 88.16 0 on surface 1
create vertex -30.4 88.16 0 on surface 1
create vertex 12.16 101.84 0 on surface 1
create vertex -12.16 101.84 0 on surface 1
create vertex 41.04 -48.64 0 on surface 1
create vertex -41.04 -48.64 0 on surface 1
create vertex 15.2 -104.88 0 on surface 1
create vertex -15.2 -104.88 0 on surface 1
create vertex -30.4 -89.68 0 on surface 1
create vertex 30.4 -89.68 0 on surface 1
create vertex -38 -71.44 0 on surface 1
create vertex 38 -71.44 0 on surface 1
create vertex 0 104.88 0 on surface 1
create vertex -41.04 -7.6 0 on surface 1
create vertex 41.04 -7.6 0 on surface 1
create curve vertex 5,8
create curve vertex 8,10
create curve vertex 10,19
create curve vertex 19,9
create curve vertex 9,7
create curve vertex 7,6
create curve vertex 6,21
create curve vertex 21,11
create curve vertex 11,18
create curve vertex 18,16
create curve vertex 16,13
create curve vertex 13,14
create curve vertex 14,15
create curve vertex 15,17
create curve vertex 17,12
create curve vertex 12,20
create curve vertex 20,5
create surface curve 5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21 on surface 1
intersect surface 1,2
view top
move surface 2 x {align_offset} z 359 #340 + height of cylinder
webcut volume 2 with plane xplane offset 0
delete volume 2
#variables at 900 MHz
#{freq_1 = 0.9222}
#{lam_1 = 0.3/freq_1*1000} # Units in mm
#{a_1 = 0.005*lam_1}
#{w_1 = 4*a_1}
#{L_1 = 0.23*lam_1} # Quarter-wave monopole
# Create the monopole at 900 MHz
create surface rectangle width {w_1} height {L_1} yplane
#{v_monopole_1 = Id("volume")}
#{s_monopole_1 = Id("surface")}
move volume {v_monopole_1} z {L_1/2}
rotate surface {s_monopole_1} angle 90 about z include_merged
move surface {s_monopole_1} location {align_offset} -19.76 {L_1/2 + 359} include_merged
# Split the monopole at 900MHz surface near the ground plane to create a voltage source curve
#split surface in volume {v_monopole_1} across location position 0 {-w_1} {w_1} location position 0 {w_1} {w_1}
webcut volume {v_monopole_1} with plane zplane offset {w_1 + 359}
#{s_monopole_neg_1 = Id("surface")}
#variables at 1900 MHz
#{freq_2 = 1.905}
#{lam_2 = 0.3/freq_2*1000} # Units in mm
#{a_2 = 0.005*lam_2}
#{w_2 = 4*a_2}
#{L_2 = 0.23*lam_2} # Quarter-wave monopole
# Create the monopole at 1900 MHz
create surface rectangle width {w_2} height {L_2} yplane
#{v_monopole_2 = Id("volume")}
#{s_monopole_2 = Id("surface")}
move volume {v_monopole_2} z {L_2/2}
rotate surface {s_monopole_2} angle 90 about z include_merged
move surface {s_monopole_2} location {align_offset} 34.96 {L_2/2 + 359} include_merged
# Split the monopole at 1900MHz surface near the ground plane to create a voltage source curve
#split surface in volume {v_monopole_2} across location position 0 {-w_2} {w_2} location position 0 {w_2} {w_2}
webcut volume {v_monopole_2} with plane zplane offset {w_2 + 359}
#{s_monopole_neg_2 = Id("surface")}
# Imprint and merge to create common curves among surfaces at intersections
imprint all
merge all
block 1 surface all
#{mesh_size = lam_2/5}
surface all scheme pave
curve common_to surface {s_monopole_neg_1} {s_monopole_neg_1-1} interval 1
surface {s_monopole_neg_1} size {w_1/2}
mesh surface {s_monopole_neg_1}
surface {s_monopole_neg_1-1} size {w_1}
mesh surface {s_monopole_neg_1-1}
curve common_to surface {s_monopole_neg_2} {s_monopole_neg_2-1} interval 1
surface {s_monopole_neg_2} size {w_2/2}
mesh surface {s_monopole_neg_2}
surface {s_monopole_neg_2-1} size {w_2}
mesh surface {s_monopole_neg_2-1}
surface not is_meshed size {mesh_size}
mesh surface not is_meshed
Surface 4 copy reflect x
imprint all
merge all
# Assign surfaces with PEC material and create the voltage source
nsem assign surface all material "PEC"
nsem assign volume all material "PEC"
nsem voltage source "port_1" pos surface {s_monopole_neg_1-1} neg surface {s_monopole_neg_1} impedance 50
#nsem voltage source "port_2" pos surface {s_monopole_neg_2-1} neg surface {s_monopole_neg_2} impedance 50
create Cylinder height 4000 major radius 1500 minor radius 340
#{v_cyl = Id("volume")}
rotate Volume {v_cyl} angle 90 about X include_merged
webcut volume {v_cyl} with plane zplane offset 0
delete volume 10
# create 4 cylinders attached to both ground plane and substrate(working as support to stucure with monopole)- wanted to put in near end of rectangule(all 4 forming a square-i wasn't able to do that)
#create cylinder height {cy_h} radius {cy_r}
brick x {2*cy_r} y {2*cy_r} z {cy_h}
#{v_cyl_1 = Id("volume")}
brick x {2*cy_r} y {2*cy_r} z {cy_h}
brick x {2*cy_r} y {2*cy_r} z {cy_h}
brick x {2*cy_r} y {2*cy_r} z {cy_h}
move volume {v_cyl_1} x {sub_w/2 - 1*cy_r + align_offset} y {sub_h/2 - 1*cy_r} z {349.5} #340 + half of height of cylinder
move volume {v_cyl_1+1} x {-(sub_w/2 - 1*cy_r) + align_offset} y {sub_h/2 - 1*cy_r} z {349.5}
move volume {v_cyl_1+2} x {-(sub_w/2 - 1*cy_r) + align_offset} y {-(sub_h/2 - 1*cy_r)} z {349.5}
move volume {v_cyl_1+3} x {sub_w/2 - 1*cy_r + align_offset} y {-(sub_h/2 - 1*cy_r)} z {349.5}
delete volume {v_cyl_1}
delete volume {v_cyl_1+1}
delete volume {v_cyl_1+2}
delete volume {v_cyl_1+3}
block 1 surface all
#{mesh_size = lam_2/1.9}
surface all scheme pave
surface {s_monopole_neg_1} size {w_1/2}
mesh surface {s_monopole_neg_1}
surface {s_monopole_neg_1-1} size {w_1}
mesh surface {s_monopole_neg_1-1}
surface {s_monopole_neg_2} size {w_2/2}
mesh surface {s_monopole_neg_2}
surface {s_monopole_neg_2-1} size {w_2}
mesh surface {s_monopole_neg_2-1}
surface not is_meshed size {mesh_size}
mesh surface not is_meshed
# Assign surfaces with PEC material and create the voltage source
nsem assign surface all material "PEC"
nsem assign volume all material "PEC"
nsem print status
save cub5 "test.cub5" overwrite journal
Is there more things to extract from terminal to find error?
Thanks for attention