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

Last change on this file since 13414 was 13414, checked in by Mathieu Morlighem, 12 years ago

CHG: clean-up removed MyRank which is not used anymore, and removed IssmBool

File size: 1.3 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#ifndef _LOAD_H_
8#define _LOAD_H_
9
10/*Headers:*/
11/*{{{*/
12class Object;
13template <class doublematrix> class Matrix;
14template <class doubletype> class Vector;
15
16#include "../Object.h"
17#include "../../../toolkits/toolkits.h"
18#include "../../../Container/Container.h"
19/*}}}*/
20
21class Load: public Object,public Update{
22
23 public:
24
25 virtual ~Load(){};
26 virtual void Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters)=0;
27 virtual void SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters)=0;
28 virtual void CreateKMatrix(Matrix<IssmDouble>* Kff, Matrix<IssmDouble>* Kfs)=0;
29 virtual void CreatePVector(Vector<IssmDouble>* pf)=0;
30 virtual void CreateJacobianMatrix(Matrix<IssmDouble>* Jff)=0;
31 virtual void PenaltyCreateJacobianMatrix(Matrix<IssmDouble>* Jff,IssmDouble kmax)=0;
32 virtual void PenaltyCreateKMatrix(Matrix<IssmDouble>* Kff, Matrix<IssmDouble>* Kfs, IssmDouble kmax)=0;
33 virtual void PenaltyCreatePVector(Vector<IssmDouble>* pf, IssmDouble kmax)=0;
34 virtual bool InAnalysis(int analysis_type)=0;
35};
36#endif
Note: See TracBrowser for help on using the repository browser.