SyFi
0.3
|
#include <SyFi.h>
Go to the source code of this file.
Functions | |
int | main () |
int main | ( | ) |
Definition at line 7 of file disconlagrange_ex.cpp.
References SyFi::DiscontinuousLagrange::compute_basis_functions(), SyFi::StandardFE::dof(), SyFi::Dof::glob2loc(), SyFi::Dof::glob_dof(), SyFi::initSyFi(), SyFi::Dof::insert_dof(), SyFi::StandardFE::nbf(), SyFi::DiscontinuousLagrange::set_element_number(), SyFi::StandardFE::set_order(), SyFi::StandardFE::set_polygon(), SyFi::Dof::size(), and SyFi::usage().
{ initSyFi(2); Dof dof(true, true); // create two triangles Triangle t1(lst(0,0), lst(1,0), lst(0,1)); Triangle t2(lst(1,1), lst(1,0), lst(0,1)); int order = 2; DiscontinuousLagrange fe; fe.set_order(order); fe.set_polygon(t1); fe.set_element_number(1); fe.compute_basis_functions(); usage(fe); for (unsigned int i=0; i< fe.nbf(); i++) { dof.insert_dof(1,i,fe.dof(i)); } fe.set_polygon(t2); fe.set_element_number(2); fe.compute_basis_functions(); usage(fe); for (unsigned int i=0; i< fe.nbf(); i++) { dof.insert_dof(2,i,fe.dof(i)); } // Print out the global degrees of freedom an their // corresponding local degrees of freedom vector<pair<unsigned int,unsigned int> > vec; pair<unsigned int,unsigned int> index; ex exdof; for (unsigned int i=0; i< dof.size(); i++) { exdof = dof.glob_dof(i); vec = dof.glob2loc(i); cout <<"global dof " <<i<<" dof "<<exdof<<endl; for (unsigned int j=0; j<vec.size(); j++) { index = vec[j]; cout <<" element "<<index.first<<" local dof "<<index.second<<endl; } } }