Skip to content

Commit

Permalink
0810
Browse files Browse the repository at this point in the history
  • Loading branch information
tian50 committed Aug 10, 2021
1 parent 668c2e0 commit 92a3716
Show file tree
Hide file tree
Showing 4 changed files with 85 additions and 46 deletions.
24 changes: 12 additions & 12 deletions msgpi/cross_section.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,18 +101,18 @@ def __init__(self, name):
self.vlasov = 0 #: Flag for Vlasov model

# Effective properties
self.mc = None #: Mass center
self.gc = None #: Geometric center
self.tc = None #: Tension center
self.sc = None #: Shear center

self.mass = None #: Mass matrix (6x6)
self.masc = None #: Mass matrix at mass center (6x6)
self.eden = None #: Effective density (mass per unit length)
self.ecsm = None #: Effective classical stiffness matrix (4x4)
self.eccm = None #: Effective classical compliance matrix (4x4)
self.etsm = None #: Effective timoshenko stiffness matrix (6x6)
self.etcm = None #: Effective timoshenko compliance matrix (6x6)
# self.mc = None #: Mass center
# self.gc = None #: Geometric center
# self.tc = None #: Tension center
# self.sc = None #: Shear center

# self.mass = None #: Mass matrix (6x6)
# self.masc = None #: Mass matrix at mass center (6x6)
# self.eden = None #: Effective density (mass per unit length)
# self.ecsm = None #: Effective classical stiffness matrix (4x4)
# self.eccm = None #: Effective classical compliance matrix (4x4)
# self.etsm = None #: Effective timoshenko stiffness matrix (6x6)
# self.etcm = None #: Effective timoshenko compliance matrix (6x6)

# Global results for recovery/dehomogenization
self.gdisplacements = np.zeros(3) #: Global displacements [u1, u2, u3]
Expand Down
6 changes: 3 additions & 3 deletions msgpi/csda.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import platform
from msgpi.sgda import SGDesignAnalysis
from msgpi.design_analysis import DesignAnalysis
import msgpi.cross_section as mcs
import msgpi.analysis as sga
import dakota.interfacing as di


class CrossSectionDesignAnalysis(SGDesignAnalysis):
class CrossSectionDesignAnalysis(DesignAnalysis):

def __init__(self, cs: mcs.CrossSection, inputs={}, outputs={}, prepros=[], postpros=[], config={}, logger=None):
SGDesignAnalysis.__init__(self, cs, inputs, outputs, config, prepros, postpros, logger)
DesignAnalysis.__init__(self, cs, inputs, outputs, config, prepros, postpros, logger)
# self.cs = cs
# self.job_args = job_args

Expand Down
70 changes: 70 additions & 0 deletions msgpi/design_analysis.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
import msgpi.logger as mlog


class DesignAnalysis():

def __init__(self, object, inputs={}, outputs={}, settings={}, prepros=[], postpros=[], logger=None):
self.object = object
self.settings = settings

self.inputs = inputs
self.outputs = outputs

self.prepros = prepros

"""
[
{
'function': function1,
'args': [arg1, arg2, ...]
'kwargs': {
'kw1': arg1,
'kw2': arg2,
...
}
},
...
]
"""
self.postpros = postpros

if logger is None:
self.logger = mlog.initLogger(__name__)
else:
self.logger = logger


def preprocess(self):
self.logger.info('pre-processing...')
for p in self.prepros:
func = p['function']

try:
args = p['args']
except KeyError:
args = []

try:
kwargs = p['kwargs']
except KeyError:
kwargs = {}

func(self.object, self.inputs, self.outputs, self.settings, self.logger, *args, **kwargs)


def postprocess(self):
self.logger.info('post-processing...')
for p in self.postpros:
func = p['function']

try:
args = p['args']
except KeyError:
args = []

try:
kwargs = p['kwargs']
except KeyError:
kwargs = {}

func(self.object, self.inputs, self.outputs, self.settings, self.logger, *args, **kwargs)
31 changes: 0 additions & 31 deletions msgpi/sgda.py

This file was deleted.

0 comments on commit 92a3716

Please sign in to comment.