#include <ArnoldFalkWintherWeakSym.h>
Inheritance diagram for ArnoldFalkWintherWeakSymP:
Public Member Functions | |
ArnoldFalkWintherWeakSymP () | |
virtual | ~ArnoldFalkWintherWeakSymP () |
virtual void | set (int order) |
virtual void | set (Polygon &p) |
virtual void | compute_basis_functions () |
virtual int | nbf () |
virtual GiNaC::ex | N (int i) |
virtual GiNaC::ex | dof (int i) |
Definition at line 32 of file ArnoldFalkWintherWeakSym.h.
|
Definition at line 34 of file ArnoldFalkWintherWeakSym.h.
|
|
Definition at line 35 of file ArnoldFalkWintherWeakSym.h.
|
|
Reimplemented from StandardFE. Definition at line 129 of file ArnoldFalkWintherWeakSym.cpp. References VectorDiscontinuousLagrangeFE::compute_basis_functions(), VectorDiscontinuousLagrangeFE::N(), VectorDiscontinuousLagrangeFE::nbf(), StandardFE::Ns, StandardFE::order, StandardFE::p, VectorDiscontinuousLagrangeFE::set(), and VectorDiscontinuousLagrangeFE::set_size(). Referenced by main(). 00129 { 00130 00131 if ( order < 1 ) { 00132 cout <<"Arnold-Falk-Winther elements must be of order 1 or higher."<<endl; 00133 return; 00134 } 00135 00136 00137 if ( p == NULL ) { 00138 cout <<"You need to set a polygon before the basisfunctions can be computed"<<endl; 00139 return; 00140 } 00141 00142 00143 VectorDiscontinuousLagrangeFE fe; 00144 fe.set(order); 00145 fe.set_size(3); 00146 fe.set(*p); 00147 fe.compute_basis_functions(); 00148 00149 for (int d=0; d<3; d++) { 00150 for (int i=0; i<fe.nbf(); i++) { 00151 GiNaC::matrix Nmat = GiNaC::matrix(3,3); 00152 Nmat(1,2) = -fe.N(i).op(0); 00153 Nmat(2,1) = fe.N(i).op(0); 00154 00155 Nmat(0,2) = fe.N(i).op(1); 00156 Nmat(2,0) = -fe.N(i).op(1); 00157 00158 Nmat(0,1) = -fe.N(i).op(2); 00159 Nmat(1,0) = fe.N(i).op(2); 00160 00161 Ns.insert(Ns.end(), Nmat); 00162 } 00163 } 00164 }
|
|
Reimplemented from StandardFE. Definition at line 179 of file ArnoldFalkWintherWeakSym.cpp. References StandardFE::dof(). 00179 { 00180 return StandardFE::dof(i); 00181 }
|
|
Reimplemented from StandardFE. Definition at line 184 of file ArnoldFalkWintherWeakSym.cpp. References StandardFE::N(). Referenced by main(). 00184 { 00185 return StandardFE::N(i); 00186 }
|
|
Reimplemented from StandardFE. Definition at line 122 of file ArnoldFalkWintherWeakSym.cpp. References StandardFE::Ns. Referenced by main(). 00122 { 00123 return Ns.size(); 00124 }
|
|
Reimplemented from StandardFE. Definition at line 169 of file ArnoldFalkWintherWeakSym.cpp. References StandardFE::set(). 00169 { 00170 StandardFE::set(p_); 00171 }
|
|
Reimplemented from StandardFE. Definition at line 174 of file ArnoldFalkWintherWeakSym.cpp. References StandardFE::set(). Referenced by main(). 00174 { 00175 StandardFE::set(order_); 00176 }
|