field.h

Go to the documentation of this file.
00001 /*
00002     This file is part of magpar.
00003 
00004     Copyright (C) 2002-2009 Werner Scholz
00005 
00006     www:   http://www.magpar.net/
00007     email: magpar(at)magpar.net
00008 
00009     magpar is free software; you can redistribute it and/or modify
00010     it under the terms of the GNU General Public License as published by
00011     the Free Software Foundation; either version 2 of the License, or
00012     (at your option) any later version.
00013 
00014     magpar is distributed in the hope that it will be useful,
00015     but WITHOUT ANY WARRANTY; without even the implied warranty of
00016     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017     GNU General Public License for more details.
00018 
00019     You should have received a copy of the GNU General Public License
00020     along with magpar; if not, write to the Free Software
00021     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00022 */
00023 
00024 /* $Id: field.h 2744 2009-08-26 21:44:29Z scholz $ */
00025 
00026 #ifndef FIELD_H
00027 #define FIELD_H
00028 
00029 #include "griddata.h"
00030 
00031 int Hcubic_Energy(GridData *gdata,Vec VMom,PetscReal *energy);
00032 int Hcubic(GridData *gdata,Vec VHtotsum);
00033 int Hdemag_Energy(GridData *gdata,Vec VMom,PetscReal *energy);
00034 int Hdemag(GridData *gdata,Vec VHtotsum);
00035 int Helastic_Energy(GridData *gdata,Vec VMom,PetscReal *energy);
00036 int Helastic(GridData *gdata,Vec VHtotsum);
00037 int Hexchani_Energy(GridData *gdata,Vec VMom,PetscReal *energy);
00038 #ifdef EXCH
00039 int Hexchonly_Energy(GridData *gdata,Vec VMom,PetscReal *energy);
00040 #endif
00041 int Hexchani(GridData *gdata,Vec VHtotsum);
00042 int Hexternal_Energy(GridData *gdata,Vec VMom,PetscReal *energy);
00043 int Hexternal(GridData *gdata,Vec VHtotsum);
00044 PetscReal Hexternal_hext();
00045 int Hext_ho(GridData *gdata,Vec VHextsum,PetscReal *hext);
00046 int Hext_ho_hstep(GridData *gdata);
00047 int Hext_ho_hsweep(GridData *gdata);
00048 int Hext_cu(GridData *gdata,Vec VHextsum,PetscReal *hext);
00049 int Hext_py(GridData *gdata,Vec VHextsum,PetscReal *hext);
00050 int Htot_Energy(GridData *gdata);
00051 int Htot_Gradient(GridData *gdata);
00052 int Htot(GridData *gdata);
00053 
00054 int BMatrix(GridData *gdata,Mat *Bmatrix);
00055 int Bele(PetscReal* bvert,PetscReal* facv1,PetscReal* facv2,PetscReal* facv3,PetscReal* matele);
00056 int MpHext(Vec M,PetscReal *vres);
00057 
00058 int read_hstep_file(FILE *fd,PetscReal **indata,const int col);
00059 PetscScalar get_scalf_hstep(PetscReal hstep_fdata[],PetscReal hstep);
00060 
00061 #endif

magpar - Parallel Finite Element Micromagnetics Package
Copyright (C) 2002-2009 Werner Scholz