OnScale Cloud Failures Answered
Hello, I have been getting failure reports when trying to run my code. I included my code below. Can you please help?
c mem 800 200 /* Allocate 800 megawords of memory - 3 GigaBytes (Not necesarry for Windows Operating Systems)
c NOTE: MEM Command must be first command in file, if used. (Line 1)
rest no
c *************************************************************************************************************
c
c Generated Flex Input File
c
c *************************************************************************************************************
c
c DESIGNER :OnScale - Designer Generated
c MODEL DESCRIPTION :
c DATE CREATED :11 Jul 2020
c VERSION :1.0
c *************************************************************************************************************
mp
omp * * /* Number of CPUs to be used in the execution.
end
titl PZTDisc_2
c *************************************************************************************************************
c
c Define User Variables
c
c *************************************************************************************************************
c
c These variables have been set by the user through the interface.
c
c *************************************************************************************************************
symb coordFactor = 1.0 /* Coordinate conversion factor
symb timeFactor = 1.0 /* Time conversion factor
symb dMassFactor = 1.0 /* Mass conversion factor
symbx freqint = 1e+6 /* Determined Drive Frequency (Hz)
c symb freqint = 500e+3 /* Determined Drive Frequency (Hz)
c *************************************************************************************************************
c
c Define Meshing
c
c *************************************************************************************************************
c
c Set the variable for the approximate element size for the model. Must be
c sufficient to represent the wavelengths of interest. Recommended that at least
c 15 elements per wavelength are used.
c
c *************************************************************************************************************
symb freqdamp = $freqint
symb wavevel = 1496 /* Longitudinal wave velocity in material (m/s)
symb wavelgth = $wavevel / $freqint /* Wavelength of sound in material (m)
symb nmesh = 30 /* Elements per wavelength
symb box = $wavelgth / $nmesh
c *************************************************************************************************************
c
c Geometry Locations (XYZ)
c
c *************************************************************************************************************
c Scale Parameters
symb xmin = 0.0 * $coordFactor
symb x_particle = 0.0007 * $coordFactor
symb x_pzt = 0.01 * $coordFactor
symb xmax = 0.034 * $coordFactor
symb ymin = 0.0 * $coordFactor
symb y_pzt_b = 0.004 * $coordFactor
symb y_pzt_t = 0.006 * $coordFactor
symb y_particle_b = 0.016 * $coordFactor
symb y_particle_t = 0.0165 * $coordFactor
symb ymax = 0.046 * $coordFactor
c Determine lengths of the model
symb xlen = ( $xmax - $xmin )
symb ylen = ( $ymax - $ymin )
c ***************************************************
c
c Keypoints in the X-Direction
c
c ***************************************************
symb #keycord x 1 $xmin $x_particle $x_pzt $xlen
symb #get { idx } rootmax x
c ***************************************************
c
c Keypoints in the Y-Direction
c
c ***************************************************
symb #keycord y 1 $ymin $y_pzt_b $y_pzt_t $y_particle_b $y_particle_t $ylen
symb #get { jdx } rootmax y
c *************************************************************************************************************
c
c Indices Locations (IJK)
c
c *************************************************************************************************************
c Grid in I direction, using approximately element size of 'box' and at least 1 element
symb #keyindx i 1 $idx 1 $box 1
symb indgrd = $i$idx
c Grid in J direction, using approximately element size of 'box' and at least 1 element
symb #keyindx j 1 $jdx 1 $box 1
symb jndgrd = $j$jdx
c *************************************************************************************************************
c
c GCON Grid & Geometry Allocation
c
c *************************************************************************************************************
grid $i$idx $j$jdx axiy
geom
keypnt $idx $jdx
end
c *************************************************************************************************************
c
c Driving Conditions
c
c *************************************************************************************************************
c
c A number of predefined waveform functions can be accessed in OnScale. The DATA
c HIST option is used below, other examples include wavelets, gaussians and step
c functions. The manual details the function entries
c
c *************************************************************************************************************
symb freqtimefunc_1 = $freqint
symb timeperiod = 1 / $freqint
symb numbercyc = 4 * ( $xlen / $wavelgth ) /* change the number to multiply the transiant time
c func
c name timefunc_1
c sine $freqtimefunc_1 1.0 0. $numbercyc 0. 0.0 /*frequency amplitude phaseshift nperiod valuadd rampcycle tdelay
c end
func sine $freqint 50.0 0. $numbercyc 0. 0.0 /*drfine (freq amp phaseshift #cycles)
c --------------------------------------------------------------
c Project Material List
c --------------------------------------------------------------
c -------------------------------------------------------------------------
c Global variables used in all the material definitions
c -------------------------------------------------------------------------
c
symb epvacm = 8.854e-12 /* dielectric constant for vacumn
symb freqdamp = 1.e6 if noexist /* specified frequency for damping model
symb rmu0 = 1.2566e-6
symb #msg 5
********************************************************
Damping matched at $freqdamp Hz
Redefine variable 'freqdamp' if device centre frequency
varies significantly from this value
********************************************************
c
c -------------------------------------------------------------------------
c Now define the axis transformation - only posx used in this file
c -------------------------------------------------------------------------
axis
form vctr
defn posx car2 0. 0. 0. 1. 0. 0. 0. 1. 0.
defn negx car2 0. 0. 0. -1. 0. 0. 0. 1. 0.
defn posy car2 0. 0. 0. 0. 1. 0. 0. 0. 1.
defn negy car2 0. 0. 0. 0. -1. 0. 0. 0. 1.
defn posz car2 0. 0. 0. 0. 0. 1. 1. 0. 0.
defn negz car2 0. 0. 0. 0. 0. -1. 1. 0. 0.
end
c -------------------------------------------------------------------------
c Input material properties to program
c -------------------------------------------------------------------------
matr
c --------------------------------------------------------------
c type : BIOLOGICAL :
c name : watr :
c desc : Water at 25C :
c --------------------------------------------------------------
wvsp on
type elas
prop watr 1054.00 1540.00 0.00000 0.010000
vdmp watr $freqdamp db 0.500000 0.00000 1e+6 1.00000 0.010000 1.00000
symb eps = 1
symb aeps = $epvacm * $eps
elec watr $aeps
c --------------------------------------------------------------
c type : GAS :
c name : air :
c desc : Air, room temp :
c --------------------------------------------------------------
wvsp on
type elas
prop air 1.24000 343.000 0.00000 0.
symb eps = 1
symb aeps = $epvacm * $eps
elec air $aeps
c --------------------------------------------------------------
c type : PIEZO :
c name : pmt3 :
c desc : CTS 3203HD :
c --------------------------------------------------------------
symb rho = 7820.00 /* density
symb qdmp = 90.0000 /* Mechanical Q at 1e6
symb qsdmp = 90.0000 /* Mechanical Q at 1e6
symb freqdamp = 1.e6 if noexist
symb freqloss = 1.00000e+06 if noexist /* Frequency that loss was measured at
wvsp off
type lean
c define baseline stiffness coefficients (Constant electric field)
symb c11 = 1.3745e+11
symb c12 = 8.79e+10
symb c13 = 9.23e+10
symb c14 = 0
symb c15 = 0
symb c16 = 0
symb c22 = 1.3745e+11
symb c23 = 9.23e+10
symb c24 = 0
symb c25 = 0
symb c26 = 0
symb c33 = 1.2574e+11
symb c34 = 0
symb c35 = 0
symb c36 = 0
symb c44 = 2.2279e+10
symb c45 = 0
symb c46 = 0
symb c55 = 2.2279e+10
symb c56 = 0
symb c66 = 2.4779e+10
prop pmt3 $rho
$c11 $c12 $c13 $c14 $c15 $c16 $c22
$c23 $c24 $c25 $c26 $c33 $c34 $c35
$c36 $c44 $c45 $c46 $c55 $c56 $c66
c define baseline dielectric coefficients
symb epxx = 1305.8
symb epyy = 1305.8
symb epzz = 1200.2
c scale material properties as specified above
symb aepxx = $epvacm * $epxx
symb aepyy = $epvacm * $epyy
symb aepzz = $epvacm * $epzz
elec pmt3 $aepxx $aepyy $aepzz
c define baseline piezoelectric coupling coefficients
symb ex1 = 0 /* coupling constant
symb ex2 = 0 /* coupling constant
symb ex3 = 0 /* coupling constant
symb ex4 = 0 /* coupling constant
symb ex5 = 16.054 /* coupling constant
symb ex6 = 0 /* coupling constant
symb ey1 = 0 /* coupling constant
symb ey2 = 0 /* coupling constant
symb ey3 = 0 /* coupling constant
symb ey4 = 16.054 /* coupling constant
symb ey5 = 0 /* coupling constant
symb ey6 = 0 /* coupling constant
symb ez1 = -9.44 /* coupling constant
symb ez2 = -9.44 /* coupling constant
symb ez3 = 22.495 /* coupling constant
symb ez4 = 0 /* coupling constant
symb ez5 = 0 /* coupling constant
symb ez6 = 0 /* coupling constant
piez pmt3 1 1 $ex1 1 2 $ex2 1 3 $ex3 1 4 $ex4 1 5 $ex5 1 6 $ex6 &
2 1 $ey1 2 2 $ey2 2 3 $ey3 2 4 $ey4 2 5 $ey5 2 6 $ey6 &
3 1 $ez1 3 2 $ez2 3 3 $ez3 3 4 $ez4 3 5 $ez5 3 6 $ez6
rdmp pmt3 $freqdamp q $qdmp $qsdmp 1e+6 1.0
axis pmt3 posy /* relate materials local system to global system
c --------------------------------------------------------------
c type : MISC :
c name : si :
c desc : Silicon, generic :
c --------------------------------------------------------------
wvsp on
type elas
prop si 2330 7526 4346 0.01
vdmp si $freqdamp db 0.1 0.3 1e+6 1 0.01 1
thrm si 702 124 124 124 1.0 0 0 27
symb eps = 11.9
symb aeps = $epvacm * $eps
elec si $aeps
elec void $epvacm
c --------------------------------------------------------------
c type : EPOXY :
c name : arald1 :
c desc : Araldite MY750/HY956EN :
c --------------------------------------------------------------
wvsp on
type elas
prop arald1 1146 2658 1237 0.01
vdmp arald1 $freqdamp db 4 12.59 1e+6 1 0.01 1
symb eps = 3.5
symb aeps = $epvacm * $eps
elec arald1 $aeps
elec void $epvacm
end
c *************************************************************************************************************
c
c Primitive Definitions
c
c *************************************************************************************************************
site
regn void
blok watr $xmin $xmax $y_pzt_t $ymax
c blok si 0.0 0.001 0.026 0.027 0.0 0.0 /* rectangle chip location
c blok watr 0.0 0.0005 0.026 0.027 0.0 0.0 /* square chip location
c blok watr $xmin $x_particle $y_particle_b $y_particle_t /* water rectangle chip location (X: 0-0.00052, Y: 0.016-0.0165)
c ***Chip or Bead Properties***
blok watr $xmin $x_particle $y_particle_b $y_particle_t /* Water rectangle chip location (X: 0-0.00052, Y: 0.016-0.0165)
c blok si $xmin $x_particle $y_particle_b $y_particle_t /* Si rectangle chip location (X: 0-0.00052, Y: 0.016-0.0165)
c blok arald1 $xmin $x_particle $y_particle_b $y_particle_t /* Epoxy rectangle chip location (X: 0-0.00052, Y: 0.016-0.0165)
c circle2d arald1 $xmin $y_particle_b $x_particle /* circle bead defined as arald1 to define an interface to apply a load to
c *****************************
blok air $xmin $xmax $ymin $y_pzt_t
c blok pmt3 $xmin $x_pzt $y_pzt_b $y_pzt_t /*PZT block
end
c Plot Modl
grph
nvew 2 1 /* Set up 2 views
plot matr /*i $i1 $i4 j $j1 $j6 /* Plot Model
mirr x on /* Apply visual symmetry
plot matr /* Replot Model
end
term
c *************************************************************************************************************
c
c Boundary Definitions
c
c *************************************************************************************************************
boun
side xmin symm
side xmax absr
side ymin absr
side ymax absr
end
c *************************************************************************************************************
c
c Calculated Properties
c
c *************************************************************************************************************
c
c By default, Flex only calculates the minimum required data set, typically this
c means only velocities. This is done for memory efficiency. Should other
c properites be required (e.g. displacements, stresses, strains, pressure), then
c these must be requested by the CALC command. The manual lists all these options
c
c *************************************************************************************************************
calc
pres acoustic /* calculate acoustic pressure
max aprs none apmx /* calculate min/max acoustic pressure
disp y /* calculate displacements
end
c *************************************************************************************************************
c
c Piezoelectric Load Definitions
c
c *************************************************************************************************************
c piez
c wndo auto piez
c defn load_1 6.28
c symb bxmin = 0.0 * $coordFactor - $box
c symb bymin = 0.006 * $coordFactor - $box
c symb #get { is js * } clsnode $bxmin $bymin *
c symb bxmax = 0.01 * $coordFactor + $box
c symb bymax = 0.006 * $coordFactor + $box
c symb #get { ie je * } clsnode $bxmax $bymax *
c nod2 pmt3 watr $is $ie $js $je * *
c bc load_1 volt functimefunc_1 10.0 0.0
c
c defn load_2 6.28
c nod2 pmt3 air
c bc load_2 grnd
c slvr drct
c end
c *************************************************************************************************************
c
c Pressure Load Definitions
c
c *************************************************************************************************************
plod
pdef pld1 func /*define a load
c matr vctr1 air out
vctr vct1 0. 1. 0. /*define the vector
c sdef load_1 vector_1 $i1 $i2 $j2 $j2 /*apply a load in the vector direction
sdef pld1 vct1 $i1 $i3 $j3 $j3 /*apply a load in the vector direction
end
time * * 0.95
c *************************************************************************************************************
c
c Process Model
c
c *************************************************************************************************************
c
c Issue process (PRCS) command. Checks model integrity, and calculates stable
c time step. NOTE: Process command must always be issued
c
c *************************************************************************************************************
c symb #msg c Checking Model Integrity......
prcs
grph
colr user size 5 /* how many materials are defined in this model
colr user 1 0.0 0.0 1.0
colr user 2 0.0 1.0 1.0
colr user 3 0.0 1.0 0.0
colr user 4 1.0 0.0 0.0 /* Si chip (red)
colr user 5 1.0 1.0 0.0 /* arald1 chip (yellow)
colr tabl matr 5
map watr 1
map air 2
map pmt3 3
map si 4
map arald1 5
end
grph
c line off
c nvew 2 1
c arrow pole
c plot piez
c plot matr piez
c arrow off
end
term
c *************************************************************************************************************
c
c Choose Time Histories To Store
c
c *************************************************************************************************************
c
c Save field (such as displacement or pressure) from a node or element for all
c time steps with POUT command. Histories are referenced by order of
c specification. Histories will be saved in the Flex History file (flxhst).
c
c *************************************************************************************************************
pout
rate 1
symb xloc = 0.0 * $coordFactor
symb yloc = 0.015 * $coordFactor
hist xyz aprs $xloc * * $yloc * *
c hist func_1
c histname electrode vq all
end
c *************************************************************************************************************
c
c Run the Model
c
c *************************************************************************************************************
c
c Specify the number of time steps to be run. Can be set to auto by using
c 'Ringdown'.
c
c *************************************************************************************************************
c User defined runtime for the model
symb #get { step } timestep
c symb ttime = 4e-5
c symb ttime = 8e-5
c symb ttime = 12e-5
symb ttime = 1 * $numbercyc * $timeperiod
symb nexec = $ttime / $step
symb nloops = 30
symb nexec2 = $nexec / $nloops
c Set up Plotting
grph
nvew 2 1
set imag tiff
end
c Set up Snapshot file
c Create run plot procedure
proc plot save
c Run some timesteps
exec $nexec2
c Plot model
grph
plot aprs
plot apmx
c plot ydsp
c plot yvel
imag
end
c data
c out yvel
c out ydsp
c out xvel
c out aprs
c end
data
file out 'water_output_data.flxdato'
out modl
out aprs
out apmx
out yvmx
out yvel
out xvel
end
c
c data
c file out 'snapshot.mat'
c form out matlab output_data
c out yvel
c c out ydsp
c out xvel
c c out aprs
c end
c
end$ proc
c Run model then wait
proc plot $nloops
term
c *************************************************************************************************************
c
c Save symbol variables to file for later use
c
c *************************************************************************************************************
symb #get { labl } jobname
symb #save '$labl.symb'
stop /* return to command prompt
5 comments
Hi Tiffany,
Your model is reporting 'Data manager contains bad values' which means it is going unstable. One trick to try when this happens is to lower the time stability factor of your model to 0.8 (it is currently at 0.95).
In this case it stabilises the model.
Best Regards,
Chloe
Hello Chloe, I tried lowering the stability factor, increasing my meshing, and replacing the absr to impd. But it still fails especially at higher frequencies. The error report is saying there is a memory issue. Please let me know what I can do to solve this problem. Additionally, I am not sure why I am getting a reflection from the top boundary. I included my updated code below. Please note I changed the boundary conditions back once impd did not work. I am attempting the sweep from 500kHz to 2 MHz (32 simulations).
c mem 800 200 /* Allocate 800 megawords of memory - 3 GigaBytes (Not necesarry for Windows Operating Systems)
c NOTE: MEM Command must be first command in file, if used. (Line 1)
rest no
c *************************************************************************************************************
c
c Generated Flex Input File
c
c *************************************************************************************************************
c
c DESIGNER :SonicMEMS CORNELL
c MODEL DESCRIPTION :
c DATE CREATED :28 Aug 2020
c VERSION :2.0
c *************************************************************************************************************
mp
omp * * /* Number of CPUs to be used in the execution.
end
titl Focusing_Neuralproject
c *************************************************************************************************************
c
c Define User Variables
c
c *************************************************************************************************************
c
c These variables have been set by the user through the interface.
c
c *************************************************************************************************************
symb coordFactor = 1.0 /* Coordinate conversion factor
symb timeFactor = 1.0 /* Time conversion factor
symb dMassFactor = 1.0 /* Mass conversion factor
symbx freqint = 1e+6 /* Determined Drive Frequency (Hz)
c symb freqint = 500e+3 /* Determined Drive Frequency (Hz)
c *************************************************************************************************************
c
c Define Meshing
c
c *************************************************************************************************************
c
c Set the variable for the approximate element size for the model. Must be
c sufficient to represent the wavelengths of interest. Recommended that at least
c 15 elements per wavelength are used.
c
c *************************************************************************************************************
symb freqdamp = $freqint
symb wavevel = 1496 /* Longitudinal wave velocity in material (m/s)
symb wavelgth = $wavevel / $freqint /* Wavelength of sound in material (m)
symb nmesh = 40 /* Elements per wavelength
symb box = $wavelgth / $nmesh
c *************************************************************************************************************
c
c Geometry Locations (XYZ)
c
c *************************************************************************************************************
c Scale Parameters
symb xmin = 0.0 * $coordFactor
symb x_particle = 0.0007 * $coordFactor
symb x_pzt = 0.01 * $coordFactor
symb xmax = 0.034 * $coordFactor
symb ymin = 0.0 * $coordFactor
symb y_pzt_b = 0.004 * $coordFactor
symb y_pzt_t = 0.006 * $coordFactor
symb y_particle_b = 0.016 * $coordFactor
symb y_particle_t = 0.0165 * $coordFactor
c symb ymax = 0.046 * $coordFactor
symb ymax = 0.05 * $coordFactor
c Determine lengths of the model
symb xlen = ( $xmax - $xmin )
symb ylen = ( $ymax - $ymin )
c ***************************************************
c
c Keypoints in the X-Direction
c
c ***************************************************
symb #keycord x 1 $xmin $x_particle $x_pzt $xlen
symb #get { idx } rootmax x
c ***************************************************
c
c Keypoints in the Y-Direction
c
c ***************************************************
symb #keycord y 1 $ymin $y_pzt_b $y_pzt_t $y_particle_b $y_particle_t $ylen
symb #get { jdx } rootmax y
c *************************************************************************************************************
c
c Indices Locations (IJK)
c
c *************************************************************************************************************
c Grid in I direction, using approximately element size of 'box' and at least 1 element
symb #keyindx i 1 $idx 1 $box 1
symb indgrd = $i$idx
c Grid in J direction, using approximately element size of 'box' and at least 1 element
symb #keyindx j 1 $jdx 1 $box 1
symb jndgrd = $j$jdx
c *************************************************************************************************************
c
c GCON Grid & Geometry Allocation
c
c *************************************************************************************************************
grid $i$idx $j$jdx axiy
geom
keypnt $idx $jdx
end
c *************************************************************************************************************
c
c Driving Conditions
c
c *************************************************************************************************************
c
c A number of predefined waveform functions can be accessed in OnScale. The DATA
c HIST option is used below, other examples include wavelets, gaussians and step
c functions. The manual details the function entries
c
c *************************************************************************************************************
symb freqtimefunc_1 = $freqint
symb timeperiod = 1 / $freqint
symb numbercyc = 2 * ( ( $ylen - $y_pzt_t ) / $wavelgth ) /* change the number to multiply the transiant time
c func
c name timefunc_1
c sine $freqtimefunc_1 1.0 0. $numbercyc 0. 0.0 /*frequency amplitude phaseshift nperiod valuadd rampcycle tdelay
c end
func sine $freqint 50.0 0. $numbercyc 0. 0.0 /*drfine (freq amp phaseshift #cycles)
c --------------------------------------------------------------
c Project Material List
c --------------------------------------------------------------
c -------------------------------------------------------------------------
c Global variables used in all the material definitions
c -------------------------------------------------------------------------
c
symb epvacm = 8.854e-12 /* dielectric constant for vacumn
symb freqdamp = 1.e6 if noexist /* specified frequency for damping model
symb rmu0 = 1.2566e-6
symb #msg 5
********************************************************
Damping matched at $freqdamp Hz
Redefine variable 'freqdamp' if device centre frequency
varies significantly from this value
********************************************************
c
c -------------------------------------------------------------------------
c Now define the axis transformation - only posx used in this file
c -------------------------------------------------------------------------
axis
form vctr
defn posx car2 0. 0. 0. 1. 0. 0. 0. 1. 0.
defn negx car2 0. 0. 0. -1. 0. 0. 0. 1. 0.
defn posy car2 0. 0. 0. 0. 1. 0. 0. 0. 1.
defn negy car2 0. 0. 0. 0. -1. 0. 0. 0. 1.
defn posz car2 0. 0. 0. 0. 0. 1. 1. 0. 0.
defn negz car2 0. 0. 0. 0. 0. -1. 1. 0. 0.
end
c -------------------------------------------------------------------------
c Input material properties to program
c -------------------------------------------------------------------------
matr
c --------------------------------------------------------------
c type : BIOLOGICAL :
c name : watr :
c desc : Water at 25C :
c --------------------------------------------------------------
wvsp on
type elas
prop watr 1054.00 1540.00 0.00000 0.010000
vdmp watr $freqdamp db 0.500000 0.00000 1e+6 1.00000 0.010000 1.00000
symb eps = 1
symb aeps = $epvacm * $eps
elec watr $aeps
c --------------------------------------------------------------
c type : GAS :
c name : air :
c desc : Air, room temp :
c --------------------------------------------------------------
wvsp on
type elas
prop air 1.24000 343.000 0.00000 0.
symb eps = 1
symb aeps = $epvacm * $eps
elec air $aeps
c --------------------------------------------------------------
c type : PIEZO :
c name : pmt3 :
c desc : CTS 3203HD :
c --------------------------------------------------------------
symb rho = 7820.00 /* density
symb qdmp = 90.0000 /* Mechanical Q at 1e6
symb qsdmp = 90.0000 /* Mechanical Q at 1e6
symb freqdamp = 1.e6 if noexist
symb freqloss = 1.00000e+06 if noexist /* Frequency that loss was measured at
wvsp off
type lean
c define baseline stiffness coefficients (Constant electric field)
symb c11 = 1.3745e+11
symb c12 = 8.79e+10
symb c13 = 9.23e+10
symb c14 = 0
symb c15 = 0
symb c16 = 0
symb c22 = 1.3745e+11
symb c23 = 9.23e+10
symb c24 = 0
symb c25 = 0
symb c26 = 0
symb c33 = 1.2574e+11
symb c34 = 0
symb c35 = 0
symb c36 = 0
symb c44 = 2.2279e+10
symb c45 = 0
symb c46 = 0
symb c55 = 2.2279e+10
symb c56 = 0
symb c66 = 2.4779e+10
prop pmt3 $rho
$c11 $c12 $c13 $c14 $c15 $c16 $c22
$c23 $c24 $c25 $c26 $c33 $c34 $c35
$c36 $c44 $c45 $c46 $c55 $c56 $c66
c define baseline dielectric coefficients
symb epxx = 1305.8
symb epyy = 1305.8
symb epzz = 1200.2
c scale material properties as specified above
symb aepxx = $epvacm * $epxx
symb aepyy = $epvacm * $epyy
symb aepzz = $epvacm * $epzz
elec pmt3 $aepxx $aepyy $aepzz
c define baseline piezoelectric coupling coefficients
symb ex1 = 0 /* coupling constant
symb ex2 = 0 /* coupling constant
symb ex3 = 0 /* coupling constant
symb ex4 = 0 /* coupling constant
symb ex5 = 16.054 /* coupling constant
symb ex6 = 0 /* coupling constant
symb ey1 = 0 /* coupling constant
symb ey2 = 0 /* coupling constant
symb ey3 = 0 /* coupling constant
symb ey4 = 16.054 /* coupling constant
symb ey5 = 0 /* coupling constant
symb ey6 = 0 /* coupling constant
symb ez1 = -9.44 /* coupling constant
symb ez2 = -9.44 /* coupling constant
symb ez3 = 22.495 /* coupling constant
symb ez4 = 0 /* coupling constant
symb ez5 = 0 /* coupling constant
symb ez6 = 0 /* coupling constant
piez pmt3 1 1 $ex1 1 2 $ex2 1 3 $ex3 1 4 $ex4 1 5 $ex5 1 6 $ex6 &
2 1 $ey1 2 2 $ey2 2 3 $ey3 2 4 $ey4 2 5 $ey5 2 6 $ey6 &
3 1 $ez1 3 2 $ez2 3 3 $ez3 3 4 $ez4 3 5 $ez5 3 6 $ez6
rdmp pmt3 $freqdamp q $qdmp $qsdmp 1e+6 1.0
axis pmt3 posy /* relate materials local system to global system
c --------------------------------------------------------------
c type : MISC :
c name : si :
c desc : Silicon, generic :
c --------------------------------------------------------------
wvsp on
type elas
prop si 2330 7526 4346 0.01
vdmp si $freqdamp db 0.1 0.3 1e+6 1 0.01 1
thrm si 702 124 124 124 1.0 0 0 27
symb eps = 11.9
symb aeps = $epvacm * $eps
elec si $aeps
elec void $epvacm
c --------------------------------------------------------------
c type : EPOXY :
c name : arald1 :
c desc : Araldite MY750/HY956EN :
c --------------------------------------------------------------
wvsp on
type elas
prop arald1 1146 2658 1237 0.01
vdmp arald1 $freqdamp db 4 12.59 1e+6 1 0.01 1
symb eps = 3.5
symb aeps = $epvacm * $eps
elec arald1 $aeps
elec void $epvacm
end
c *************************************************************************************************************
c
c Primitive Definitions
c
c *************************************************************************************************************
site
regn void
blok watr $xmin $xmax $y_pzt_t $ymax
c blok si 0.0 0.001 0.026 0.027 0.0 0.0 /* rectangle chip location
c blok watr 0.0 0.0005 0.026 0.027 0.0 0.0 /* square chip location
c blok watr $xmin $x_particle $y_particle_b $y_particle_t /* water rectangle chip location (X: 0-0.00052, Y: 0.016-0.0165)
c ***Chip or Bead Properties***
c blok si $xmin $x_particle $y_particle_b $y_particle_t /* Water rectangle chip location (X: 0-0.00052, Y: 0.016-0.0165)
c blok si $xmin $x_particle $y_particle_b $y_particle_t /* Si rectangle chip location (X: 0-0.00052, Y: 0.016-0.0165)
c blok arald1 $xmin $x_particle $y_particle_b $y_particle_t /* Epoxy rectangle chip location (X: 0-0.00052, Y: 0.016-0.0165)
circle2d arald1 $xmin $y_particle_b $x_particle /* circle bead defined as arald1 to define an interface to apply a load to
c *****************************
blok air $xmin $xmax $ymin $y_pzt_t
c blok pmt3 $xmin $x_pzt $y_pzt_b $y_pzt_t /*PZT block
end
c Plot Modl
grph
nvew 2 1 /* Set up 2 views
plot matr /*i $i1 $i4 j $j1 $j6 /* Plot Model
mirr x on /* Apply visual symmetry
plot matr /* Replot Model
end
term
c *************************************************************************************************************
c
c Boundary Definitions
c
c *************************************************************************************************************
boun
side xmin symm
side xmax absr
side ymin absr
side ymax impd
end
c *************************************************************************************************************
c
c Calculated Properties
c
c *************************************************************************************************************
c
c By default, Flex only calculates the minimum required data set, typically this
c means only velocities. This is done for memory efficiency. Should other
c properites be required (e.g. displacements, stresses, strains, pressure), then
c these must be requested by the CALC command. The manual lists all these options
c
c *************************************************************************************************************
calc
pres acoustic /* calculate acoustic pressure
max aprs none apmx /* calculate min/max acoustic pressure
c disp y /* calculate displacements
end
c *************************************************************************************************************
c
c Piezoelectric Load Definitions
c
c *************************************************************************************************************
c piez
c wndo auto piez
c defn load_1 6.28
c symb bxmin = 0.0 * $coordFactor - $box
c symb bymin = 0.006 * $coordFactor - $box
c symb #get { is js * } clsnode $bxmin $bymin *
c symb bxmax = 0.01 * $coordFactor + $box
c symb bymax = 0.006 * $coordFactor + $box
c symb #get { ie je * } clsnode $bxmax $bymax *
c nod2 pmt3 watr $is $ie $js $je * *
c bc load_1 volt functimefunc_1 10.0 0.0
c
c defn load_2 6.28
c nod2 pmt3 air
c bc load_2 grnd
c slvr drct
c end
c *************************************************************************************************************
c
c Pressure Load Definitions
c
c *************************************************************************************************************
plod
pdef pld1 func /*define a load
c matr vctr1 air out
vctr vct1 0. 1. 0. /*define the vector
c sdef load_1 vector_1 $i1 $i2 $j2 $j2 /*apply a load in the vector direction
sdef pld1 vct1 $i1 $i3 $j3 $j3 /*apply a load in the vector direction
end
time * * 0.8 /*time stability factor
c *************************************************************************************************************
c
c Process Model
c
c *************************************************************************************************************
c
c Issue process (PRCS) command. Checks model integrity, and calculates stable
c time step. NOTE: Process command must always be issued
c
c *************************************************************************************************************
c symb #msg c Checking Model Integrity......
prcs
grph
colr user size 5 /* how many materials are defined in this model
colr user 1 0.0 0.0 1.0
colr user 2 0.0 1.0 1.0
colr user 3 0.0 1.0 0.0
colr user 4 1.0 0.0 0.0 /* Si chip (red)
colr user 5 1.0 1.0 0.0 /* arald1 chip (yellow)
colr tabl matr 5
map watr 1
map air 2
map pmt3 3
map si 4
map arald1 5
end
c grph
c line off
c nvew 2 1
c arrow pole
c plot piez
c plot matr piez
c arrow off
c end
term
c *************************************************************************************************************
c
c Choose Time Histories To Store
c
c *************************************************************************************************************
c
c Save field (such as displacement or pressure) from a node or element for all
c time steps with POUT command. Histories are referenced by order of
c specification. Histories will be saved in the Flex History file (flxhst).
c
c *************************************************************************************************************
pout
rate 1
symb xloc = 0.0 * $coordFactor
symb yloc = $y_pzt_t * $coordFactor
hist xyz aprs $xloc * * $yloc * *
c hist func_1
c histname electrode vq all
end
c *************************************************************************************************************
c
c Run the Model
c
c *************************************************************************************************************
c
c Specify the number of time steps to be run. Can be set to auto by using
c 'Ringdown'.
c
c *************************************************************************************************************
c User defined runtime for the model
symb #get { step } timestep
c symb ttime = 4e-5
c symb ttime = 8e-5
c symb ttime = 12e-5
c symb ttime = 1e-5
symb ttime = 1 * $numbercyc * $timeperiod
symb nexec = $ttime / $step
symb nloops = 30
symb nexec2 = $nexec / $nloops
c Set up Plotting
grph
nvew 2 1
set imag tiff
end
c Set up Snapshot file
c Create run plot procedure
proc plot save
c Run some timesteps
exec $nexec2
c Plot model
grph
plot aprs
plot apmx
c plot ydsp
c plot yvel
imag
end
c data
c out yvel
c out ydsp
c out xvel
c out aprs
c end
data
file out 'water_output_data.flxdato'
out modl
out aprs
out apmx
c out yvmx
out yvel
c out xvel
end
c
c data
c file out 'snapshot.mat'
c form out matlab output_data
c out yvel
c c out ydsp
c out xvel
c c out aprs
c end
c
end$ proc
c Run model then wait
proc plot $nloops
term
c *************************************************************************************************************
c
c Save symbol variables to file for later use
c
c *************************************************************************************************************
symb #get { labl } jobname
symb #save '$labl.symb'
stop /* return to command prompt
Hi Tiffany,
If there is a memory issue, here is a blog that will hopefully help you overcome this.
Also if you are sweeping from 500 kHz to 2 MHz ensure that you sweep from the largest simulation to the smallest so enough memory is assigned (i.e. use 2 MHz as your start value and 500 kHz as your smallest). This should stop the failures.
Best Regards,
Chloe
I will read the article you sent. However, I switched the starting value and I still get crashing. Additionally, it crashes sometimes when I run one at a time.
Tiffany,
In this case you will likely need to override the estimate as mentioned in the blog post.
Best Regards,
Chloe
Please sign in to leave a comment.
Didn't find what you were looking for?
New post