source: issm/trunk-jpl/src/c/classes/objects/Loads/Load.h@ 12832

Last change on this file since 12832 was 12832, checked in by Eric.Larour, 13 years ago

Almost done migrating objects to classes

File size: 1.2 KB
Line 
1/*!\file: Load.h
2 * \brief abstract class for Load object
3 * This class is a place holder for the Icefront and the Penpair loads.
4 * It is derived from Load, so DataSets can contain them.
5 */
6
7
8#ifndef _LOAD_H_
9#define _LOAD_H_
10
11/*Headers:*/
12/*{{{*/
13class Object;
14class Matrix;
15class Vector;
16
17#include "../Object.h"
18#include "../../../toolkits/toolkits.h"
19#include "../../../Container/Container.h"
20/*}}}*/
21
22class Load: public Object,public Update{
23
24 public:
25
26 virtual ~Load(){};
27
28 /*Virtual functions: {{{*/
29 virtual void Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters)=0;
30 virtual void SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters)=0;
31 virtual void CreateKMatrix(Matrix* Kff, Matrix* Kfs)=0;
32 virtual void CreatePVector(Vector* pf)=0;
33 virtual void CreateJacobianMatrix(Matrix* Jff)=0;
34 virtual void PenaltyCreateJacobianMatrix(Matrix* Jff,IssmDouble kmax)=0;
35 virtual void PenaltyCreateKMatrix(Matrix* Kff, Matrix* Kfs, IssmDouble kmax)=0;
36 virtual void PenaltyCreatePVector(Vector* pf, IssmDouble kmax)=0;
37 virtual bool InAnalysis(int analysis_type)=0;
38 /*}}}*/
39};
40#endif
Note: See TracBrowser for help on using the repository browser.