/*
 $Id: materials.cc,v 1.3 1996/11/19 09:54:46 bzferdma Exp $
 (C)opyright 1996 by Konrad-Zuse-Center, Berlin
 All rights reserved.
 Part of the Kaskade distribution
*/

#include "materials.h"

//-------------------------------------------------------------------------

Material:: Material(int spaceDim0) :  spaceDim(spaceDim0) { }

//-------------------------------------------------------------------------

void Material:: notImplemented()
{
    cout << "\n class Material: function not implemented \n"; cout.flush(); abort(); 
}
//-------------------------------------------------------------------------

void Material:: setMaterialType()
{
    //cout << "In Material::setMaterialType : undefinedmaterial" << endl;
    matType = undefinedMatType;
}
Real Material:: E(int /*type*/, Vector<Real>* /*x*/, int /*i*/, int /*j*/) 	
			      	{ notImplemented(); cout.flush(); abort(); return 0; }
Real Material:: M(int /*type*/, Vector<Real>* /*x*/, int /*i*/, int /*j*/) 	
				{ notImplemented(); cout.flush(); abort(); return 0; }
Real Material:: P(int /*type*/, Vector<Real>* /*x*/, int /*i*/, int /*j*/) 	
				{ notImplemented(); cout.flush(); abort(); return 0; }
Real Material:: C(int /*type*/, int /*i*/, Vector<Real>* /*x*/)	 	
			      	{ notImplemented(); cout.flush(); abort(); return 0; }
Real Material:: S      (int /*type*/, Vector<Real>* /*x*/, Real /*time*/) 	
				{ notImplemented(); cout.flush(); abort(); return 0; }
Real Material:: Neumann(int /*type*/, Vector<Real>* /*x*/, Real /*time*/) 		
				{ notImplemented(); cout.flush(); abort(); return 0; }
Real Material:: Inner(int /*type*/, Vector<Real>* /*x*/, Real /*time*/) 		
				{ notImplemented(); cout.flush(); abort(); return 0; }
Real Material:: Cauchy (int /*type*/, Vector<Real>* /*x*/, Real /*time*/) 		
				{ notImplemented(); cout.flush(); abort(); return 0; }
//-------------------------------------------------------------------------
Num Material::  trueSolInPoint(const Vector<Real>& /*x*/, const Real /*time*/)
				{ notImplemented(); cout.flush(); abort(); return 0; }
//-------------------------------------------------------------------------

void Material:: doubleID(int classA)
{
    cout << "\n*** Materials: class ID for Neumann/Cauchy boundary" 
         << " used more than once: " << classA << "\n";
    cout.flush(); abort();
}

void Material:: unknownID(int classA)
{
    cout << "\n*** Materials: class ID for Neumann/Cauchy boundary" 
         << " not known: " << classA << "\n";
    cout.flush();
    cout.flush(); abort();
}
//-------------------------------------------------------------------------
