123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385 |
- package com.miniframe.solverconfig.fem;
- import com.fasterxml.jackson.core.JsonProcessingException;
- import com.miniframe.solverconfig.SolverParam;
- import com.miniframe.tools.XiJsonUtil;
- import java.util.ArrayList;
- import java.util.List;
- public class FEMParam implements SolverParam {
- /**
- * 上传文件名称
- * "mesh_inp "3" "2.2_flat_dynamicResponse-transient.bdf"
- */
- private FEMElement mesh_inp =new FEMElement("mesh_inp","3",null);
- /**
- * Static(静态)
- * "static "3" "false"/"static "3" "true"
- */
- private FEMElement f_static =new FEMElement("static","3","false");
- /**
- * Stiffness Matrix Output(刚度矩阵输出)
- * "dump_stiff "1" "true"/“dump_stiff "1" "false"
- */
- private FEMElement dump_stiff =new FEMElement("dump_stiff","1","false");
- /**
- * Mass Matrix Output(质量矩阵输出)
- * "dump_mass" "1" "true"/"dump_mass“ "1" "false"
- */
- private FEMElement dump_mass =new FEMElement("dump_mass","1","true");
- /**
- * Node Strains Output(节点压力输出)
- * "strain_o "1" "true"/"strain_o "1" "false"
- */
- private FEMElement strain_o =new FEMElement("strain_o","1","false");
- /**
- * Modes(模式)
- * "eigenv" "3" "true"
- */
- private FEMElement eigenv =new FEMElement("eigenv","3","false");
- /**
- * Num of Eigenvalue(特征值)5
- * "num_eigv" "1" "5"
- */
- private FEMElement num_eigv =new FEMElement("num_eigv","1",null);
- /**
- * Method(方法)
- * Inverse iteration(逆迭代) "eigv_method "1" "1"
- * Lanczos(兰索斯) "eigv_method "1" "2"
- */
- private FEMElement eigv_method =new FEMElement("eigv_method","1",null);
- /**
- * Mass Coupled(质量耦合)
- * "coupled "1" "1"/"coupled" "1" "0"
- */
- private FEMElement coupled =new FEMElement("coupled","1","0");
- /**
- * C=αM+βK
- * α alphad "2" "12"
- * β betad "2" "0.00001"
- */
- private FEMElement alphad =new FEMElement("alphad","2","0.0");
- /**
- * C=αM+βK
- * α alphad "2" "12"
- * β betad "2" "0.00001"
- */
- private FEMElement betad =new FEMElement("betad","2","0.00001");
- /**
- * Method(方法)
- * HHT transient "1" "3"
- * Newmark(纽马克) transient "1" "2"
- * δn gam_newmark "2" "0.5"
- * αn bet_newmark "2" "0.25"
- * Direct(直接) transient "1" "1"
- */
- private FEMElement f_transient =new FEMElement("transient","1","1");
- /**
- * Method(方法)
- * HHT transient "1" "3"
- * Newmark(纽马克) transient "1" "2"
- * δn gam_newmark "2" "0.5"
- * αn bet_newmark "2" "0.25"
- * Direct(直接) transient "1" "1"
- */
- private FEMElement gam_newmark =new FEMElement("gam_newmark","2",null);
- /**
- * Method(方法)
- * HHT transient "1" "3"
- * Newmark(纽马克) transient "1" "2"
- * δn gam_newmark "2" "0.5"
- * αn bet_newmark "2" "0.25"
- * Direct(直接) transient "1" "1"
- */
- private FEMElement bet_newmark =new FEMElement("bet_newmark","2",null);
- /**
- * Step Control(步控制)
- * Case Num(案例数) "SID" "1" "1"
- */
- private FEMElement sid =new FEMElement("SID","1","1");
- /**
- * Total Time Steps(总时间的步骤) num_steps "1" "2"
- */
- private FEMElement num_steps =new FEMElement("num_steps","1","1");
- /**
- * Time Step(sencond)(时间步) dt_str "2" "0.25"
- */
- private FEMElement dt_str =new FEMElement("dt_str","2","0.0");
- /**
- * Output Interval(输出时间间隔) freq "1" "3"
- */
- private FEMElement freq =new FEMElement("freq","1","1");
- /**
- * Output Format (输出格式)
- * 1 sort "1" "1"
- * 2 sort "1" "2"
- */
- private FEMElement sort =new FEMElement("sort","1","1");
- /**
- * Nonlinear(非线性)
- * "nlgeom" "1" "0"/"nlgeom" "1" "1"
- */
- private FEMElement nlgeom =new FEMElement("nlgeom","1","0");
- /**
- * Solver(解算器)
- * MUMPS Direct Solver(MUMPS 直接解算器) solver "1" "0"
- * PCG Iterative Solver(PCG迭代解算器) solver "1" "1"
- * LDL Direct Solver(LDL 直接解算器) solver "1" "2"
- */
- private FEMElement solver =new FEMElement("solver","1","2");
- /**
- * Result FileName(结果文件名)
- * result_file "3" "2.2_flat_dynamicResponse-transient"
- */
- private FEMElement result_file =new FEMElement("result_file","3",null);
- public FEMElement getMesh_inp() {
- return mesh_inp;
- }
- public void setMesh_inp(FEMElement mesh_inp) {
- this.mesh_inp = mesh_inp;
- }
- public FEMElement getF_static() {
- return f_static;
- }
- public void setF_static(FEMElement f_static) {
- this.f_static = f_static;
- }
- public FEMElement getDump_stiff() {
- return dump_stiff;
- }
- public void setDump_stiff(FEMElement dump_stiff) {
- this.dump_stiff = dump_stiff;
- }
- public FEMElement getDump_mass() {
- return dump_mass;
- }
- public void setDump_mass(FEMElement dump_mass) {
- this.dump_mass = dump_mass;
- }
- public FEMElement getStrain_o() {
- return strain_o;
- }
- public void setStrain_o(FEMElement strain_o) {
- this.strain_o = strain_o;
- }
- public FEMElement getEigenv() {
- return eigenv;
- }
- public void setEigenv(FEMElement eigenv) {
- this.eigenv = eigenv;
- }
- public FEMElement getNum_eigv() {
- return num_eigv;
- }
- public void setNum_eigv(FEMElement num_eigv) {
- this.num_eigv = num_eigv;
- }
- public FEMElement getEigv_method() {
- return eigv_method;
- }
- public void setEigv_method(FEMElement eigv_method) {
- this.eigv_method = eigv_method;
- }
- public FEMElement getCoupled() {
- return coupled;
- }
- public void setCoupled(FEMElement coupled) {
- this.coupled = coupled;
- }
- public FEMElement getAlphad() {
- return alphad;
- }
- public void setAlphad(FEMElement alphad) {
- this.alphad = alphad;
- }
- public FEMElement getBetad() {
- return betad;
- }
- public void setBetad(FEMElement betad) {
- this.betad = betad;
- }
- public FEMElement getF_transient() {
- return f_transient;
- }
- public void setF_transient(FEMElement f_transient) {
- this.f_transient = f_transient;
- }
- public FEMElement getGam_newmark() {
- return gam_newmark;
- }
- public void setGam_newmark(FEMElement gam_newmark) {
- this.gam_newmark = gam_newmark;
- }
- public FEMElement getBet_newmark() {
- return bet_newmark;
- }
- public void setBet_newmark(FEMElement bet_newmark) {
- this.bet_newmark = bet_newmark;
- }
- public FEMElement getSid() {
- return sid;
- }
- public void setSID(FEMElement sid) {
- this.sid = sid;
- }
- public FEMElement getNum_steps() {
- return num_steps;
- }
- public void setNum_steps(FEMElement num_steps) {
- this.num_steps = num_steps;
- }
- public FEMElement getDt_str() {
- return dt_str;
- }
- public void setDt_str(FEMElement dt_str) {
- this.dt_str = dt_str;
- }
- public FEMElement getFreq() {
- return freq;
- }
- public void setFreq(FEMElement freq) {
- this.freq = freq;
- }
- public FEMElement getSort() {
- return sort;
- }
- public void setSort(FEMElement sort) {
- this.sort = sort;
- }
- public FEMElement getNlgeom() {
- return nlgeom;
- }
- public void setNlgeom(FEMElement nlgeom) {
- this.nlgeom = nlgeom;
- }
- public FEMElement getSolver() {
- return solver;
- }
- public void setSolver(FEMElement solver) {
- this.solver = solver;
- }
- public FEMElement getResult_file() {
- return result_file;
- }
- public void setResult_file(FEMElement result_file) {
- this.result_file = result_file;
- }
- public List<String> showAnalysisWindow() {
- List<String> analysisList=new ArrayList<>();
- if(this.alphad.showAnalysisStr()!=null)
- analysisList.add(this.alphad.showAnalysisStr());
- if(this.bet_newmark.showAnalysisStr()!=null)
- analysisList.add(this.bet_newmark.showAnalysisStr());
- if(this.betad.showAnalysisStr()!=null)
- analysisList.add(this.betad.showAnalysisStr());
- if(this.coupled.showAnalysisStr()!=null)
- analysisList.add(this.coupled.showAnalysisStr());
- if(this.dt_str.showAnalysisStr()!=null)
- analysisList.add(this.dt_str.showAnalysisStr());
- if(this.dump_mass.showAnalysisStr()!=null)
- analysisList.add(this.dump_mass.showAnalysisStr());
- if(this.dump_stiff.showAnalysisStr()!=null)
- analysisList.add(this.dump_stiff.showAnalysisStr());
- if(this.eigenv.showAnalysisStr()!=null)
- analysisList.add(this.eigenv.showAnalysisStr());
- if(this.eigv_method.showAnalysisStr()!=null)
- analysisList.add(this.eigv_method.showAnalysisStr());
- if(this.f_static.showAnalysisStr()!=null)
- analysisList.add(this.f_static.showAnalysisStr());
- if(this.f_transient.showAnalysisStr()!=null)
- analysisList.add(this.f_transient.showAnalysisStr());
- if(this.freq.showAnalysisStr()!=null)
- analysisList.add(this.freq.showAnalysisStr());
- if(this.gam_newmark.showAnalysisStr()!=null)
- analysisList.add(this.gam_newmark.showAnalysisStr());
- if(this.mesh_inp.showAnalysisStr()!=null)
- analysisList.add(this.mesh_inp.showAnalysisStr());
- if(this.nlgeom.showAnalysisStr()!=null)
- analysisList.add(this.nlgeom.showAnalysisStr());
- if(this.num_eigv.showAnalysisStr()!=null)
- analysisList.add(this.num_eigv.showAnalysisStr());
- if(this.num_steps.showAnalysisStr()!=null)
- analysisList.add(this.num_steps.showAnalysisStr());
- if(this.result_file.showAnalysisStr()!=null)
- analysisList.add(this.result_file.showAnalysisStr());
- if(this.sid.showAnalysisStr()!=null)
- analysisList.add(this.sid.showAnalysisStr());
- if(this.solver.showAnalysisStr()!=null)
- analysisList.add(this.solver.showAnalysisStr());
- if(this.sort.showAnalysisStr()!=null)
- analysisList.add(this.sort.showAnalysisStr());
- if(this.strain_o.showAnalysisStr()!=null)
- analysisList.add(this.strain_o.showAnalysisStr());
- return analysisList;
- }
- @Override
- public String paramJson() throws JsonProcessingException {
- String t = XiJsonUtil.objectToJson(this);
- return t;
- }
- }
|