#include <LagrangeFE.h>
Inheritance diagram for VectorLagrangeFE:
Public Member Functions | |
VectorLagrangeFE () | |
~VectorLagrangeFE () | |
virtual void | set (int order) |
virtual void | set (Polygon &p) |
virtual void | set_size (int size_) |
virtual void | compute_basis_functions () |
virtual int | nbf () |
virtual GiNaC::ex | N (int i) |
virtual GiNaC::ex | dof (int i) |
Protected Attributes | |
int | size |
Definition at line 25 of file LagrangeFE.h.
|
Definition at line 29 of file LagrangeFE.h.
|
|
Definition at line 30 of file LagrangeFE.h.
|
|
Reimplemented from StandardFE. Reimplemented in VectorDiscontinuousLagrangeFE. Definition at line 246 of file LagrangeFE.cpp. References LagrangeFE::compute_basis_functions(), LagrangeFE::dof(), dof(), StandardFE::dofs, LagrangeFE::N(), LagrangeFE::nbf(), StandardFE::Ns, StandardFE::order, StandardFE::p, LagrangeFE::set(), and size. Referenced by VectorDiscontinuousLagrangeFE::compute_basis_functions(), and main(). 00246 { 00247 00248 if ( order < 1 ) { 00249 cout <<"Lagrangian elements must be of order 1 or higher."<<endl; 00250 return; 00251 } 00252 00253 00254 if ( p == NULL ) { 00255 cout <<"You need to set a polygon before the basisfunctions can be computed"<<endl; 00256 return; 00257 } 00258 00259 00260 LagrangeFE fe; 00261 fe.set(order); 00262 fe.set(*p); 00263 fe.compute_basis_functions(); 00264 GiNaC::lst zero_list; 00265 for (int s=1; s<= size ; s++) { 00266 zero_list.append(0); 00267 } 00268 00269 for (int i=0; i< fe.nbf() ; i++) { 00270 for (int s=0; s< size ; s++) { 00271 GiNaC::lst Nis = zero_list; 00272 Nis.let_op(s) = fe.N(i); 00273 GiNaC::ex Nmat = GiNaC::matrix(size,1,Nis); 00274 Ns.insert(Ns.end(), Nmat); 00275 00276 GiNaC::lst dof = GiNaC::lst(fe.dof(i), s) ; 00277 dofs.insert(dofs.end(), dof); 00278 } 00279 } 00280 }
|
|
Reimplemented from StandardFE. Reimplemented in VectorDiscontinuousLagrangeFE. Definition at line 298 of file LagrangeFE.cpp. References StandardFE::dof(). Referenced by compute_basis_functions(). 00298 { 00299 return StandardFE::dof(i); 00300 }
|
|
Reimplemented from StandardFE. Reimplemented in VectorDiscontinuousLagrangeFE. Definition at line 303 of file LagrangeFE.cpp. References StandardFE::N(). 00303 { 00304 return StandardFE::N(i); 00305 }
|
|
Reimplemented from StandardFE. Reimplemented in VectorDiscontinuousLagrangeFE. Definition at line 242 of file LagrangeFE.cpp. References StandardFE::nbf(). 00242 { 00243 return StandardFE::nbf(); 00244 }
|
|
Reimplemented from StandardFE. Reimplemented in VectorDiscontinuousLagrangeFE. Definition at line 288 of file LagrangeFE.cpp. References StandardFE::set(). 00288 { 00289 StandardFE::set(p_); 00290 }
|
|
Reimplemented from StandardFE. Reimplemented in VectorDiscontinuousLagrangeFE. Definition at line 293 of file LagrangeFE.cpp. References StandardFE::set(). Referenced by main(). 00293 { 00294 StandardFE::set(order_); 00295 }
|
|
Reimplemented in VectorDiscontinuousLagrangeFE. Definition at line 283 of file LagrangeFE.cpp. References size. Referenced by main(). 00283 { 00284 size = size_; 00285 }
|
|
Reimplemented in VectorDiscontinuousLagrangeFE. Definition at line 27 of file LagrangeFE.h. Referenced by compute_basis_functions(), and set_size(). |