--- ./ngsolve/basiclinalg/calcinverse.cpp +++ ./ngsolve/basiclinalg/calcinverse.cpp @@ -9,7 +9,7 @@ { double sum = 0; for (int i = 0; i < N; i++) - sum += abs(m(i,i)); + sum += std::abs(m(i,i)); return sum; } inline double abs (double a) --- ./ng.tcl +++ ./ng.tcl @@ -7,7 +7,7 @@ set progname "NETGEN" -set ngdir "" +set ngdir "/usr/share/netgen" if { [lsearch [array names env] NETGENDIR] != -1 } { set ngdir $env(NETGENDIR) } --- ./togl/LICENSE.togl +++ ./togl/LICENSE.togl @@ -0,0 +1,27 @@ +This software is copyrighted by Brian Paul (brian@mesa3d.org) +and Benjamin Bederson (bederson@cs.umd.edu). The following +terms apply to all files associated with the software unless explicitly +disclaimed in individual files. + +The authors hereby grant permission to use, copy, modify, distribute, +and license this software and its documentation for any purpose, provided +that existing copyright notices are retained in all copies and that this +notice is included verbatim in any distributions. No written agreement, +license, or royalty fee is required for any of the authorized uses. +Modifications to this software may be copyrighted by their authors +and need not follow the licensing terms described here, provided that +the new terms are clearly indicated on the first page of each file where +they apply. + +IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY +FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY +DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE +IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE +NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +MODIFICATIONS. --- ./togl/license.terms +++ ./togl/license.terms @@ -0,0 +1,39 @@ +This software is copyrighted by the Regents of the University of +California, Sun Microsystems, Inc., Scriptics Corporation, +and other parties. The following terms apply to all files associated +with the software unless explicitly disclaimed in individual files. + +The authors hereby grant permission to use, copy, modify, distribute, +and license this software and its documentation for any purpose, provided +that existing copyright notices are retained in all copies and that this +notice is included verbatim in any distributions. No written agreement, +license, or royalty fee is required for any of the authorized uses. +Modifications to this software may be copyrighted by their authors +and need not follow the licensing terms described here, provided that +the new terms are clearly indicated on the first page of each file where +they apply. + +IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY +FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY +DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE +IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE +NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +MODIFICATIONS. + +GOVERNMENT USE: If you are acquiring this software on behalf of the +U.S. government, the Government shall have only "Restricted Rights" +in the software and related documentation as defined in the Federal +Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you +are acquiring the software on behalf of the Department of Defense, the +software shall be classified as "Commercial Computer Software" and the +Government shall have only "Restricted Rights" as defined in Clause +252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the +authors grant the U.S. Government and others acting in its behalf +permission to use and distribute the software in accordance with the +terms specified in this license. --- ./ngtcltk/ngappinit.cpp +++ ./ngtcltk/ngappinit.cpp @@ -77,7 +77,7 @@ if (getenv ("NETGENDIR") && strlen (getenv ("NETGENDIR"))) ngdir = getenv ("NETGENDIR"); else - ngdir = "."; + ngdir = "/usr/share/netgen"; verbose = parameters.GetDefineFlag ("V"); --- ./ngtcltk/nghelp.tcl +++ ./ngtcltk/nghelp.tcl @@ -1,6 +1,6 @@ proc print_commandline_help { } { - puts "Usage: ng { options }" + puts "Usage: netgen { options }" puts "-geofile=filename Input geometry file (alternative: ng filename)" puts "-meshfile=filename Output mesh file" --- ./libsrc/visualization/mvdraw.hpp +++ ./libsrc/visualization/mvdraw.hpp @@ -250,6 +250,7 @@ int seltria; }; +extern VisualSceneSTLMeshing vsstlmeshing; --- ./ngsolve/comp/postproc.cpp +++ ./ngsolve/comp/postproc.cpp @@ -9,6 +9,7 @@ */ #include +#include namespace ngcomp { @@ -274,8 +275,8 @@ if (dimflux > 1) { FlatMatrix elmat(dnumsflux.Size(), lh); - dynamic_cast (fluxbli) - . Block() . AssembleElementMatrix (felflux, eltrans, elmat, lh); + BlockBilinearFormIntegrator const& fluxbli_ref = dynamic_cast (fluxbli); + fluxbli_ref . Block() . AssembleElementMatrix (felflux, eltrans, elmat, lh); CholeskyFactors invelmat(elmat); FlatVector hv1(dnumsflux.Size(), lh); --- ./ngsolve/linalg/order.cpp +++ ./ngsolve/linalg/order.cpp @@ -54,7 +54,7 @@ return ball.Alloc(); } - void CliqueEl :: operator delete (void * p, size_t) + void CliqueEl :: operator delete (void * p) { ball.Free (p); } --- ./ngsolve/linalg/order.hpp +++ ./ngsolve/linalg/order.hpp @@ -118,7 +118,7 @@ /// void * operator new(size_t); /// - void operator delete (void *, size_t); + void operator delete (void *); }; --- ./ngsolve/basiclinalg/expr3.hpp +++ ./ngsolve/basiclinalg/expr3.hpp @@ -851,6 +851,16 @@ /** Inner product */ +inline double InnerProduct ( const double& a, const double& b ) +{ + return a * b; +} + +inline Complex InnerProduct ( const Complex& a, const Complex b) +{ + return a * b; +} + template inline typename TA::TSCAL InnerProduct (const MatExpr & a, const MatExpr & b) @@ -862,15 +872,6 @@ return sum; } -inline double InnerProduct (double a, double b) -{ - return a * b; -} - -inline Complex InnerProduct (Complex a, Complex b) -{ - return a * b; -} /* **************************** Trace **************************** */ @@ -889,6 +890,16 @@ /* **************************** L2Norm **************************** */ /// Euklidean norm squared +inline double L2Norm2 (const double& v) +{ + return v*v; +} + +inline double L2Norm2 (Complex v) +{ + return v.real()*v.real()+v.imag()*v.imag(); +} + template inline double L2Norm2 (const MatExpr & v) { @@ -899,17 +910,6 @@ return sum; } - -inline double L2Norm2 (double v) -{ - return v*v; -} - -inline double L2Norm2 (Complex v) -{ - return v.real()*v.real()+v.imag()*v.imag(); -} - template inline double L2Norm (const MatExpr & v) { --- ./Makefile +++ ./Makefile @@ -29,7 +29,7 @@ # tcltklib = -ltix8.2 -ltk8.4 -ltcl8.4 # # -syslib = $(tcltklib) -lGL -lGLU -lX11 -lXi -lm -ldl -lpthread $(SYSLIB2) +syslib = $(tcltklib) -lGL -lGLU -lX11 -lm -ldl -lpthread $(SYSLIB2) # (maybe you have to remove -ldl) # # @@ -49,6 +49,7 @@ # add libs in makefile.mach.$(MACHINE) # occlib = -L$(OCCLIB_DIR) -lTKIGES -lTKBRep -lTKSTEP -lTKSTL +occlib = -L$(OCCLIB_DIR) -lTKIGES -lTKBRep -lTKSTEP -lTKSTL -lTKTopAlgo -lTKG3d -lTKG2d -lTKXSBase -lTKOffset -lTKFillet -lTKGeomBase -lTKGeomAlgo -lTKShHealing -lTKBO -lTKPrim -lTKernel -lTKMath -lTKBool -lXxf86vm # include $(LIBSRC_DIR)/makefile.mach.$(MACHINE) # @@ -117,7 +120,7 @@ # .PHONY : clean clean: - -@rm *.o ngtcltk/*.o togl/*.o lib/$(MACHINE)/lib*.a lib/$(MACHINE)/*.o + -rm *.o ngtcltk/*.o togl/*.o lib/$(MACHINE)/lib*.a lib/$(MACHINE)/*.o ng # # .PHONY : cleanapp --- ./libsrc/makefile.mach.LINUX +++ ./libsrc/makefile.mach.LINUX @@ -16,12 +16,18 @@ # CFLAGS2 = -CPLUSPLUSFLAGS2 = -O2 -I/usr/include/GL3.5 -DLINUX -DOPENGL \ - -ftemplate-depth-99 -finline-limit=20000 \ +CPLUSPLUSFLAGS2 = -O2 -I/usr/include/GL -I/usr/include/tcl8.4 -I/usr/include/tk8.4 -I/usr/X11R6/include \ + -DLINUX -DOPENGL \ + -finline-limit=20000 \ -funroll-loops -DNGSOLVE LINKFLAGS2 = -L/usr/openwin/lib -L/usr/X11R6/lib -L/usr/lib/GL3.5 -lstdc++ +OCC_DIR=/opt/OpenCASCADE5.2 +OCCINC_DIR=$(OCC_DIR)/ros/inc +OCCLIB_DIR=$(OCC_DIR)/ros/lin/lib +CPLUSPLUSFLAGS2 += -DOCCGEOMETRY -DOCC52 -DUSE_STL_STREAM -DHAVE_IOSTREAM -DHAVE_LIMITS -I$(OCCINC_DIR) +LINKFLAGS2 += -L$(OCCLIB_DIR) -lTKIGES -lTKBRep -lTKSTEP -lTKSTL -lTKTopAlgo -lTKG3d -lTKG2d -lTKXSBase -lTKOffset -lTKFillet -lTKGeomBase -lTKGeomAlgo -lTKShHealing -lTKBO -lTKPrim -lTKernel -lTKMath -lTKBool goalngs=goalngs --- ./ngsolve/solve/shapetester.cpp +++ ./ngsolve/solve/shapetester.cpp @@ -1,6 +1,7 @@ #include // #include +#include namespace ngsolve --- ./ngsolve/comp/fespace.cpp +++ ./ngsolve/comp/fespace.cpp @@ -10,6 +10,8 @@ #include #include +#include + using namespace ngmg; namespace ngcomp