Compare commits
12 Commits
62e7fc7cba
...
dev_yi
| Author | SHA1 | Date | |
|---|---|---|---|
| cbe56092a2 | |||
| 2d2b39d5c1 | |||
| 3b9dee6900 | |||
| a455a10150 | |||
| 1c9e757d63 | |||
| 54b195442d | |||
| fe798288b3 | |||
| 9155e7422a | |||
| 615076fd36 | |||
| 0d7d8311d0 | |||
| 96793dc190 | |||
| bfa8429b54 |
@@ -1,6 +1,6 @@
|
||||
cmake_minimum_required(VERSION 3.15.2)
|
||||
|
||||
project(GCTL_TOOLKITS VERSION 2.0)
|
||||
project(GCTL_TOOLKITS VERSION 2.1.0)
|
||||
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||
# ExprTK库在macOS 15.4中编译会有错误 添加以下命令对应检查项
|
||||
|
||||
83
Dockerfile
83
Dockerfile
@@ -1,35 +1,51 @@
|
||||
# 导入代码库镜像 视包含的代码库多少编译后的镜像可包含部分至全部GCTL代码库内容
|
||||
FROM gctl:2.0 AS gctl_library
|
||||
FROM gctl_mesh:2.0 AS gctl_mesh_library
|
||||
FROM gctl_optimization:2.0 AS gctl_optimization_library
|
||||
FROM gctl_ai:2.0 AS gctl_ai_library
|
||||
FROM gctl_potential:2.0 AS gctl_potential_library
|
||||
FROM gctl_seismic:2.0 AS gctl_seismic_library
|
||||
FROM gctl_elecmag:2.0 AS gctl_elecmag_library
|
||||
FROM gctl:2.1 AS gctl_library
|
||||
FROM gctl_mesh:2.1 AS gctl_mesh_library
|
||||
FROM gctl_optimization:2.1 AS gctl_optimization_library
|
||||
FROM gctl_ai:2.1 AS gctl_ai_library
|
||||
FROM gctl_potential:2.1 AS gctl_potential_library
|
||||
FROM gctl_seismic:2.1 AS gctl_seismic_library
|
||||
FROM gctl_elecmag:2.1 AS gctl_elecmag_library
|
||||
# 编译平台
|
||||
FROM ubuntu:20.04 AS builder
|
||||
# 从代码库镜像中复制库文件和头文件
|
||||
COPY --from=gctl_library /usr/local/lib /usr/local/lib
|
||||
COPY --from=gctl_library /usr/local/include /usr/local/include
|
||||
COPY --from=gctl_potential_library /usr/local/lib /usr/local/lib
|
||||
COPY --from=gctl_potential_library /usr/local/include /usr/local/include
|
||||
COPY --from=gctl_elecmag_library /usr/local/lib /usr/local/lib
|
||||
COPY --from=gctl_elecmag_library /usr/local/include /usr/local/include
|
||||
COPY --from=gctl_seismic_library /usr/local/lib /usr/local/lib
|
||||
COPY --from=gctl_seismic_library /usr/local/include /usr/local/include
|
||||
COPY --from=gctl_mesh_library /usr/local/lib /usr/local/lib
|
||||
COPY --from=gctl_mesh_library /usr/local/include /usr/local/include
|
||||
COPY --from=gctl_optimization_library /usr/local/lib /usr/local/lib
|
||||
COPY --from=gctl_optimization_library /usr/local/include /usr/local/include
|
||||
COPY --from=gctl_ai_library /usr/local/lib /usr/local/lib
|
||||
COPY --from=gctl_ai_library /usr/local/include /usr/local/include
|
||||
COPY --from=gctl_potential_library /usr/local/lib /usr/local/lib
|
||||
COPY --from=gctl_potential_library /usr/local/include /usr/local/include
|
||||
COPY --from=gctl_seismic_library /usr/local/lib /usr/local/lib
|
||||
COPY --from=gctl_seismic_library /usr/local/include /usr/local/include
|
||||
COPY --from=gctl_elecmag_library /usr/local/lib /usr/local/lib
|
||||
COPY --from=gctl_elecmag_library /usr/local/include /usr/local/include
|
||||
COPY --from=gctl_library /usr/local/lib /usr/local/lib
|
||||
COPY --from=gctl_library /usr/local/include /usr/local/include
|
||||
|
||||
# 避免交互提示
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# 安装编译工具和依赖
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
g++ \
|
||||
make \
|
||||
cmake \
|
||||
libfftw3-dev \
|
||||
libnetcdf-dev \
|
||||
gmt \
|
||||
libgmt-dev \
|
||||
libgsl-dev \
|
||||
libncurses-dev \
|
||||
libopenblas-dev \
|
||||
liblapacke-dev \
|
||||
libeigen3-dev \
|
||||
pkg-config \
|
||||
autoconf \
|
||||
automake \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# 安装编译工具
|
||||
RUN apt-get update && apt-get install -y g++ make cmake
|
||||
# 安装依赖库
|
||||
RUN apt-get install -y --no-install-recommends libfftw3-dev libnetcdf-dev gmt libgmt-dev libgsl-dev libncurses-dev
|
||||
RUN apt-get install -y --no-install-recommends libopenblas-dev libeigen3-dev
|
||||
RUN apt-get install -y pkg-config
|
||||
# 创建工作目录
|
||||
WORKDIR /app
|
||||
|
||||
@@ -80,15 +96,28 @@ RUN mkdir build && cd build && cmake .. && make && make install
|
||||
|
||||
# 运行平台
|
||||
FROM ubuntu:20.04
|
||||
# 设置非交互式安装
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# 安装运行时必要依赖
|
||||
RUN apt-get update && apt-get install -y libstdc++6
|
||||
RUN apt-get install -y --no-install-recommends libfftw3-dev libnetcdf-dev gmt libgmt-dev libgsl-dev libncurses-dev
|
||||
RUN apt-get install -y --no-install-recommends libopenblas-dev libeigen3-dev
|
||||
RUN apt-get install -y gnuplot
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
g++ make cmake \
|
||||
libfftw3-dev \
|
||||
libnetcdf-dev \
|
||||
gmt libgmt-dev \
|
||||
libgsl-dev \
|
||||
libncurses-dev \
|
||||
libopenblas-dev liblapacke-dev libeigen3-dev \
|
||||
gnuplot \
|
||||
pkg-config \
|
||||
autoconf automake \
|
||||
ghostscript \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# 从构建阶段复制编译后的库和头文件
|
||||
COPY --from=builder /usr/local/lib /usr/local/lib
|
||||
COPY --from=builder /usr/local/include /usr/local/include
|
||||
COPY --from=builder /usr/local/sbin /usr/local/sbin
|
||||
# 设置可执行文件列表
|
||||
ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
|
||||
ENV PATH=$PATH:/usr/local/sbin
|
||||
ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH:-}:/usr/local/lib
|
||||
ENV PATH=${PATH:-}:/usr/local/sbin
|
||||
|
||||
@@ -55,7 +55,7 @@ int ADDNOSIE::Addnoise(std::string infilename, std::string outfilename, int orde
|
||||
int data_num = in_data_.size();
|
||||
double tmp_dou;
|
||||
gctl::array<double> noises(data_num);
|
||||
noises.random_float(noise_mean_, noise_dev_);
|
||||
random_float(noises, noise_mean_, noise_dev_);
|
||||
for (int i = 0; i < data_num; i++)
|
||||
{
|
||||
tmp_dou = in_data_.at(i).at(order) + noises.at(i);
|
||||
|
||||
@@ -389,8 +389,8 @@ void statistic(const std::vector<std::string> &cmd_units)
|
||||
{
|
||||
tc.get_column(data, cmd_units[i]);
|
||||
std::clog << "column: " << cmd_units[i]
|
||||
<< " | " << data.min() << "/" << data.mean() << "/" << data.max()
|
||||
<< " | STD: " << data.std() << "\n";
|
||||
<< " | " << min(data) << "/" << mean(data) << "/" << max(data)
|
||||
<< " | STD: " << gctl::std(data) << "\n";
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -476,7 +476,7 @@ void rand_data(const std::vector<std::string> &cmd_units)
|
||||
double p1 = atof(cmd_units[2].c_str());
|
||||
double p2 = atof(cmd_units[3].c_str());
|
||||
array<double> rd_data(tc.row_number());
|
||||
rd_data.random_float(p1, p2, rd_type);
|
||||
random_float(rd_data, p1, p2, rd_type);
|
||||
|
||||
if (cmd_units.size() >= 5) tc.fill_column(rd_data, cmd_units[4], 12);
|
||||
else
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#define GCTL_DSVIEWER_H
|
||||
|
||||
#include <regex>
|
||||
#include "gctl/core/array_algorithm.h"
|
||||
#include "gctl/io.h"
|
||||
|
||||
using namespace gctl;
|
||||
|
||||
@@ -201,7 +201,7 @@ void LBSI::Routine(std::string in_name, std::string tar_name,
|
||||
{
|
||||
bar.progressed(i);
|
||||
|
||||
Kernel.assign_all(0.0);
|
||||
Kernel.assign(0.0);
|
||||
CalKernel(TargNodes[i]);
|
||||
|
||||
for (size_t s = 0; s < ValSize; s++)
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
* Also add information on how to contact you by electronic and paper mail.
|
||||
******************************************************/
|
||||
|
||||
#include "gctl/core/array_algorithm.h"
|
||||
#include "gctl/optimization/lgd.h"
|
||||
|
||||
class levy_planner : public gctl::lgd_solver
|
||||
@@ -64,17 +65,17 @@ int main(int argc, char *argv[]) try
|
||||
dist[i] *= alpha;
|
||||
}
|
||||
|
||||
double mean = dist.mean();
|
||||
double std = dist.std();
|
||||
double d_mean = mean(dist);
|
||||
double d_std = gctl::std(dist);
|
||||
double cnt = 0.0;
|
||||
|
||||
for (size_t i = 0; i < dist.size(); i++)
|
||||
{
|
||||
if (fabs(dist[i] - mean) > 3.0*std) cnt += 1.0;
|
||||
if (fabs(dist[i] - d_mean) > 3.0*d_std) cnt += 1.0;
|
||||
}
|
||||
|
||||
std::cout << "Step Avg. = " << mean << "\n";
|
||||
std::cout << "Step STD = " << std << "\n";
|
||||
std::cout << "Step Avg. = " << d_mean << "\n";
|
||||
std::cout << "Step STD = " << d_std << "\n";
|
||||
std::cout << "Large Ones = " << cnt/1000.0 << "%\n";
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -186,7 +186,7 @@ void LKI::Routine(std::string inname, std::string tarname, std::string outname,
|
||||
{
|
||||
bar.progressed(i);
|
||||
|
||||
Kernel.assign_all(0.0);
|
||||
Kernel.assign(0.0);
|
||||
Wgts.assign(0.0);
|
||||
|
||||
CalKernel(TargNodes[i]);
|
||||
|
||||
@@ -188,7 +188,7 @@ void LBSI::Routine(std::string in_name, std::string tar_name,
|
||||
{
|
||||
bar.progressed(i);
|
||||
|
||||
Kernel.assign_all(0.0);
|
||||
Kernel.assign(0.0);
|
||||
CalKernel(TargNodes[i]);
|
||||
|
||||
for (size_t s = 0; s < ValSize; s++)
|
||||
|
||||
Reference in New Issue
Block a user