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

Dimitri Komatitsch komatitsch at lma.cnrs-mrs.fr
Tue Sep 11 09:34:21 PDT 2012


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
> 

-- 
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