How can I make point source? Answered

Hi. I'm trying to make point source with 1MPa, 200kHz.Half sine.

pupple : point source (waternl_1)

blue : water (waternl, it's same waternl_1)

green : air

I'm trying to drive function at surface of point source.

But  the output signal wasn't have 1MPa.

and function drive both direction heading to inside circle and outside circle.

Help me...

 

plod
 pdef pld1 func                  /* choose driving function and name 'pld1'
 matr mtt1 waternl_1 out
 sdf2 pld1 mtt1 waternl waternl_1    /* replace with actual matr names
   end

8 comments

  • Official comment

    Hi there,

     

    The output signal will depend on the drive function you are using. What code are you using in func command? If you want to load the interface between waternl and waternl_1 then the code you showed here should work.

     

    Best Regards,

    Chloe

    Comment actions Permalink
  • As I wrote at first, 1MPa, 200kHz.Half sine.


    func sine 0.2e6 1.e6 0. 0.5

    Comment actions Permalink
  • I just wanted toyour pre check to make sure your code was correct. So the output signal is not 1 MPa? Could you share your files via your preferred file sharing service and I can take a look for you.

     

    Best Regards,

    Chloe

    Comment actions Permalink
  • I'm just gonna paste my code.

    The output signal change depend on source size.

    Please help..

     

    --------

    mp omp 32

    symb x1 = 0.0
    symb x2 = $x1 + 5.e-3
    symb x3 = $x2 + 19.e-3
    symb x4 = $x3 + 41.e-3
    symb x5 = $x4 + 41.e-3
    symb x6 = $x5 + 59.e-3

    symb y1 = 0.0
    symb y2 = $y1 + 44.e-3
    symb y3 = $y2 + 2.e-3

    symb freqint = 0.5e6
    symb wavevel = 1500
    symb wavemin = $wavevel / $freqint
    symb nelem = 30
    symb box = $wavemin / $nelem

    symb i1 = 1
    symb i2 = $i1 + nint ( ( $x2 - $x1 ) / $box )
    symb i3 = $i2 + nint ( ( $x3 - $x2 ) / $box )
    symb i4 = $i3 + nint ( ( $x4 - $x3 ) / $box )
    symb i5 = $i4 + nint ( ( $x5 - $x4 ) / $box )
    symb i6 = $i5 + nint ( ( $x6 - $x5 ) / $box )
    symb indgrd = $i6

    symb j1 = 1
    symb j2 = $j1 + nint ( ( $y2 - $y1 ) / $box )
    symb j3 = $j2 + nint ( ( $y3 - $y2 ) / $box )
    symb jndgrd = $j3

    grid $indgrd $jndgrd axix   /* 2D (axisymmetric)      (or axiy)

    geom
     keypnt 6 3
     end

    symb #read matr.prjmat

    symb radius_x = 60.e-3
    symb radius_y = 44.e-3

    site
     regn air
     regn waternl $i4 $i6 $j1 $j3
     elip waternl $x4 $y1 0. stnd $radius_x $radius_y 0
     cyln vacm Z 0.0 1.0 $x3 $y1 0.1e-3 0.1e-3 0.0 0.0 0.0 0.0
     
     end

    grph
    c line on
     plot matr
     end

    term


    boun
     side xmin absr stnd
     side xmax absr stnd
     side ymin symm all
     side ymax absr stnd
     end


    func sine 0.2e6 1.e6 0. 0.5

    calc
     pres aprs
     max aprs pmin pmax
     end

    plod
     pdef pld1 func                  /* choose driving function and name 'pld1'
     spot myspt $x3 $y1
     sdf2 pld1 myspt vacm waternl
      
       end

    pout
     hist func
     hist aprs $i2+1 $i2+1 1 1 1 1
     hist aprs $i5 $i5 1 1 1 1
     end

    prcs                                                     /* run process step

    symb #get { step } timestep
    symb simtime = 150.e-6 /* Simulation Time
    c symb simtime = 3.e-3
    symb nexec = nint ( $simtime / $step )

    symb nloops = 75
    c symb nloops = 300
    symb nexec_loop = nint ( $nexec / $nloops )

    grph
     set imag avi /* Movie generation
    c arrow off     /* Remove poling arrows
     end

    proc plot save    

    exec $nexec_loop

    grph
     
     nvew 4 1
     colr tabl data 6   /* Set color table for data
     plot 1 2 3
     mirr y
     plot aprs
     plot pmax
     plot pmin
     imag                  /* Save frame of movie - creates AVI in folder when model executes fully
     end
    end$ proc

    proc plot $nloops

    symb #get { labl } jobname     /* find name of run
    symb #save symb.$labl      /* save in symb file

    stop        /* return to command prompt

     

    Comment actions Permalink
  • Hi,

     

    I will also need the code for matr.prjmat.

     

    Thanks,

    Chloe

    Comment actions Permalink
  • Here is contents of matr.prjmat

     

    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    air : Air, room temp
    c -------------------------------------------------------------------------
    c
         type elas
         wvsp on
         prop air  1.24  343.  0.  
         elec air $epvacm
         symb eps = $epvacm * 1.0
         elec air $eps
         thrm air 1005. 0.026
       
    c --------------------------------------------------------------
    c type : NONLINEAR :
    c name : waternl :
    c desc : Water - nonlinear for Type TISU :
    c --------------------------------------------------------------


       wvsp on
       type tisu
       prop waternl 1000 1500 0 0.1 0.0 0.0
       5 -2e+08 2e+08
       sdmp waternl $freqdamp db 0.002 0 1e+06 2 0.01 1
       thrm waternl 4178 0.58 0.58 0.58 1.0 0 0 0
       symb eps = 1
       symb aeps = $epvacm * $eps
       elec waternl $aeps

     copy waternl waternl_1
     
    c --------------------------------------------------------------
    c type : MISC :
    c name : vacm :
    c desc : Vacuum, also use Void :
    c --------------------------------------------------------------


       wvsp on
       type elas
       prop vacm 0 0 0
       symb eps = 1
       symb aeps = $epvacm * $eps
       elec vacm $aeps
     copy vacm vacm1
     copy vacm vacm2
     copy vacm vacm3
     copy vacm vacm4


       end

    Comment actions Permalink
  • Hi,

     

    So I had a look at your model. Everything looks set up correctly. The acoustic pressure output is less energy because the wave loses energy as it propagates. This amount will change depending on the damping in the water and the propagation distance. Do you have experimental results which show a higher amplitude signal being received?

     

    Best Regards,

    Chloe

    Comment actions Permalink
  • Hi,

     

    Actually I have no experimental results because it's very difficult to measure real data.

    Goal of this simulation is to predict power of source.

     

    I think there is minimum size of source.

    When I design source with line or rectangular shape, it works.

    Pressure changes as it propagates, but not significant like point source.

     

    I want to know that something I can do more or it's limitation of this tool.

    Please check it.

     

    Best Regards.

    HJ.

    Comment actions Permalink

Please sign in to leave a comment.

Didn't find what you were looking for?

New post