⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changelog

📁 采用FDTD时域有限差分法计算电磁波的传播问题等。
💻
📖 第 1 页 / 共 5 页
字号:
Sat Feb  5 12:46:16 EST 2005  stevenj@fftw.org  * fix comment    M ./src/energy_and_flux.cpp -3 +3Sat Feb  5 12:24:51 EST 2005  stevenj@fftw.org  * rename Slicing to FieldOutput (since we also count hdf5 output under this)    M ./src/h5fields.cpp r1    M ./src/meep.h r1    M ./src/slices.cpp r1    M ./src/time.cpp r1Sat Feb  5 12:19:11 EST 2005  stevenj@fftw.org  * more verbose output by default, with option to suppress by setting meep::quiet = true    M ./configure.ac -10    M ./src/bands.cpp -6 +7    M ./src/fields.cpp -2 +3    M ./src/h5fields.cpp +2    M ./src/meep.h -5 +3    M ./src/mympi.cpp -2 +4    M ./src/output_directory.cpp -2 +3    M ./src/step.cpp -2 +9    M ./src/structure.cpp +3    M ./src/time.cpp -6 +6    M ./tests/2D_convergence.cpp +1    M ./tests/bench.cpp +1    M ./tests/bragg_transmission.cpp +1    M ./tests/convergence_cyl_waveguide.cpp +1    M ./tests/cylindrical.cpp +1    M ./tests/flux.cpp +1    M ./tests/h5test.cpp +1    M ./tests/integrate.cpp +1    M ./tests/known_results.cpp +1    M ./tests/one_dimensional.cpp +1    M ./tests/physical.cpp +1    M ./tests/symmetry.cpp +1    M ./tests/three_d.cpp +1    M ./tests/two_dimensional.cpp +1Sat Feb  5 11:22:51 EST 2005  stevenj@fftw.org  * allocate all fields lazily (not just in 2d), ensure all field arrays are initialized to null, don't allocate imag. part for is_real, add missing is_real check to fields::initialize, various cleanups    M ./src/boundaries.cpp -9 +12    M ./src/fields.cpp -82 +61    M ./src/initialize.cpp -44 +25    M ./src/meep.h -3 +3    M ./src/meep_internals.h +1    M ./src/polarization.cpp -2 +4    M ./src/sources.cpp -1 +5    M ./tests/2D_convergence.cpp -1 +1    M ./tests/h5test.cpp -3 +3    M ./tests/known_results.cpp -1 +1    M ./tests/symmetry.cpp -8 +8Fri Feb  4 19:53:44 EST 2005  stevenj@fftw.org  * major surgery on connect_the_chunks  connect_the_chunks was:     (a) a major performance bottleneck on multiprocessor systems     (b) very difficult to modify, consisting of the same code         copy-and-pasted many times     (c) fairly fragile, with the loops impossible to reorder         without breaking step.cc    I've tried to fix all of those problems.  Now, instead of calling  things like locate_point O(nc^2) where np is the number of chunks,  it only computes it O(nc) times, and a lot of the duplication is  removed.  It's also much less fragile, because the connections are  stored per phase type (complex, -1, or +1) rather than in one  order-sensitive array.    However, this required major changes to boundaries.cpp and related code.    M ./src/boundaries.cpp -273 +163    M ./src/fields.cpp -25 +21    M ./src/meep.h -10 +14    M ./src/step.cpp -41 +58Mon Jan 31 19:23:19 EST 2005  stevenj@fftw.org  * added new methods dft_flux::scale_dfts, fields::require_component, and fields::remove_sources    M ./src/dft.cpp -6 +6    M ./src/fields.cpp -7 +22    M ./src/meep.h -2 +8    M ./src/sources.cpp -9 +12    M ./tests/bragg_transmission.cpp -1 +1Thu Jan 27 00:32:41 EST 2005  stevenj@fftw.org  * prelimiary support for "D" sources, which multiply J by epsilon    M ./src/sources.cpp +9Thu Jan 27 00:30:34 EST 2005  stevenj@fftw.org  * support symmetry-based reductions of geometric_volume_list for efficient computation e.g. of DFT fluxes etc    M ./src/dft.cpp -45 +22    M ./src/meep.h -4 +2    M ./src/meep/vec.h -8 +24    M ./src/vec.cpp +63Thu Jan 27 00:29:49 EST 2005  stevenj@fftw.org  * bug fix in symmetry::phase_shift for Poynting vector    M ./src/vec.cpp -1 +3Thu Jan 27 00:28:26 EST 2005  stevenj@fftw.org  * force newline in abort messages if one is missing    M ./src/mympi.cpp +1Tue Jan 25 20:19:21 EST 2005  stevenj@fftw.org  * immediately flush master_printf output    M ./src/mympi.cpp -1 +1Mon Dec  6 18:04:09 EST 2004  stevenj@fftw.org  * comment correction    M ./src/h5fields.cpp -2 +1    M ./src/integrate.cpp -2 +1Mon Dec  6 17:25:02 EST 2004  stevenj@fftw.org  * added new derived_component type for various quantities (Poynting vector, energy density) useful to output in get_field and output_hdf5    M ./src/h5fields.cpp +68    M ./src/meep.h +8    M ./src/meep/vec.h -3 +41    M ./src/monitor.cpp +36    M ./src/vec.cpp +42    M ./tests/h5test.cpp -15 +24Mon Dec  6 15:08:07 EST 2004  stevenj@fftw.org  * consolidated min/max/abs functions in meep_internals.h    M ./src/h5fields.cpp -5 +1    M ./src/meep_internals.h -13 +2    M ./src/vec.cpp -6 +1Mon Dec  6 14:55:50 EST 2004  stevenj@fftw.org  * whoops (only compute offsets for integration on Dielectric grid)    M ./src/integrate.cpp -1 +2Mon Dec  6 14:40:47 EST 2004  stevenj@fftw.org  * fixed missing namespaces    M ./src/update_e_from_d_update.cpp -5 +1Mon Dec  6 14:21:53 EST 2004  stevenj@fftw.org  * consolidated/simplified fields::output_hdf5 interface    M ./src/h5fields.cpp -74 +54    M ./src/meep.h -25 +8    M ./tests/h5test.cpp -3 +3Mon Dec  6 13:44:27 EST 2004  stevenj@fftw.org  * add -*- C++ -*- to top of header files so that emacs will use C++ mode (even though they end with .h and not .hpp or .hh)    M ./libctl/meep-ctl-const.h +1    M ./libctl/meep-ctl-swig.h +1    M ./libctl/meep-ctl.h +1    M ./src/meep.h +1    M ./src/meep/mympi.h +1    M ./src/meep/vec.h +1    M ./src/meep_internals.h +1    M ./src/ran.h +1    M ./src/threevec.h +1Mon Dec  6 00:54:10 EST 2004  stevenj@fftw.org  * rewrote hdf5 output again in terms of new generic field_function (to output an arbitrary function of the fields); also, when the Dielectric component is requested we use 3/trace(average inveps) instead of eps[i], since the former is closer to what is actually used for time-stepping    M ./src/h5fields.cpp -107 +266    M ./src/integrate.cpp -8 +38    M ./src/meep.h -14 +57    M ./src/monitor.cpp -11 +66Sun Dec  5 14:24:12 EST 2004  stevenj@fftw.org  * whoops, forgot to add integrate.cpp    A ./src/integrate.cppSun Dec  5 14:07:52 EST 2004  stevenj@fftw.org  * rename fields::integrate to fields::loop_in_chunks, to reflect more generic nature; added *new* fields::integrate which *does* just do integration and makes it much much easier; rewrote energy_and_flux.cpp in terms of new integrate function     ./src/fields_integrate.cpp -> ./src/loop_in_chunks.cpp    M ./src/Makefile.am -6 +7    M ./src/dft.cpp -5 +5 r1    M ./src/energy_and_flux.cpp -231 +46 r2    M ./src/h5fields.cpp -4 +4 r1    M ./src/loop_in_chunks.cpp -32 +47 r1    M ./src/meep.h -7 +21 r2    M ./src/meep/mympi.h -1 +2    M ./src/mympi.cpp +8    M ./src/sources.cpp -5 +5 r1    M ./tests/integrate.cpp -50 +27Fri Dec  3 20:02:06 EST 2004  stevenj@fftw.org  * faster, more easily generalized output_hdf5 based on fields::integrate  The old version of fields::output_hdf5 pre-dated fields::integrate,  and had home-brewed code for looping over the chunks and symmetries  and computing the output from each.  Not only was this complicated (as  opposed to centralizing the complexity in fields::integrate), but it  also was based on fields::interpolate onto an arbitrary grid, which  had the following disadvantages:    * doing an arbitrary interpolation for every point in a large volume    is very slow.  This is a problem if we want to output often.    * very hard to compute functions of more than one field component,    e.g. the energy density or the average inveps dielectric, because    on an arbitrary grid this requires communication in general.    * hard to prevent different chunks/symmetries to write slightly    overlapping data, which produces undefined results in parallel HDF5.    The new code *always* outputs on the dielectric grid, which (since it  is a fixed interpolation scheme) is a tight loop for each chunk, and  is guaranteed by fields::integrate to be non-overlapping.  Perhaps  even more importantly, it will now be easy to implement output  functions of more than one field component, since no communication is  required for the interpolation.      M ./src/h5fields.cpp -206 +174    M ./src/meep.h -3 +3    M ./tests/h5test.cpp -25 +36Fri Dec  3 12:25:35 EST 2004  stevenj@fftw.org  * whoops, fixed bug in last patch (vec min/max funcs)    M ./src/vec.cpp +4Fri Dec  3 00:37:08 EST 2004  stevenj@fftw.org  * added more min/max functions for vec/ivec    M ./src/meep/vec.h +6    M ./src/mympi.cpp +11    M ./src/vec.cpp -10 +30Fri Dec  3 00:36:16 EST 2004  stevenj@fftw.org  * added snap_unit_dims to fields::integrate    M ./src/fields_integrate.cpp -3 +19    M ./src/meep.h -1 +2Fri Dec  3 00:34:09 EST 2004  stevenj@fftw.org  * comment clarification for yee2diel_offsets    M ./src/vec.cpp -4 +6Thu Dec  2 17:49:54 EST 2004  stevenj@fftw.org  * stopgap fix for PML with non-diagonal inveps...is a longer-term, "proper" fix needed???    M ./src/structure.cpp +4Mon Nov 29 21:37:42 EST 2004  stevenj@fftw.org  * added h5file::prevent_deadlock() for deadlock-prevention hacks in exclusive-access HDF5 mode (maybe we should just ditch support for that and require HDF5 to be compiled with MPI?)    M ./src/dft.cpp +2    M ./src/h5file.cpp -4 +10    M ./src/meep.h +1    M ./tests/bragg_transmission.cpp +2Mon Nov 29 19:28:53 EST 2004  stevenj@fftw.org  * completely revamped structure and structure_chunk initialization  In the previous version of the code, the typical initialization  sequence went like this:    1) create structure (initializes chunks, evaluates epsilon)  2) set PML (re-initializes chunks, shuffles epsilon around)    Step (2) is problematic because the communication of epsilon to the  new chunks was performed point-by-point.  Not only is this incredibly  slow, but it actually causes Tungsten's MPI implementation to crash  (probably because there are too many messages).  Moreover, it is  completely unnecessary.    In the new version, the PML boundaries are specified when the structure  is first created, so that the chunks need only be computed once and are  never re-shuffled around.    INCOMPATIBLE API CHANGE:      old:       structure s(vol, eps, splitting, symmetries);       s.use_pml_everywhere(1.0);      new:       structure s(vol, eps, pml(1.0), symmetries, splitting);    In general, the PML boundary regions are specified by *summing* terms  of the form pml(thickness, direction, High/Low).  If one or both of  the last two arguments is omitted, it means *all* sides and *all*  directions, respectively.  So, a more complicated example is:      old:       structure s(vol, eps, splitting, symmetries);       s.use_pml(X, High, 1.0);       s.use_pml(X, Low, 1.0);       s.use_pml(Y, High, 1.0);      new:       structure s(vol, eps, pml(1.0, X) + pml(1.0, Y, High),                    symmetries, splitting);    To specify *no* PML, you use:          structure s(vol, eps, no_pml(), symmetries, splitting);    This is actually the default, if you omit the boundary-region argument  along with splitting (default = 0) and symmetries (default =  identity).    INCOMPATIBLE API CHANGE:      old:       s.set_epsilon(eps, minvol, do_aniso_averaging);      new:       s.set_epsilon(eps, do_aniso_averaging, minvol);    The default for the last two arguments is true and 0, respectively, so  in the usual case where you are using this function because you want  to turn on averaging (currently not the default), you just do:       s.set_epsilon(eps);    M ./doc/complicated.tex -2 +1    M ./doc/epsilon_polariton_1d.tex -2 +1    M ./doc/lossgain_epsilon.tex -5 +4    M ./doc/nonlinear.tex -5 +3    M ./doc/omniguide.tex -1 +1    M ./doc/simple.tex -3 +2    M ./src/meep.h -31 +86    M ./src/structure.cpp -279 +139    M ./tests/2D_convergence.cpp -1 +1    M ./tests/bench.cpp -3 +2    M ./tests/bragg_transmission.cpp -4 +2    M ./tests/convergence_cyl_waveguide.cpp -3 +3    M ./tests/cylindrical.cpp -10 +8    M ./tests/flux.cpp -12 +6    M ./tests/h5test.cpp -3 +3    M ./tests/integrate.cpp -1 +1    M ./tests/known_results.cpp -5 +2    M ./tests/one_dimensional.cpp -4 +4    M ./tests/physical.cpp -4 +2    M ./tests/symmetry.cpp -42 +38    M ./tests/three_d.cpp -10 +7    M ./tests/two_dimensional.cpp -22 +12Sun Nov 28 19:01:35 EST 2004  stevenj@fftw.org  * provide high-resolution wall_time() function in lieu of clock().  Automatically print elapsed time upon program completion.  Don't use exit(0) in main()...use return 0 so that ~initialize() is called.    M ./configure.ac +7    M ./src/fields.cpp -2 +2    M ./src/meep.h -1 +1    M ./src/meep/mympi.h +5    M ./src/mympi.cpp +31    M ./src/time.cpp -10 +8    M ./tests/bench.cpp -20 +19    M ./tests/cylindrical.cpp -1 +1    M ./tests/flux.cpp -1 +1    M ./tests/one_dimensional.cpp -1 +1    M ./tests/three_d.cpp -1 +1    M ./tests/two_dimensional.cpp -1 +1Wed Nov 24 20:04:09 EST 2004  stevenj@fftw.org  * add stride0 function that returns 0, instead of 1, for unused dimensions, so that we can easily distinguish them from "real" dimensions in macros etc.    M ./src/meep/vec.h -7 +9    M ./src/vec.cpp -5 +6Wed Nov 24 20:03:39 EST 2004  stevenj@fftw.org  * don't use make_average_eps in omniguide.tex    M ./doc/omniguide.tex -1 +2Wed Nov 24 17:49:55 EST 2004  stevenj@fftw.org  * remove structure::make_average_eps (apparently unused, non-functional, pointless function)    M ./src/meep.h -2    M ./src/structure.cpp -20Fri Nov  5 12:45:13 EST 2004  stevenj@fftw.org  * updated acx_mpi.m4    M ./m4/acx_mpi.m4 -4 +4Fri Oct 29 21:30:13 EDT 2004  stevenj@fftw.org  * added another joke

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -