[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*
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Getfem-commits] r4603 - in /trunk/getfem: configure.ac doc/sphinx/source/userdoc/gasm_high.rst m4/ax_check_cxx_flag.m4,
Yves . Renard <=