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

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

CHG: cleanup the shared/Numerics directory. Took out the IsInputConverged, ToolkitsOptionsFromAnalysis and OptionsFromAnalysis
and put them into the Container/ Inputs and Parameters files. This uncovered a bunch of cyclical dependencies that needed fixing.

File size: 1.6 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 Node;
13template <class doublematrix> class Matrix;
14template <class doubletype> class Vector;
15class Elements;
16class Loads;
17class Nodes;
18class Vertices;
19class Materials;
20class Parameters;
21
22#include "../Object.h"
23#include "../../Update.h"
24
25/*}}}*/
26
27class Load: public Object,public Update{
28
29 public:
30
31 virtual ~Load(){};
32 virtual void Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters)=0;
33 virtual bool IsPenalty(void)=0;
34 virtual int GetNumberOfNodes(void)=0;
35 virtual void GetNodesSidList(int* sidlist)=0;
36 virtual void SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters)=0;
37 virtual void CreateKMatrix(Matrix<IssmDouble>* Kff, Matrix<IssmDouble>* Kfs)=0;
38 virtual void CreatePVector(Vector<IssmDouble>* pf)=0;
39 virtual void CreateJacobianMatrix(Matrix<IssmDouble>* Jff)=0;
40 virtual void PenaltyCreateJacobianMatrix(Matrix<IssmDouble>* Jff,IssmDouble kmax)=0;
41 virtual void PenaltyCreateKMatrix(Matrix<IssmDouble>* Kff, Matrix<IssmDouble>* Kfs, IssmDouble kmax)=0;
42 virtual void PenaltyCreatePVector(Vector<IssmDouble>* pf, IssmDouble kmax)=0;
43 virtual bool InAnalysis(int analysis_type)=0;
44 virtual void SetwiseNodeConnectivity(int* d_nz,int* o_nz,Node* node,bool* flags,int set1_enum,int set2_enum)=0;
45};
46#endif
Note: See TracBrowser for help on using the repository browser.