OnScale Cloud Failures 2 回答済み
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
1件のコメント
Hi Tiffany,
I have answered your memory question on the previous forum post.
With regards to reflections at the boundary, we recommend the boundary is at least 3 wavelengths from the source to absorb the wave effectively. If absorbers are stable in your model I would use these.
Best Regards,
Chloe
サインインしてコメントを残してください。
お探しのものを見つけられませんでしたか?
新規投稿