getfem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Getfem-commits] r4603 - in /trunk/getfem: configure.ac doc/sphinx/sourc


From: Yves . Renard
Subject: [Getfem-commits] r4603 - in /trunk/getfem: configure.ac doc/sphinx/source/userdoc/gasm_high.rst m4/ax_check_cxx_flag.m4
Date: Fri, 11 Apr 2014 14:12:53 -0000

Author: renard
Date: Fri Apr 11 16:12:52 2014
New Revision: 4603

URL: http://svn.gna.org/viewcvs/getfem?rev=4603&view=rev
Log:
minor modifications

Modified:
    trunk/getfem/configure.ac
    trunk/getfem/doc/sphinx/source/userdoc/gasm_high.rst
    trunk/getfem/m4/ax_check_cxx_flag.m4

Modified: trunk/getfem/configure.ac
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/configure.ac?rev=4603&r1=4602&r2=4603&view=diff
==============================================================================
--- trunk/getfem/configure.ac   (original)
+++ trunk/getfem/configure.ac   Fri Apr 11 16:12:52 2014
@@ -119,37 +119,6 @@
 echo "you are compiling GetFEM++ on a $host"
 
 case $CXX in
- cxx)
-       echo "Using Compaq cxx compiler"
-       echo "WARNING : Control that you have at least Compaq C++ V6.3"
-       here=`pwd`
-       cd $srcdir
-dnl     il faut utiliser -tweak au lieu des repositories ...
-       CXXFLAGS="$CXXFLAGS -tweak -std strict_ansi -fast -Wl,-S -nopure_cname"
-dnl    CXXFLAGS="$CXXFLAGS -ptr `pwd`/cxx_repository -std strict_ansi 
$with_optimization"
-       CFLAGS="$CFLAGS -fast -Wl,-S"
-       cd $here
-       ;;
- CC)
-       case $host in
-       *irix*)
-               echo "Using MIPSPRO CC on IRIX  (LD is set to CC)"
-               LD=CC   dnl sinon getfem_matlab a des problèmes (unresolved 
symbol __record_needed_destruction)
-dnl            CXXFLAGS="$CXXFLAGS -LANG:std $with_optimization 
-OPT:Olimit=0:roundoff=3:div_split=ON:alias=typed -TARG:platform=ip25"
-               CXXFLAGS="$CXXFLAGS -LANG:std $with_optimization "
-dnl             CXXFLAGS="$CXXFLAGS -LANG:std $with_optimization -ansiW "
-               SUPLDFLAGS="-lCio"
-               ;;
-       *sun*)
-               echo "Using SUN C++ WorkShop Compiler"
-               CXXFLAGS="$CXXFLAGS +w2 $with_optimization -library=stlport4"
-               ;;
-       esac
-       ;;
- aCC)
-       echo "Using HP ANSI C++ Compiler aCC"
-       CXXFLAGS="$CXXFLAGS -AA -fast"  
-       ;;
        
  *g++* | c++)
        GCCVER=`$CXX --version | head -1 | cut -d ' ' -f3`
@@ -157,7 +126,8 @@
        AC_CHECK_CXX_FLAG([$with_optimization],CXXFLAGS)
        AC_CHECK_CXX_FLAG([-Wall -W],CXXFLAGS)
        AC_CHECK_CXX_FLAG([-fmessage-length=0],CXXFLAGS)
-       AC_CHECK_CXX_FLAG([-ftemplate-depth-40],CXXFLAGS)
+       AC_CHECK_CXX_FLAG([-ftemplate-depth-100],CXXFLAGS)
+       dnl AC_CHECK_CXX_FLAG([-std=c++11], 
CXXFLAGS,[AC_CHECK_CXX_FLAG([-std=c++0x],CXXFLAGS,[AC_MSG_ERROR([g++ do not 
support option -std=c++11. Update g++ to at least release 4.8.1.])] )])
        AC_CHECK_CXX_FLAG([-pedantic],CXXFLAGS)
        AC_CHECK_CXX_FLAG([-Wshadow],CXXFLAGS)
        AC_CHECK_CXX_FLAG([-Wno-unknown-pragmas],CXXFLAGS)
@@ -172,20 +142,19 @@
        dnl -rdynamic used for backtraces
        AC_CHECK_CXX_FLAG([-rdynamic],SUPLDFLAGS)
 
-dnl    CXXFLAGS="$CXXFLAGS -fmessage-length=0 -ftemplate-depth-40 -pedantic 
$with_optimization -Wall -W $WSHADOW -Wpointer-arith -Wcast-qual 
-Wwrite-strings -Wconversion -Wredundant-decls -Wno-long-double"
 dnl    SUPLDFLAGS="-rdynamic" # -rdynamic for backtraces
         CFLAGS="$CFLAGS $with_optimization"
        ;;
  icc | icpc)
        echo "Using INTEL icc"
-dnl -tpp6 is for pentiumII and more
-dnl -Xc is for ansi conformance
-       CXXFLAGS="$CXXFLAGS $with_optimization -Xc -ansi"
+       dnl CXXFLAGS="$CXXFLAGS $with_optimization -Xc -ansi -std=c++11"
+        CXXFLAGS="$CXXFLAGS $with_optimization -Xc -ansi"
         CFLAGS="$CFLAGS $with_optimization -Xc -ansi"
        ;;
  *)
        echo "Using a unknown compiler"
-       CXXFLAGS="$CXXFLAGS $with_optimization"
+       dnl CXXFLAGS="$CXXFLAGS $with_optimization -std=c++11"
+        CXXFLAGS="$CXXFLAGS $with_optimization"
         CFLAGS="$CFLAGS $with_optimization"
        ;;
 esac

Modified: trunk/getfem/doc/sphinx/source/userdoc/gasm_high.rst
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/doc/sphinx/source/userdoc/gasm_high.rst?rev=4603&r1=4602&r2=4603&view=diff
==============================================================================
--- trunk/getfem/doc/sphinx/source/userdoc/gasm_high.rst        (original)
+++ trunk/getfem/doc/sphinx/source/userdoc/gasm_high.rst        Fri Apr 11 
16:12:52 2014
@@ -21,7 +21,7 @@
 
 Differences in execution time between high and low level generic assembly
 -------------------------------------------------------------------------
-For basic linear assembly terms, the high and low level generic assembly 
procedures have approximately the same efficiency in term of computational 
time. Both have been thoroughly optimized. On the one hand, the fact that the 
high-level generic assembly incorporate a compilation in basic optimized 
instructions and operates simplifications makes that it can be really faster 
especially on complex terms. On the other hand, the fact that the low-level 
generic assembly incorporates a mechanism to pre-compute on the reference 
element the linear term for elements with a linear transformation makes that it 
can be faster on simple linear terms. But even in that case, the high level 
generic assembly is sometime faster. Of course, a possibility would be to 
incorporate the ability to pre-compute on the reference element the linear term 
for linear transformations in the high level generic assembly. However, it 
would be rather complicated due to the high genericity of the language. A 
consequence also is that exact integration is not allowed in the high level 
generic assembly.
+For basic linear assembly terms, the high and low level generic assembly 
procedures have approximately the same efficiency in term of computational 
time. Both have been thoroughly optimized. On the one hand, the fact that the 
high-level generic assembly incorporate a compilation in basic optimized 
instructions and operates simplifications makes (for instance all identical 
expressions are computed only once) that it can be really faster especially on 
complex terms. On the other hand, the fact that the low-level generic assembly 
incorporates a mechanism to pre-compute on the reference element the linear 
term for elements with a linear transformation makes that it can be faster on 
simple linear terms. But even in that case, the high level generic assembly is 
sometime faster. Of course, a possibility would be to incorporate the ability 
to pre-compute on the reference element the linear term for linear 
transformations in the high level generic assembly. However, it would be rather 
complicated due to the high genericity of the language. A consequence also is 
that exact integration is not allowed in the high level generic assembly.
 
 
 
@@ -131,13 +131,15 @@
 
 
 Derivation order and symbolic differentiation
-----------------------------------------------
+---------------------------------------------
 
 The derivation order of the assembly string is automatically detected. This 
means that if no tests function are found, the order will be considered to be 0 
(potential energy), if first order tests functions are found, the order will be 
considered to be 1 (weak formulation) and if both first and second order tests 
functions are found, the order will be considered to be 2 (tangent system).
 
 In order to perform an assembly (see next section), one should specify the 
order (0, 1 or 2). If an order 1 string is furnished and an order 2 assembly is 
required, a symbolic differentiation of the expression is performed. The same 
if an order 0 string is furnished and if an order 1 or 2 assembly is required. 
Of course, the converse is not true. If an order 1 expression is given and an 
order 0 assembly is expected, no integration is performed. This should not be 
generally not possible since an arbitrary weak formulation do not necessary 
derive from a potential energy.
 
 The standard way to use the generic assembly is to furnish order 1 expressions 
(i.e. a weak formulation). If a potential energy exists, one may furnish it. 
However, it will be derived twice to obtain the tangent system which could 
result in complicated expressions. For nonlinear problems, it is not allowed to 
furnish order 2 expressions directly. The reason is that the weak formulation 
is necessary to obtain the residual. So nothing could be done with a tangent 
term without having the corresponding order 1 term.
+
+IMPORTANT REMARK: Note that for coupled problems, a global potential 
frequently do not exists. So that the part of problems directly defined with a 
potential may be difficult to couple. To illustrate this, if you defined a 
potential with some parameters (elasticity coefficients for instance), and the 
couplingconsists in a variation of these coefficients with respect to another 
variable, then the weak formulation do not consist of course in the derivative 
of the potential with respect to the coefficients which has generally no sense. 
This is the reason why the definition through a potential should be the 
exception.
 
 
 C++ Call of the assembly

Modified: trunk/getfem/m4/ax_check_cxx_flag.m4
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/m4/ax_check_cxx_flag.m4?rev=4603&r1=4602&r2=4603&view=diff
==============================================================================
--- trunk/getfem/m4/ax_check_cxx_flag.m4        (original)
+++ trunk/getfem/m4/ax_check_cxx_flag.m4        Fri Apr 11 16:12:52 2014
@@ -9,6 +9,7 @@
   echo "yes"
 else
   echo "no"
+  $3
 fi
 dnl echo "$2=${$2}"
 rm -f conftest*




reply via email to

[Prev in Thread] Current Thread [Next in Thread]