Focus Konstruksjon - File Based System
|
Class that holds a <Cfem> instance, and methods for adding a static model to that instance. More...
Classes | |
class | CfemInputEarthquakeTimeIntegration |
Class that holds input data for response spectrum analysis. More... | |
class | CfemInputLinear |
Class that holds input data for linear analysis. More... | |
class | CfemInputLinearizedBuckling |
Class that holds input data for linearized buckling analysis. More... | |
class | CfemInputNonLinear |
Class that holds input data for nonlinear analysis. More... | |
class | CfemInputResponseSpectrum |
Class that holds input data for response spectrum analysis. More... | |
class | CfemInputVibration |
Class that holds input data for vibration analysis. More... | |
class | HashTableWithID |
Hash table that also has an integer id. More... | |
Public Member Functions | |
CfemWrapper (IMLoadGroup lg, bool bIsDynamicAnalysis) | |
void | Dispose () |
bool | InitializeHashtables (int numberOfNodes, int numberOfElements) |
Initializes and sets the capacities of the hashtables. More... | |
string | GetErrorString () |
Get the error string from the Cfem library. More... | |
void | ClearMaps () |
Clear all the maps of the current model. More... | |
void | DoLinear () |
Performs a linear analysis. More... | |
void | DoNonLinear () |
Performs a non-linear analysis. More... | |
void | DoLinearizedBuckling () |
Performs a linearized buckling analysis. More... | |
void | DoVibrationModes () |
Performs vibration mode analysis. More... | |
void | DoResponseSpectrum () |
Performs a response spectrum analysis. More... | |
bool | CfemAddNodeMultiple (BNode[] nodeList) |
Add a list of nodes to the <Cfem> instance wrapped by this object. More... | |
bool | CfemAddPrescribedDisplacement (IUListG< BNode > nodes) |
bool | CfemAddTimeFunction (IUCurve curve) |
Add a time function (in the form of a curve) to the Cfem model. More... | |
bool | CfemAddElementMultiple (BElement[] elements) |
Adds an array of elements to the Cfem model. More... | |
bool | CfemAddCurve (IUCurve curve) |
Add a curve to the Cfem model. More... | |
bool | CfemAddPropertySet (PropSetWrapper propSet) |
Add a property set to the Cfem model. More... | |
bool | CfemAddMaterial (IBMaterial mat) |
Add a material to the Cfem model. More... | |
bool | CfemAddLoadContainer (IMWithCompLoads loadContainer) |
Add a load container and its loads. More... | |
bool | FixAllOutOfPlaneDofs (int iDir) |
UMatrix3x3 | GetTransformation (IBElement element, bool bLinear, IMWithCompLoads loadContainer) |
Returns the transformation matrix of the element. More... | |
UMatrix3x3 | GetTransformation (IBElement element, bool bLinear, int displSetID) |
Returns the transformation matrix of the element. More... | |
IBNode | GetNodeFromNodeNumber (int nodNum) |
Get the node that is mapped to a given node number in Cfem. More... | |
void | writeUsfosFile () |
int [] | checkIfZeroIndexedReturnsElementIdexes (int[] elementIndexes) |
Protected Member Functions | |
CfemWrapper () | |
Default constructor. More... | |
bool | CfemAddNode (IBNode node) |
Add a node to the <Cfem> instance wrapped by this object. More... | |
bool | CfemAddLoads (IMWithCompLoads loadContainer, IBLoad[] loads) |
Adds an array of loads to a given load group in the Cfem model. More... | |
Protected Attributes | |
IMLoadGroup | m_LoadGroup |
The load group that the <Cfem> object is associated with. More... | |
CfemAPI | m_Cfem |
The one and only <Cfem> object that is wrapped by the object. More... | |
Hashtable | m_NodeMap |
Hash table that maps each node object (the key) to the integer ID of the node (the value) More... | |
Hashtable | m_ElementBeamMap |
Hash table that maps each 2-noded element object (the key) to the integer ID of the element (the value) More... | |
Dictionary< UID, Dictionary< IBElement, int > > | m_ElementShellMap |
Dictionary where shell IDs are keys. Values are dictionaries where shell elements are keys and belonging integer IDs are values. More... | |
Hashtable | m_MaterialMap = new Hashtable() |
Hash table that maps each material object to the integer ID of the material (the value) More... | |
Hashtable | m_PropertySetMap = new Hashtable() |
Hash table that maps each property set to the integer ID of the property set (the value). The key is a property set wrapper. More... | |
Hashtable | m_TimeFunctionMap = new Hashtable() |
Hash table that maps each time function to the integer ID of the time function (the value) More... | |
Hashtable | m_CurveMap = new Hashtable() |
Hash table that maps each curve to the integer ID of the curve (the value) More... | |
Hashtable | m_LoadContainerMap = new Hashtable() |
Hash table that maps each load container to a <HashTableWithID> object that contains the loads in the load container, mapped to the integer ID of each load. The integer ID of the <HashTableWithID> object is the displacement set index associated with the load container in linear type analysis. More... | |
Dictionary< int, int > | m_EigenValueMap |
Mapping between computed eigenvalues and sorted eigenvalues. More... | |
int | m_NodeIdxCounter |
The index/integer ID of the next node that is to be added to Cfem. More... | |
int | m_ElementIdxCounter |
The index/integer ID of the next element that is to be added to Cfem. More... | |
int | m_MaterialIdxCounter |
The index/integer ID of the next material that is to be added to Cfem. More... | |
int | m_PropertySetIdxCounter |
The index/integer ID of the next property set that is to be added to Cfem. More... | |
int | m_TimeFunctionIdxCounter |
The index/integer ID of the next time function that is to be added to Cfem. More... | |
int | m_CurveIdxCounter |
The index/integer ID of the next curve that is to be added to Cfem. More... | |
int | m_LoadIdxCounter |
The index/integer ID of the next load that is to be added to Cfem. More... | |
int | m_LoadContainerIdxCounter |
The index of the next load container that is to be added to Cfem. More... | |
int | m_PrescribedLoadIdxCounter |
int | m_Spring2NodeIdxCounter |
The index/integer ID of the next 2-noded spring (coupling spring) that is to be added to Cfem. More... | |
bool | m_IsDynamicAnalysis |
Flag indicating if we are running a dynamic analysis. More... | |
CfemInputLinear | m_CfemInputLinear = new CfemInputLinear() |
Input information for linear analysis. More... | |
CfemInputNonLinear | m_CfemInputNonLinear = new CfemInputNonLinear() |
Input information for nonlinear analysis. More... | |
CfemInputLinearizedBuckling | m_CfemInputLinearizedBuckling = new CfemInputLinearizedBuckling() |
Input information for linearized buckling analysis. More... | |
CfemInputVibration | m_CfemInputVibration = new CfemInputVibration() |
Input information for linearized buckling analysis. More... | |
CfemInputResponseSpectrum | m_CfemInputResponseSpectrum = new CfemInputResponseSpectrum() |
Input information for response spectrum analysis. More... | |
CfemInputEarthquakeTimeIntegration | m_CfemInputEarthquakeTimeIntegration = new CfemInputEarthquakeTimeIntegration() |
CfemAnalysisInformationSub | m_LastAnalysisInformation = null |
Information about the last performed analysis. More... | |
Properties | |
CfemInputLinear | AnalysisInputLinear [get] |
Access the input information collection for linear analysis. More... | |
CfemInputLinearizedBuckling | AnalysisInputLinearizedBuckling [get] |
Access the input information collection for linearized buckling analysis. More... | |
CfemInputVibration | AnalysisInputVibrationModes [get] |
Access the input information collection for vibration analysis. More... | |
CfemInputNonLinear | AnalysisInputNonLinear [get] |
Access the input information collection for non-linear analysis. More... | |
CfemInputResponseSpectrum | AnalysisInputResponseSpectrum [get] |
Access the input information collection for response spectrum analysis. More... | |
CfemInputEarthquakeTimeIntegration | AnalysisInputEarthquakeTimeIntegration [get] |
Access the input information collection for earthquake time integration analysis. More... | |
IAInformationSub | LastAnalysisInformation [get] |
Get information about the last performed analysis. More... | |
VTKPointDataReader | pointDataReader [get, set] |
VTKFieldDataReader | fieldDataReader [get, set] |
VTKCorrectIDMapping | correctIDMappingCheck [get, set] |
UsfosFileWriter | usfosFileWriter [get, set] |
VTKreader | vtkFileReader [get, set] |
string | directoryVtuPath [get, set] |
UID | ID [get] |
Get the ID of the <Cfem> wrapper object. More... | |
Class that holds a <Cfem> instance, and methods for adding a static model to that instance.
Class that holds a <Cfem> instance, and methods for adding a static model to that instance. The <Cfem> instance is tied to a load group. The ID of the wrapper will be the ID of the load group
|
protected |
Default constructor.
Default constructor
CfemPlugin.CfemWrapper.CfemWrapper | ( | IMLoadGroup | lg, |
bool | bIsDynamicAnalysis | ||
) |
Constructor that will set the load group that the <Cfem> instance is associated with
Input:
bool CfemPlugin.CfemWrapper.CfemAddCurve | ( | IUCurve | curve | ) |
Add a curve to the Cfem model.
Add a curve to the Cfem model. The curve is given an integer ID equal to the current <m_CurveIdxCounter> value, and placed in the <m_CurveMap> memeber. <m_CurveIdxCounter> is then incremented
NOTE: So far, only linear curves have been implemented
Input: <curve> : The curve that is to be added
Return: <true> : The curve was successfully added to the cfem model <false> : Something went wrong when trying to add the curve
bool CfemPlugin.CfemWrapper.CfemAddElementMultiple | ( | BElement [] | elements | ) |
Adds an array of elements to the Cfem model.
Adds an array of elements to the Cfem model. If the material or the property set of an element has not previously been defined, new ones will be added. The new elements, materials and property sets will get new integer IDs corresponding to the current values of <m_ElementIdxCounter>, <m_MaterialIdxCounter> and <m_PropertySetIdxCounter>, respectively, and are added to the appropriate maps, before the counters are incremented.
Input: <elements> : Array containing the elements to be added to the Cfem model
Returns:
bool CfemPlugin.CfemWrapper.CfemAddLoadContainer | ( | IMWithCompLoads | loadContainer | ) |
Add a load container and its loads.
Add a load container and its loads. The load container is mapped to a hash table that is a map of all the loads of the load container
Input: <loadContainer> : The load container that is to be added <cfem> : The <Cfem> instance to add the load to
Return: <true> : The load container and all its loads were successfully added <false> : Something went wrong
|
protected |
Adds an array of loads to a given load group in the Cfem model.
Adds all the loads in <loads> to a given load group in the Cfem model. NOTE: So far, only node loads and initial strain loads have been implemented
Input:
Return:
bool CfemPlugin.CfemWrapper.CfemAddMaterial | ( | IBMaterial | mat | ) |
Add a material to the Cfem model.
Add a material to the Cfem model
Input: <mats> : The material data that is about to be added to the Cfem model. There should be exactly one entry for each load group.
Return: <true> : The materials were successfully added to all the <Cfem> instances in <m_CfemTable> <false> : Something went wrong when trying to add the materials
|
protected |
Add a node to the <Cfem> instance wrapped by this object.
Add a node to the <Cfem> instance wrapped by this object
Input: <node> : The node that is to be added. The node will be given the integer ID of <m_NodeIdxCounter> (which will be incremented afterwards), and stored in <m_NodeMap> along with its integer id
Return: <true> : The node was added successfully <false> : Something went wrong
bool CfemPlugin.CfemWrapper.CfemAddNodeMultiple | ( | BNode [] | nodeList | ) |
Add a list of nodes to the <Cfem> instance wrapped by this object.
Add a list nodes to the <Cfem> instance wrapped by this object
Input: <nodes> : The nodes that is to be added. The nodes will be given the integer ID of <m_NodeIdxCounter> (which will be incremented afterwards), and stored in <m_NodeMap> along with its integer ids
Return: <true> : The node was added successfully <false> : Something went wrong
bool CfemPlugin.CfemWrapper.CfemAddPrescribedDisplacement | ( | IUListG< BNode > | nodes | ) |
bool CfemPlugin.CfemWrapper.CfemAddPropertySet | ( | PropSetWrapper | propSet | ) |
Add a property set to the Cfem model.
Add a property set to the Cfem model. Different kinds of property sets are available, depending on the kind of element it is part of describing. The new property set will be given an integer ID that is the current value of <m_PropertySetIdxCounter>. <m_PropertySetIdxCounter> is then incremented
Input: <propSet> : The property set that is to be added
Return: <true> : The property set was successfully added to all the <Cfem> instances in <m_CfemTable> <false> : Something went wrong when trying to add the property set
bool CfemPlugin.CfemWrapper.CfemAddTimeFunction | ( | IUCurve | curve | ) |
Add a time function (in the form of a curve) to the Cfem model.
Add a time function (int the form of a curve) to the Cfem model. The time function describes a magnifictaion factor (of some sort) as a function of (virtual) time. The time function is given an integer ID equal to the current <m_TimeFunctionIdxCounter> value (which is then incremented), and placed in the <m_TimeFunctionMap> hash table. NOTE: So far, only linear and arbitrary (piecewise linear) curves can be used as time functions
Input: <curve> : The curve that represents the time function that is to be added
Return: <true> : The time function was successfully added to the cfem model <false> : Something went wrong when trying to add the time function
int [] CfemPlugin.CfemWrapper.checkIfZeroIndexedReturnsElementIdexes | ( | int [] | elementIndexes | ) |
void CfemPlugin.CfemWrapper.ClearMaps | ( | ) |
Clear all the maps of the current model.
Clear all the hash tables that map the genius objects to corresponding integer ids of the objects
void CfemPlugin.CfemWrapper.Dispose | ( | ) |
void CfemPlugin.CfemWrapper.DoLinear | ( | ) |
Performs a linear analysis.
Performs a linear analysis of the current model. The general analysis data (more or less the virtual time at which to terminate the analysis) can be set through the <AnalysisInfoLinear> property.
void CfemPlugin.CfemWrapper.DoLinearizedBuckling | ( | ) |
Performs a linearized buckling analysis.
Performs a linearized buckling analysis
void CfemPlugin.CfemWrapper.DoNonLinear | ( | ) |
Performs a non-linear analysis.
Performs a non-linear analysis of the current model. The general analysis data can be set through the <AnalysisInfoNonLinear> property
void CfemPlugin.CfemWrapper.DoResponseSpectrum | ( | ) |
Performs a response spectrum analysis.
Performs a response spectrum analysis of the current model. The general analysis data (more or less the virtual time at which to terminate the analysis) can be set through the <AnalysisInfoResponseSpectrum> property
void CfemPlugin.CfemWrapper.DoVibrationModes | ( | ) |
Performs vibration mode analysis.
Performs vibration mode analysis
bool CfemPlugin.CfemWrapper.FixAllOutOfPlaneDofs | ( | int | iDir | ) |
string CfemPlugin.CfemWrapper.GetErrorString | ( | ) |
Get the error string from the Cfem library.
Get the error string from the Cfem library. This is an unsafe method, and it converts the error string from the ANSI character realm of the C dll to the Unicode realm of the .NET framework
IBNode CfemPlugin.CfemWrapper.GetNodeFromNodeNumber | ( | int | nodNum | ) |
Get the node that is mapped to a given node number in Cfem.
Get the node that is mapped to a given node number in Cfem
Input:
Return: The node that is mapped to <nodNum> in Cfem, or <null> if no such node was found
UMatrix3x3 CfemPlugin.CfemWrapper.GetTransformation | ( | IBElement | element, |
bool | bLinear, | ||
IMWithCompLoads | loadContainer | ||
) |
Returns the transformation matrix of the element.
Returns the transformation matrix of the element, including the effects of deformation. In nonlinear analysis, the element's coordinate system may be altered. The end forces in the element is therefore not given in the element's original coordinate system, but rather the deformed coordinate system of the element. This method returns the transformation (orientation) matrix of that coordinate system.
Input:
UMatrix3x3 CfemPlugin.CfemWrapper.GetTransformation | ( | IBElement | element, |
bool | bLinear, | ||
int | displSetID | ||
) |
Returns the transformation matrix of the element.
Returns the transformation matrix of the element, including the effects of deformation. In nonlinear analysis, the element's coordinate system may be altered. The end forces in the element is therefore not given in the element's original coordinate system, but rather the deformed coordinate system of the element. This method returns the transformation (orientation) matrix of that coordinate system.
Input:
bool CfemPlugin.CfemWrapper.InitializeHashtables | ( | int | numberOfNodes, |
int | numberOfElements | ||
) |
Initializes and sets the capacities of the hashtables.
Initializes and sets the capacities of the hashtables. This is so we don't have dynamicly sizable hashtables, which are very slow at adding or deleting objects.
Input:
void CfemPlugin.CfemWrapper.writeUsfosFile | ( | ) |
|
protected |
The one and only <Cfem> object that is wrapped by the object.
|
protected |
|
protected |
Input information for linear analysis.
|
protected |
Input information for linearized buckling analysis.
|
protected |
Input information for nonlinear analysis.
|
protected |
Input information for response spectrum analysis.
|
protected |
Input information for linearized buckling analysis.
|
protected |
The index/integer ID of the next curve that is to be added to Cfem.
|
protected |
Hash table that maps each curve to the integer ID of the curve (the value)
|
protected |
Mapping between computed eigenvalues and sorted eigenvalues.
|
protected |
Hash table that maps each 2-noded element object (the key) to the integer ID of the element (the value)
|
protected |
The index/integer ID of the next element that is to be added to Cfem.
|
protected |
Dictionary where shell IDs are keys. Values are dictionaries where shell elements are keys and belonging integer IDs are values.
|
protected |
Flag indicating if we are running a dynamic analysis.
|
protected |
Information about the last performed analysis.
|
protected |
The index of the next load container that is to be added to Cfem.
|
protected |
Hash table that maps each load container to a <HashTableWithID> object that contains the loads in the load container, mapped to the integer ID of each load. The integer ID of the <HashTableWithID> object is the displacement set index associated with the load container in linear type analysis.
|
protected |
The load group that the <Cfem> object is associated with.
|
protected |
The index/integer ID of the next load that is to be added to Cfem.
|
protected |
The index/integer ID of the next material that is to be added to Cfem.
|
protected |
Hash table that maps each material object to the integer ID of the material (the value)
|
protected |
The index/integer ID of the next node that is to be added to Cfem.
|
protected |
Hash table that maps each node object (the key) to the integer ID of the node (the value)
|
protected |
|
protected |
The index/integer ID of the next property set that is to be added to Cfem.
|
protected |
Hash table that maps each property set to the integer ID of the property set (the value). The key is a property set wrapper.
|
protected |
The index/integer ID of the next 2-noded spring (coupling spring) that is to be added to Cfem.
|
protected |
The index/integer ID of the next time function that is to be added to Cfem.
|
protected |
Hash table that maps each time function to the integer ID of the time function (the value)
|
get |
Access the input information collection for earthquake time integration analysis.
Access the input information collection for earthquake time integration analysis
|
get |
Access the input information collection for linear analysis.
Access the input information collection for linear analysis
|
get |
Access the input information collection for linearized buckling analysis.
Access the input information collection for linearized buckling analysis
|
get |
Access the input information collection for non-linear analysis.
Access the input information collection for non-linear analysis
|
get |
Access the input information collection for response spectrum analysis.
Access the input information collection for response spectrum analysis
|
get |
Access the input information collection for vibration analysis.
Access the input information collection for vibration analysis
|
getset |
|
getset |
|
getset |
|
get |
Get the ID of the <Cfem> wrapper object.
Get the ID of the <Cfem> wrapper object. This will be the same as the ID of the load group that the <Cfem> instance is associated with
|
get |
Get information about the last performed analysis.
Get information about the last performed analysis
|
getset |
|
getset |
|
getset |