#+TITLE:     [DOLFWAVE 09.27]
#+AUTHOR:    Nuno David Lopes
#+EMAIL:     ndl@ptmat.fc.ul.pt
#+LANGUAGE:  en
#+TEXT:      First Steps towards a Boussinesq FEniCS  Application. 
#+TEXT:      Updates, Changes and TODOS.
#+TEXT:      Warning: there is no such thing as a STABLE version.  
#+OPTIONS:   H:1 num:t toc:t \n:nil @:t ::t |:t ^:t *:t TeX:t LaTeX:t
#+STARTUP:   showall
#+SEQ_TODO: TODO  INPROGRESS CHECKING  | NOTUSED REMOVED
#+SEQ_TODO: | DONE
  
*  NUMERICAL IMPLEMENTATION

** INPROGRESS [#A]  Implement moving Bottom for several models
:see mvbottom demo
** TODO [#C] Redesign  Runge-Kutta and Predictor Corrector Classes.
  :assemble, boundary conditions, solve etc
*** TODO [#A] 4th-order explicit runge-kutta initialization.
** TODO [#C] Generalize MultiStep Corrector with different subspaces for phi and eta 
:Currently MultiStep Corrector scheme assumes eta and phi in the same subspace V0->P1. <2009-04-18 Sat>

*  FORMS
** TODO [#A] NEW FORMULATIONS Implement 4th-order LPT forms with CDG P2. [Started <2009-06-03 Wed>]
*** DONE Added file LPTcgdI.ufl<2009-07-07 Tue> 

* DOLFIN & C++
** INPROGRESS Integration of LPTcgdI.ufl in the code Started <2009-07-08 Wed>
** INPROGRESS [#A] Update the LinearFormsInit functions, for several sponge layers.
: Decide about the interface
** INPROGRESS Starting LPTtI model implementation <2009-06-03 Wed>
** TODO [#C] Update to DOLFIN >0.9.2 versions
: Problems with ufc ufl versions ffc compatibility...
** INPROGRESS [#A] Implement a generic DOLFWAVESolver::solve for all problems
:DOLFWAVESolver::solve(mesh,model,h,h0,level,src,flux,sponge....)
** INPROGRESS [#A] Read the Dolfwave Options/Parameters from a file.<2009-06-17 Wed>
: Dolfwave dw("parameters_file.txt); //(Usage Example) 
** TODO [#C] Overload plot function with runway argument for timedependent solutions
:Ask for the feature to viper  and Xd3d authors. 
** TODO [#C] Redesign the Pointers notation and function calls. 
** INPROGRESS Redesign the Classes.
*** TODO [#B] Decide what should be private.
*** TODO [#A] LinearSolver options and Algebra BackEnd.
*** TODO [#A] Use lu.factorized or gmres
:The solution depends  on the class redesign
** TODO Xd3dPlotRaw("mesh name", "file.raw") with  default values
** TODO [#B] Converge to a standard notation. For instance:
:'FistSecondThird' for public class members 
:'firstsecondthird' for private class members
:'first_second_third' for function arguments 
** TODO [#A] Insert 'const' identifiers at proper  function places and arguments.<2009-07-06 Mon>
** DONE Replace SUCCESS and FAILURE MACROS by inline destructor and AbortDolfwave.<2009-07-06 Mon>
** DONE Move TimerStart and Stop to private.<2009-07-06 Mon>
** DONE replace all dolfwave_macros by private inline members.<2009-07-06 Mon>
*** DONE Updated Assert and NotImplemented Functions <2009-07-08 Wed>
** DONE FunFunctions renamed to MatrixSparsityPlot <2009-07-06 Mon>

* DEMOS & SANDBOX & MESHES
** TODO  harbour  <2009-03-02 Mon>		:Zhao:
:Wave generation by Dirichlet boundary conditions
:Using Zhao Teng and Cheng form Zhao.ufl
:Sponge Layer Plot
:Viper preview
:Saving Raw file format


** INPROGRESS mvbottom				:LPT:
:Wave generation by moving mottom
:Using LPT2z0.ufl 
:Xd3d preview

** INPROGRESS Pillar				:LPT:
:Periodic wave through pilar 
:LPT modified 2nd order system (LPT2z0.ufl)
:Viper preview


** INPROGRESS square and ficsquare				:Zhao:
:Standard Gaussian wave Benchmark 
:Using Zhao.ufl 
:Viper preview in square
:File initial conditions in ficsquare
:Xd3d preview in ficsquare


* SCONS & HG & OTHER TOOLS
** TODO [#C] Create a clean hg repository for code update.
:Hopefully  someone will ask for it :D
** DONE Update SConstruct, now release is made with 'hg archive -t "tgz"'<2009-07-08 Wed> 
:scons release=1 
** DONE Updated postprocessor/profile <2009-07-08 Wed>
** TODO Update the other tools
** DONE Some cleaning on SConstruct

* BUGS

* DOCUMENTATION
** INPROGRESS [#A]  See for 'Doxygen'
** TODO [#A]  comments on *.ufl, *.cpp, and *.h files
** INPROGRESS [#A]  introduce python scripts for dispersion relations.  "dir doc/dispersion" <2009-05-19 Tue>
: 'foo'.py are python classes or modules


* CODE DOWNLOAD  and GALLERY
|[[file:./dolfwave09.27.tgz][DOWNLOAD 09.27-changing-all-the-time...]] |[[http://ptmat.fc.ul.pt/~ndl/other/dolfin.dir/zct/index.html][Gallery]] |
--------------------------------------------------------------------------
:RELEASE 09.27
+ Added dolfwave_macros.h <2009-07-02 Thu>
+ Several fixed in included headers <2009-07-02 Thu>
+ Moving dolfin::dolfwave functions to DolfwaveClass Started <2009-07-02 Thu>
+ FunctionSpaces and SubSpaces are DolfwaveClass members.<2009-07-02 Thu>
+ Linear and Bilinear forms moved to DolfwaveClass members<2009-07-02 Thu>
+ Vector Moved to DolfwaveClass member.<2009-07-02 Thu>
+ M, Mf and lu factorized solver are members of DolfwaveClass.<2009-07-03 Fri> 
+ Runge-Kutta and Predictor controled by members of DolfwaveClass.<2009-07-02 Thu>
+ Added Time as a DolfwaveClass member.<2009-07-03 Fri>
+ Decide about PcEpsilon <2009-07-03 Fri>
+ Added SUCCESSDOLFWAVE and FAILUREDOLFWAVE exit macros <2009-07-02 Thu>
+ DolfwaveClass in several classes <2009-07-03 Fri>
+ Demos updated to the new DolfwaveClass members<2009-07-03 Fri
+ Added .hgingnore for scons hg configuration<2009-07-02 Thu>
+ +ignoring emacs temp files *.bin *.os *.so *.eps *.ps
+  Velocities Field Calculation (With GradP0) <2009-07-33 Sun>
+ Implement plot function for point profiles: dw.PointPlot(X,Y,function,"filename") <2009-07-33 Fri> 
+ rectangle demo renamed baddemorect and removed from demos <2009-07-03 Fri>
--------------------------------------------------------------------------
:RELEASE 09.26
+  Correction of ZhaoPotentialTrans.ufl for physical potential calculation  <2009-06-27 Sat>
+ + Using week form with P1 elements and O(mu^4) approximation 
+ + For a stronger solution involving the div grad it requires P2 and DG methods
+ + Using direct week for with P1 elements is problematic (?No coercivity?!)
+ + Updated Boundary conditions (Neumann for the original Dirichlet) <2009-06-29 Mon>
+ Generalize the sponge layer terms in Zhao.ufl. <2009-06-19 Fri>
+ Removed all the wrong 4th order forms <2009-06-26 Fri>
+ Added ASSERT macro, to abort the code is something fails.<2009-06-30 Tue>
+ Removed calls of the 4th order ufl forms <2009-06-26 Fri>
+ for Zhao.ufl <2009-06-19 Fri>
+ Horizontal grad plot for velocities.<2009-06-29 Mon>
+ Plot now plots surface elevation and (equations/transformed) potential, when show=true<2009-06-28 Sun>
+ PhyPhiPlot now needs and switch function for Neumann Boundary condition identification.<2009-06-29 Mon>
+ Updated to the 4 sponge layers interface <2009-06-20 Sat>
+ Updated to multistep pred.corr constructor <2009-06-21 Sun>
+ Updated to the 4 sponge layers interface <2009-06-19&20 Sat>
+ Plot initial conditions on ficsquare demo <2009-06-28 Sun>
+ Rectangle updated to 4 sponge layers.<2009-06-21 Sun> 
+ Several Constant function(0.0) named zero <2009-06-21 Sun>
+ Removed 4th order sandboxes <2009-06-26 Fri>
+ HorVel time profile extract components and speed. <2009-06-30 Tue>
+ Use dolfwave for time profile postprocessing. <2009-06-30 Tue>
+ mv profile dir to postprocessor dir. <2009-06-29 Mon> 
+ Change name of PhysicalPotential dir to postprocessor.<2009-06-29 Mon>
+ Added tool for post-processing calculation.<2009-06-28 Sun>
+ DONE Change zhao to phyphiplotzhao <2009-06-30 Tue>
+ +Just for Zhao 2004 problem.
+ +Physical potential calculation
+ +Horizontal velocities.
+ Updated SConstruct <2009-06-26 Fri>
+ +"scons enableCommit=1" will ask for a comment. 
+ Set  enableCommit=1 by default in SConstruct <2009-06-27 Sat>
+ Revert commit option to default 0<2009-06-29 Mon>
+ +Use scons commit to commit and build
+ Updated SConstruct for exporting path's <2009-06-22 Mon>
+ Added run_and_log tool. A script for logfile.txt and stdERROR.txt output.<2009-06-22 Mon>
+ +dolf_run_log.sh "dolfwave_program"
+ Added  DirichletBC dir with a python script for Dirichlet boundary conditions data calculator.<2009-06-22 Mon>
+ +python datacalculator.py
+ Mv DirichletBC to dirichletbc.<2009-06-29 Mon>
+ Solved  Open files assert don't work.<2009-06-30 Tue>
+ + Using ASSERT MACRO
+ Some TO be removed code deleted from dolfwave.* <2009-06-30 Tue>

--------------------------------------------------------------------------
:RELEASE 09.25 Changelog
+ If MultiStep error is NAN or INF then abort and send error to stderr. <2009-06-16 Tue>
+ Remove default value (in PredictorCorrector.h) from pc constructor for multi-step error.<2009-06-19 Fri>
+ +We have to pass explicitely  the PcEpsilon value.
+ Load eta and phi from files (P1xP1 case only) <2009-06-17 Wed>
+ + For safety purposes (long runs, electrical shutdowns...etc
+ Some TO BE REMOVED MARKS  in DolfaweClassPlot.cpp and DolfwaveClass.h <2009-06-17 Wed>
+ Removed booleans from DolfwaveClass ShowEta,SaveEta,etc.<2009-06-17 Wed>
+ Add real_harbour.avoir2D to harbour mesh <2009-06-19 Fri>
+ DONE rectangle				:Zhao:
+ + An Ugly Low  level implementation
+ + Period wave in a rectangle
+ + Using GMRES 
+ + Using Zhao.ufl 
+ + Xd3d xyz preview 
+ CLOSED [2009-06-17 Wed]
+ Insert comments in Several Plot function arguments to reduce code. <2009-06-17 Wed>
+ Initialize the  Dolfwave options explicitely <2009-06-17 Wed>
+ real scale mesh of the harbour geometry (\(\times 30 m\))<2009-06-15 Mon>
+ Move workdir to sandbox <2009-06-16 Tue>
+ Added parameters dir to sandbox.<2009-06-17 Wed>
+ Added file\_init\_cond  dir to demo.<2009-06-17 Wed>
+ +Example of howto read initial conditions from last outputed eta and phi raw files 
+ + Mv file\_init\_cond dir to ficsquare <2009-06-18 Thu>
+ include sandbox in release <2009-06-16 Tue>
+ DONE Add commit to ARGUMENTS for hg commit update.<2009-06-17 Wed>
+ +scons enableCommit=1
+ Update ./SConstruct for including */*~ and */*/*~ in cleanAll=1 <2009-06-17 Wed>
+ Add enableSandbox to ARGUMENTS for sandbox demos compilation.<2009-06-17 Wed>
+ Update ficsquare SConstruct to demo.bin. <2009-06-19 Fri>
+ Clean the "nan's" at the  MultiStep error. <2009-06-14 Sun>
+ + with the ufl format and with the V0 spacefunction for phi it seems solved.
+ + Added abort() if a nan or inf occurs.
+ Added datacalculator.py in DirichletBC dir.<2009-06-19 Fri> 
+ +Calculate appropriate DirichletBC
+ +Dispersion properties are considered
+ +For Zhao.ufl form only
+ Update the time step if ficsquare <2009-06-19 Fri>
+ +It is important in when boundary conditions are time-dependent.

--------------------------------------------------------------------------
:RELEASE 09.23-24 Changelog
+ More work and bug correction on ufl files <2009-06-08 Mon>
+ comment some "to be removed" code<2009-06-03 Wed>
+ Removed FormNameList[] from dolfwave.h/cpp using strings instead <2009-06-03 Wed>
+ decrease the number of iterations and augment the step size in several demos <2009-06-03 Wed>
+ rectangle demo working <2009-06-09 Tue>
+ src/SConstruct changed. Working with (UBUNTU JAUNTY)<2009-06-09 Tue>
+ Gravity acceleration as a constant in forms: Scale issues <2009-06-09 Tue>
+ Corrected on LinearFormsInit: Passed as a Function( ) in ufl form files.<2009-06-08 Mon>
+ DONE Corrected on demos: g should be passed explicitly as Constant function with the appropriate scale  in *.cpp  <2009-06-08 Mon>
--------------------------------------------------------------------------
:RELEASE 09.22 Changelog
+ Work on dispersion scripts several py classes and modules
  added to doc/dispersion/
+ remove boussdispclass.py and dispchar.py -standing for copy paste-<2009-05-20 Wed>
+ SConstruct for plotting via scons <2009-05-20 Wed>
--------------------------------------------------------------------------
:RELEASE 09.19-21 Changelog
+ Created Xd3dXyzPlot for previewing with xd3d.<2009-05-05 Tue>
+ Started Work on Dispersion Properties <2009-05-19 Tue> 
+ ABORTED LPT4cd.ufl useless <2009-05-19 Tue>
+ NOTUSED LPT4z0.ufl not interesting since the dispersion
  relation is very BAD  <2009-04-22 Wed>
+ NOTUSED  LPT2cd.ufl for LPT transformed 2nd-order with
  Potential evaluated at the bottom. not interesting since
  it is a particular case of LPT2z0 <2009-05-19 Tue> 
+ Some tools added in tools dir. animation and profile <2009-05-08 Fri>
--------------------------------------------------------------------------
:RELEASE 09.18 Changelog
+ Updating SConstruct for generation of doxy documentation 'scons doxy=1'<2009-04-26 Sun>
+ Exclude the ffc header files from doxygen documentation .<2009-04-26 Sun>
+ Matrix plot function, for pattern plot :MatrixPlot(Matrix,"file.pbm") :FunFunctions: <2009-04-30 Thu> 
--------------------------------------------------------------------------
:RELEASE 09.17 Changelog
+ For P1 and P2 interpolation. See square demo. InitialCondition(P2)(*V,eta_phi,eta_init,phi_init,eta,phi)<2009-04-24 Fri>
+ NOTUSED LPT4z0.ufl  not interesting since the dispersion relation is very BAD.<2009-04-22 Wed>
+ LPT4cd P2xP2 with Zero Neumann boundary conditions Requires an much smaller timestep 0.001->0.0001<2009-04-24 Fri>
+ Updated Init Functions for New 4th order forms.<2009-04-22 Wed>
+  Remove the gap and step from the plot functions.<2009-04-21 Tue>
+ Zhao Model with new interface in square demo <2009-04-24 Fri>
+ Updates to SConstruct files, clean for workdir <2009-04-25 Sat>
+ Created tools for auxiliar scripts and c++ codes <2009-04-20 Mon>
+ DONE created "profile" program for time profile in individual points <2009-04-20 Mon>
+ scripts for animation generation <2009-04-20 Mon>
--------------------------------------------------------------------------
:RELEASE 09.16 Changelog
+ Created 'GradP2.ufl' and 'GradP0.ufl'  for (horizontal) grad calculation.<2009-04-18 Sat>
+ DOLFIN::RAWFile.cpp  updated to cell based values
  plot.<2009-04-18 Sat> :DOLFIN:
+ Added Prof.ufl for standard projection. (sponge layer plot)<2009-04-19 Sun>
+ Migrate to DOLFIN 0.9.2 ->FFC UFL forms. <2009-04-18 Sat>
+ Maintaining the form files but DOLFWAVE is compiled with the new (ufl)header files
+ Remove macros from dolfwave.h. <2009-04-19 Sun>
+  Depth plot function (using symmetric depth).<2009-04-18 Sat>
#:Function DepthPlot(mesh,depth)
+ SpongePlot function<2009-04-19 Sun>
#:Function SpongePlot(mesh,spongelayer)
+ Using the new interface in harbour demo. <2009-04-18 Sat>
+ demo/harbour&pillar/Sconstruct updated. dolfin_plot_data.xml
  removed from release.<2009-04-19 Sun> 
+ Update  version numbers to YY.WEAK .Release will be done
  at monday, or in other day :D <2009-04-09 Thu>
+ scons release update local and ptmat page <2009-04-15 Wed>
+ Found Bug on Multicorrector steps with phi_old definined with the bad "(V1)" space (See Numerical Implementation Section) <2009-04-18 Sat>
--------------------------------------------------------------------------
:RELEASE 09.04 Changelog
+ 'Options' Changed to 'DolfwaveOptions' <2009-04-14 Tue>
+ 'DolfwaveOptions' changed to 'Dolfwave' <2009-04-15 Wed>
+ Moving bottom For LPT2z0.form <2009-04-08 Wed>     
+  Copied solve functions for cases with no Dirichlet boundary conditions <2009-04-15 Wed> 
+ Implented  solve functions  for Runge Kutta Predictor  and Corrector steps <2009-04-09 Thu>  
+ Using generic Linear and Bilinear Forms in Predictor-Corrector and Runge-Kutta <2009-03-27 Fri>
# : const dolfin::Form as arguments of rk and pc_assemble.
+ Added plotting functions in DolfwaveOptions <2009-04-14 Tue>
+ Added Namespace dolfin::dolfwave <2009-04-13 Mon>
+ Added FormInit functions  <2009-04-13 Mon>
+ Added Functions Init, for initialization of solutions functions.<2009-04-14 Tue> 
+ Added Function Space and SubSpace Init functions.<2009-04-13 Mon>
+ Added DolfwaveOptions.cpp&h for parameters class.<2009-04-14 Tue>
+ DolfwaveOptions.* changed to DolfwaveClass.* <2009-04-15 Wed>
+ 'Options' Changed to 'DolfwaveOptions' <2009-04-14 Tue>  
+ 'DolfwaveOptions' changed to 'Dolfwave' <2009-04-15 Wed>
+ DONE Several updates to the Plot system.<2009-04-15 Wed>
+ Created workdir for tests  (not included in release)
+  Updated harbour mesh (Note: Xd3d post-process reads medit "*.msh" files) <2009-04-02 Thu>
+ harbour output as raw files for Xd3d <2009-04-02 Thu>
+ Removed system("clear") and cstdlib include.
#:Reason: 'int system(const char*)', declared with attribute warn_unused_result
#:warning as error in some systems.
+  mvbottom :LPT:
+ Using new interface: simplified code <2009-04-15 Wed>
#:towards a generic solver
+   Pillar	 :LPT:
+  Using new interface: simplified code <2009-04-13 Mon> <2009-04-15 Wed>
#:towards a generic solver
+ Release option updated for not inclusion of older releases <2009-03-27 Fri>
+ Update  version numbers to YY.MM <2009-04-09 Thu>
+ Updated Sconstruct for release_archive exclusion <2009-04-15 Wed>
+ LPT2z0 bug in the Linear form <2009-04-08 Wed>
#:It was missing the t5 nonlinear term

--------------------------------------------------------------------------
: RELEASE 09.03 Changelog
+ Consider *.h form headers in src/form dir.<2009-03-31 Tue>
+ Added LPT2z0.form for LPT transformed 2nd-order equation z=0 expansion. <2009-03-26 Thu>
+ Sconstruct version update <2009-03-27 Fri>
+ Updated meshes directory and mesh paths <2009-03-27 Fri>
+ Updated dolfwave.h includes <2009-03-27 Fri>
+ Updated Zhao forms for Source Functions <2009-03-09 Mon>
+ Equal sbfctn\_update for PredCorr and RungeKutta subfunction update <2009-03-09 Mon>
#: 'pc.sbfctn_update(eta1,phi1,eta_phi1)' 
#: 'rk.sbfctn_update(eta1,phi1,eta_phi1)'
+ Symetric projection for depth post-processing.<2009-03-09 Mon>
#:Added SymProj.form
+ Migrate to DOLFIN 0.9.1 <2009-03-09 Mon>
+ Class DEPTH removed from demo. <2009-03-06 Fri 12:50>
+ Harbour  <2009-03-02 Mon> :Zhao:
+ Working with 0.9.1 <2009-03-10 Tue>
+ Depth plot via symmetric projection.<2009-03-10 Tue>
+ Rectangle  <2009-03-13 Fri> :Zhao:
#: For constant depth with boundary wave generation  
#: Using gmres via PETSc
+ Square Gaussian wave For Standard benchmark   <2009-03-06 Fri 12:47> :Zhao:   
+ Create tgz file for release <2009-03-17 Tue>
#   : "scons release" commits changes to hg and creates dolfwave$RELEASE.tgz 
+ Remove *.os from release <2009-03-10 Tue>
+ Set "enableDemo=yes" option to scons <2009-03-04 Fri>
#  :"scons enableDemo=yes" or "scons enableDemo=1" builds the demos
#  :enableDemo=0 by Default 
+ Set  "cleanall" option for scons to remove demo output dirs also<2009-03-04 Wed>
#  :"scons cleanAll=1" removes also  demo output dirs and *~ files
+ Demo executables changed to "demo.bin" <2009-03-04 Wed>
+ Demo output files  to  "output" dir.<2009-03-02 Mon>   
#   :"output" dir created via local demo SConstruct 
+ Euler solved <2009-03-06 Fri>
+ Doc dir created <2009-03-18 Wed>
  
@<h4 align=right>
-------------------

[[http://orgmode.org/][This document was made using emacs Org-mode]]   

[[http://ptmat.fc.ul.pt/~ndl/][Back to Homepage]]
 
--------------------                                                                        
@</h4>
