SyFi  0.3
simplex.cpp File Reference
#include <SyFi.h>
#include <fstream>

Go to the source code of this file.

Functions

int main ()

Function Documentation

int main ( )

Definition at line 8 of file simplex.cpp.

References run_tests::f, SyFi::initSyFi(), SyFi::Simplex::integrate(), SyFi::Polygon::no_vertices(), SyFi::Triangle::repr(), SyFi::Tetrahedron::repr(), SyFi::Simplex::repr(), SyFi::Triangle::str(), SyFi::Tetrahedron::str(), SyFi::Simplex::str(), SyFi::Simplex::sub_simplex(), and SyFi::Polygon::vertex().

           {

    initSyFi(3); 

    ex p0 = lst(0.0,0.0,0.0);
    ex p1 = lst(1.0,0.0,0.0);
    ex p2 = lst(0.0,1.0,0.0);

    
    cout <<"\n\nThe reference triangle in 3D"<<endl; 
    Triangle triangle(p0,p1,p2); 
    cout <<triangle.str()<<endl; 
    ex repr = triangle.repr(); 
    cout <<"repr "<<repr<<endl; 

    cout <<"\n\nThe reference triangle in 3D by using Simplex"<<endl; 
    lst vertices(p0,p1,p2); 
    Simplex simplex(vertices); 
    cout <<simplex.str()<<endl; 
    repr = simplex.repr(); 
    cout <<"repr "<<repr<<endl; 

    cout <<"\n\nThe sub-simplices (lines) on the reference triangle simplex in 3D"<<endl; 
    for (unsigned int i=0; i<3; i++) {
      Simplex sub_simplex = simplex.sub_simplex(i); 
      cout <<"\nsub simplex:  "<<i<<"\n\t"<<sub_simplex.str() <<"\n\trepr "<< sub_simplex.repr()<<endl; 
      for (unsigned int k=0; k< sub_simplex.no_vertices(); k++) {
        cout <<"\tv"<<k<<" "<<sub_simplex.vertex(k); 
      }
    }



    cout <<"\n\nThe reference tetrahedron"<<endl; 
    ex p3 = lst(0.0,0.0,1.0);
    Tetrahedron tetrahedron(p0,p1,p2,p3); 
    cout <<tetrahedron.str()<<endl; 
    cout <<"repr "<<tetrahedron.repr()<<endl; 

    cout <<"\n\nThe reference tetrahedron represented by Simplex"<<endl; 
    Simplex simplex3(lst(p0,p1,p2,p3)); 
    cout <<simplex3.str()<<endl; 
    cout <<"repr "<<simplex3.repr()<<endl; 


    cout <<"\n\nThe integral of 1 over the reference tetrahedron represented by Simplex"<<endl; 
    ex f = 1; 
    std::cout <<" simplex3.integrate(f) = "<< simplex3.integrate(f) <<std::endl; 

    initSyFi(4); 

    ex q0 = lst(0.0,0.0,0.0,0.0);
    ex q1 = lst(1.0,0.0,0.0,0.0);
    ex q2 = lst(0.0,1.0,0.0,0.0);
    ex q3 = lst(0.0,0.0,1.0,0.0);
    ex q4 = lst(0.0,0.0,0.0,1.0);

    cout <<"\n\nThe reference simplex in 4D"<<endl; 
    Simplex simplex4(lst(q0,q1,q2,q3, q4)); 
    cout <<simplex4.str()<<endl; 
    cout <<"repr "<<simplex4.repr()<<endl; 

    cout <<"\n\nThe integral of 1 over the reference simplex in 4D"<<endl; 
    std::cout <<" simplex4.integrate(f) = "<< simplex4.integrate(f) <<std::endl; 




    initSyFi(5); 

    ex r0 = lst(0.0,0.0,0.0,0.0,0.0);
    ex r1 = lst(1.0,0.0,0.0,0.0,0.0);
    ex r2 = lst(0.0,1.0,0.0,0.0,0.0);
    ex r3 = lst(0.0,0.0,1.0,0.0,0.0);
    ex r4 = lst(0.0,0.0,0.0,1.0,0.0);
    ex r5 = lst(0.0,0.0,0.0,0.0,1.0);

    cout <<"\n\nThe reference simplex in 4D"<<endl; 
    Simplex simplex5(lst(r0,r1,r2,r3,r4,r5)); 
    cout <<simplex5.str()<<endl; 
    cout <<"repr "<<simplex5.repr()<<endl; 

    cout <<"\n\nThe integral of 1 over the reference simplex in 5D"<<endl; 
    std::cout <<" simplex5.integrate(f) = "<< simplex5.integrate(f) <<std::endl; 







}
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator