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