00001 #ifndef __ESG_SELFDOC__ 00002 #define __ESG_SELFDOC__ 00003 00004 const char* sdoc[]={ 00005 "=== Finite Difference Staggered Grid Modeling of Elastic Waves in Anisotropic (up to Orthorhombic) Homogeneous Medium ===", 00006 "", 00007 "Authors: Muhong Zhou, William W. Symes.", 00008 "", 00009 "------------------------------------------------------------------------", 00010 "Right now this package can generate", 00011 " (1) trace data at certain receiver locations (via data_vx,data_vy,data_vz); ", 00012 " (2) movies (via movie_vx, movie_vy, movie_vz); ", 00013 " (3) energy of the solution as a function of time (via eflag=1, data_trace), ", 00014 "and it also supports high order finite difference scheme (but do choose smaller ", 00015 "time step size if you want to use high order scheme), different grid size/length on ", 00016 "different grid dimensions." 00017 "", 00018 "Example: working esg scripts can be found in $IWAVE/esg/test.", 00019 "------------------------------------------------------------------------", 00020 "", 00021 "Executable Location: $IWAVE/esg/main/esg.x", 00022 "", 00023 "=== Input Parameters: ===", 00024 " grid_info= specifies path to the buoyancy field data. This handle is used to extract grid information. In this esg package, all the medium parameter fields (buoyance, stiffness fields c11-c66) are implemented as dynamic fields to ease the domain decomposition. But IWAVE needs a static field to extract grid info, so we invent this grid_info as a static field and point it to the location of the buoyancy field. ", 00025 "", 00026 " buoyancy= specifies path to the buoyancy field data. ", 00027 "", 00028 " c11[, c22, ..., c66]= specifies path to the stiffness fields. Each stiffness field correponds to the location in the following stiffness matrix. ", 00029 " | c11 c12 c13 0 0 0 |", 00030 " | c12 c22 c23 0 0 0 |", 00031 " | c13 c23 c33 0 0 0 |", 00032 " | 0 0 0 c44 0 0 |", 00033 " | 0 0 0 0 c55 0 |", 00034 " | 0 0 0 0 0 c66|", 00035 "", 00036 " source_vx[, source_vy, source_vz]= .su files specifie source locations for vx,vy,vz component. ", 00037 "", 00038 " order= specifies accuracy order used by the finite difference scheme. order=n if the underlying finite difference scheme is of 2n-th order accurate. ", 00039 "", 00040 " cfl= specifies the cfl ratio when computing the time step size. ", 00041 "", 00042 " dt= specifies the time step size. This value will override the value computed internally using the cfl ratio. ", 00043 "", 00044 " mpi_np1[, mpi_np2, mpi_np3]= specifies the number of domains decomposed along 1,2,3-th dimension. ", 00045 "", 00046 " (output) data_vx[, data_vy, data_vz]= specifies paths to files (.su) containing vx,vy,vz fields as a function of time at certain (e.g., receiver) locations. ", 00047 "", 00048 " (output) movie_vx[, movie_vy, movie_vz]= specifies paths to files (.rsf) containing vx,vy,vz fields as functions of time. ", 00049 "", 00050 " eflag= specifies whether to compute energy of the discrete solution. ", 00051 "", 00052 " (output) data_trace= specifies the file (.rsf) path to record the energy. This file has to be generated in advance. ", 00053 "", 00054 "------------------------------------------------------------------------", 00055 "=== Future Directions ===", 00056 "Add MPI+OpenMP, vectorization and composite grid features.", 00057 NULL 00058 }; 00059 00060 #endif 00061