Mesh Oriented datABase  (version 5.4.1)
Array-based unstructured mesh datastructure
IntxUtilsCSLAM.hpp
Go to the documentation of this file.
00001 /*
00002  * CSLAMUtils.hpp
00003  *
00004  */
00005 
00006 #ifndef CSLAMUTILS_HPP_
00007 #define CSLAMUTILS_HPP_
00008 
00009 #include "moab/CartVect.hpp"
00010 #include "moab/Core.hpp"
00011 #include "moab/IntxMesh/IntxUtils.hpp"
00012 
00013 class IntxUtilsCSLAM
00014 {
00015   public:
00016     /* Analytical functions */
00017 
00018     // page 4 Nair Lauritzen paper
00019     // param will be: (la1, te1), (la2, te2), b, c; hmax=1, r=1/2
00020     static double quasi_smooth_field( double lam, double tet, double* params );
00021 
00022     // page 4
00023     static double smooth_field( double lam, double tet, double* params );
00024 
00025     // page 5
00026     static double slotted_cylinder_field( double lam, double tet, double* params );
00027 
00028     // More MBCSLAM specific API
00029     static void departure_point_case1( moab::CartVect& arrival_point,
00030                                        double t,
00031                                        double delta_t,
00032                                        moab::CartVect& departure_point );
00033 
00034     static void velocity_case1( moab::CartVect& arrival_point, double t, moab::CartVect& velo );
00035 
00036     // looking at DP tag, create the spanning quads, write a file (with rank) and
00037     // then delete the new entities (vertices) and the set of quads
00038     static moab::ErrorCode create_span_quads( moab::Interface* mb, moab::EntityHandle euler_set, int rank );
00039 
00040     // copy the euler mesh into a new set, lagr_set (or lagr set into a new euler set)
00041     // it will be used in 3rd method, when the positions of nodes are modified, no new nodes are
00042     //  created
00043     // it will also be used to
00044     static moab::ErrorCode deep_copy_set( moab::Interface* mb, moab::EntityHandle source, moab::EntityHandle dest );
00045 };
00046 
00047 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines