예제 #1
0
def generate_shot_linearized_data_frequency(shots, solver, model,
                                            model_perturbation, frequencies,
                                            **kwargs):
    """
    Given a list of shots and a solver, generates linearized seismic data in the frequency domain. This function will use the function 
    of the linear_forward_model function in the `frequency_modeling.py`

    Parameters
    ----------
    shots : list of pysit.Shot
        Collection of shots to be processed
    solver : pysit.WaveSolver
        Instance of wave solver to be used.
    model : background model parameters
    model_perturbation : model perturbation
    **kwargs : dict, optional
        Optional arguments.

    Notes
    -----
    `kwargs` may be used to specify `C0` and `wavefields` to    `generate_shot_data`.
    """
    GenerateDataObj = FrequencyModeling(solver)

    for shot in shots:
        retval = GenerateDataObj.linear_forward_model(shot,
                                                      model,
                                                      model_perturbation,
                                                      frequencies,
                                                      'simdata',
                                                      dWaveOp0=None)
        shot.receivers.data_dft = retval['simdata']
예제 #2
0
    def __init__(self, solver, parallel_wrap_shot=ParallelWrapShotNull()):
        self.solver = solver
        self.modeling_tools = FrequencyModeling(solver)

        self.parallel_wrap_shot = parallel_wrap_shot