Skip to content

Instantly share code, notes, and snippets.

View jwpeterson's full-sized avatar

John W. Peterson jwpeterson

View GitHub Profile
@jwpeterson
jwpeterson / netgen_test_01.cc
Created October 22, 2015 16:16
Simple example code demonstrating calling netgen from libmesh
#include <iostream>
#include <fstream>
#include <map>
#include <cstdlib> // std::getenv()
#include "libmesh/libmesh.h"
#include "libmesh/mesh.h"
#include "libmesh/point.h"
#include "libmesh/cell_tet4.h"
// #include "libmesh/exodusII_io.h"
@jwpeterson
jwpeterson / netgen_test_02.cc
Created October 22, 2015 16:18
Test demonstrating meshing a 2D surface with Netgen from within libmesh
#include <iostream>
#include <fstream>
#include <map>
#include <cstdlib> // std::getenv()
#include "libmesh/libmesh.h"
#include "libmesh/mesh.h"
#include "libmesh/point.h"
#include "libmesh/face_tri3.h"
@jwpeterson
jwpeterson / andrew_yt.cc
Created October 22, 2015 19:23
Evaluate solution at given point in Hex20 element.
#include "libmesh/libmesh.h"
#include "libmesh/mesh.h"
#include "libmesh/elem.h"
#include "libmesh/cell_hex20.h"
#include "libmesh/fe.h"
#include "libmesh/fe_interface.h"
using namespace libMesh;
// This is an example hopfully showing YT people how to evaluate
@jwpeterson
jwpeterson / Makefile
Created October 22, 2015 19:49
Simple Makefile that can compile single file libmesh applications.
# This Makefile assumes you have libmesh built and installed in $LIBMESH_DIR.
# If the user has no environment variable
# called METHOD, he gets optimized mode.
ifeq (x$(METHOD),x)
METHOD := opt
endif
# installed libmesh location of libmesh-config script
libmesh_config := $(LIBMESH_DIR)/bin/libmesh-config
@jwpeterson
jwpeterson / netgen_test_04.cc
Created October 23, 2015 19:19
Small example demonstrating meshing of constructive solid geometry (CSG) with Netgen via libmesh
#include <iostream>
#include <fstream>
#include <map>
#include "libmesh/libmesh.h"
#include "libmesh/mesh.h"
#include "libmesh/point.h"
#include "libmesh/cell_tet4.h"
// NOTE: This example only works if you have built and installed
#include "libmesh/libmesh.h"
#include "libmesh/mesh.h"
#include "libmesh/ucd_io.h"
#include "libmesh/mesh_generation.h"
#include "libmesh/elem.h"
using namespace libMesh;
// Uncomment this or compile with -DOLD_STYLE_BOUNDARY_IDS to test
// old-style boundary_ids() function.
#include "libmesh/libmesh.h"
#include "libmesh/dense_vector.h"
#include "libmesh/dense_matrix.h"
#include "libmesh/getpot.h"
#include "libmesh/perf_log.h"
#include <Eigen/SVD>
using namespace libMesh;
#include "libmesh/libmesh.h"
#include "libmesh/dense_vector.h"
#include "libmesh/dense_matrix.h"
#include "libmesh/getpot.h"
#include "libmesh/perf_log.h"
#include <Eigen/SVD>
using namespace libMesh;
// This utility code can be used to detect slits in a Mesh. A "slit"
// is a zero-width gap between two elements which should actually be
// neighbors. This can be caused by having duplicate nodes in a mesh
// generated by Cubit.
//
// The following journal file should work in any recent version of Cubit
// to generate a mesh with a bunch of duplicated nodes along an interface.
// This is caused by the user forgetting to call "merge all" after setting
// up his geometry.
// C++ include files that we need
#include <iostream>
#include <algorithm>
#include <math.h>
// Basic include file needed for the mesh functionality.
#include "libmesh/libmesh.h"
#include "libmesh/mesh.h"
#include "libmesh/mesh_generation.h"
#include "libmesh/exodusII_io.h"