[CIG-SEISMO] simulation of seismic wave propagation excited by a force

Yingzi Ying yingzi.ying at me.com
Tue Sep 11 09:41:03 PDT 2012


Hi Christina,

Can you also add a feature to use user-defined source form inputted from
a file.

Best,
Yingzi
On 09/11/2012 05:34 PM, Dimitri Komatitsch wrote:
> 
> Hi Christina and Yang, Hi all,
> 
> OK, great. This is excellent news.
> 
> So let us just move this "USE_FORCE_POINT_SOURCE" flag from
> setup/constants.h.in to DATA/Par_file, and let us mention it in the manual.
> 
> Jo, could you please do that and commit the changes?
> 
> Thank you,
> Dimitri.
> 
> On 09/11/2012 06:17 PM, Christina Morency wrote:
>> Hi Dimitri,
>>
>> Yes, I can confirm what Yang is saying, it is already in the package,
>> with interpolation if the source is not located on a GLL point (as it is
>> indeed done in the 2D btw).
>>
>> Christina
>>
>> On 09/11/2012 09:14 AM, Yang Luo wrote:
>>> I think Daniel (or someone else) has already copied necessary lines from old package.
>>>
>>> There is an option "USE_FORCE_POINT_SOURCE" in constant.h, which allows one to use a point force
>>> (which Yingzi already figured out, or maybe it's already in the manual)
>>>     logical, parameter :: USE_FORCE_POINT_SOURCE = .false.
>>>     double precision, parameter :: FACTOR_FORCE_SOURCE = 1.d15
>>>     integer, parameter :: COMPONENT_FORCE_SOURCE = 3  ! takes direction in comp E/N/Z = 1/2/3
>>>
>>> Interpretation is included, if the point force is not located exactly on a GLL point.
>>>
>>>
>>>
>>>
>>>
>>>
>>> ________________________________________
>>> From: Dimitri Komatitsch [komatitsch at lma.cnrs-mrs.fr]
>>> Sent: Tuesday, September 11, 2012 12:01 PM
>>> To: Yingzi Ying
>>> Cc: cig-seismo at geodynamics.org; Joseph Charles; Paul Cristini; 谢志南; Yang Luo; Christina Morency
>>> Subject: Re: [CIG-SEISMO] simulation of seismic wave propagation excited by a   force
>>>
>>> Dear Yingzi,
>>>
>>> You are right, in the current code there is no option in the Par_file to
>>> use a point source, but we added this to the todo list right before the
>>> summer and thus we should/will definitely do it. It is easy to do: just
>>> add the Ricker wavelet to the accel() vector (which is in fact a force
>>> vector before we divide it by the mass matrix), to the component you
>>> want (vertical or horizontal) and you are all set.
>>>
>>> Joseph, could you maybe do it? below are a few lines from one of my test
>>> codes, in which I do just that; let us cut and paste these lines in
>>> SPECFEM3D (it is just a matter of selecting the right grid point; which
>>> we already do for a CMT source, thus we could add a force instead of a
>>> CMT at that location; the only difference being that the CMT source is
>>> added to all the points of a given spectral element, while a force
>>> vector should be added to a single point).
>>>
>>> Let me talk to Joseph tomorrow to see if we can release a patch of the
>>> source code soon.
>>>
>>> I also cc Yang to see if he has already done that in a local version at
>>> Princeton maybe (for instance to model a force for some of his oil
>>> industry simulations in foothill regions?).
>>>
>>> Another difficulty is if the location of the force does not correspond
>>> to a grid point; then there are two options:
>>>
>>> - select the closest grid point; i.e. slightly change the location of
>>> the source (can be done automatically by the code)
>>>
>>> - use Christina Morency's way of adding a force source between grid
>>> points; I think I remember she did that in the 2D code, but I am not
>>> sure how; thus I cc her.
>>>
>>> (that second option would be better, if Christina can confirm that it
>>> works fine)
>>>
>>> Best wishes,
>>> Dimitri.
>>>
>>> ==================================================================
>>>
>>> ! ipoinsource is the global grid point at which we add the source
>>> ! "3" means a vertical force (i.e. we add the force to the vertical
>>> ! component of the force vector, which is later divided by the mass
>>> ! matrix to get the acceleration vector)
>>> ! factor_force is the norm of the force vector to add
>>> ! ricker(t) is the Ricker wavelet at time t = (it-1)*deltat
>>>
>>>      accel(3,ipoinsource) = accel(3,ipoinsource) - factor_force * ricker(t)
>>>
>>> ==================================================================
>>>
>>> On 09/11/2012 12:59 PM, Yingzi Ying wrote:
>>>> Hi all,
>>>>
>>>> I am trying to use specfem3d to simulate waves excited by a vertical
>>>> force with user-defined source forms such as ricker wavelet.
>>>>
>>>> I tried to do it through adjoint simulation by setting 'SIMULATION_TYPE
>>>> = 2' and put source position at STATIONS_ADJOINT and receivers at
>>>> CMTSOLUTION. But I failed.
>>>>
>>>> Does anyone have an idea or suggestion how to do active simulations with
>>>> specfem3d?
>>>>
>>>> Thanks in advance.
>>>>
>>>> Best regards,
>>>> Yingzi
>>>>
>>>>
>>>> _______________________________________________
>>>> CIG-SEISMO mailing list
>>>> CIG-SEISMO at geodynamics.org
>>>> http://geodynamics.org/cgi-bin/mailman/listinfo/cig-seismo
>>> --
>>> Dimitri Komatitsch - komatitsch aT lma.cnrs-mrs.fr
>>> CNRS Research Director (DR CNRS), Laboratory of Mechanics and Acoustics,
>>> UPR 7051, Marseille, France    http://komatitsch.free.fr
>>
> 



More information about the CIG-SEISMO mailing list